:root{
    --navy-900:#0F1F33;
    --navy-800:#14273D;
    --navy-700:#1C3A5B;
    --linen:#F7F1E6;
    --linen-2:#EFE6D5;
    --gold:#E2A93B;
    --gold-2:#F0C368;
    --gold-deep:#9A6D10;
    --paper:#FFFFFF;

    --bg:var(--linen);
    --ink:#14273D;
    --ink-2:#55637A;
    --rule:#DED2BC;
    --surface:var(--paper);

    --serif: "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
    --sans: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

    --wrap:78rem;
  }
  @media (prefers-color-scheme: dark){
    :root{ --bg:#0B1521; --ink:#EDE6D8; --ink-2:#9DAABF; --rule:#22334A; --surface:#111E2E; --linen-2:#16283C; }
  }
  :root[data-theme="dark"]{ --bg:#0B1521; --ink:#EDE6D8; --ink-2:#9DAABF; --rule:#22334A; --surface:#111E2E; --linen-2:#16283C; }
  :root[data-theme="light"]{ --bg:var(--linen); --ink:#14273D; --ink-2:#55637A; --rule:#DED2BC; --surface:var(--paper); --linen-2:#EFE6D5; }

  *{ box-sizing:border-box; }
  .brandbar{ height:5px; background:linear-gradient(90deg,var(--gold-2),var(--gold) 38%,var(--gold-deep)); position:relative; z-index:60; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:var(--sans); font-size:1.0625rem; line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:2rem; }
  @media (max-width:640px){ .wrap{ padding-inline:1.25rem; } }
  h1,h2,h3{ font-family:var(--serif); font-weight:600; line-height:1.08; letter-spacing:-.015em; text-wrap:balance; margin:0; }
  a{ color:inherit; }
  .nb{ white-space:nowrap; }

  /* ---------- top bar (over hero) ---------- */
  .top{ position:absolute; top:0; left:0; right:0; z-index:40; }
  .top__row{ display:flex; align-items:center; justify-content:space-between; height:88px; gap:1rem; }
  .brand img{ display:block; height:66px; width:auto; }
  .brand .l{ display:none; } .brand .d{ display:block; }
  .top nav, .topbar nav{ display:flex; align-items:center; gap:.35rem; }
  .top nav > a, .topbar nav > a,
  .navtrigger{
    text-decoration:none; font-size:.9rem; letter-spacing:.02em; font-family:inherit;
    color:rgba(237,230,216,.72); transition:color .2s;
    background:none; border:0; cursor:pointer; padding:.55rem .8rem; border-radius:8px;
    display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap;
  }
  .top nav > a:hover, .topbar nav > a:hover,
  .navtrigger:hover{ color:#fff; }
  .top nav > a[aria-current], .topbar nav > a[aria-current]{ color:var(--gold-2); }
  .chev{ width:9px; height:6px; opacity:.65; transition:transform .22s ease; }

  /* ---- drop panels ---- */
  .navgroup{ position:relative; }
  .navgroup > .navtrigger{ padding-bottom:.7rem; margin-bottom:-.15rem; }
  .panel{
    position:absolute; top:calc(100% + .55rem); left:50%; transform:translate(-50%,-6px);
    /* the gap above is dead space to the mouse; this invisible strip
       bridges it so the panel does not close while crossing it */
    width:min(38rem, 78vw); background:var(--navy-800);
    border:1px solid rgba(237,230,216,.14); border-top:3px solid var(--gold);
    border-radius:12px; padding:.9rem; z-index:70;
    box-shadow:0 30px 60px -28px rgba(0,0,0,.75);
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
  }
  .panel::before{
    content:""; position:absolute; left:0; right:0; top:-.75rem; height:.75rem;
  }
  .navgroup.open .panel{ opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
  .navgroup.open .chev{ transform:rotate(180deg); }
  .navgroup.open .navtrigger{ color:#fff; background:rgba(255,255,255,.06); }

  .panel__in{ display:grid; grid-template-columns:1fr 1fr; gap:.3rem; }
  .pcard{
    display:flex; gap:.85rem; align-items:flex-start; text-decoration:none;
    padding:.85rem .9rem; border-radius:9px; transition:background .18s;
  }
  .pcard:hover{ background:rgba(226,169,59,.12); }
  .pcard__mark{
    flex:none; width:38px; height:38px; border-radius:9px;
    display:grid; place-items:center; color:var(--gold);
    background:rgba(226,169,59,.12); border:1px solid rgba(226,169,59,.28);
  }
  .pcard__mark svg{ width:22px; height:22px; }
  .pcard__text b{ display:block; color:#F4EEE2; font-size:.94rem; font-weight:650; margin-bottom:.12rem; }
  .pcard__text span{ display:block; color:rgba(237,230,216,.55); font-size:.82rem; line-height:1.45; }
  .panel__all{
    display:block; margin-top:.5rem; padding:.6rem .9rem; text-decoration:none;
    font-size:.82rem; letter-spacing:.02em; color:var(--gold-2);
    border-top:1px solid rgba(237,230,216,.1);
  }
  .panel__all:hover{ color:#fff; }

  /* ---- burger becomes an X ---- */
  .burger{
    display:none; width:44px; height:44px; border-radius:10px; background:transparent;
    border:1px solid rgba(237,230,216,.28); cursor:pointer;
    flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0;
  }
  .burger span{
    display:block; width:18px; height:1.5px; background:#EDE6D8; border-radius:2px;
    transition:transform .25s ease, opacity .2s ease;
  }
  .burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  @media (max-width:980px){
    .brand img{ height:54px; }
    .burger{ display:flex; }
    .top nav, .topbar nav{
      position:absolute; top:88px; left:1.25rem; right:1.25rem;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--navy-800); border:1px solid rgba(237,230,216,.14);
      border-top:3px solid var(--gold); border-radius:14px;
      padding:.5rem 1rem 1rem; display:none; max-height:76vh; overflow-y:auto;
    }
    .topbar nav{ top:76px; }
    .top nav.open, .topbar nav.open{ display:flex; }
    .top nav > a, .topbar nav > a, .navtrigger{
      padding:.9rem .2rem; border-bottom:1px solid rgba(237,230,216,.1);
      font-size:1rem; border-radius:0; width:100%; justify-content:space-between;
    }
    .navgroup{ width:100%; }
    .panel{
      position:static; transform:none; width:auto; opacity:1; visibility:visible;
      pointer-events:auto; box-shadow:none; border:0; border-radius:0; padding:.2rem 0 .6rem;
      background:transparent; display:none;
    }
    .navgroup.open .panel{ display:block; transform:none; }
    .panel__in{ grid-template-columns:1fr; gap:0; }
    .pcard{ padding:.7rem .2rem; }
    .pcard__mark{ width:32px; height:32px; }
    .pcard__mark svg{ width:18px; height:18px; }
    .panel__all{ padding-left:.2rem; }
    .top nav .pill, .topbar nav .pill{ margin-top:.9rem; justify-content:center; }
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative; background:var(--navy-900); color:#EDE6D8; overflow:hidden;
    min-height:clamp(620px, 92vh, 900px);
    display:flex; flex-direction:column;
    padding-top:88px;
  }
  .hero canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; opacity:.85; }
  .hero__grad{
    position:absolute; inset:0;
    background:
      radial-gradient(120% 80% at 78% 18%, rgba(226,169,59,.22), transparent 58%),
      linear-gradient(180deg, rgba(15,31,51,0) 40%, rgba(15,31,51,.85) 92%);
    pointer-events:none;
  }
  .hero__in{ position:relative; z-index:2; padding-block:clamp(3rem,8vw,5rem); margin-top:auto; }
  .rule-eyebrow{ display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
  .rule-eyebrow span{ font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-2); font-weight:600; }
  .rule-eyebrow i{ flex:1; height:2px; background:linear-gradient(90deg, var(--gold), rgba(226,169,59,.15)); max-width:230px; border-radius:2px; }
  .hero h1{
    font-size:clamp(2.9rem, 7.2vw, 5.6rem);
    max-width:16ch; margin-bottom:1.6rem; color:#F6F1E7;
  }
  .hero h1 .g{
    color:var(--gold-2); font-style:italic;
    background:linear-gradient(var(--gold),var(--gold)) 0 92%/100% 3px no-repeat;
    padding-bottom:.06em;
  }
  .hero .sub{ font-size:clamp(1.05rem,1.6vw,1.22rem); color:rgba(237,230,216,.78); max-width:46ch; margin:0 0 2.6rem; }
  .hero__act{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
  @media (max-width:720px){
    .hero{ min-height:auto; padding-top:80px; }
    .hero__in{ padding-block:2.5rem 2.75rem; }
    .hero__act .btn-solid,.hero__act .btn-line{ flex:1 1 auto; justify-content:center; }
  }
  .btn-solid{
    display:inline-flex; align-items:center; gap:.6rem; text-decoration:none;
    background:var(--gold); color:var(--navy-900); font-weight:650; font-size:.98rem;
    padding:.95rem 1.75rem; border-radius:999px; transition:transform .15s, box-shadow .2s;
    box-shadow:0 14px 30px -14px rgba(226,169,59,.9);
  }
  .btn-solid:hover{ transform:translateY(-2px); }
  .btn-line{
    display:inline-flex; align-items:center; gap:.6rem; text-decoration:none;
    color:#EDE6D8; font-size:.98rem; padding:.95rem 1.5rem; border-radius:999px;
    border:1px solid rgba(237,230,216,.3); transition:border-color .2s;
  }
  .btn-line:hover{ border-color:#EDE6D8; }
  .hero__foot{
    position:relative; z-index:2; margin-top:auto;
    border-top:2px solid rgba(226,169,59,.45);
    display:grid; grid-template-columns:repeat(3,1fr); gap:0 1rem;
  }
  .hero__foot div{ padding:1.4rem 0; }
  .hero__foot b{ display:block; font-family:var(--serif); font-size:1.15rem; color:var(--gold-2); font-weight:600; }
  .hero__foot span{ font-size:.86rem; color:rgba(237,230,216,.6); }
  @media (max-width:560px){
    .hero__foot{ grid-template-columns:1fr; }
    .hero__foot div{ padding:.9rem 0; border-bottom:1px solid rgba(237,230,216,.1); }
    .hero__foot div:last-child{ border-bottom:none; }
    .hero__foot b{ font-size:1.05rem; }
  }

  /* ---------- editorial services ---------- */
  .sec{ padding:clamp(4rem,9vw,7.5rem) 0; }
  .lead-head{ display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:end; margin-bottom:3.5rem; }
  @media (max-width:760px){ .lead-head{ grid-template-columns:1fr; gap:1rem; } }
  .lead-head .k{
    font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep);
    font-weight:700; padding-bottom:.6rem; display:flex; align-items:center; gap:.7rem; white-space:nowrap;
  }
  .lead-head .k::before{ content:""; width:26px; height:3px; background:var(--gold); border-radius:2px; }
  .lead-head h2{ position:relative; }
  .lead-head h2::after{
    content:""; display:block; width:64px; height:3px; background:var(--gold);
    border-radius:2px; margin-top:1.1rem;
  }
  @media (prefers-color-scheme:dark){ .lead-head .k{ color:var(--gold-2); } }
  :root[data-theme="dark"] .lead-head .k{ color:var(--gold-2); }
  .lead-head h2{ font-size:clamp(2.1rem,4.6vw,3.3rem); }
  .lead-head p{ color:var(--ink-2); margin:.9rem 0 0; max-width:52ch; }

  .rows{ border-top:1px solid var(--rule); }
  .row{
    display:grid; grid-template-columns:5rem 1fr 1.25fr; gap:2rem; align-items:start;
    padding:2.4rem 0; border-bottom:1px solid var(--rule);
    transition:background .25s;
  }
  .row{ box-shadow:inset 3px 0 0 transparent; }
  .row:hover{ background:color-mix(in srgb, var(--gold) 9%, transparent); box-shadow:inset 3px 0 0 var(--gold); }
  .row .num{
    font-family:var(--serif); font-size:2rem; line-height:1; color:var(--gold);
    letter-spacing:.02em; padding-top:.2rem; font-weight:600;
  }
  @media (prefers-color-scheme:dark){ .row .num{ color:var(--gold-2); } }
  :root[data-theme="dark"] .row .num{ color:var(--gold-2); }
  .row h3{ font-size:clamp(1.5rem,2.6vw,2rem); }
  .row p{ margin:0; color:var(--ink-2); }
  .row > ul{ margin:0; padding-left:1.15rem; color:var(--ink-2); }
  @media (max-width:860px){
    .row{ grid-template-columns:3.5rem 1fr; gap:1rem 1.25rem; padding:1.9rem 0; }
    .row p{ grid-column:2; }
    .row > ul{ grid-column:2; }
  }

  /* ---------- quote ---------- */
  .quote{ background:var(--navy-800); color:#F1EADC; border-radius:2px; }
  .quote .wrap{ padding-block:clamp(3.5rem,8vw,6rem); }
  .quote blockquote{
    margin:0; font-family:var(--serif); font-size:clamp(1.65rem,3.6vw,2.7rem);
    line-height:1.25; letter-spacing:-.01em; max-width:22ch; text-wrap:balance;
    border-left:3px solid var(--gold); padding-left:1.6rem;
  }
  .quote cite::before{ content:""; display:inline-block; width:22px; height:2px; background:var(--gold); vertical-align:middle; margin-right:.7rem; }
  .quote .mark{ font-family:var(--serif); font-size:4rem; line-height:1; color:var(--gold); display:block; margin-bottom:.4rem; }
  .quote cite{ display:block; margin-top:2rem; font-style:normal; font-size:.86rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(241,234,220,.6); }

  /* ---------- focus grid ---------- */
  .fgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); }
  @media (max-width:900px){ .fgrid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:460px){ .fgrid{ grid-template-columns:1fr; } }
  .fgrid div{
    background:var(--bg); padding:1.9rem 1.5rem 1.7rem; transition:background .25s, box-shadow .25s;
    box-shadow:inset 0 3px 0 color-mix(in srgb, var(--gold) 32%, transparent);
  }
  .fgrid div:hover{ background:var(--surface); box-shadow:inset 0 3px 0 var(--gold); }
  .fgrid b{ font-family:var(--serif); font-size:1.22rem; font-weight:600; display:block; margin-bottom:.3rem; }
  .fgrid span{ font-size:.92rem; color:var(--ink-2); }

  /* ---------- about ---------- */
  .about{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
  @media (max-width:900px){ .about{ grid-template-columns:1fr; } }
  .frame{ position:relative; }
  .frame__img{
    position:relative; aspect-ratio:4/5; border-radius:2px; overflow:hidden;
    background:var(--navy-800); box-shadow:0 30px 60px -30px rgba(15,31,51,.5);
  }
  .frame::after{
    content:""; position:absolute; inset:auto -14px -14px auto; width:62%; height:62%;
    border:1px solid var(--gold); border-radius:2px; z-index:-1;
  }
  .frame .tag{ position:absolute; left:0; bottom:0; background:var(--gold); color:var(--navy-900); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:.5rem .9rem; }
  .kmark{
    font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep);
    font-weight:700; display:flex; align-items:center; gap:.7rem;
  }
  .kmark::before{ content:""; width:26px; height:3px; background:var(--gold); border-radius:2px; }
  @media (prefers-color-scheme:dark){ .kmark{ color:var(--gold-2); } }
  :root[data-theme="dark"] .kmark{ color:var(--gold-2); }
  h2.ruled::after{ content:""; display:block; width:64px; height:3px; background:var(--gold); border-radius:2px; margin-top:1.1rem; }
  .about h2{ font-size:clamp(2rem,4.2vw,3rem); margin-bottom:1.2rem; }
  .about p{ color:var(--ink-2); }
  .about .first{ color:var(--ink); font-size:1.14rem; }
  .creds{ list-style:none; margin:2rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); }
  @media (max-width:560px){ .creds{ grid-template-columns:1fr; } }
  .creds li{ background:var(--bg); padding:1.1rem 1.2rem; box-shadow:inset 0 3px 0 var(--gold); }
  .creds b{ display:block; font-family:var(--serif); font-size:1.05rem; }
  .creds span{ font-size:.84rem; color:var(--ink-2); }

  /* ---------- steps rail ---------- */
  .rail{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:2px solid color-mix(in srgb, var(--gold) 45%, var(--rule)); }
  @media (max-width:820px){ .rail{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .rail{ grid-template-columns:1fr; } }
  .rail>div{ padding:2rem 1.6rem 2rem 0; border-right:1px solid var(--rule); position:relative; }
  .rail>div:last-child{ border-right:none; }
  @media (max-width:820px){ .rail>div:nth-child(2n){ border-right:none; } }
  @media (max-width:480px){ .rail>div{ border-right:none; border-bottom:1px solid var(--rule); padding-right:0; } .rail>div:last-child{ border-bottom:none; } }
  .rail .dot{ width:13px; height:13px; border-radius:50%; background:var(--gold); position:absolute; top:-7px; left:0; box-shadow:0 0 0 4px color-mix(in srgb, var(--gold) 20%, transparent); }
  .rail b{ display:block; font-family:var(--serif); font-size:1.2rem; margin-bottom:.35rem; }
  .rail p{ margin:0; font-size:.94rem; color:var(--ink-2); }

  /* ---------- cta ---------- */
  .cta{ background:var(--linen-2); border-top:4px solid var(--gold); }
  .cta .wrap{ padding-block:clamp(3.5rem,8vw,6rem); display:grid; grid-template-columns:1.2fr auto; gap:2.5rem; align-items:center; }
  @media (max-width:820px){ .cta .wrap{ grid-template-columns:1fr; } }
  .cta h2{ font-size:clamp(2rem,4.4vw,3.1rem); max-width:18ch; }
  .cta p{ color:var(--ink-2); margin:.9rem 0 0; max-width:44ch; }
  .cta-btn{
    display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; white-space:nowrap;
    background:var(--gold); color:var(--navy-900); font-weight:700;
    padding:1.05rem 2.1rem; border-radius:999px; transition:transform .15s, box-shadow .2s;
    box-shadow:0 14px 30px -14px rgba(226,169,59,.95);
  }
  .cta-btn:hover{ transform:translateY(-2px); }

  /* ---------- footer ---------- */
  footer{ background:var(--navy-900); color:rgba(237,230,216,.78); }
  footer .wrap{ padding-block:3.5rem 2rem; }
  .fgrid2{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; }
  @media (max-width:780px){ .fgrid2{ grid-template-columns:1fr; gap:2rem; } }
  footer .brand img{ height:70px; }
  @media (max-width:480px){
    .brand img{ height:46px; }
    footer .brand img{ height:58px; }
  }
  footer h4{ font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 1rem; }
  footer a{ display:block; text-decoration:none; color:rgba(237,230,216,.78); font-size:.94rem; margin-bottom:.6rem; transition:color .2s; }
  footer a:hover{ color:var(--gold-2); }
  footer .addr{ font-size:.94rem; margin:1rem 0 0; color:rgba(237,230,216,.62); }
  .crisis{
    margin-top:2.5rem; border-left:2px solid var(--gold); padding:.9rem 0 .9rem 1.1rem;
    font-size:.9rem; color:rgba(237,230,216,.75);
  }
  .crisis b{ color:var(--gold-2); }
  .legal{ margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(237,230,216,.14);
    display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 1.5rem; font-size:.8rem; color:rgba(237,230,216,.5); }

  .rv{ opacity:0; transform:translateY(16px); }
  .rv.in{ opacity:1; transform:none; transition:opacity .8s ease, transform .8s ease; }
  @media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; } }

  /* ---------- real portrait ---------- */
  .frame__img img{ width:100%; height:100%; object-fit:cover; display:block; }

  /* ---------- modalities ---------- */
  .k2{
    font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep);
    font-weight:700; display:flex; align-items:center; gap:.7rem; margin-bottom:1rem;
  }
  .k2::before{ content:""; width:26px; height:3px; background:var(--gold); border-radius:2px; }
  @media (prefers-color-scheme:dark){ .k2{ color:var(--gold-2); } }
  :root[data-theme="dark"] .k2{ color:var(--gold-2); }
  .mods{ margin-top:2.5rem; }
  .mods ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.7rem; }
  .mods li{
    border:1px solid var(--rule); border-left:3px solid var(--gold);
    padding:.65rem 1.1rem; font-size:.95rem; background:var(--surface);
  }
  .mods em{ font-style:normal; color:var(--ink-2); }

  /* ---------- fees ---------- */
  .feewrap{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; }
  @media (max-width:820px){ .feewrap{ grid-template-columns:1fr; } }
  .feelist{ border-top:2px solid var(--gold); }
  .feerow{
    display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
    padding:1.1rem 0; border-bottom:1px solid var(--rule);
  }
  .feerow span{ font-size:1.05rem; }
  .feerow em{ font-style:normal; color:var(--ink-2); font-size:.86rem; margin-left:.5rem; }
  .feerow b{
    font-family:var(--serif); font-size:1.5rem; color:var(--gold-deep);
    font-variant-numeric:tabular-nums; white-space:nowrap;
  }
  @media (prefers-color-scheme:dark){ .feerow b{ color:var(--gold-2); } }
  :root[data-theme="dark"] .feerow b{ color:var(--gold-2); }
  .insurance{ background:var(--surface); border:1px solid var(--rule); box-shadow:inset 0 3px 0 var(--gold); padding:1.6rem 1.5rem; }
  .insurance ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; }
  .insurance li{ font-size:.98rem; padding-left:1.2rem; position:relative; }
  .insurance li::before{
    content:""; position:absolute; left:0; top:.55em; width:7px; height:7px;
    border-radius:50%; background:var(--gold);
  }

  /* ---------- cta contact ---------- */
  .ctacontact{ display:flex; flex-wrap:wrap; gap:.6rem 1.75rem; margin-top:1.3rem; }
  .ctacontact a{
    font-weight:650; text-decoration:none; color:var(--ink);
    border-bottom:2px solid var(--gold); padding-bottom:2px;
  }
  footer .fnote{ display:block; font-size:.82rem; color:rgba(237,230,216,.45); margin-top:.4rem; }

  /* 4-up hero stats */
  .hero__foot{ grid-template-columns:repeat(4,1fr); }
  @media (max-width:900px){ .hero__foot{ grid-template-columns:repeat(2,1fr); } }

  :focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  /* ================= inner-page additions ================= */
  .pagehead{
    background:var(--navy-900); color:#EDE6D8; position:relative; overflow:hidden;
    padding-top:112px; padding-bottom:clamp(2.5rem,6vw,4rem);
  }
  .pagehead__glow{
    position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(120% 90% at 80% 10%, rgba(226,169,59,.20), transparent 60%);
  }
  .pagehead .wrap{ position:relative; z-index:2; }
  .pagehead h1{ font-size:clamp(2.1rem,5vw,3.4rem); color:#F6F1E7; max-width:20ch; margin:0; }
  .pagehead p{ color:rgba(237,230,216,.78); max-width:52ch; margin:1.1rem 0 0; font-size:1.08rem; }
  .crumb{ font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-2); margin:0 0 1rem; }
  .crumb a{ color:rgba(237,230,216,.6); text-decoration:none; }
  .crumb a:hover{ color:var(--gold-2); }

  /* sticky nav for inner pages (no hero behind it) */
  .topbar{
    position:sticky; top:0; z-index:50; background:var(--navy-900);
    border-bottom:1px solid rgba(237,230,216,.12);
  }
  .topbar .top__row{ height:76px; }

  .prose{ max-width:44rem; }
  .prose p{ color:var(--ink-2); font-size:1.06rem; }
  .prose p.first{ color:var(--ink); font-size:1.18rem; }
  .prose h3{ font-size:1.4rem; margin:2.2rem 0 .6rem; }
  .prose ul{ margin:0 0 1.2rem; padding-left:0; list-style:none; }
  .prose ul li{ position:relative; padding-left:1.5rem; margin-bottom:.6rem; color:var(--ink-2); }
  .prose ul li::before{
    content:""; position:absolute; left:0; top:.6em; width:7px; height:7px;
    border-radius:50%; background:var(--gold);
  }

  .split{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
  @media (max-width:900px){ .split{ grid-template-columns:1fr; } }

  .aside{ background:var(--surface); border:1px solid var(--rule); box-shadow:inset 0 3px 0 var(--gold); padding:1.6rem 1.5rem; }
  .aside h4{ font-family:var(--serif); font-size:1.2rem; margin:0 0 .8rem; }
  .aside p{ font-size:.95rem; color:var(--ink-2); margin:0 0 1rem; }
  .aside .btn-inline{
    display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
    background:var(--gold); color:var(--navy-900); font-weight:650; font-size:.95rem;
    padding:.75rem 1.4rem; border-radius:999px;
  }
  .aside dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:.5rem 1rem; font-size:.95rem; }
  .aside dt{ color:var(--ink-2); }
  .aside dd{ margin:0; font-weight:650; text-align:right; }

  /* card links to child pages */
  .linkgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); }
  .linkgrid a{
    background:var(--bg); padding:1.7rem 1.5rem; text-decoration:none; display:block;
    box-shadow:inset 0 3px 0 color-mix(in srgb, var(--gold) 32%, transparent);
    transition:background .2s, box-shadow .2s;
  }
  .linkgrid a:hover{ background:var(--surface); box-shadow:inset 0 3px 0 var(--gold); }
  .linkgrid b{ font-family:var(--serif); font-size:1.3rem; display:block; margin-bottom:.3rem; }
  .linkgrid span{ font-size:.94rem; color:var(--ink-2); display:block; }
  .linkgrid .go{ color:var(--gold-deep); font-size:.85rem; font-weight:650; margin-top:.8rem; display:inline-block; }
  @media (prefers-color-scheme:dark){ .linkgrid .go{ color:var(--gold-2); } }
  :root[data-theme="dark"] .linkgrid .go{ color:var(--gold-2); }

  /* contact form */
  .form{ display:flex; flex-direction:column; gap:1.1rem; max-width:34rem; }
  .field label{ display:block; font-size:.85rem; font-weight:650; letter-spacing:.04em; margin-bottom:.4rem; }
  .field input, .field textarea{
    width:100%; font:inherit; font-size:1rem; color:var(--ink);
    background:var(--surface); border:1px solid var(--rule); border-radius:2px;
    padding:.8rem .9rem; transition:border-color .2s, box-shadow .2s;
  }
  .field input:focus, .field textarea:focus{
    outline:none; border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%, transparent);
  }
  .field textarea{ min-height:9rem; resize:vertical; }
  .formnote{ font-size:.88rem; color:var(--ink-2); border-left:3px solid var(--gold); padding:.6rem 0 .6rem .9rem; }
  .submit{
    align-self:flex-start; border:none; cursor:pointer; font:inherit; font-weight:700;
    background:var(--gold); color:var(--navy-900); padding:.95rem 2rem; border-radius:999px;
    transition:transform .15s;
  }
  .submit:hover{ transform:translateY(-2px); }
  #notice{ display:block; scroll-margin-top:96px; }
  .alert{ padding:.9rem 1.1rem; border-left:3px solid var(--gold); background:var(--surface); margin-bottom:1.5rem; font-size:.95rem; }
  .alert.err{ border-left-color:#B3261E; }

  /* secure preliminary booking form */
  .intake-form{ max-width:58rem; gap:1.5rem; }
  .intake-section{ margin:0; padding:1.4rem; border:1px solid var(--rule); background:var(--surface); }
  .intake-section legend{ font-family:var(--serif); font-size:1.35rem; font-weight:650; padding:0 .45rem; }
  .intake-section > .field + .field,
  .intake-section > .form-grid,
  .intake-section > .form-grid + .field,
  .intake-section > #insurance-fields{ margin-top:1rem; }
  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .choice-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
  .choice-grid.compact{ max-width:38rem; }
  .choice{ display:flex; align-items:flex-start; gap:.7rem; padding:1rem; border:1px solid var(--rule); background:var(--bg); cursor:pointer; }
  .choice:has(input:checked){ border-color:var(--gold); box-shadow:inset 0 3px 0 var(--gold); }
  .choice input{ margin-top:.25rem; accent-color:var(--gold-deep); }
  .choice b,.choice small{ display:block; }
  .choice small{ color:var(--ink-2); margin-top:.2rem; }
  .section-note{ color:var(--ink-2); margin:.1rem 0 1rem; }
  .participant{ padding:1.2rem; border:1px solid var(--rule); background:var(--bg); }
  .participant + .participant{ margin-top:1rem; }
  .participant > .field + .form-grid,
  .participant > .form-grid + .field,
  #insurance-fields > .field + .form-grid{ margin-top:1rem; }
  .participant-head{ display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; }
  .participant-head h3{ font-size:1.25rem; margin:0; }
  .remove-participant,.add-participant{ font:inherit; font-weight:650; cursor:pointer; border:1px solid var(--rule); color:var(--ink); background:var(--surface); padding:.55rem .9rem; border-radius:999px; }
  .remove-participant:hover,.add-participant:hover{ border-color:var(--gold); }
  .add-participant{ margin-top:1rem; }
  .add-participant:disabled{ opacity:.5; cursor:not-allowed; }
  .intake-form .field textarea{ min-height:7rem; }
  .intake-form .participant textarea{ min-height:5rem; }
  .acknowledge{ display:flex; align-items:flex-start; gap:.7rem; font-size:.92rem; color:var(--ink-2); }
  .acknowledge input{ margin-top:.3rem; accent-color:var(--gold-deep); }
  @media(max-width:700px){
    .form-grid,.choice-grid{ grid-template-columns:1fr; }
    .intake-section{ padding:1.1rem; }
  }

  /* articles */
  .postlist{ display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
  .postlist a{
    background:var(--bg); padding:1.9rem 1.7rem; text-decoration:none; display:block;
    box-shadow:inset 0 3px 0 transparent; transition:background .2s, box-shadow .2s;
  }
  .postlist a:hover{ background:var(--surface); box-shadow:inset 0 3px 0 var(--gold); }
  .postlist time{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; }
  @media (prefers-color-scheme:dark){ .postlist time{ color:var(--gold-2); } }
  :root[data-theme="dark"] .postlist time{ color:var(--gold-2); }
  .postlist h3{ font-size:1.5rem; margin:.5rem 0 .4rem; }
  .postlist p{ margin:0; color:var(--ink-2); font-size:.98rem; }

  .article{ max-width:42rem; }
  .article p{ font-size:1.08rem; color:var(--ink-2); margin:0 0 1.3rem; }
  .article p.first{ font-size:1.22rem; color:var(--ink); }
  .article h2{ font-size:1.7rem; margin:2.4rem 0 .8rem; }
  .article h2::after{ content:""; display:block; width:48px; height:3px; background:var(--gold); border-radius:2px; margin-top:.8rem; }
  .article ul{ list-style:none; padding:0; margin:0 0 1.3rem; }
  .article ul li{ position:relative; padding-left:1.5rem; margin-bottom:.6rem; color:var(--ink-2); }
  .article ul li::before{ content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background:var(--gold); }
  .article blockquote{
    margin:2rem 0; padding-left:1.4rem; border-left:3px solid var(--gold);
    font-family:var(--serif); font-size:1.35rem; line-height:1.4; color:var(--ink);
  }
  .bylinerow{ display:flex; align-items:center; gap:1rem; margin-bottom:2.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--rule); }
  .bylinerow img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
  .bylinerow b{ display:block; font-size:.98rem; }
  .bylinerow span{ font-size:.85rem; color:var(--ink-2); }


  /* ---------- maintenance preview banner ---------- */
  .previewbar{
    background:#8A6010; color:#FFF6E4; font-size:.88rem; text-align:center;
    padding:.6rem 1rem; letter-spacing:.01em;
  }
  .previewbar b{ color:#F0C368; }
  .previewbar a{
    color:#FFF6E4; margin-left:.6rem; text-underline-offset:3px;
  }


  /* ---------- images inside articles ---------- */
  .artimg{ margin:2rem 0; }
  .artimg img{ width:100%; height:auto; display:block; border-radius:2px; }
  .artimg figcaption{
    font-size:.85rem; color:var(--ink-2); margin-top:.6rem;
    padding-left:.9rem; border-left:3px solid var(--gold);
  }


  /* ---------- article cover images ---------- */
  .articlehero{ margin:0 0 2.5rem; }
  .articlehero img{
    width:100%; height:auto; display:block; border-radius:2px;
    border-top:3px solid var(--gold);
  }
  .postlist a.haspic{ display:grid; grid-template-columns:13rem 1fr; gap:1.5rem; align-items:start; }
  .postlist .thumb{ display:block; overflow:hidden; border-radius:2px; box-shadow:inset 0 3px 0 var(--gold); }
  .postlist .thumb img{
    width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
    transition:transform .35s ease;
  }
  .postlist a:hover .thumb img{ transform:scale(1.04); }
  .postlist .postmeta{ display:block; }
  @media (max-width:640px){
    .postlist a.haspic{ grid-template-columns:1fr; gap:1rem; }
    .postlist .thumb img{ aspect-ratio:16/9; }
  }


  /* ---------- FAQ accordion ---------- */
  .faq details{
    border:1px solid var(--rule); border-left:3px solid var(--gold);
    background:var(--surface); margin-bottom:.7rem;
  }
  .faq summary{
    cursor:pointer; list-style:none; padding:1.1rem 3rem 1.1rem 1.3rem; position:relative;
    font-family:var(--serif); font-size:1.12rem; color:var(--ink); line-height:1.35;
  }
  .faq summary::-webkit-details-marker{ display:none; }
  .faq summary::after{
    content:""; position:absolute; right:1.3rem; top:1.45rem;
    width:11px; height:11px; border-right:2px solid var(--gold-deep);
    border-bottom:2px solid var(--gold-deep); transform:rotate(45deg);
    transition:transform .2s ease;
  }
  @media (prefers-color-scheme:dark){ .faq summary::after{ border-color:var(--gold-2); } }
  :root[data-theme="dark"] .faq summary::after{ border-color:var(--gold-2); }
  .faq details[open] summary::after{ transform:rotate(-135deg); }
  .faq summary:hover{ color:var(--gold-deep); }
  @media (prefers-color-scheme:dark){ .faq summary:hover{ color:var(--gold-2); } }
  :root[data-theme="dark"] .faq summary:hover{ color:var(--gold-2); }
  .faq__a{ padding:0 1.3rem 1.2rem; }
  .faq__a p{ margin:0 0 .7rem; color:var(--ink-2); font-size:1rem; }
  .faq__a p:last-child{ margin-bottom:0; }
  .faq__a a{ color:var(--gold-deep); font-weight:650; text-decoration:none; }
  @media (prefers-color-scheme:dark){ .faq__a a{ color:var(--gold-2); } }
  :root[data-theme="dark"] .faq__a a{ color:var(--gold-2); }
