:root {
  --paper:#f8f4f1;
  --paper-deep:#eaf1f5;
  --white:#fff;
  --ink:#203f6e;
  --ink-soft:#4d5b70;
  --pine:#203f6e;
  --pine-deep:#102d50;
  --oxide:#8a6d3b;
  --line:#d9d7d0;
  --line-dark:#d3dde4;
  --champagne:#d8bd86;
  --card:#f7f4ef;
  --card-blue:#edf2f5;
  --serif:Georgia, "Times New Roman", serif;
  --mono:Arial, Helvetica, sans-serif;
  --sans:Arial, Helvetica, sans-serif;
  --max:1120px;
  --radius:16px;
  --pill:999px;
  --shadow:0 18px 48px rgba(16,45,80,.09);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body {
  min-width:320px;
  background:var(--paper);
  color:var(--ink-soft);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
}
body::before { content:none; }
body.menu-open { overflow:hidden; }
h1,h2,h3 { color:var(--ink); }
a { color:var(--ink); text-underline-offset:3px; }
img { max-width:100%; }
.wrap { width:min(var(--max),calc(100% - 48px)); max-width:none; padding:0; }
.skip-link {
  position:fixed;
  left:16px;
  top:12px;
  z-index:100;
  transform:translateY(-160%);
  border-radius:var(--pill);
  padding:12px 18px;
  background:var(--navy-deep,var(--pine-deep));
  color:#fff;
  text-decoration:none;
}
.skip-link:focus { transform:none; }
.mono-label,.mono-small,.sec-head .no,.timeline .tag {
  font-family:var(--sans);
  font-weight:500;
  text-transform:uppercase;
}
.mono-label { color:var(--oxide); font-size:10px; letter-spacing:.18em; }
.mono-small { color:var(--ink-soft); font-size:11px; letter-spacing:.12em; }

/* Identity and navigation */
.topline { position:relative; z-index:45; border-color:var(--line); background:var(--paper); }
.topline .wrap {
  min-height:40px;
  justify-content:center;
  padding:0;
}
.topline .mono-small:first-child { display:none; }
.topline .mono-small:last-child { color:var(--ink); font-size:10px; letter-spacing:.18em; }
.topline .symposium-toplink {
  position:relative;
  text-decoration:none;
  transition:color .22s ease;
}
.topline .symposium-toplink-action { display:none; }
.topline .symposium-toplink::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:0;
  height:1px;
  background:var(--oxide);
  transform:translateX(-50%);
  transition:width .22s ease;
}
.topline .symposium-toplink:hover,
.topline .symposium-toplink:focus-visible { color:var(--oxide); }
.topline .symposium-toplink:hover::after,
.topline .symposium-toplink:focus-visible::after { width:100%; }
header.masthead {
  top:0;
  border-color:var(--line);
  background:rgba(248,244,241,.96);
  backdrop-filter:blur(14px);
}
.mast { min-height:96px; align-items:center; }
.brand {
  min-width:220px;
  gap:11px;
  padding:18px 0;
}
.brand-mark {
  width:48px;
  height:48px;
  flex:none;
  order:0;
  object-fit:contain;
}
.seal {
  width:1px;
  height:34px;
  order:2;
  border:0;
  border-radius:0;
  background:#c8a66a;
}
.seal::after,.seal svg { display:none; }
.brand-text { display:contents; }
.brand-text .sig {
  order:1;
  color:var(--ink);
  font-family:var(--serif);
  font-size:25px;
  font-weight:400;
  letter-spacing:.1em;
}
.brand-text .sub {
  order:3;
  max-width:122px;
  margin:0;
  color:#647087;
  font-family:var(--sans);
  font-size:7px;
  line-height:1.45;
  letter-spacing:.13em;
}
nav { align-items:center; gap:2px; }
nav a {
  position:relative;
  min-height:44px;
  border:0;
  border-radius:var(--pill);
  padding:0 12px;
  color:var(--ink);
  font-family:var(--sans);
  font-size:11px;
  font-weight:500;
  letter-spacing:.11em;
  transition:box-shadow .2s ease,color .2s ease,background .2s ease,opacity .2s ease;
}
nav a::before {
  margin-right:6px;
  color:#8b97a8;
  font-size:8px;
}
nav a:nth-child(1)::before { content:"01"; }
nav a:nth-child(2)::before { content:"02"; }
nav a:nth-child(3)::before { content:"03"; }
nav a:nth-child(4)::before { content:"04"; }
nav a:nth-child(5)::before { content:"05"; }
nav a:hover {
  color:var(--oxide);
  background:rgba(138,109,59,.045);
  box-shadow:none;
}
nav a.active {
  color:var(--oxide);
  background:transparent;
  box-shadow:none;
}
nav a.active::after {
  content:"";
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:linear-gradient(
    to bottom,
    transparent 50%,
    rgba(138,109,59,.16) 62%,
    rgba(138,109,59,.56) 100%
  );
  pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
nav a.active:hover { opacity:.5; }
nav .cta {
  margin-left:6px;
  padding-inline:18px;
  border:1px solid var(--oxide);
  background:var(--champagne);
  color:#fff;
}
nav .cta::before { content:none; }
nav .cta:hover { background:#c8a66a; color:#fff; box-shadow:none; }
nav .cta.active {
  border-color:transparent;
  background:transparent;
  color:var(--oxide);
  box-shadow:none;
}
.menu-toggle {
  min-width:48px;
  min-height:48px;
  border:1px solid var(--oxide);
  border-radius:var(--pill);
  color:var(--oxide);
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.menu-icon {
  width:22px;
  height:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  pointer-events:none;
}
.menu-icon span {
  width:100%;
  height:1.5px;
  display:block;
  border-radius:2px;
  background:currentColor;
  transform-origin:center;
  transition:transform .24s ease,opacity .18s ease;
}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1) { transform:translateY(7.25px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3) { transform:translateY(-7.25px) rotate(-45deg); }

/* Shared layout */
.page.visible { animation:fadeIn .22s ease; }
section { padding-block:92px; }
section.tight { padding-block:56px; }
.sec-head {
  grid-template-columns:95px minmax(0,1fr);
  align-items:end;
  gap:20px;
  margin-bottom:36px;
}
.sec-head .no { color:var(--oxide); font-size:11px; letter-spacing:.18em; }
.sec-head h2 {
  max-width:850px;
  font-family:var(--sans);
  font-size:clamp(38px,5vw,62px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.04em;
}
.btn {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border-radius:var(--pill);
  padding:13px 24px;
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.btn:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
.btn-solid { border-color:var(--oxide); background:var(--champagne); color:#fff; }
.btn-solid:hover { background:#c8a66a; }
.btn-line { border-color:#c8a66a; color:var(--ink); }
.btn-line:hover { border-color:var(--oxide); background:transparent; color:var(--oxide); }
.stack-actions { gap:12px; }

/* Home */
.hero { padding-block:86px 92px; }
.hero-grid { grid-template-columns:1.05fr .95fr; gap:72px; }
.hero .est { margin-bottom:24px; }
.hero .est .line { max-width:44px; border-color:var(--oxide); }
.hero h1 {
  max-width:690px;
  margin-bottom:28px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(52px,6.2vw,84px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
.hero h1 em { color:var(--ink); font-weight:400; }
.hero .lede {
  max-width:610px;
  margin-bottom:32px;
  color:#354a68;
  font-size:18px;
  line-height:1.65;
}
.hero-actions { gap:14px; }
.hero .plate-frame { border:0; border-radius:0; padding:0; background:transparent; }
.hero figure.plate figcaption { border-top:1px solid var(--line); margin-top:8px; padding-top:12px; }
.premise { background:var(--pine-deep); }
.premise::before { content:none; }
.premise .inner {
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  column-gap:44px;
  padding-block:98px;
}
.premise .mono-label { grid-column:1; padding-top:12px; color:var(--champagne); }
.premise blockquote,.premise .attr,.premise .expl { grid-column:2; }
.premise blockquote {
  max-width:960px;
  margin:0 0 24px;
  color:#fff;
  font-family:var(--sans);
  font-size:clamp(38px,5.3vw,66px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.035em;
}
.premise blockquote em { color:var(--champagne); font-style:normal; }
.premise .attr { color:var(--champagne); font-family:var(--serif); font-size:14px; letter-spacing:0; }
.premise p.expl {
  max-width:760px;
  margin-top:30px;
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:22px;
  color:#dce8ef;
}
#home > section:nth-of-type(3) { background:var(--paper-deep); }
.tenets {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:0;
  border:0;
}
.tenet {
  min-height:190px;
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  padding:28px;
  background:var(--card);
}
.tenet h3 { margin:18px 0 12px; font-family:var(--sans); font-size:28px; font-weight:500; }
.tenet p { color:var(--ink-soft); font-size:14px; }
.crossbar { gap:16px; border:0; background:transparent; }
.crossbar > div {
  min-height:340px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  border:0 !important;
  border-radius:18px;
  padding:52px;
}
.crossbar > div:first-child { background:var(--champagne); }
.crossbar > div:last-child { background:var(--pine-deep); }
.crossbar .mono-label { color:var(--champagne); }
.crossbar h3 { color:#fff; font-family:var(--sans); font-size:clamp(36px,4vw,52px); font-weight:500; letter-spacing:-.035em; }
.crossbar p { color:#edf0f4; }
.crossbar .btn { margin-top:auto; border-color:var(--champagne); background:transparent; color:#fff; box-shadow:none; }
.crossbar .btn:hover { background:rgba(255,255,255,.08); }

/* Interior pages */
.page-title {
  width:min(var(--max),calc(100% - 48px));
  padding-block:84px 64px;
  border-color:var(--line);
}
.page-title .mono-label { margin-bottom:22px; }
.page-title h1 {
  max-width:15em;
  margin-bottom:24px;
  font-family:var(--serif);
  font-size:clamp(48px,6vw,76px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
.page-title .lede { max-width:720px; color:var(--ink-soft); font-size:18px; }
.split,.split.rev { grid-template-columns:1.05fr .95fr; gap:64px; }
.prose h3 { color:var(--ink); font-size:28px; font-weight:400; }
.prose p { max-width:44em; color:var(--ink-soft); font-size:16px; }
.prose p strong { color:var(--ink); }
.prose .drop::first-letter { color:var(--oxide); }
figure.plate figcaption { color:#647087; font-family:var(--serif); font-size:12px; }
figure.plate figcaption { justify-content:flex-end; text-align:right; }
figure.plate figcaption em { color:var(--ink); font-family:var(--serif); font-size:13px; }
.plate-frame {
  overflow:visible;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
}
.plate-frame img,
.feature .img img {
  display:block;
  background:transparent;
  filter:grayscale(1) contrast(1.08);
  opacity:1;
  mix-blend-mode:normal;
  -webkit-mask-image:none;
  mask-image:none;
  object-fit:contain;
}
.domain-section {
  background:var(--pine-deep);
  color:#dce5ee;
}
.domain-layout {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(56px,8vw,112px);
  align-items:start;
}
.domain-intro {
  position:sticky;
  top:156px;
}
.domain-intro .no {
  display:block;
  margin-bottom:56px;
  color:var(--champagne);
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
}
.domain-intro .mono-label { color:var(--champagne); }
.domain-intro h2 {
  margin:18px 0 24px;
  color:#fff;
  font-family:var(--sans);
  font-size:clamp(42px,5vw,66px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.045em;
}
.domain-intro p {
  max-width:31em;
  color:#b9c8d7;
  font-size:15px;
}
.domain-map { border-top:1px solid rgba(255,255,255,.24); }
.domain-row {
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:22px;
  border-bottom:1px solid rgba(255,255,255,.18);
  padding:30px 0 32px;
}
.domain-no {
  display:flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(216,189,134,.48);
  border-radius:50%;
  color:var(--champagne);
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
}
.domain-row h3 {
  margin:0 0 9px;
  color:#fff;
  font-family:var(--sans);
  font-size:25px;
  font-weight:500;
  letter-spacing:-.02em;
}
.domain-row p {
  max-width:48em;
  color:#b9c8d7;
  font-size:14px;
  line-height:1.7;
}
.pull blockquote { color:var(--ink); font-size:clamp(28px,4vw,46px); }
.feature {
  overflow:hidden;
  grid-template-columns:1fr .9fr;
  border:1px solid var(--line-dark);
  border-radius:18px;
  background:var(--card);
}
.feature .txt { padding:48px; }
.feature .txt h2 { font-family:var(--sans); font-size:clamp(34px,4vw,52px); font-weight:500; letter-spacing:-.035em; }
.feature .img { border-color:var(--line-dark); padding:20px; background:var(--card); }
.feature .img .cap { padding:10px 14px; color:var(--ink-soft); font-family:var(--serif); }
.timeline { border-color:#c8a66a; }
.timeline li { border-color:var(--line); }
.timeline .yr { color:var(--ink); }
.timeline .tag { color:var(--oxide); }
.path { border-color:#c8a66a; }
.path-row { border-color:var(--line); }
.path-row::before { color:var(--oxide); font-family:var(--sans); }
.path-row h3 { color:var(--ink); font-family:var(--sans); font-size:26px; font-weight:500; }
.hist { border-color:#c8a66a; }
.hist li { border-color:var(--line); }
.hist .yr { color:var(--oxide); }
.side-card {
  border-color:var(--line-dark);
  border-radius:var(--radius);
  background:var(--card-blue);
}
.side-card h3 { font-family:var(--sans); font-size:24px; font-weight:500; }
.support {
  border-color:var(--line-dark);
  border-radius:18px;
  background:var(--paper-deep);
}

/* Footer */
footer { margin-top:64px; padding:72px 0 34px; background:#0b2544; }
.foot { grid-template-columns:1.4fr .8fr .8fr; }
.foot h4 { color:var(--champagne); font-family:var(--sans); }
.foot .brandline { color:#fff; font-family:var(--serif); font-weight:400; }
.foot p,.foot a { color:#dce3ed; }
.foot a { display:inline-block; min-height:32px; }
.foot a:hover { color:#fff; }
.legal { color:#c9d2df; font-family:var(--sans); }

:where(a,button):focus-visible { outline:3px solid #8c5a0d; outline-offset:3px; }
h1[tabindex="-1"]:focus { outline:none; }

@media(max-width:1020px) {
  nav { display:none; }
  .menu-toggle {
    width:48px;
    min-width:48px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    box-shadow:none;
    transition:background .22s ease,color .22s ease,border-color .22s ease;
  }
  .menu-toggle[aria-expanded="true"] {
    border-color:var(--pine-deep);
    background:var(--pine-deep);
    color:var(--champagne);
  }
  .topline .wrap {
    min-height:38px;
    width:100%;
    flex-direction:row;
    align-items:center;
    justify-content:center;
  }
  .topline .symposium-toplink {
    width:100%;
    min-height:38px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    border:0;
    border-radius:0;
    padding:0 20px;
    background:var(--pine-deep);
    color:#fff;
    font-weight:600;
    letter-spacing:.14em;
    box-shadow:none;
  }
  .topline .symposium-toplink-title {
    grid-column:2;
    color:#fff;
    text-align:center;
  }
  .topline .symposium-toplink-action {
    grid-column:3;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--champagne);
    font-size:8px;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .topline .symposium-toplink::after { content:none; }
  .topline .symposium-toplink:hover,
  .topline .symposium-toplink:focus-visible { color:#fff; background:#17375d; }
  .topline .symposium-toplink:active { transform:none; background:#0b2544; }
  nav.open {
    position:absolute;
    top:100%;
    left:50%;
    right:auto;
    display:flex;
    width:100vw;
    height:calc(100svh - 110px);
    max-height:calc(100svh - 110px);
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border:0;
    border-radius:0;
    padding:24px clamp(20px,6vw,48px) 32px;
    background:var(--pine-deep);
    box-shadow:0 26px 60px rgba(16,45,80,.24);
    transform:translateX(-50%);
  }
  nav.open a {
    min-height:68px;
    justify-content:flex-start;
    border:0;
    border-bottom:1px solid rgba(216,189,134,.24);
    border-radius:0;
    padding:0 4px;
    color:#f7f4ef;
    font-size:14px;
    font-weight:500;
    letter-spacing:.1em;
    background:transparent;
  }
  nav.open a::before {
    min-width:28px;
    margin-right:14px;
    color:var(--champagne);
    opacity:.72;
  }
  nav.open a::after { content:none; display:none; }
  nav.open a.active {
    color:var(--champagne);
    background:transparent;
    opacity:1;
  }
  nav.open a:hover,
  nav.open a:focus-visible {
    color:#fff;
    background:rgba(255,255,255,.045);
  }
  nav.open .cta {
    min-height:58px;
    margin:22px 0 0;
    justify-content:center;
    border:1px solid rgba(216,189,134,.7);
    border-radius:var(--pill);
    background:var(--champagne);
    color:#fff;
  }
  nav.open .cta::before { content:none; }
  nav.open .cta::after { content:none; display:none; }
  .hero-grid,.split,.split.rev,.about-grid { grid-template-columns:1fr; }
  .hero-grid { gap:48px; }
  .hero .plate { width:min(100%,620px); }
  .feature { grid-template-columns:1fr; }
  .feature .img { border:0; border-top:1px solid var(--line-dark); }
  .domain-layout { grid-template-columns:1fr; gap:48px; }
  .domain-intro { position:static; }
  .domain-intro .no { margin-bottom:32px; }
  .foot { grid-template-columns:1.2fr .8fr .8fr; }
}

@media(max-width:720px) {
  html { scroll-padding-top:82px; }
  .wrap,.page-title { width:min(100% - 32px,620px); }
  .topline .wrap { min-height:36px; }
  .topline .mono-small:last-child { font-size:9px; letter-spacing:.12em; text-align:center; }
  .mast { min-height:78px; }
  .brand { min-width:0; padding:12px 0; }
  .brand-mark { width:40px; height:40px; }
  .brand-text .sig { font-size:21px; }
  .brand-text .sub { max-width:104px; font-size:6px; }
  .seal { height:28px; }
  section { padding-block:64px; }
  section.tight { padding-block:42px; }
  .hero { padding-block:56px 64px; }
  .hero h1 { max-width:100%; font-size:clamp(42px,12vw,56px); overflow-wrap:anywhere; }
  .hero .lede { font-size:17px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .premise .inner { grid-template-columns:1fr; padding-block:64px; }
  .premise .mono-label,.premise blockquote,.premise .attr,.premise .expl { grid-column:1; }
  .premise .mono-label { padding:0 0 24px; }
  .premise blockquote { font-size:clamp(34px,10.5vw,48px); }
  .sec-head { grid-template-columns:1fr; gap:10px; }
  .sec-head h2 { font-size:clamp(36px,10vw,48px); }
  .tenets,.crossbar { grid-template-columns:1fr; }
  .domain-row { grid-template-columns:48px minmax(0,1fr); gap:16px; }
  .crossbar > div { min-height:0; padding:38px 28px; }
  .crossbar .btn { margin-top:16px; }
  .page-title { padding-block:58px 46px; }
  .page-title h1 { font-size:clamp(42px,12vw,58px); overflow-wrap:anywhere; }
  .page-title .lede { font-size:17px; }
  .feature .txt { padding:34px 26px; }
  .feature .img img { min-height:0; object-fit:contain; }
  .timeline li { grid-template-columns:64px 1fr; gap:16px; }
  .path-row { grid-template-columns:44px 1fr; gap:18px; }
  .support { grid-template-columns:1fr; padding:34px 26px; }
  .foot { grid-template-columns:1fr; gap:36px; }
  .legal { flex-direction:column; }
}

@media(max-width:420px) {
  .brand-text .sub,.seal { display:none; }
  .brand-mark { width:38px; height:38px; }
  .brand-text .sig { font-size:23px; }
  .menu-toggle { min-width:52px; }
  .hero h1 { font-size:clamp(38px,12vw,48px); }
  .tenet { padding:24px; }
  .btn { width:100%; }
  .stack-actions { flex-direction:column; }
  .crossbar .btn { width:auto; }
  .timeline li { grid-template-columns:1fr; }
  .timeline .yr { margin-bottom:-12px; }
  .path-row { grid-template-columns:34px 1fr; }
}

/* Compact desktop: keeps the complete opening message useful on 13-inch laptops. */
@media(min-width:1021px) and (max-height:850px) {
  .topline .wrap { min-height:28px; }
  .mast { min-height:72px; }
  .brand { padding:9px 0; }
  .brand-mark { width:40px; height:40px; }
  .brand-text .sig { font-size:22px; }
  .brand-text .sub { max-width:108px; font-size:6px; }
  .seal { height:28px; }
  nav a { min-height:40px; padding-inline:10px; font-size:9px; }
  nav .cta { padding-inline:16px; }
  .hero {
    min-height:calc(100svh - 100px);
    display:flex;
    align-items:center;
    padding-block:28px 34px;
  }
  .hero-grid { width:100%; gap:48px; }
  .hero .est { margin-bottom:14px; }
  .hero h1 {
    max-width:600px;
    margin-bottom:18px;
    font-size:clamp(52px,5.5vw,68px);
    line-height:.98;
  }
  .hero .lede {
    max-width:570px;
    margin-bottom:20px;
    font-size:15.5px;
    line-height:1.5;
  }
  .hero .plate-frame img {
    max-height:440px;
    transform:scale(1.12) translateX(-2%);
    transform-origin:center;
  }
  .hero figure.plate figcaption { padding-top:8px; }
  .hero-actions .btn { min-height:44px; padding-block:11px; }
}

@media(min-width:1021px) and (max-height:650px) {
  .topline .wrap { min-height:24px; }
  .mast { min-height:62px; }
  .brand { padding:6px 0; }
  .hero {
    min-height:calc(100svh - 86px);
    padding-block:18px 22px;
  }
  .hero-grid { gap:38px; }
  .hero .est { margin-bottom:10px; }
  .hero h1 {
    max-width:560px;
    margin-bottom:14px;
    font-size:clamp(43px,4.6vw,54px);
  }
  .hero .lede { margin-bottom:16px; font-size:14.5px; }
  .hero .plate-frame img { max-height:350px; }
  .hero-actions .btn { min-height:40px; padding-block:9px; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .page.visible { animation:none; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}

/* Premium editorial shell — modular, even and intentionally restrained. */
:root {
  --max:1320px;
  --display-sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  --hairline:rgba(225,235,244,.17);
}

.topline {
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.topline .wrap { min-height:34px; }
.topline .mono-small:last-child { color:var(--ink); }
header.masthead {
  border-bottom:1px solid var(--line);
  background:rgba(248,244,241,.97);
  backdrop-filter:blur(16px);
}
.mast { min-height:82px; }
.brand {
  min-width:0;
  gap:10px;
  border:0;
  border-radius:0;
  padding:8px 10px 8px 0;
}
.brand-mark {
  width:36px;
  height:36px;
  filter:none;
}
.brand-text .sig {
  color:var(--ink);
  font-size:21px;
  letter-spacing:.12em;
}
.brand-text .sub {
  max-width:112px;
  color:#405575;
  font-size:7px;
  font-weight:600;
}
.seal { height:28px; background:var(--champagne); opacity:.8; }
nav {
  gap:0;
  border:1px solid var(--line-dark);
  border-radius:var(--pill);
  padding:4px;
  background:rgba(255,255,255,.3);
}
nav a {
  min-height:38px;
  padding-inline:14px;
  color:var(--ink);
  font-family:var(--display-sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
}
nav a::before { color:#667892; }
nav a:hover {
  color:var(--oxide);
  background:rgba(138,109,59,.045);
}
nav a.active {
  color:var(--ink);
  background:rgba(216,189,134,.42);
}
nav a.active::after {
  content:none;
}
nav a.active:hover { opacity:1; background:rgba(216,189,134,.58); }
nav .cta {
  margin-left:5px;
  border-color:var(--oxide);
  background:var(--champagne);
  color:#fff;
}
nav .cta:hover { background:#c8a66a; }
nav .cta.active {
  border-color:var(--oxide);
  background:rgba(216,189,134,.42);
  color:var(--oxide);
}
.menu-toggle {
  border-color:var(--oxide);
  color:var(--oxide);
}

#home { background:var(--paper); }
#home .hero {
  min-height:0;
  display:flex;
  align-items:flex-start;
  padding-block:24px 38px;
}
#home .hero-grid {
  width:100%;
  grid-template-columns:minmax(0,1.36fr) minmax(390px,.86fr);
  gap:8px;
  align-items:stretch;
}
.hero-copy,
.hero-portrait {
  min-width:0;
  min-height:clamp(470px,64vh,650px);
  border:1px solid var(--line-dark);
  border-radius:22px;
  background:rgba(255,255,255,.18);
}
.hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,5vw,72px);
}
.hero .est { margin-bottom:30px; }
.hero .est .mono-label { color:var(--oxide); }
.hero .est .line { border-color:var(--oxide); opacity:.72; }
.hero h1 {
  max-width:12.5ch;
  margin-bottom:30px;
  color:var(--ink);
  font-family:var(--display-sans);
  font-size:clamp(58px,6.4vw,96px);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.058em;
}
.hero h1 em {
  color:var(--champagne);
  font-style:normal;
  font-weight:600;
}
.hero .lede {
  max-width:51em;
  margin-bottom:32px;
  color:#354a68;
  font-size:16px;
  line-height:1.6;
}
.hero-actions .btn { min-height:48px; }
.hero .btn-solid {
  border-color:var(--oxide);
  background:var(--champagne);
}
.hero .btn-solid:hover { background:#c8a66a; }
.hero .btn-line {
  border-color:rgba(216,189,134,.65);
  color:var(--ink);
}
.hero .btn-line:hover {
  border-color:var(--oxide);
  background:transparent;
  color:var(--oxide);
}
.hero-portrait {
  overflow:hidden;
  display:flex;
  flex-direction:column;
  margin:0;
  padding:20px 20px 16px;
  border:0;
  background:transparent;
}
.hero-portrait .plate-frame {
  min-height:0;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:0;
  background:transparent;
}
.hero-portrait .plate-frame img {
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  filter:contrast(1.08) brightness(.97);
  opacity:1;
  mix-blend-mode:multiply;
  transform:scale(1.02) translateY(2%);
}
.hero figure.plate figcaption {
  flex:none;
  margin-top:0;
  border:0;
  padding-top:12px;
  color:#66758a;
}
.hero figure.plate figcaption em { color:var(--ink); }

.premise { margin-top:0; padding-block:0; background:var(--pine-deep); }
.premise .inner {
  width:min(1440px,calc(100% - 48px));
  grid-template-columns:150px minmax(0,1fr);
  column-gap:38px;
  padding-block:64px 70px;
}
.premise blockquote { color:#fff; }
.premise blockquote em,
.premise .mono-label { color:#f1d8a7; }
.premise p.expl {
  max-width:920px;
  margin-top:4px;
  border:0;
  padding-top:0;
  color:#dfe8f0;
  font-size:15px;
  line-height:1.7;
}
#home > section.pillars {
  padding-block:78px 20px;
  background:transparent;
}
.pillars .sec-head {
  display:block;
  padding-inline:48px;
  margin-bottom:42px;
}
.pillars .sec-head .mono-label { display:block; margin-bottom:12px; }
.pillars .sec-head h2 {
  max-width:10ch;
  font-family:var(--display-sans);
  font-size:clamp(52px,5.5vw,78px);
  font-weight:600;
  line-height:.9;
  letter-spacing:-.06em;
}
.pillars .tenets { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.pillars .tenet {
  position:relative;
  isolation:isolate;
  min-height:360px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:26px 28px 32px;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.pillars .tenet::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:0;
  background-image:url("images/face-topics-hover-v1.png");
  background-repeat:no-repeat;
  background-size:400% auto;
  filter:grayscale(1) contrast(1.08);
  transform:scale(1.035);
  transition:opacity .38s ease,transform .55s ease;
}
.pillars .tenet::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.62;
  background-color:transparent;
  background:
    radial-gradient(ellipse 184px 262px at 118% 27%,transparent 65%,rgba(10,24,40,.24) 66%,rgba(10,24,40,.24) 67%,transparent 68%),
    radial-gradient(ellipse 214px 138px at -28% 116%,transparent 66%,rgba(241,216,167,.11) 67%,rgba(241,216,167,.11) 68%,transparent 69%);
  transition:background-color .38s ease,opacity .38s ease;
  pointer-events:none;
}
.pillars .tenet:nth-child(1) { background:linear-gradient(150deg,#315473,#294867); }
.pillars .tenet:nth-child(2) { background:linear-gradient(150deg,#d8bd86,#c6a76c); }
.pillars .tenet:nth-child(3) { background:linear-gradient(150deg,#a1844d,#947744); }
.pillars .tenet:nth-child(4) { background:linear-gradient(150deg,#567182,#4b6576); }
.pillars .tenet:nth-child(1)::before {
  background-position:0% 48%;
}
.pillars .tenet:nth-child(2)::before {
  background-position:33.333% 48%;
}
.pillars .tenet:nth-child(3)::before {
  background-position:66.667% 48%;
}
.pillars .tenet:nth-child(4)::before {
  background-position:100% 48%;
}
.tenet-letter {
  position:relative;
  z-index:1;
  margin-bottom:8px;
  color:rgba(241,216,167,.92);
  font-family:var(--serif);
  font-size:clamp(132px,13vw,196px);
  font-weight:400;
  line-height:.74;
  text-align:center;
  transition:color .3s ease,opacity .3s ease,transform .4s ease;
}
.pillars .tenet-copy {
  width:100%;
  max-width:19em;
  height:auto;
  min-height:0;
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  margin:0 auto;
  text-align:center;
}
.pillars .tenet h3 {
  min-height:78px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin:0;
  padding:0;
  color:rgba(255,255,255,.94);
  font-family:var(--sans);
  font-size:clamp(18px,1.4vw,22px);
  font-weight:650;
  line-height:1.08;
  letter-spacing:.005em;
}
.pillars .tenet h3::after {
  content:"";
  width:44px;
  height:1px;
  background:rgba(241,216,167,.42);
}
.pillars .tenet p {
  margin:26px 0 0;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.55;
}
@media(hover:hover) and (pointer:fine) {
  .pillars .tenet:hover {
    border-color:rgba(241,216,167,.3);
  }
  .pillars .tenet:hover::before {
    opacity:.78;
    transform:scale(1);
  }
  .pillars .tenet:hover::after {
    opacity:1;
    background-color:rgba(16,45,80,.76);
  }
  .pillars .tenet:hover .tenet-letter {
    color:rgba(241,216,167,.78);
    opacity:.76;
    transform:translateY(-3px);
  }
}
#home > section.tight {
  position:relative;
  padding-block:0 12px;
}
#home > section.tight::before {
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-bottom:22px;
  background:linear-gradient(90deg,transparent,rgba(216,189,134,.62) 14%,rgba(216,189,134,.62) 86%,transparent);
}

@media(min-width:1021px) and (max-width:1260px) {
  .mast { min-height:88px; }
  .brand-mark { width:40px; height:40px; }
  .brand-text .sig { font-size:22px; }
  .brand-text .sub { max-width:116px; font-size:7px; }
  nav a { min-height:42px; padding-inline:11px; font-size:10px; }
  #home .hero-grid { grid-template-columns:minmax(0,1.18fr) minmax(400px,.82fr); }
  .hero-copy { padding:48px; }
  .hero h1 { font-size:clamp(56px,6vw,72px); }
  .hero-portrait .plate-frame img { transform:scale(1.02) translateY(2%); }
  .pillars .tenet { min-height:330px; padding:24px; }
}

@media(max-width:1020px) {
  nav { border:0; background:transparent; }
  nav.open {
    border-bottom:0;
    background:var(--pine-deep);
  }
  nav.open a { color:#f7f4ef; }
  #home .hero { min-height:0; padding-block:20px 16px; }
  #home .hero-grid { grid-template-columns:1fr; }
  .hero-copy { min-height:0; }
  .hero-portrait { width:100%; min-height:520px; }
  .premise .inner {
    width:min(100% - 32px,720px);
    grid-template-columns:1fr;
    row-gap:12px;
    padding-block:36px 38px;
  }
  .premise .mono-label,
  .premise blockquote,
  .premise .expl { grid-column:1; }
  .premise .mono-label { padding:0; }
  .premise blockquote { margin:0; }
  .pillars .tenets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #home > section.pillars { padding-block:44px 14px; }
  .mobile-reveal {
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .mobile-reveal.is-mobile-visible { opacity:1; transform:none; }
  .pillars .tenet.is-touch-active {
    transform:translateY(-4px);
    border-color:rgba(241,216,167,.38);
    box-shadow:0 18px 34px rgba(16,45,80,.16),inset 0 1px 0 rgba(255,255,255,.1);
  }
  .pillars .tenet.is-touch-active::before {
    opacity:.76;
    transform:scale(1);
  }
  .pillars .tenet.is-touch-active::after {
    opacity:1;
    background-color:rgba(16,45,80,.76);
  }
  .pillars .tenet.is-touch-active .tenet-letter {
    color:rgba(241,216,167,.8);
    opacity:.78;
    transform:translateY(-3px);
  }
}

@media(max-width:720px) {
  html,body { max-width:100%; overflow-x:hidden; }
  .topline .wrap { min-height:38px; flex-direction:row; align-items:center; justify-content:center; }
  .topline .mono-small:last-child { font-size:8.5px; }
  .mast { min-height:72px; }
  .brand { padding:7px 12px 7px 8px; }
  .brand-mark { width:34px; height:34px; }
  #home .hero {
    width:calc(100% - 32px);
    max-width:calc(100% - 32px);
    margin-inline:auto;
    padding-block:16px 12px;
  }
  #home .hero-grid,
  .hero-copy,
  .hero-portrait {
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .hero-copy,
  .hero-portrait { border-radius:18px; }
  .hero-copy { overflow:hidden; padding:34px 26px; }
  .hero .est { margin-bottom:22px; }
  .hero h1 {
    max-width:100%;
    margin-bottom:24px;
    font-size:clamp(40px,11.5vw,48px);
    line-height:.96;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .hero .lede { font-size:15px; }
  .hero-actions,
  .hero-actions .btn { width:100%; max-width:100%; min-width:0; }
  .hero-actions .btn { padding-inline:14px; white-space:normal; }
  .hero-portrait { min-height:410px; padding:10px 14px; }
  .pillars .sec-head { padding-inline:2px; }
  .pillars .sec-head { margin-bottom:28px; }
  .pillars .sec-head h2 { font-size:clamp(44px,13vw,62px); }
  .pillars .tenets { grid-template-columns:1fr; }
  .pillars .tenet { min-height:300px; }
  .premise .inner {
    width:calc(100% - 32px);
    padding-block:28px 30px;
  }
  .premise blockquote { font-size:clamp(34px,10.5vw,46px); }
  #home > section.pillars { padding-block:38px 12px; }
}

@media(min-width:1021px) and (max-height:850px) {
  .topline .wrap { min-height:28px; }
  .mast { min-height:72px; }
  #home .hero {
    min-height:0;
    padding-block:16px 24px;
  }
  .hero-copy,
  .hero-portrait { min-height:clamp(420px,68vh,560px); }
  .hero-copy { padding:clamp(34px,4vw,56px); }
  .hero .est { margin-bottom:18px; }
  .hero h1 {
    max-width:12ch;
    margin-bottom:20px;
    font-size:clamp(52px,5.7vw,78px);
  }
  .hero .lede { margin-bottom:22px; font-size:14.5px; }
}

@media(min-width:1021px) and (max-height:650px) {
  #home .hero { min-height:0; padding-block:12px 18px; }
  .hero-copy,
  .hero-portrait { min-height:clamp(390px,70vh,470px); }
  .hero .est { margin-bottom:14px; }
  .hero h1 { margin-bottom:16px; font-size:clamp(46px,5vw,64px); }
  .hero .lede { margin-bottom:18px; font-size:13.5px; }
  .hero-actions .btn { min-height:42px; }
}

/* Subtle interaction language for primary editorial surfaces. */
.brand,
.brand-mark,
.hero-copy,
.crossbar > div {
  transition:
    transform .28s ease,
    border-color .28s ease,
    background-color .28s ease,
    box-shadow .28s ease,
    filter .28s ease;
}
.brand { border-radius:var(--pill); }
.brand-mark,
.seal,
.brand-text .sig,
.brand-text .sub {
  transform:translateX(8px);
}

@media(hover:hover) and (pointer:fine) {
  .brand:hover,
  .brand:focus-visible {
    background:rgba(216,189,134,.16);
    box-shadow:0 0 0 1px rgba(200,166,106,.22);
  }
  .brand:hover .brand-mark,
  .brand:focus-visible .brand-mark {
    transform:translateX(8px) scale(1.045);
  }
  .hero-copy:hover {
    transform:translateY(-2px);
    border-color:rgba(200,166,106,.5);
    box-shadow:0 18px 38px rgba(16,45,80,.07);
  }
  .crossbar > div:hover {
    transform:translateY(-3px);
    filter:brightness(1.035) saturate(1.025);
    box-shadow:0 18px 38px rgba(16,45,80,.12);
  }
}

.pillars .sec-head.reveal-on-scroll {
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .7s cubic-bezier(.2,.7,.2,1),
    transform .7s cubic-bezier(.2,.7,.2,1);
}
.pillars .sec-head.reveal-on-scroll.is-visible {
  opacity:1;
  transform:none;
}

@media(prefers-reduced-motion:reduce) {
  .pillars .sec-head.reveal-on-scroll {
    opacity:1;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  .mobile-reveal { opacity:1 !important; transform:none !important; }
  .pillars .tenet.is-touch-active { transform:none; }
}

/* Sitewide editorial system — carries the homepage language through every route. */
.page:not(#home) {
  --interior-card:rgba(255,255,255,.24);
  --interior-line:rgba(32,63,110,.14);
  background:var(--paper);
}
body { min-width:0; }
.page:not(#home) .page-title {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(170px,.34fr) minmax(0,1.66fr);
  column-gap:clamp(36px,7vw,104px);
  align-items:start;
  border:0;
  padding-block:52px 40px;
}
.page:not(#home) .page-title::after {
  content:"";
  position:absolute;
  right:0;
  bottom:34px;
  width:min(30vw,390px);
  height:1px;
  background:linear-gradient(90deg,rgba(216,189,134,.72),transparent);
}
.page:not(#home) .page-title .mono-label {
  grid-column:1;
  margin:12px 0 0;
  color:var(--oxide);
  line-height:1.5;
}
.page:not(#home) .page-title h1,
.page:not(#home) .page-title .lede,
.page:not(#home) .page-title .page-actions {
  grid-column:2;
}
.page:not(#home) .page-title h1 {
  max-width:12ch;
  margin:0 0 30px;
  color:var(--ink);
  font-family:var(--display-sans);
  font-size:clamp(58px,7vw,98px);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.06em;
}
.page:not(#home) .page-title .lede {
  max-width:52em;
  color:#354a68;
  font-size:17px;
  line-height:1.68;
}
.page:not(#home) .page-title .page-actions {
  display:flex;
  margin-top:24px;
}
.page:not(#home) .page-title .page-actions .btn-solid {
  border-color:var(--oxide);
  background:var(--champagne);
  color:#fff;
}
.page:not(#home) .page-title .page-actions .btn-solid:hover {
  background:#c8a66a;
}
#membership.page .page-title .page-actions {
  grid-column:1;
  grid-row:1;
  width:max-content;
  max-width:none;
  align-self:center;
  justify-self:start;
  justify-content:flex-start;
  margin:0;
}
#membership.page .page-title > .mono-label {
  grid-column:1;
  grid-row:1;
  align-self:start;
}
#membership .page-title .membership-apply {
  min-height:58px;
  justify-content:space-between;
  gap:20px;
  padding:7px 8px 7px 26px;
  border-color:var(--oxide);
  background:var(--champagne);
  box-shadow:0 10px 24px rgba(16,45,80,.14);
  font-size:11px;
  letter-spacing:.16em;
  white-space:nowrap;
  transition:transform .24s ease,background-color .24s ease,box-shadow .24s ease;
}
#membership .membership-apply .cta-arrow {
  display:grid;
  width:42px;
  height:42px;
  flex:0 0 42px;
  place-items:center;
  border-radius:50%;
  background:var(--champagne);
  color:var(--oxide);
  font-family:var(--sans);
  font-size:19px;
  font-weight:500;
  line-height:1;
  letter-spacing:0;
  transition:transform .24s ease,background-color .24s ease;
}
#membership .membership-apply .cta-arrow svg {
  display:block;
  width:18px;
  height:18px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media (hover:hover) and (pointer:fine) {
  #membership .page-title .membership-apply:hover {
    transform:translateY(-3px);
    background:#c8a66a;
    box-shadow:0 17px 32px rgba(16,45,80,.2);
  }
  #membership .membership-apply:hover .cta-arrow {
    transform:translateX(3px);
    background:#ead29f;
  }
}
.page:not(#home) > section.wrap,
.page:not(#home) > section.tight.wrap {
  padding-block:28px;
}
.page:not(#home) .sec-head {
  display:block;
  margin-bottom:38px;
  padding-left:clamp(0px,4vw,48px);
}
.page:not(#home) .sec-head .no {
  display:block;
  margin-bottom:12px;
  color:var(--oxide);
}
.page:not(#home) .sec-head h2 {
  position:relative;
  max-width:13ch;
  padding-top:22px;
  color:var(--ink);
  font-family:var(--display-sans);
  font-size:clamp(44px,5.2vw,72px);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.055em;
}
.page:not(#home) .sec-head h2::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:68px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--champagne),rgba(216,189,134,.16));
}
.page:not(#home) .champagne-accent { color:var(--champagne); }

/* Editorial text and image pairs */
.page:not(#home) .split,
.page:not(#home) .split.rev {
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:12px;
  align-items:stretch;
}
.page:not(#home) .split.rev { grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr); }
.page:not(#home) .split .prose {
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid var(--interior-line);
  border-radius:22px;
  padding:clamp(34px,5vw,68px);
  background:var(--interior-card);
}
.page:not(#home) .prose h3 {
  margin-bottom:18px;
  color:var(--ink);
  font-family:var(--display-sans);
  font-size:clamp(26px,3vw,38px);
  font-weight:600;
  line-height:1.06;
  letter-spacing:-.035em;
}
.page:not(#home) .prose p {
  max-width:48em;
  color:#41536f;
  font-size:15px;
  line-height:1.72;
}
.page:not(#home) figure.plate {
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:clamp(18px,3vw,34px);
}
.page:not(#home) .plate-frame {
  display:flex;
  min-height:320px;
  align-items:center;
  justify-content:center;
}
.page:not(#home) .plate-frame img {
  max-height:560px;
  object-fit:contain;
  filter:grayscale(1) contrast(1.14) brightness(.98);
  mix-blend-mode:multiply;
}
#membership .membership-long-view .plate-frame {
  justify-content:flex-end;
  padding-right:clamp(4px,1.5vw,20px);
}
#membership .membership-long-view .plate {
  width:min(100%,360px);
  margin-right:0;
  margin-left:auto;
}
.page:not(#home) figure.plate figcaption {
  margin-top:10px;
  border-top:1px solid var(--line);
  padding-top:12px;
}
#approach > section.tight .plate {
  width:min(100%,960px);
  margin-inline:auto;
}
#approach > section.tight .plate-frame { min-height:0; }

/* Approach: a calm, structured clinical map */
.domain-section {
  margin-block:34px;
  padding-block:clamp(70px,8vw,112px);
  background:var(--pine-deep);
}
.domain-layout { grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr); }
.domain-intro .no {
  width:52px;
  margin-bottom:42px;
  border-bottom:1px solid rgba(216,189,134,.55);
  padding-bottom:14px;
}
.domain-intro h2 { font-family:var(--display-sans); font-weight:600; }
.domain-row {
  border-bottom-color:rgba(255,255,255,.13);
  border-radius:16px;
  padding:28px 22px;
  transition:background-color .28s ease,transform .28s ease;
}
.domain-row h3 { font-family:var(--display-sans); font-weight:600; }
.domain-row p { color:#c4d0dc; }
.pull {
  width:min(1040px,calc(100% - 48px));
  margin-block:42px 28px;
  border:1px solid var(--interior-line);
  border-radius:22px;
  background:rgba(216,189,134,.11);
}
.pull blockquote {
  max-width:24em;
  color:var(--ink);
  font-family:var(--display-sans);
  font-style:normal;
  font-weight:600;
  letter-spacing:-.04em;
}

/* Symposium: current edition plus an archive with tactile rows */
.feature {
  overflow:hidden;
  grid-template-columns:1.04fr .96fr;
  gap:0;
  border:0;
  border-radius:22px;
  background:var(--champagne);
}
.feature .txt {
  position:relative;
  z-index:1;
  border:1px solid transparent;
  padding:clamp(40px,5vw,68px);
  color:#fff;
  transition:transform .28s ease,border-color .28s ease,background-color .28s ease,box-shadow .28s ease,filter .28s ease;
}
.feature .txt .mono-label,
.feature .txt .meta,
.feature .txt .note { color:var(--champagne); }
.feature .txt h2 { color:#fff; font-family:var(--display-sans); font-weight:600; }
.feature .txt p.desc { color:#f3e9e8; }
.feature .txt .btn-solid {
  border-color:var(--champagne);
  background:transparent;
}
.feature .txt .btn-line { border-color:rgba(255,255,255,.45); color:#fff; }
.feature .img {
  overflow:hidden;
  border:0;
  padding:0;
  background:#e9e0da;
}
.feature .img img {
  min-height:100%;
  filter:grayscale(1) contrast(1.16);
  mix-blend-mode:multiply;
}
.feature .img .cap { padding:14px 20px; }
.timeline {
  display:grid;
  gap:10px;
  border:0;
}
.timeline li {
  grid-template-columns:120px minmax(0,1fr) auto;
  border:1px solid var(--interior-line);
  border-radius:16px;
  padding:24px 28px;
  background:rgba(255,255,255,.2);
  transition:border-color .28s ease,background-color .28s ease,transform .28s ease,box-shadow .28s ease;
}
.timeline .yr { color:var(--oxide); font-family:var(--display-sans); font-size:18px; font-weight:600; }
.timeline h3 { color:var(--ink); font-family:var(--display-sans); font-weight:600; }
.timeline .archive-group {
  display:block;
  padding:0;
}
.archive-details summary {
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:24px 28px;
  cursor:pointer;
  list-style:none;
}
.archive-details summary::-webkit-details-marker,
.compact-details summary::-webkit-details-marker { display:none; }
.archive-details summary strong,
.compact-details summary {
  color:var(--ink);
  font-family:var(--display-sans);
  font-weight:600;
}
.archive-details summary small {
  display:block;
  margin-top:4px;
  color:var(--ink-soft);
  font-size:13px;
}
.archive-details summary::after,
.compact-details summary::after {
  content:"+";
  width:26px;
  color:var(--oxide);
  font-size:22px;
  font-weight:400;
  text-align:right;
}
.archive-details[open] summary::after,
.compact-details[open] summary::after { content:"−"; }
.archive-details summary .tag { display:none; }
.archive-editions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  border-top:1px solid var(--interior-line);
  background:var(--interior-line);
}
.archive-edition {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px 14px;
  align-content:start;
  padding:20px 24px;
  background:var(--paper);
}
.archive-edition > span {
  grid-row:1 / span 2;
  color:var(--champagne);
  font-family:var(--display-sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.archive-edition strong { color:var(--ink); font-size:14px; }
.archive-edition small { color:var(--ink-soft); font-size:12px; line-height:1.45; }
.archive-edition.needs-confirmation { background:rgba(216,189,134,.12); }
.archive-details .source-note {
  margin:0;
  border-top:1px solid var(--interior-line);
  padding:16px 28px 20px;
  color:var(--ink-soft);
  font-size:12px;
}

/* Membership: three steps, one visual rhythm */
.path {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  border:0;
}
.path-row {
  position:relative;
  overflow:hidden;
  display:flex;
  min-height:320px;
  flex-direction:column;
  gap:22px;
  border:0;
  border-radius:18px;
  padding:38px;
  background:linear-gradient(150deg,#315473,#294867);
  color:#fff;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.path-row:nth-child(2) { background:linear-gradient(150deg,#d8bd86,#c6a76c); }
.path-row:nth-child(3) { background:linear-gradient(150deg,#a1844d,#947744); }
.path-row::before {
  position:static;
  color:var(--champagne);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
}
.path-row h3 {
  color:#fff;
  font-family:var(--display-sans);
  font-size:clamp(28px,3vw,38px);
  font-weight:600;
}
.path-row p { max-width:30em; color:rgba(255,255,255,.88); font-size:15px; }
#membership .crossbar > div {
  min-height:320px;
  justify-content:flex-start;
}

/* Association: contact and governance complete the symposium/archive story. */
.association-contact { scroll-margin-top:150px; }
.association-panels {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.association-panels .side-card {
  display:flex;
  min-height:260px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  margin:0;
  border-radius:18px;
  padding:40px 44px;
}
.about-grid { grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:12px; }
.about-grid > div:first-child {
  border:1px solid var(--interior-line);
  border-radius:22px;
  padding:clamp(34px,4vw,54px);
  background:var(--interior-card);
}
.about-grid .sec-head { padding-left:0; }
.hist { display:grid; gap:8px; border:0; }
.hist li {
  grid-template-columns:100px minmax(0,1fr);
  border:0;
  border-radius:13px;
  padding:18px 20px;
  background:rgba(234,241,245,.72);
  transition:background-color .28s ease,transform .28s ease;
}
.hist .yr { color:var(--oxide); font-family:var(--display-sans); font-weight:600; }
.history-disclosure { align-items:start; }
.compact-details summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  list-style:none;
}
.compact-details p { margin-top:12px; color:var(--ink-soft); }
.compact-details .source-note { font-size:12px; }
.side-card {
  border:0;
  border-radius:18px;
  padding:36px;
  background:var(--pine-deep);
  color:#e4ebf2;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.side-card:nth-child(2) { background:var(--champagne); }
.side-card .mono-label { color:var(--champagne); }
.side-card h3 { color:#fff; font-family:var(--display-sans); font-size:28px; font-weight:600; }
.side-card p,
.side-card a { color:#e4ebf2; }
.support {
  border:0;
  border-radius:20px;
  padding:clamp(34px,5vw,58px);
  background:rgba(216,189,134,.14);
}
.support h3 { font-family:var(--display-sans); font-size:clamp(28px,3vw,40px); font-weight:600; }

/* Shared hover and reveal language; quiet enough for professional content. */
@media(hover:hover) and (pointer:fine) {
  .domain-row:hover,
  .hist li:hover { transform:translateY(-2px); background-color:rgba(255,255,255,.055); }
  .hist li:hover { background-color:rgba(216,189,134,.16); }
  .timeline li:hover {
    transform:translateY(-2px);
    border-color:rgba(200,166,106,.5);
    background:rgba(255,255,255,.38);
    box-shadow:0 14px 30px rgba(16,45,80,.07);
  }
  .path-row:hover,
  .side-card:hover {
    transform:translateY(-3px);
    filter:brightness(1.035) saturate(1.025);
    box-shadow:0 18px 38px rgba(16,45,80,.12);
  }
  .page:not(#home) figure.plate:hover img { transform:scale(1.012); }
  .feature .txt:hover {
    transform:translateY(-5px);
    border-color:rgba(216,189,134,.78);
    background:#c8a66a;
    filter:brightness(1.055) saturate(1.04);
    box-shadow:0 24px 48px rgba(16,45,80,.2),inset 0 0 0 1px rgba(216,189,134,.4);
  }
  #approach .split .prose:hover,
  #symposium .split .prose:hover,
  #membership .split .prose:hover {
    transform:translateY(-3px);
    border-color:rgba(216,189,134,.42);
    background:#fffdf9;
    box-shadow:0 18px 38px rgba(16,45,80,.1);
  }
}
.page:not(#home) figure.plate img { transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.feature .img img { transform:none !important; transition:none; }
#approach figure.plate img {
  transform:none !important;
  transition:none;
}
#symposium figure.plate img {
  transform:none !important;
  transition:none;
}
#membership figure.plate img {
  transform:none !important;
  transition:none;
}
#approach .split .prose,
#symposium .split .prose,
#membership .split .prose {
  transition:transform .28s ease,border-color .28s ease,background-color .28s ease,box-shadow .28s ease;
}
.reveal-on-scroll {
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),
    transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms);
}
.reveal-on-scroll.is-visible { opacity:1; transform:none; }
.association-panels .side-card.is-visible {
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
@media(hover:hover) and (pointer:fine) {
  .association-panels .side-card.is-visible:hover {
    transform:translateY(-3px);
    filter:brightness(1.035) saturate(1.025);
    box-shadow:0 18px 38px rgba(16,45,80,.12);
  }
}

@media(max-width:1020px) {
  .page:not(#home) .page-title {
    grid-template-columns:1fr;
    padding-block:48px 38px;
  }
  .page:not(#home) .page-title .mono-label,
  .page:not(#home) .page-title h1,
  .page:not(#home) .page-title .lede,
  .page:not(#home) .page-title .page-actions { grid-column:1; }
  .page:not(#home) .page-title .mono-label { margin:0 0 18px; }
  #membership.page .page-title .page-actions {
    grid-row:auto;
    width:100%;
    max-width:52em;
    justify-self:stretch;
    justify-content:center;
    margin-top:24px;
  }
  .page:not(#home) .page-title::after { bottom:24px; }
  .page:not(#home) .split,
  .page:not(#home) .split.rev,
  .about-grid { grid-template-columns:1fr; }
  .page:not(#home) .split.rev .plate { order:2; }
  .page:not(#home) .split.rev .prose { order:1; }
  #membership .membership-long-view .plate-frame {
    justify-content:center;
    padding-right:0;
  }
  #membership .membership-long-view .plate {
    margin-inline:auto;
  }
  .association-panels { grid-template-columns:1fr; }
  .domain-layout { grid-template-columns:1fr; }
  .domain-intro { position:static; }
  .feature { grid-template-columns:1fr; }
  .feature .img { min-height:390px; }
  .path { grid-template-columns:1fr; }
  .path-row { min-height:0; }
}

@media(max-width:720px) {
  .page:not(#home) .page-title { padding-block:42px 34px; }
  .page:not(#home) .page-title h1 { font-size:clamp(44px,13vw,62px); }
  .page:not(#home) .page-title::after { width:45vw; }
  #membership .page-title .membership-apply {
    width:min(100%,280px);
  }
  .page:not(#home) .sec-head { padding-left:0; }
  .page:not(#home) .split .prose,
  .feature .txt,
  .path-row,
  .side-card { padding:30px 26px; }
  .association-panels .side-card { min-height:240px; }
  .page:not(#home) figure.plate { padding:20px 4px; }
  .page:not(#home) .plate-frame { min-height:240px; }
  .domain-row { grid-template-columns:44px minmax(0,1fr); padding-inline:10px; }
  .timeline li { grid-template-columns:64px minmax(0,1fr); padding:20px; }
  .timeline .tag { display:none; }
  .about-grid > div:first-child { padding:28px 20px; }
  .hist li { grid-template-columns:72px minmax(0,1fr); }
  .archive-details summary { grid-template-columns:58px minmax(0,1fr) 26px; gap:12px; padding:20px; }
  .archive-editions { grid-template-columns:1fr; }
}

@media(prefers-reduced-motion:reduce) {
  .reveal-on-scroll { opacity:1; transform:none; }
}

/* Approach route: a tighter editorial cadence between the four major sections. */
#approach.page .page-title {
  padding-block:52px 40px;
}
#approach .prose > .champagne-rule {
  position:relative;
  padding-top:22px;
}
#approach .prose > .champagne-rule::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:68px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--champagne),rgba(216,189,134,.16));
}
#approach.page .page-title::after { bottom:20px; }
#approach.page > section.wrap:nth-of-type(1) {
  padding-block:24px;
}
#approach.page > section.tight.wrap {
  padding-block:10px;
}
#approach.page > section.tight.wrap .plate {
  padding-block:0;
}
#approach .domain-section {
  margin-block:8px;
  padding-block:40px;
}

/* Matching cadence for the remaining interior routes. */
#symposium.page > section.wrap:first-of-type { padding-block:24px; }
#symposium.page > section.section-top-tight { padding-block:20px 28px; }
#symposium.page > section.association-contact { padding-block:10px 24px; }
#membership.page > section.wrap:first-of-type { padding-block:24px 18px; }
#membership.page > section.tight.wrap { padding-block:10px; }

@media(max-width:720px) {
  #approach.page .page-title { padding-block:42px 34px; }
  #approach.page > section.wrap:nth-of-type(1) { padding-block:18px; }
  #approach.page > section.tight.wrap { padding-block:6px; }
  #approach .domain-section { margin-block:6px; padding-block:34px; }
}

/* Mobile reveals must override the older shared reveal utility. */
@media(max-width:1020px) {
  #home .mobile-reveal:not(.is-mobile-visible) {
    opacity:0;
    transform:translateY(24px);
  }
  #home .mobile-reveal.is-mobile-visible {
    opacity:1;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  #home .mobile-reveal,
  #home .mobile-reveal:not(.is-mobile-visible) {
    opacity:1;
    transform:none;
  }
}

/* ---- Champagne amendment: burgundy retired in favour of the house gold (19 Aug 2026) ---- */
nav .cta, nav .cta:hover, nav.open .cta { color:var(--pine-deep); }
.btn-solid { border-color:#c8a66a; color:var(--pine-deep); }
.btn-solid:hover { background:#c8a66a; color:var(--pine-deep); }
.hero .btn-solid { color:var(--pine-deep); }
.hero .btn-solid:hover { color:var(--pine-deep); }
.page:not(#home) .page-title .page-actions .btn-solid { color:var(--pine-deep); }
#membership .page-title .membership-apply { color:var(--pine-deep); }
#membership .membership-apply .cta-arrow { background:var(--pine-deep); color:var(--champagne); }
#membership .membership-apply:hover .cta-arrow { background:#0b2544; }
.crossbar > div:first-child .mono-label { color:#5e4a21; }
.crossbar > div:first-child h3 { color:var(--pine-deep); }
.crossbar > div:first-child p { color:#31486b; }
.crossbar > div:first-child .btn { border-color:var(--pine-deep); color:var(--pine-deep); }
.crossbar > div:first-child .btn:hover { background:rgba(16,45,80,.08); }
.feature .txt .mono-label, .feature .txt .meta, .feature .txt .note { color:#5e4a21; }
.feature .txt h2 { color:var(--pine-deep); }
.feature .txt p.desc { color:#31486b; }
.feature .txt .btn-solid { border-color:var(--pine-deep); background:transparent; color:var(--pine-deep); }
.feature .txt .btn-solid:hover { background:rgba(16,45,80,.08); }
.feature .txt .btn-line { border-color:rgba(16,45,80,.45); color:var(--pine-deep); }
.feature .txt .btn-line:hover { border-color:var(--pine-deep); color:var(--pine-deep); }
.side-card .mono-label { color:var(--oxide); }
.side-card:nth-child(2) .mono-label { color:#5e4a21; }
.side-card:nth-child(2) h3 { color:var(--pine-deep); }
.side-card:nth-child(2) p, .side-card:nth-child(2) a { color:#31486b; }
.pillars .tenet:nth-child(2) .tenet-letter { color:rgba(16,45,80,.5); }
.pillars .tenet:nth-child(2) h3 { color:rgba(16,45,80,.95); }
.pillars .tenet:nth-child(2) p { color:rgba(16,45,80,.75); }

/* ---- Membership application & policies (19 Aug 2026) ---- */
.apply-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start; }
.apply-aside h3 { color:var(--ink); font-family:var(--sans); font-size:24px; font-weight:500; }
.apply-form {
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  background:var(--white);
  padding:36px;
  display:flex;
  flex-direction:column;
  gap:20px;
  box-shadow:var(--shadow);
}
.apply-form .field { display:flex; flex-direction:column; gap:8px; }
.apply-form .field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.apply-form label {
  color:var(--oxide);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.apply-form label .optional { color:var(--ink-soft); font-weight:400; letter-spacing:.1em; text-transform:none; font-size:11px; }
.apply-form input,
.apply-form textarea {
  border:1px solid var(--line-dark);
  border-radius:12px;
  background:var(--paper);
  padding:13px 16px;
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.5;
  transition:border-color .18s ease, background .18s ease;
}
.apply-form input:hover, .apply-form textarea:hover { border-color:#b9c2cf; }
.apply-form input:focus-visible, .apply-form textarea:focus-visible {
  outline:3px solid #8c5a0d;
  outline-offset:2px;
  background:#fff;
}
.apply-form textarea { resize:vertical; min-height:110px; }
.apply-form button[type="submit"] { align-self:flex-start; }
.apply-form button[type="submit"]:disabled { opacity:.55; cursor:default; transform:none; box-shadow:none; }
.form-status { min-height:1.4em; margin:0; }
.visually-hidden {
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.policies-body { max-width:820px; }
.policies-body .prose h3 { color:var(--ink); font-family:var(--sans); font-size:24px; font-weight:500; }
.policies-body .prose p { max-width:none; }
@media (max-width:900px){
  .apply-layout { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:600px){
  .apply-form { padding:26px 20px; }
  .apply-form .field-row { grid-template-columns:1fr; }
}
