:root{
    --green:#2B4A45; --green-deep:#1F3833; --green-line:rgba(246,246,233,.18);
    --bone:#F3EFE3; --cream:#F6F6E9; --ink:#14120F; --ink-soft:#4A4A44;
    --gold:#CBAB56; --gold-ink:#8A5A22; --rule:rgba(43,74,69,.16);
    --brand:"29LT Burka Semi Wide","Burka",Figtree,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --pad:1.125rem;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--brand);
    font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;
    overflow-wrap:break-word}
  img{max-width:100%;height:auto;display:block}
  .shell{max-width:70rem;margin:0 auto;padding:0 var(--pad)}

  /* ---------- nav ---------- */
  .topbar{position:sticky;top:0;z-index:50;background:var(--green-deep);
    border-bottom:1px solid var(--green-line)}
  .topbar .shell{display:flex;align-items:center;justify-content:space-between;
    gap:.75rem;min-height:3.5rem}
  .brandmark{width:7.25rem}
  .nav{display:none;gap:1.75rem;align-items:center}
  .nav a{color:rgba(246,246,233,.82);text-decoration:none;font-size:.875rem;font-weight:500}
  .nav a:hover{color:var(--gold)}
  .btn{display:inline-block;text-decoration:none;font-weight:700;font-size:.875rem;
    padding:.6rem .9rem;white-space:nowrap;border:2px solid transparent;line-height:1.2}
  .btn-gold{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
  .btn-gold:hover{background:#dcbc6a;border-color:#dcbc6a}
  .btn-outline{background:transparent;color:var(--cream);border-color:var(--green-line)}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold)}
  a:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

  /* ---------- type ---------- */
  h1{font-size:clamp(2rem,7.4vw,3.75rem);line-height:1.02;letter-spacing:-.035em;
    font-weight:900;margin:0}
  h2{font-size:clamp(1.5rem,5.2vw,2.375rem);line-height:1.1;letter-spacing:-.028em;
    font-weight:800;margin:0 0 .75rem;max-width:20ch}
  h3{font-size:1.0625rem;line-height:1.25;font-weight:700;margin:0;letter-spacing:-.01em}
  p{margin:0 0 .8rem;max-width:62ch}
  p:last-child{margin-bottom:0}
  .kicker{font-size:.6875rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
    color:var(--gold);margin:0 0 .6rem}
  .kicker-dark{color:var(--gold-ink)}
  .lead{font-size:clamp(1rem,2.6vw,1.1875rem);line-height:1.4;max-width:38ch;font-weight:400}

  /* ---------- hero ---------- */
  .hero{background:var(--green);color:var(--cream);padding:2.5rem 0 2.75rem}
  .hero .lead{color:rgba(246,246,233,.84);margin-top:.9rem}
  .cta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
  .hero-grid{display:grid;gap:1.75rem;align-items:start}
  .card-spec{background:var(--green-deep);border:1px solid var(--green-line);padding:1.15rem 1.25rem}
  .card-spec h3{color:var(--gold);font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;
    font-weight:800;margin-bottom:.85rem}
  .card-spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;align-items:baseline}
  .card-spec dt{color:var(--gold);font-weight:800;font-variant-numeric:tabular-nums;
    font-size:.9375rem;white-space:nowrap}
  .card-spec dd{margin:0;color:rgba(246,246,233,.82);font-size:.875rem;line-height:1.35}

  /* ---------- sections ---------- */
  section{padding:2.75rem 0}
  .sec-light{background:var(--bone)}
  .sec-dark{background:var(--green);color:var(--cream)}
  .sec-dark p{color:rgba(246,246,233,.85)}
  .sec-deep{background:var(--green-deep);color:var(--cream)}
  .sec-deep p{color:rgba(246,246,233,.85)}
  .head{max-width:44rem;margin-bottom:1.5rem}
  .sec-light .head p{color:var(--ink-soft)}
  .sec-light h2,.sec-light h3{color:var(--green)}

  /* ---------- problem ---------- */
  .probs{display:grid;gap:0;border-top:2px solid var(--green)}
  .prob{padding:.95rem 0;border-bottom:1px solid var(--rule)}
  .prob h3{margin-bottom:.2rem}
  .prob p{color:var(--ink-soft);margin:0;font-size:.9375rem}

  /* ---------- services ---------- */
  .cards{display:grid;gap:.6rem}
  .card{background:var(--cream);border:1px solid var(--rule);padding:1rem 1.1rem}
  .card-hd{display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}
  .card .ico{color:var(--gold-ink);flex:0 0 auto;line-height:0}
  .card p{color:var(--ink-soft);margin:0;font-size:.9375rem;line-height:1.4}

  /* ---------- faq ---------- */
  .faq{display:grid;gap:0;border-top:1px solid var(--rule)}
  .qa{padding:.9rem 0;border-bottom:1px solid var(--rule)}
  .qa h3{color:var(--green);margin-bottom:.25rem;font-size:1rem}
  .qa p{color:var(--ink-soft);margin:0;font-size:.9375rem;line-height:1.45}

  /* ---------- steps ---------- */
  .stepper{display:grid;gap:.5rem}
  .stp{display:grid;grid-template-columns:2.25rem 1fr;gap:.85rem;align-items:start;
    border-top:1px solid var(--green-line);padding-top:.75rem}
  .stp:first-child{border-top:2px solid var(--gold)}
  .stp .n{font-size:1.25rem;font-weight:900;color:var(--gold);line-height:1.15;
    font-variant-numeric:tabular-nums;grid-column:1;grid-row:1/span 2}
  .stp h3{grid-column:2;grid-row:1}
  .stp p{grid-column:2;grid-row:2}
  .stp p{font-size:.875rem;margin:.15rem 0 0;line-height:1.4}

  /* ---------- price ---------- */
  .pricewrap{display:grid;gap:1.75rem;align-items:start}
  .pricebox{background:var(--green-deep);border:1px solid var(--green-line);padding:1.35rem 1.4rem}
  .price{font-size:clamp(2.75rem,11vw,4.25rem);line-height:.95;font-weight:900;color:var(--gold);
    letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:0}
  .price .was{display:block;font-size:.42em;font-weight:800;letter-spacing:-.01em;
    color:rgba(246,246,233,.55);text-decoration:line-through;text-decoration-thickness:2px;
    margin-bottom:.1rem}
  .pricebox .sub{color:rgba(246,246,233,.8);margin:.5rem 0 1rem;font-size:.9375rem}
  .checks{list-style:none;margin:0 0 1.1rem;padding:0}
  .checks li{padding:.5rem 0;border-bottom:1px solid var(--green-line);
    color:rgba(246,246,233,.9);font-size:.875rem;display:flex;gap:.6rem;line-height:1.35}
  .checks li::before{content:"\2014";color:var(--gold);font-weight:700;flex:0 0 auto}

  /* ---------- cases ---------- */
  .notice{border:1px dashed var(--gold);color:var(--gold);padding:.6rem .8rem;
    font-size:.75rem;font-weight:700;margin:0 0 1.25rem;max-width:none;line-height:1.35}
  .cases{display:grid;gap:.6rem}
  .casecard{background:rgba(246,246,233,.05);border:1px solid var(--green-line);padding:1.1rem 1.25rem}
  .casecard .who{font-size:.625rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
    color:var(--gold);margin:0 0 .5rem}
  .casecard .stat{font-size:clamp(1.75rem,6vw,2.25rem);line-height:1;font-weight:900;color:var(--cream);
    letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:0 0 .15rem}
  .casecard h3{color:var(--cream);margin-bottom:.4rem}
  .casecard .stat2{font-size:1rem;font-weight:800;color:var(--gold);letter-spacing:-.01em;
    font-variant-numeric:tabular-nums;margin:0 0 .6rem}
  .casecard p{font-size:.875rem;margin:0;line-height:1.4}

  /* ---------- cta ---------- */
  .ctaband{background:var(--gold);color:var(--green-deep);padding:2.5rem 0}
  .ctaband h2{color:var(--green-deep);max-width:22ch}
  .ctaband p{color:rgba(31,56,51,.85);max-width:52ch;font-size:.9375rem}
  .mail{display:inline-block;margin-top:1rem;font-size:clamp(1.0625rem,4.6vw,1.75rem);
    font-weight:800;color:var(--green-deep);text-decoration:none;
    border-bottom:3px solid rgba(31,56,51,.35);letter-spacing:-.02em;
    overflow-wrap:anywhere}
  .mail:hover{border-bottom-color:var(--green-deep)}

  footer{background:var(--green-deep);color:rgba(246,246,233,.7);padding:1.25rem 0;
    font-size:.8125rem;line-height:1.5}
  footer a{color:rgba(246,246,233,.7)}

  /* ---------- responsive ---------- */
  @media (min-width:30rem){
    :root{--pad:1.5rem}
    .cards{grid-template-columns:repeat(2,1fr)}
    .cases{grid-template-columns:repeat(2,1fr)}
  }
  @media (min-width:48rem){
    :root{--pad:2rem}
    body{font-size:1.0625rem}
    .nav{display:flex}
    .topbar .shell{min-height:4rem}
    .brandmark{width:8.5rem}
    .hero{padding:4rem 0 4rem}
    section{padding:4rem 0}
    .hero-grid{grid-template-columns:1.4fr .85fr;gap:2.5rem}
    .head{margin-bottom:2rem}
    .cards{grid-template-columns:repeat(3,1fr);gap:.85rem}
    .stepper{grid-template-columns:repeat(5,1fr);gap:1.25rem}
    .stp{display:block;border-top:2px solid var(--gold);padding-top:.85rem}
    .stp .n{display:block;margin-bottom:.35rem;font-size:1.75rem}
    .pricewrap{grid-template-columns:1fr .9fr;gap:3rem}
    .cases{grid-template-columns:repeat(3,1fr);gap:.85rem}
    .faq{grid-template-columns:repeat(2,1fr);column-gap:3rem}
    .probs{grid-template-columns:repeat(3,1fr);column-gap:2.25rem}
    .prob{border-bottom:0}
    .ctaband{padding:3.5rem 0}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

  /* ---------- site nav (multi-page) ---------- */
  .vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .brandlink{display:block;line-height:0;flex:0 0 auto}
  .topbar .shell{gap:.5rem}
  .topbar .brandmark{width:7.75rem}
  .topbar .shell{flex-wrap:wrap}
  .nav a[aria-current="page"]{color:var(--gold)}
  .navcta{order:2;font-size:.8125rem;padding:.55rem .7rem;margin-left:auto}

  .navtoggle{order:3;display:inline-flex;align-items:center;justify-content:center;
    width:2.5rem;height:2.375rem;flex:0 0 auto;background:transparent;
    border:1px solid var(--green-line);cursor:pointer;padding:0}
  .navtoggle .bars{position:relative;display:block;width:18px;height:2px;background:var(--cream)}
  .navtoggle .bars::before,.navtoggle .bars::after{content:"";position:absolute;left:0;
    width:18px;height:2px;background:var(--cream)}
  .navtoggle .bars::before{top:-6px}
  .navtoggle .bars::after{top:6px}
  .navtoggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

  .nav{order:4;flex-basis:100%}
  .nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:0;
    padding:.5rem 0 .85rem;border-top:1px solid var(--green-line);margin-top:.65rem}
  .nav.open a{padding:.6rem 0;font-size:1rem;width:100%}

  @media (min-width:48rem){
    .navtoggle{display:none}
    .topbar .brandmark{width:10.5rem}
    .navcta{font-size:.875rem;padding:.6rem .9rem;margin-left:0}
    .topbar .shell{gap:1rem}
    .nav{order:0;flex-basis:auto;display:flex;margin-top:0;padding:0;border-top:0}
    .navcta{order:0}
    .topbar .shell{flex-wrap:nowrap}
  }

  /* ---------- cross-page links ---------- */
  .morelink{display:inline-block;margin-top:1.5rem;font-weight:700;font-size:.9375rem;
    color:var(--gold-ink);text-decoration:none;
    border-bottom:2px solid rgba(138,90,34,.35)}
  .morelink:hover{border-bottom-color:var(--gold-ink)}
  .sec-dark .morelink,.sec-deep .morelink{color:var(--gold);border-bottom-color:rgba(203,171,86,.4)}
  .sec-dark .morelink:hover,.sec-deep .morelink:hover{border-bottom-color:var(--gold)}
  .pagehead{padding:2.5rem 0 0}
  .pagehead .kicker{margin-bottom:.5rem}

  /* ---------- logo placements ---------- */
  .heromark{width:5rem;height:auto;margin:0 0 1rem}
  .logoband{background:var(--green);padding:2.5rem 0 2.25rem}
  .logoband .shell{display:flex;justify-content:center}
  .fulllogo{width:100%;max-width:15rem;height:auto}
  @media (min-width:48rem){
    .heromark{width:6.5rem;margin-bottom:1.25rem}
    .logoband{padding:3.5rem 0 3rem}
    .fulllogo{max-width:20rem}
  }

  /* ---------- build pricing tiers (uses the existing .card component) ---------- */
  .tierprice{font-size:1.5rem;line-height:1.1;font-weight:900;color:var(--green);
    letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0 0 .2rem}
  .tiers .card h3{margin-bottom:.35rem}
  .tierlist{list-style:none;margin:.9rem 0 0;padding:0}
  .tierlist li{padding:.45rem 0;border-top:1px solid var(--rule);
    font-size:.875rem;line-height:1.35;color:var(--ink-soft)}
  .tiernote{color:var(--ink-soft);margin-top:1.5rem}
  .tiers{grid-template-columns:1fr}
  @media (min-width:48rem){ .tiers{grid-template-columns:repeat(3,1fr)} }
