  :root{
    color-scheme:light dark;
    --paper:#F9F7F2;        /* warm ivory ground */
    --surface:#FFFFFF;
    --ink:#163E52;          /* brand navy — headings, primary text */
    --ink-2:#3F586A;        /* softened navy — body */
    --ink-3:#626F79;        /* quiet — labels, captions */
    --line:#E5E0D5;         /* warm hairline */
    --line-soft:#EEEAE1;
    --accent:#2C7CA3;       /* brand blue — decorative only */
    --accent-text:#246A8E;  /* text-safe accent (AA on paper) */
    --deep:#122F3F;         /* footer / contact ground */
    --deep-2:#0E2733;
    --deep-ink:#F4F1EA;
    --deep-ink-2:#9FB0BA;
    --deep-line:#28455556;
    --flag:#8A5A00;
    --flag-tint:#FFF6E3;
    --flag-line:#E3C88F;
    --nav-bg:rgba(249,247,242,.86);
    --ghost-line:#B9C6CE;
    --cta-bg:#163E52;       /* filled buttons / nav CTA */
    --cta-ink:#F4F1EA;
    --cta-hover:#0E2733;
    --shell:1080px;
    --serif:"Fraunces","Iowan Old Style","Palatino",Georgia,serif;
    --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --paper:#101F2A;        /* deep navy ground */
      --surface:#162936;      /* the one tonal-shift band */
      --ink:#F4F1EA;          /* warm ivory headings */
      --ink-2:#C2CDD5;
      --ink-3:#93A5B0;
      --line:#263D4B;
      --line-soft:#1E3441;
      --accent:#5BA3C7;
      --accent-text:#85BBD9;
      --deep:#0B1822;         /* contact/footer sinks deeper */
      --deep-2:#071219;
      --deep-ink:#F4F1EA;
      --deep-ink-2:#93A5B0;
      --deep-line:#2E475766;
      --flag:#FFC66E;
      --flag-tint:#31270E;
      --flag-line:#6E5320;
      --nav-bg:rgba(14,27,37,.82);
      --ghost-line:#41596A;
      --cta-bg:#F4F1EA;       /* inverted: ivory button, navy text */
      --cta-ink:#101F2A;
      --cta-hover:#FFFFFF;
    }
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;background:var(--paper)}
  body{
    margin:0;background:var(--paper);color:var(--ink-2);
    font-family:var(--sans);font-size:16.5px;line-height:1.65;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  }
  .shell{max-width:var(--shell);margin:0 auto;padding:0 32px}
  h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0}
  h1{font-size:clamp(40px,6vw,68px);line-height:1.06;letter-spacing:-0.01em}
  h2{font-size:clamp(28px,3.4vw,40px);line-height:1.14;letter-spacing:-0.005em}
  h3{font-size:21px;line-height:1.3}
  p{margin:0}
  a{color:inherit}
  section{padding:110px 0;scroll-margin-top:64px}
  #services,#giving{scroll-margin-top:174px}  /* padding-top:0 sections: 64px nav + 110px to match padded jumps */
  .rule{border:0;border-top:1px solid var(--line);margin:0}

  .label{
    font-family:var(--sans);font-size:11px;font-weight:600;
    letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);
  }
  .num{
    font-family:var(--serif);font-style:italic;font-weight:300;
    color:var(--accent-text);font-size:15px;letter-spacing:.04em;
  }

  /* ------- open questions (approval mode) ------- */
  .tbd{border-bottom:1px dashed transparent;border-radius:2px;padding:0 2px;
    transition:background .2s,color .2s,border-color .2s}
  body.flagged .tbd{border-bottom-color:var(--flag)}
  .tbd-only{display:none}
  body.flagged .tbd-only{display:inline}
  body.flagged .tbd{background:var(--flag-tint);border-bottom-color:var(--flag);color:var(--flag)}
  .cline.tbd-row{display:none}
  body.flagged .cline.tbd-row{display:flex}

  /* ------- nav ------- */
  nav{
    position:sticky;top:0;z-index:50;
    background:var(--nav-bg);
    -webkit-backdrop-filter:saturate(160%) blur(18px);
    backdrop-filter:saturate(160%) blur(18px);
    border-bottom:1px solid var(--line);
  }
  .nav-in{max-width:var(--shell);margin:0 auto;padding:0 32px;height:64px;
    display:flex;align-items:center;gap:28px}
  .brand{display:flex;align-items:center;gap:13px;text-decoration:none;margin-right:auto}
  .brand img{height:30px;width:auto;display:block}
  .brand-name{font-family:var(--serif);font-size:17.5px;color:var(--ink);letter-spacing:.01em;line-height:1.1}
  .brand-name small{display:block;font-family:var(--sans);font-size:9.5px;font-weight:600;
    letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}
  .nav-links{display:flex;gap:26px;font-size:13.5px;color:var(--ink-2)}
  .nav-links a{text-decoration:none}
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{
    font-size:13px;font-weight:500;text-decoration:none;color:var(--cta-ink);
    background:var(--cta-bg);padding:9px 18px;border-radius:2px;white-space:nowrap;
    letter-spacing:.02em;
  }
  .nav-cta:hover{background:var(--cta-hover)}
  @media(max-width:1080px){.nav-links{gap:18px;font-size:13px}}
  @media(max-width:940px){.nav-links{display:none}}
  @media(max-width:560px){
    .nav-cta{padding:7px 13px;font-size:12px}
    .nav-in{gap:16px}
    .brand-name{font-size:15.5px;white-space:nowrap}
    .brand-name small{letter-spacing:.24em}
  }

  /* ------- hero ------- */
  .hero{padding:130px 0 100px}
  .hero .label{display:block;margin-bottom:34px;color:var(--accent-text)}
  .hero h1{max-width:17ch}
  .hero-sub{margin-top:34px;max-width:56ch;font-size:19px;line-height:1.6;color:var(--ink-2)}
  .cta-row{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .btn{display:inline-block;text-decoration:none;font-size:14.5px;font-weight:500;
    padding:13px 26px;border-radius:2px;letter-spacing:.02em;border:1px solid transparent}
  .btn-fill{background:var(--cta-bg);color:var(--cta-ink)}
  .btn-fill:hover{background:var(--cta-hover)}
  .btn-ghost{border-color:var(--ghost-line);color:var(--ink);background:transparent}
  .btn-ghost:hover{border-color:var(--ink)}
  .cred{margin-top:60px;padding-top:26px;border-top:1px solid var(--line);
    display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
  .cred .label{letter-spacing:.18em}
  .cred-line{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--ink-2)}

  /* ------- section head ------- */
  .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:64px}
  .head .kicker{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
  .head p{color:var(--ink-2);font-size:16.5px;max-width:48ch}
  @media(max-width:820px){.head{grid-template-columns:1fr;gap:18px}}

  /* ------- practice ------- */
  .practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line)}
  .practice{background:var(--paper);padding:40px 38px}
  .practice .num{display:block;margin-bottom:18px}
  .practice h3{margin-bottom:12px}
  .practice p{font-size:15px;line-height:1.65;color:var(--ink-2)}
  @media(max-width:760px){.practice-grid{grid-template-columns:1fr}.practice{padding:32px 28px}}

  /* ------- services list ------- */
  .svc{border-top:1px solid var(--line)}
  .svc-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:36px;
    padding:34px 0;border-bottom:1px solid var(--line)}
  .svc-row h3{font-size:22px}
  .svc-row .svc-note{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;color:var(--ink-3);margin-top:8px;display:block}
  .svc-row p{font-size:15.5px;color:var(--ink-2);max-width:58ch}
  .svc-row ul{margin:14px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 26px}
  .svc-row li{font-size:14.5px;color:var(--ink-2);padding-left:16px;position:relative;line-height:1.5}
  .svc-row li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
    border-radius:50%;background:var(--accent)}
  .svc-row li b{color:var(--ink);font-weight:500}
  @media(max-width:760px){.svc-row{grid-template-columns:1fr;gap:12px}.svc-row ul{grid-template-columns:1fr}}

  /* ------- dealers / quote ------- */
  .dealers{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .quote{max-width:820px;margin:0 auto;text-align:center;padding:26px 0 0}
  .quote::before{content:"";display:block;width:40px;height:1px;background:var(--line);margin:0 auto 40px}
  blockquote{margin:0;font-family:var(--serif);font-weight:300;
    font-size:clamp(23px,3vw,31px);line-height:1.42;color:var(--ink);letter-spacing:.002em}
  .quote figcaption{margin-top:30px}
  .quote .who{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
  .quote-follow{margin:56px auto 0;max-width:640px;text-align:center;font-size:16.5px;color:var(--ink-2)}
  .covers-label{display:block;text-align:center;margin:54px 0 0}
  .covers{margin:22px auto 0;display:flex;justify-content:center;gap:0;flex-wrap:wrap;row-gap:12px;
    border-top:1px solid var(--line);padding-top:30px;max-width:820px}
  .covers div{padding:4px 30px;text-align:center;border-left:1px solid var(--line)}
  .covers div:first-child{border-left:0}
  .covers .c-t{font-family:var(--serif);font-size:17px;color:var(--ink)}
  @media(max-width:880px){.covers div{padding:6px 18px;border-left:0}}

  /* ------- partners ------- */
  .partners-note{max-width:52ch}
  .partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:0}
  .partner{background:var(--paper);min-height:110px;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:20px;font-family:var(--serif);font-size:17.5px;color:var(--ink);
    letter-spacing:.01em;line-height:1.35}
  @media(max-width:880px){.partner-grid{grid-template-columns:repeat(2,1fr)}}
  .fine{margin-top:22px;font-size:13px;color:var(--ink-3)}
  body.flagged p.fine.tbd-only{display:block}

  /* ------- giving ------- */
  .giving .head{margin-bottom:0}
  .giving-body{max-width:60ch;font-size:17px;line-height:1.7;color:var(--ink-2)}
  .giving-list{margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line)}
  .giving-list li{background:var(--paper);padding:30px 28px}
  .giving-list .g-t{font-family:var(--serif);font-size:18.5px;color:var(--ink);display:block;margin-bottom:8px}
  .giving-list p{font-size:14px;color:var(--ink-2)}
  @media(max-width:760px){.giving-list{grid-template-columns:1fr}}

  /* ------- contact ------- */
  .contact{background:var(--deep);color:var(--deep-ink);padding:120px 0}
  .contact .label{color:var(--deep-ink-2)}
  .contact h2{color:var(--deep-ink);max-width:20ch}
  .contact .lede{color:var(--deep-ink-2);margin-top:22px;max-width:46ch;font-size:16.5px}
  .contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:70px;align-items:start}
  @media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:48px}}
  .cline{display:flex;justify-content:space-between;gap:20px;padding:16px 0;
    border-bottom:1px solid var(--deep-line);font-size:15px}
  .cline span:first-child{color:var(--deep-ink-2)}
  .cline a{color:var(--deep-ink);text-decoration:none;border-bottom:1px solid var(--deep-line)}
  body.flagged .contact .tbd{border-bottom-color:#B8860B}
  body.flagged .contact .tbd{background:#3A3115;color:#FFD37E;border-bottom-color:#B8860B}

  form{margin-top:8px}
  .f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:560px){.f-row{grid-template-columns:1fr}}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;color:var(--deep-ink-2);margin-bottom:7px}
  .field input,.field textarea{
    width:100%;background:var(--deep-2);border:1px solid #2A4756;border-radius:2px;
    color:var(--deep-ink);font-family:var(--sans);font-size:15px;padding:12px 14px;
  }
  .field input:focus,.field textarea:focus{border-color:var(--accent)}
  .field textarea{min-height:120px;resize:vertical}
  .f-send{
    margin-top:8px;background:var(--deep-ink);color:var(--deep);border:0;border-radius:2px;
    font-family:var(--sans);font-size:14.5px;font-weight:600;letter-spacing:.02em;
    padding:14px 30px;cursor:pointer;
  }
  .f-send:hover{background:#fff}
  .f-note{margin-top:14px;font-size:12.5px;color:var(--deep-ink-2)}

  /* ------- footer ------- */
  footer{background:var(--deep);color:var(--deep-ink-2);font-size:13px;padding:0 0 54px}
  footer .shell{padding-top:34px;border-top:1px solid var(--deep-line)}
  .foot-grid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
  .foot-brand{display:flex;align-items:center;gap:12px}
  .foot-brand img{height:34px;width:auto;opacity:.9}
  .foot-brand div{font-family:var(--serif);color:var(--deep-ink);font-size:15px;line-height:1.2}
  .foot-brand small{display:block;font-family:var(--sans);font-size:9px;font-weight:600;
    letter-spacing:.28em;text-transform:uppercase;color:var(--deep-ink-2);margin-top:3px}
  .foot-meta{margin-top:20px;max-width:56ch;line-height:1.6}
  .foot-links{display:flex;flex-direction:column;gap:9px;text-align:right}
  .foot-links a{color:var(--deep-ink-2);text-decoration:none}
  .foot-links a:hover{color:var(--deep-ink)}
  @media(max-width:640px){.foot-links{text-align:left}}
  .toggle{
    margin-top:26px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;border:1px solid var(--deep-line);background:transparent;
    color:var(--deep-ink-2);padding:8px 14px;border-radius:2px;cursor:pointer;
  }
  .toggle[aria-pressed="true"]{border-color:#B8860B;color:#FFD37E}

  /* ------- reveal ------- */
  .reveal{opacity:1;transform:none}
  html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  html.js .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){
    html.js .reveal{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
  }
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--deep-ink);
    padding:10px 18px;font-size:13px;text-decoration:none}
  .skip:focus{left:0}

/* ------- about page ------- */
.about-hero{padding:110px 0 90px}
.about-hero h1{max-width:16ch}
.person-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:44px}
.person{background:var(--paper);padding:34px 30px}
.person h3{margin-bottom:3px}
.person .role{font-size:13px;font-weight:500;color:var(--accent-text)}
.person p{margin-top:14px;font-size:14.5px;color:var(--ink-2);line-height:1.6}
@media(max-width:760px){.person-grid{grid-template-columns:1fr}}
.person .mail{display:inline-block;margin-top:10px;font-size:13.5px;color:var(--ink-2);
  text-decoration:none;border-bottom:1px solid var(--line)}
.person .mail:hover{color:var(--ink);border-bottom-color:var(--ink-3)}
.person p.tbd-only{display:none}
body.flagged .person p.tbd-only{display:block}
.person .role.tbd-only{display:none}
body.flagged .person .role.tbd-only{display:block}
.creed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:44px}
.creed{background:var(--paper);padding:34px 30px}
.creed .label{display:block;margin-bottom:14px}
.creed p{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink)}
@media(max-width:760px){.creed-grid{grid-template-columns:1fr}}
.about-close{border-top:1px solid var(--line);margin-top:0}
section.tbd-section{display:none}
body.flagged section.tbd-section{display:block}
div.tbd-block{display:none}
body.flagged div.tbd-block{display:block}
body.flagged .person-grid.tbd-block{display:grid}

body.flagged .svc-row.tbd-only{display:grid !important}
