:root{
    --ivory-50:#FBF8F1;
    --ivory-100:#F5EFE2;
    --ivory-200:#EDE3CC;
    --ink:#1C1B16;
    --ink-soft:#4B473C;
    --green-900:#0E2A21;
    --green-800:#123528;
    --green-700:#1B4A38;
    --green-600:#26604A;
    --gold-300:#E4CD98;
    --gold-500:#B78F4C;
    --gold-600:#9C7838;
    --burgundy:#5B1E2B;
    --navy-900:#141F33;
    --navy-700:#23395E;
    --line: rgba(28,27,22,0.14);
    --line-on-dark: rgba(228,205,152,0.28);
    --shadow: 0 18px 40px rgba(14,42,33,0.10);
    --radius: 3px;
    --font-display: "Fraunces", Georgia, "Times New Roman", serif;
    --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bg: var(--ivory-100);
    --surface: var(--ivory-50);
    --text: var(--ink);
    --text-soft: var(--ink-soft);
  }

  :root:not([data-theme="light"]){
    @media (prefers-color-scheme: dark){
      --bg:#0B1712;
      --surface:#112119;
      --text:#EFE9D9;
      --text-soft:#C6BFA9;
      --line: rgba(228,205,152,0.16);
      --shadow: 0 18px 40px rgba(0,0,0,0.45);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0B1712;
    --surface:#112119;
    --text:#EFE9D9;
    --text-soft:#C6BFA9;
    --line: rgba(228,205,152,0.16);
    --shadow: 0 18px 40px rgba(0,0,0,0.45);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top: calc(84px + env(safe-area-inset-top,0px));}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    -webkit-font-smoothing:antialiased;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.12;margin:0;color:var(--text);}
  p{margin:0;line-height:1.65;color:var(--text-soft);}
  .container{max-width:1120px;margin:0 auto;padding:0 28px;}
  .wrap-narrow{max-width:760px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  :focus-visible{outline:2px solid var(--gold-500); outline-offset:3px;}

  
  .kicker{
    font-family:var(--font-body);
    font-size:0.78rem;
    letter-spacing:0.14em;
    color:var(--gold-600);
    font-weight:600;
  }
  :root:not([data-theme="light"]) .kicker{ @media (prefers-color-scheme:dark){ color:var(--gold-300);} }
  [data-theme="dark"] .kicker{color:var(--gold-300);}
  .on-dark .kicker{color:var(--gold-300);}

  .rule{
    width:64px;height:1px;background:linear-gradient(90deg,var(--gold-500),transparent);
    margin:18px 0;
  }
  .rule.center{margin-left:auto;margin-right:auto;background:var(--gold-500);width:48px;height:2px;}

  .accent-green{color:var(--green-700);}
  .accent-navy{color:var(--navy-700);}
  .accent-burgundy{color:var(--burgundy);}
  .accent-gold{color:var(--gold-600);}

  
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:200;
    padding-top:env(safe-area-inset-top,0px);
    background:rgba(251,248,241,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .35s ease, background .35s ease;
  }
  [data-theme="dark"] .nav, :root:not([data-theme="light"]) .nav{ @media (prefers-color-scheme:dark){ background:rgba(11,23,18,0.86); } }
  .nav.scrolled{border-bottom-color:var(--line); box-shadow:0 8px 24px rgba(14,42,33,0.06);}
  .nav__row{
    display:flex;align-items:center;justify-content:space-between;
    height:78px;
  }
  .brand{display:flex;flex-direction:column;line-height:1;gap:4px;cursor:pointer;background:none;border:none;padding:0;text-align:left;}
  .brand__mark{font-family:var(--font-display);font-size:1.5rem;letter-spacing:0.04em;color:var(--text);}
  .brand__tag{font-size:0.62rem;letter-spacing:0.16em;color:var(--gold-600);font-weight:600;}
  [data-theme="dark"] .brand__tag, :root:not([data-theme="light"]) .brand__tag{ @media (prefers-color-scheme:dark){color:var(--gold-300);} }

  .nav__links{display:flex;gap:34px;align-items:center;}
  .nav__link{
    background:none;border:none;font-size:0.92rem;color:var(--text-soft);cursor:pointer;padding:6px 0;position:relative;
  }
  .nav__link::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold-500);
    transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
  }
  .nav__link:hover{color:var(--text);}
  .nav__link.active{color:var(--text);font-weight:500;}
  .nav__link.active::after{transform:scaleX(1);}
  .nav__cta{
    padding:11px 22px;background:var(--green-800);color:var(--ivory-50);border-radius:var(--radius);
    font-size:0.86rem;border:1px solid var(--green-800);white-space:nowrap;cursor:pointer;
    transition:background .25s ease, transform .2s ease;
  }
  .nav__cta:hover{background:var(--green-700);transform:translateY(-1px);}

  .nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
  .nav__burger span{width:22px;height:2px;background:var(--text);display:block;transition:transform .25s ease, opacity .25s ease;}

  .mobile-menu{
    display:none;position:fixed;inset:78px 0 0 0;background:var(--bg);z-index:190;
    padding:32px 28px; flex-direction:column; gap:4px;
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu button{
    background:none;border:none;text-align:left;padding:16px 4px;font-family:var(--font-display);
    font-size:1.5rem;color:var(--text);border-bottom:1px solid var(--line);cursor:pointer;
  }
  .mobile-menu .nav__cta{margin-top:20px;align-self:flex-start;}

  @media (max-width:880px){
    .nav__links{display:none;}
    .nav__burger{display:flex;}
  }

  
  .page-header{
    background:var(--green-800);
    color:var(--ivory-50);
    padding:168px 0 68px;
  }
  .page-header p{color:rgba(251,248,241,0.72); max-width:560px;}
  .page-header h1{color:var(--ivory-50); font-size:clamp(2.1rem,4vw,3.1rem); margin-top:14px;}

  
  .hero{
    background:radial-gradient(120% 140% at 20% -10%, #163d2f 0%, var(--green-900) 60%, #0a1b15 100%);
    color:var(--ivory-50);
    padding:180px 0 110px;
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"";position:absolute;right:-120px;top:-120px;width:480px;height:480px;border-radius:50%;
    border:1px solid rgba(228,205,152,0.14);
  }
  .hero::before{
    content:"";position:absolute;right:-40px;top:-40px;width:340px;height:340px;border-radius:50%;
    border:1px solid rgba(228,205,152,0.14);
  }
  .hero__inner{max-width:760px;position:relative;z-index:2;}
  .hero p.kicker{color:var(--gold-300);}
  .hero h1{
    font-size:clamp(2.4rem,5.4vw,4rem);
    color:var(--ivory-50);
    margin-top:20px;
    max-width:14ch;
  }
  .hero__lede{font-size:1.12rem;color:rgba(251,248,241,0.78);margin-top:24px;max-width:52ch;}
  .hero__actions{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}

  .btn{
    display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--radius);
    font-size:0.92rem;font-weight:500;cursor:pointer;transition:all .25s ease;border:1px solid transparent;
  }
  .btn-gold{background:var(--gold-500);color:var(--green-900);border-color:var(--gold-500);}
  .btn-gold:hover{background:var(--gold-300);transform:translateY(-1px);}
  .btn-outline-light{border-color:rgba(251,248,241,0.4);color:var(--ivory-50);}
  .btn-outline-light:hover{border-color:var(--ivory-50);background:rgba(251,248,241,0.06);}
  .btn-outline-dark{border-color:var(--line);color:var(--text);}
  .btn-outline-dark:hover{border-color:var(--gold-500);color:var(--gold-600);}
  .btn-dark{background:var(--green-800);color:var(--ivory-50);}
  .btn-dark:hover{background:var(--green-700);}
  .btn-full{width:100%;justify-content:center;}

  
  .hero__stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:72px;
    border-top:1px solid rgba(228,205,152,0.22);padding-top:34px;position:relative;z-index:2;
  }
  .stat{padding-right:20px;}
  .stat b{
    display:block;font-family:var(--font-display);font-size:2.1rem;color:var(--ivory-50);font-weight:500;
  }
  .stat span{font-size:0.82rem;color:rgba(251,248,241,0.62);}
  @media (max-width:760px){ .hero__stats{grid-template-columns:repeat(2,1fr); row-gap:26px;} }

  
  .section{padding:96px 0;}
  .section.tint{background:var(--surface);}
  .section-head{max-width:620px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-top:14px;}
  .section-head p{margin-top:16px;font-size:1.02rem;}

  .section.navy{background:var(--navy-900);}
  .section.navy .kicker{color:var(--gold-300);}
  .section.navy .section-head h2{color:var(--ivory-50);}
  .section.navy .section-head p{color:rgba(251,248,241,0.68);}

  
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .service{background:var(--bg);padding:38px 32px;}
  .service h3{font-size:1.18rem;margin-top:16px;}
  .service p{margin-top:10px;font-size:0.94rem;}
  .service__num{font-family:var(--font-display);font-style:italic;color:var(--gold-600);font-size:1.1rem;}
  @media (max-width:880px){ .services{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .services{grid-template-columns:1fr;} }

  
  .process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative;}
  .process::before{content:"";position:absolute;top:20px;left:0;right:0;height:1px;background:var(--line);}
  .process-step{position:relative;padding-top:44px;}
  .process-step__index{
    position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;
    background:var(--bg);border:1px solid var(--gold-500);color:var(--gold-600);
    display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;
  }
  .process-step h3{font-size:1.05rem;margin-top:6px;}
  .process-step p{font-size:0.92rem;margin-top:8px;}
  .section.navy .process::before{background:var(--line-on-dark);}
  .section.navy .process-step__index{background:var(--navy-900);border-color:var(--gold-500);color:var(--gold-300);}
  .section.navy .process-step h3{color:var(--ivory-50);}
  .section.navy .process-step p{color:rgba(251,248,241,0.62);}
  @media (max-width:880px){ .process{grid-template-columns:repeat(2,1fr);} .process::before{display:none;} }
  @media (max-width:560px){ .process{grid-template-columns:1fr;} }

  
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .pillar{background:var(--bg);padding:34px 26px;}
  .pillar em{font-family:var(--font-display);font-style:italic;color:var(--gold-600);font-size:1.5rem;}
  .pillar h3{margin-top:10px;font-size:1.05rem;}
  .pillar p{margin-top:8px;font-size:0.9rem;}
  @media (max-width:880px){ .pillars{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .pillars{grid-template-columns:1fr;} }

  
  .cta-banner{
    background:var(--green-800);color:var(--ivory-50);border-radius:var(--radius);
    padding:64px 56px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;
    position:relative; overflow:hidden;
  }
  .cta-banner::after{content:"";position:absolute;inset:0;border:1px solid var(--line-on-dark);border-radius:var(--radius);pointer-events:none;}
  .cta-banner h2{color:var(--ivory-50);font-size:clamp(1.6rem,3vw,2.1rem);max-width:16ch;}
  .cta-banner p{color:rgba(251,248,241,0.7);margin-top:10px;max-width:40ch;}

  
  footer{background:var(--green-900);color:rgba(251,248,241,0.7);padding:76px 0 32px;}
  .footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line-on-dark);}
  .footer__brand{font-family:var(--font-display);font-size:1.5rem;color:var(--ivory-50);}
  .footer__tag{font-size:0.62rem;letter-spacing:0.16em;color:var(--gold-300);margin-top:8px;font-weight:600;}
  .footer__desc{margin-top:18px;font-size:0.9rem;color:rgba(251,248,241,0.55);max-width:32ch;}
  .footer h4{color:var(--ivory-50);font-family:var(--font-body);font-size:0.85rem;font-weight:600;margin-bottom:16px;}
  .footer li{margin-bottom:10px;}
  .footer button, .footer a{background:none;border:none;color:rgba(251,248,241,0.68);font-size:0.9rem;cursor:pointer;padding:0;}
  .footer button:hover, .footer a:hover{color:var(--gold-300);}
  .footer__bottom{display:flex;justify-content:space-between;padding-top:28px;font-size:0.8rem;color:rgba(251,248,241,0.45);flex-wrap:wrap;gap:12px;}
  @media (max-width:880px){ .footer__top{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .footer__top{grid-template-columns:1fr;} }

  
  
  .tabs{display:flex;gap:8px;border:1px solid var(--line);padding:6px;border-radius:var(--radius);width:fit-content;margin-bottom:48px;}
  .tab{padding:11px 22px;border:none;background:none;border-radius:2px;font-size:0.88rem;color:var(--text-soft);cursor:pointer;transition:all .2s ease;}
  .tab.active{color:var(--ivory-50);}
  .tab.active[data-tab="monthly"]{background:var(--green-800);}
  .tab.active[data-tab="onetime"]{background:var(--navy-700);}
  .tab.active[data-tab="ai"]{background:var(--burgundy);}

  .pkg-group{display:none;}
  .pkg-group.active{display:grid;}
  .pkg-grid{grid-template-columns:repeat(4,1fr);gap:22px;}
  @media (max-width:1000px){ .pkg-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .pkg-grid{grid-template-columns:1fr;} }

  .pkg-card{
    border:1px solid var(--line);border-top:4px solid var(--line);background:var(--bg);padding:32px 26px;display:flex;flex-direction:column;
    transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .pkg-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .pkg-card.featured{border-color:var(--gold-500);border-width:2px;position:relative;background:var(--surface);}
  .pkg-card.featured .pkg-flag{
    position:absolute;top:-13px;left:26px;background:var(--gold-500);color:var(--green-900);
    font-size:0.68rem;letter-spacing:0.1em;font-weight:600;padding:5px 12px;border-radius:2px;
  }
  .pkg-card.tier-starter{border-top-color:var(--green-700);}
  .pkg-card.tier-starter .pkg-card__name{color:var(--green-700);}
  .pkg-card.tier-performance{border-top-color:var(--navy-700);}
  .pkg-card.tier-performance .pkg-card__name{color:var(--navy-700);}
  .pkg-card.tier-ai{border-top-color:var(--burgundy);}
  .pkg-card.tier-ai .pkg-card__name{color:var(--burgundy);}
  .pkg-card__name{font-size:0.78rem;letter-spacing:0.12em;color:var(--gold-600);font-weight:600;}
  .pkg-card__price{font-family:var(--font-display);font-size:2.1rem;margin-top:12px;}
  .pkg-card__price span{font-size:0.9rem;color:var(--text-soft);font-family:var(--font-body);}
  .pkg-card ul{margin-top:22px;flex-grow:1;}
  .pkg-card li{
    font-size:0.88rem;color:var(--text-soft);padding:9px 0;border-top:1px solid var(--line);
    padding-left:16px;position:relative;
  }
  .pkg-card li:first-child{border-top:none;}
  .pkg-card li::before{content:"—";position:absolute;left:0;color:var(--gold-500);}
  .pkg-card .btn{margin-top:26px;}

  .onetime-table{width:100%;border-collapse:collapse;}
  .onetime-table th{
    text-align:left;font-size:0.75rem;letter-spacing:0.1em;color:var(--navy-700);font-weight:600;
    padding-bottom:16px;border-bottom:1px solid var(--navy-700);
  }
  .onetime-table td{padding:20px 0;border-bottom:1px solid var(--line);font-size:0.95rem;vertical-align:top;}
  .onetime-table td.svc{font-family:var(--font-display);font-size:1.15rem;}
  .onetime-table td.price{font-family:var(--font-display);font-size:1.1rem;white-space:nowrap;color:var(--navy-700);}
  .onetime-table td.desc{color:var(--text-soft);font-size:0.9rem;}

  .ai-grid{grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:880px){ .ai-grid{grid-template-columns:1fr;} }
  .ai-card{border:1px solid var(--line);border-top:4px solid var(--burgundy);padding:30px;background:var(--bg);}
  .ai-card .pkg-card__name{color:var(--burgundy);}
  .ai-card__price{font-family:var(--font-display);font-size:1.6rem;margin-top:10px;}

  .terms-note{
    margin-top:64px;border-left:2px solid var(--burgundy);padding:8px 0 8px 24px;
  }
  .terms-note h4{font-size:0.85rem;letter-spacing:0.06em;color:var(--burgundy);margin-bottom:14px;}
  .terms-note li{font-size:0.88rem;color:var(--text-soft);padding:6px 0;position:relative;padding-left:16px;}
  .terms-note li::before{content:"—";position:absolute;left:0;color:var(--burgundy);}

  
  .form-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:start;}
  @media (max-width:880px){ .form-grid{grid-template-columns:1fr;gap:48px;} }
  .field{margin-bottom:20px;}
  .field label{display:block;font-size:0.8rem;letter-spacing:0.04em;color:var(--text-soft);margin-bottom:8px;}
  .field input, .field select, .field textarea{
    width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--surface);
    color:var(--text);font-family:var(--font-body);font-size:0.95rem;border-radius:2px;
    transition:border-color .2s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold-500);outline:none;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:520px){ .field-row{grid-template-columns:1fr;} }

  .side-card{border:1px solid var(--line);padding:32px;background:var(--surface);}
  .side-card h3{font-size:1.05rem;}
  .side-step{display:flex;gap:14px;margin-top:20px;}
  .side-step__i{
    width:26px;height:26px;flex-shrink:0;border-radius:50%;border:1px solid var(--gold-500);
    color:var(--gold-600);display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-family:var(--font-display);
  }
  .side-step p{font-size:0.88rem;}
  .side-divider{height:1px;background:var(--line);margin:28px 0;}
  .contact-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:0.9rem;}
  .contact-line:last-child{border-bottom:none;}

  .field-note{margin-top:14px;font-size:0.82rem;color:var(--text-soft);}

  
  .legal-body h2{font-size:1.3rem;margin-top:44px;margin-bottom:14px;}
  .legal-body h2:first-child{margin-top:0;}
  .legal-body p{margin-bottom:14px;font-size:0.98rem;}
  .legal-body li{font-size:0.96rem;color:var(--text-soft);padding:6px 0 6px 18px;position:relative;}
  .legal-body li::before{content:"—";position:absolute;left:0;color:var(--gold-500);}
  .legal-updated{font-size:0.85rem;color:var(--gold-600);margin-bottom:8px;}

  
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
  @media (max-width:880px){ .two-col{grid-template-columns:1fr;gap:40px;} }
  .pull-quote{font-family:var(--font-display);font-style:italic;font-size:1.5rem;line-height:1.4;color:var(--text);}
