/* ============================================================
   KP ASTRO CONSULTING — Design System
   Palette: midnight navy + champagne gold, warm ivory ground
   Signature motif: nakshatra (stellar) mark — an 8-point star
   inside a cusp-marked ring, echoed as a divider throughout.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --maroon-950:#060B1F;
  --maroon-900:#0F1B3D;
  --maroon-800:#16274F;
  --maroon-700:#1E3568;
  --maroon-600:#28437F;
  --gold-300:#F0DFAE;
  --gold-400:#E0C077;
  --gold-500:#CDA34E;
  --gold-600:#876321;
  --ivory-50:#FAF7F4;
  --ivory-100:#F1E7DD;
  --ivory-200:#E7DAC9;
  --ink:#0B1220;
  --ink-soft:#33415C;
  --line:rgba(22,39,79,0.14);

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-label:'Cinzel', 'Times New Roman', serif;
  --font-accent:'Cormorant Garamond', Georgia, serif;
  --font-body:'Manrope', 'Segoe UI', sans-serif;

  --container:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory-50);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  font-weight:400;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--maroon-800);font-weight:600;letter-spacing:0.005em;}

.container{max-width:var(--container);margin:0 auto;padding:0 32px;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
}

/* ---------- Texture: faint nakshatra field ---------- */
.stellar-field{
  position:absolute;inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(1.6px 1.6px at 8% 22%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 14% 42%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.5px 1.5px at 18% 68%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 26% 8%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.8px 1.8px at 32% 12%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 38% 52%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 44% 78%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 50% 22%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.6px 1.6px at 58% 30%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 63% 62%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.8px 1.8px at 68% 58%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 72% 10%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 78% 18%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 84% 46%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.6px 1.6px at 88% 68%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 92% 26%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 95% 40%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 20% 90%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1.6px 1.6px at 24% 45%, var(--gold-300) 45%, transparent 46%),
    radial-gradient(1px 1px at 52% 90%, var(--gold-300) 45%, transparent 46%);
  opacity:0.55;
  animation:twinkle 6s ease-in-out infinite alternate;
}
@keyframes twinkle{
  0%{opacity:0.35;}
  50%{opacity:0.65;}
  100%{opacity:0.4;}
}

.rule-mark{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px auto 16px;}
.rule-mark .line{height:1px;width:64px;background:linear-gradient(90deg, transparent, var(--gold-500));}
.rule-mark .line.right{background:linear-gradient(90deg, var(--gold-500), transparent);}
.rule-mark svg{width:16px;height:16px;flex:none;}

.eyebrow{font-family:var(--font-label);font-size:12.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-600);font-weight:600;}

/* ================= HEADER ================= */
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,246,236,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:44px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-text .name{font-family:var(--font-label);font-size:16px;letter-spacing:0.06em;color:var(--maroon-800);font-weight:600;}
.brand-text .sub{font-family:var(--font-accent);font-style:italic;font-size:12.5px;color:var(--gold-600);}

.main-nav ul{display:flex;gap:30px;align-items:center;}
.main-nav a{font-family:var(--font-label);font-size:12.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-soft);padding:6px 0;position:relative;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-500);transition:width .25s ease;}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--maroon-800);}

.header-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--maroon-800);margin:5px 0;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-label);font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;padding:14px 28px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:all .25s ease;white-space:nowrap;}
.btn-primary{background:linear-gradient(135deg, var(--gold-300), var(--gold-500) 55%, var(--gold-600));color:var(--maroon-950);box-shadow:0 14px 28px -14px rgba(205,163,78,0.55);}
.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(205,163,78,0.7);}
.btn-outline{border-color:var(--maroon-800);color:var(--maroon-800);background:transparent;}
.btn-outline:hover{background:var(--maroon-800);color:var(--ivory-50);}
.btn-outline-light{border-color:rgba(240,223,174,0.6);color:var(--gold-300);}
.btn-outline-light:hover{background:rgba(240,223,174,0.12);}
.btn-sm{padding:10px 20px;font-size:11.5px;}
.btn-full{width:100%;}

/* ================= HERO ================= */
.hero{position:relative;background:linear-gradient(180deg, var(--maroon-950) 0%, var(--maroon-900) 55%, var(--maroon-950) 100%);color:var(--ivory-100);overflow:hidden;padding:104px 0 88px;}
.hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(ellipse 1000px 560px at 84% -12%, rgba(205,163,78,0.28), transparent 60%),
    radial-gradient(ellipse 760px 560px at -8% 112%, rgba(40,67,127,0.55), transparent 60%),
    radial-gradient(ellipse 620px 460px at 50% 50%, rgba(205,163,78,0.08), transparent 65%);
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.hero .eyebrow{color:var(--gold-300);}
.hero h1{color:var(--ivory-50);font-size:54px;line-height:1.16;margin:18px 0 22px;letter-spacing:0.005em;}
.hero h1 em{font-style:italic;font-family:var(--font-accent);font-weight:600;background:linear-gradient(100deg, var(--gold-300) 10%, var(--gold-500) 45%, var(--gold-300) 80%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{font-size:18px;color:rgba(241,231,221,0.82);max-width:520px;margin-bottom:34px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:40px;}
.hero-stats{display:flex;gap:38px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(240,223,174,0.22);}
.hero-stats .stat b{display:block;font-family:var(--font-display);font-size:26px;color:var(--gold-300);}
.hero-stats .stat span{font-size:12.5px;letter-spacing:0.05em;color:rgba(241,231,221,0.65);}

.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.chart-ring{position:relative;width:440px;height:440px;max-width:100%;}
.chart-ring::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle, rgba(205,163,78,0.35), transparent 68%);filter:blur(18px);}
.chart-ring svg{width:100%;height:100%;position:relative;z-index:2;filter:drop-shadow(0 0 22px rgba(205,163,78,0.28));}
.chart-ring .ring-spin{transform-origin:100px 100px;animation:spin 140s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.chart-ring .core-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(6,11,31,0.6);border:1px solid rgba(240,223,174,0.38);padding:22px 26px;text-align:center;backdrop-filter:blur(6px);width:190px;box-shadow:0 20px 50px -20px rgba(6,11,31,0.6);}
.chart-ring .core-card .eyebrow{font-size:10.5px;}
.chart-ring .core-card p{font-family:var(--font-accent);font-style:italic;font-size:15px;color:var(--ivory-100);margin:6px 0 0;}

.hero-wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;z-index:3;}
.hero-wave svg{width:100%;height:64px;display:block;}

/* ================= SECTIONS ================= */
section{padding:68px 0;position:relative;}
.section-alt{background:var(--ivory-100);}
.section-dark{background:linear-gradient(180deg, var(--maroon-950), var(--maroon-900) 50%, var(--maroon-950));color:var(--ivory-100);position:relative;overflow:hidden;}
.section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 700px 420px at 50% 0%, rgba(205,163,78,0.14), transparent 65%);pointer-events:none;}
.section-dark .container{position:relative;z-index:2;}
.section-dark h2,.section-dark h3{color:var(--ivory-50);}
.section-head{max-width:680px;margin:0 auto 36px;text-align:center;}
.section-head h2{font-size:34px;margin:14px 0 12px;}
.section-head p{color:var(--ink-soft);font-size:16.5px;}
.section-dark .section-head p{color:rgba(241,231,221,0.75);}

.stellar-field.light{
  opacity:0.5;
  filter:none;
  background-image:
    radial-gradient(1.4px 1.4px at 8% 22%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 14% 42%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.3px 1.3px at 18% 68%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 26% 8%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.5px 1.5px at 32% 12%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 38% 52%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.2px 1.2px at 44% 78%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 50% 22%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 58% 30%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 63% 62%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.5px 1.5px at 68% 58%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 72% 10%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.2px 1.2px at 78% 18%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 84% 46%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 88% 68%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 92% 26%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.2px 1.2px at 95% 40%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 20% 90%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1.4px 1.4px at 24% 45%, var(--gold-600) 45%, transparent 46%),
    radial-gradient(1px 1px at 52% 90%, var(--gold-600) 45%, transparent 46%);
  animation:none;
}

.section-divider{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 0 0;}
.section-divider .line{height:1px;width:80px;background:linear-gradient(90deg, transparent, var(--gold-500));}
.section-divider .line.right{background:linear-gradient(90deg, var(--gold-500), transparent);}
.section-divider svg{width:16px;height:16px;flex:none;}

.grid{display:grid;gap:24px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{background:var(--ivory-50);border:1px solid var(--line);padding:32px 28px;position:relative;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--gold-300), var(--gold-600));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.card:hover::before{transform:scaleX(1);}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -20px rgba(22,39,79,0.28);border-color:var(--gold-500);}
.card .num{font-family:var(--font-accent);font-style:italic;font-size:15px;color:var(--gold-600);margin-bottom:14px;display:block;}
.card h3{font-size:20px;margin-bottom:12px;}
.card p{color:var(--ink-soft);font-size:15.5px;margin-bottom:18px;}
.card .card-link{font-family:var(--font-label);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--maroon-800);display:inline-flex;align-items:center;gap:6px;}
.card .card-link svg{width:12px;height:12px;transition:transform .2s ease;}
.card:hover .card-link svg{transform:translateX(4px);}
.card-icon{width:52px;height:52px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold-500);border-radius:50%;}
.card-icon svg{width:24px;height:24px;stroke:var(--maroon-800);}

.split{display:grid;grid-template-columns:0.85fr 1.15fr;gap:54px;align-items:center;}
.split.reverse{grid-template-columns:1.15fr 0.85fr;}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.portrait-frame{position:relative;background:var(--maroon-900);padding:16px;}
.portrait-frame::before{content:"";position:absolute;inset:8px;border:1px solid rgba(240,223,174,0.4);pointer-events:none;}
.portrait-frame img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;}
.split-copy .eyebrow{margin-bottom:14px;}
.split-copy h2{font-size:34px;margin-bottom:20px;}
.split-copy p{color:var(--ink-soft);margin-bottom:18px;}
.credential-row{display:flex;gap:30px;margin-top:32px;flex-wrap:wrap;}
.credential-row .cred b{display:block;font-family:var(--font-display);font-size:24px;color:var(--maroon-800);}
.credential-row .cred span{font-size:12.5px;color:var(--ink-soft);letter-spacing:0.04em;}

.steps{counter-reset:step;}
.step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);}
.step:last-child{border-bottom:1px solid var(--line);}
.step .step-num{font-family:var(--font-display);font-size:26px;color:var(--gold-500);}
.step h3{font-size:19px;margin-bottom:8px;}
.step p{color:var(--ink-soft);font-size:15.5px;max-width:640px;}

.price-card{background:var(--ivory-50);border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;height:100%;transition:transform .3s ease, box-shadow .3s ease;}
.price-card.featured{background:var(--maroon-900);color:var(--ivory-50);border-color:var(--maroon-900);transform:scale(1.03);}
.price-card.featured .eyebrow{color:var(--gold-300);}
.price-card.featured h3{color:var(--ivory-50);}
.price-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -20px rgba(22,39,79,0.25);}
.price-card.featured:hover{transform:scale(1.03) translateY(-6px);}
.price-card h3{font-size:21px;margin:14px 0 6px;}
.price-card .price{font-family:var(--font-display);font-size:38px;color:var(--maroon-800);margin:14px 0;}
.price-card.featured .price{color:var(--gold-300);}
.price-card .price span{font-size:13px;color:var(--ink-soft);font-family:var(--font-body);}
.price-card.featured .price span{color:rgba(241,231,221,0.65);}
.price-card ul{margin:22px 0 28px;flex:1;}
.price-card li{padding:9px 0;font-size:14.5px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:flex-start;}
.price-card.featured li{border-top-color:rgba(240,223,174,0.18);}
.price-card li svg{width:14px;height:14px;flex:none;margin-top:4px;stroke:var(--gold-600);}
.price-card.featured li svg{stroke:var(--gold-300);}
.price-note{color:var(--ink-soft);font-size:13.5px;margin-top:10px;}
.price-card.featured .price-note{color:rgba(241,231,221,0.6);}
.badge-popular{align-self:flex-start;background:var(--gold-500);color:var(--maroon-950);font-family:var(--font-label);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;padding:5px 12px;margin-bottom:6px;}

.quote-block{max-width:760px;margin:0 auto;text-align:center;}
.quote-block .mark{font-family:var(--font-display);font-size:52px;color:var(--gold-500);line-height:1;}
.quote-block p{font-family:var(--font-accent);font-style:italic;font-size:26px;color:var(--ivory-50);line-height:1.5;margin:10px 0 24px;}
.quote-block .who{font-family:var(--font-label);font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-300);}

.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;cursor:pointer;}
.faq-q h3{font-size:17px;font-family:var(--font-body);font-weight:600;color:var(--maroon-800);}
.faq-q .plus{flex:none;width:22px;height:22px;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--gold-600);transition:transform .25s ease;}
.faq-q .plus::before{top:50%;left:0;width:100%;height:1.4px;transform:translateY(-50%);}
.faq-q .plus::after{left:50%;top:0;height:100%;width:1.4px;transform:translateX(-50%);}
.faq-item.open .plus::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 4px 24px;color:var(--ink-soft);font-size:15.5px;max-width:720px;}

.cta-band{background:linear-gradient(120deg, var(--maroon-900), var(--maroon-950) 75%);color:var(--ivory-50);padding:56px 0;position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 620px 380px at 85% 20%, rgba(205,163,78,0.2), transparent 60%);pointer-events:none;}
.cta-band .cta-inner{position:relative;z-index:2;}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.cta-inner h2{color:var(--ivory-50);font-size:28px;max-width:520px;}
.cta-inner p{color:rgba(241,231,221,0.75);margin-top:8px;}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

.site-footer{background:var(--maroon-950);color:rgba(241,231,221,0.72);padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 0.8fr 0.8fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(240,223,174,0.14);}
.footer-brand img{height:40px;margin-bottom:18px;}
.footer-brand p{font-size:14.5px;line-height:1.7;max-width:320px;color:rgba(241,231,221,0.6);}
.footer-social{display:flex;gap:14px;margin-top:22px;}
.footer-social a{width:36px;height:36px;border:1px solid rgba(240,223,174,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.footer-social svg{width:15px;height:15px;stroke:var(--gold-300);}
.footer-col h4{font-family:var(--font-label);font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-300);margin-bottom:20px;}
.footer-col li{margin-bottom:12px;font-size:14.5px;}
.footer-col a:hover{color:var(--gold-300);}
.footer-bottom{padding:26px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(241,231,221,0.45);}
.footer-bottom a:hover{color:var(--gold-300);}

.page-header{background:linear-gradient(180deg, var(--maroon-950) 0%, var(--maroon-900) 60%, var(--maroon-950) 100%);color:var(--ivory-100);padding:64px 0 60px;position:relative;overflow:hidden;}
.page-header::before{content:"";position:absolute;inset:0;background:
    radial-gradient(ellipse 800px 460px at 88% -20%, rgba(205,163,78,0.25), transparent 60%),
    radial-gradient(ellipse 640px 460px at -6% 120%, rgba(40,67,127,0.55), transparent 60%);
}
.page-header .container{position:relative;z-index:2;}
.page-header h1{color:var(--ivory-50);font-size:42px;margin:14px 0 10px;}
.page-header p{color:rgba(241,231,221,0.75);max-width:560px;}
.breadcrumb{font-size:12.5px;letter-spacing:0.05em;color:var(--gold-300);margin-bottom:16px;}
.breadcrumb a{color:rgba(241,231,221,0.6);}
.breadcrumb a:hover{color:var(--gold-300);}

.text-center{text-align:center;}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.tag{border:1px solid var(--line);padding:7px 16px;font-size:12.5px;letter-spacing:0.03em;color:var(--ink-soft);}
.lang-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(240,223,174,0.35);padding:8px 16px;font-size:13px;color:var(--ivory-100);}

table.compare{width:100%;border-collapse:collapse;}
table.compare th,table.compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px;}
table.compare th{font-family:var(--font-label);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--maroon-800);background:var(--ivory-100);}

form.consult-form{display:grid;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field label{display:block;font-family:var(--font-label);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--ivory-50);padding:13px 14px;font-family:var(--font-body);font-size:15px;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(205,163,78,0.15);}
.field textarea{resize:vertical;min-height:120px;}

.map-frame{border:1px solid var(--line);filter:sepia(0.35) saturate(0.7) contrast(1.05);width:100%;height:340px;}

.info-card{background:var(--ivory-50);border:1px solid var(--line);padding:30px;display:flex;gap:18px;align-items:flex-start;}
.info-card svg{width:22px;height:22px;stroke:var(--gold-600);flex:none;margin-top:2px;}
.info-card h4{font-size:15.5px;margin-bottom:6px;}
.info-card p{color:var(--ink-soft);font-size:14.5px;}

@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;}
  .split,.split.reverse{grid-template-columns:1fr;}
  .split.reverse .split-media{order:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .container{padding:0 20px;}
  .main-nav{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;height:100vh;background:var(--maroon-950);padding:100px 32px 32px;transform:translateX(100%);transition:transform .3s ease;z-index:99;}
  .main-nav.open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:22px;}
  .main-nav a{color:var(--ivory-100);}
  .nav-toggle{display:block;}
  .header-cta .btn-outline{display:none;}
  .hero{padding:60px 0 70px;}
  .hero h1{font-size:34px;}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}
  .section-head h2{font-size:28px;}
  .price-card.featured{transform:none;}
  .footer-grid{grid-template-columns:1fr;}
  .cta-inner{flex-direction:column;align-items:flex-start;}
  .form-row{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .chart-ring{width:280px;height:280px;}
}
