@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Jost:wght@400;500;600;700&display=swap");

:root{
  --ink-900:#10192b;
  --ink-800:#1a2740;
  --burgundy:#6d2745;
  --burgundy-dark:#4f1a32;
  --parchment:#f2e9d8;
  --parchment-100:#eadfc8;
  --warm-grey:#8c8375;
  --white:#fffdf8;
  --ink:#1c1a16;
  --ink-muted:#6b6357;
  --rule:rgba(28,26,22,.16);
  --rule-light:rgba(255,255,255,.2);
  --maxw:1160px;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--white);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{ font-family:"Cormorant Garamond","Jost",serif; line-height:1.15; font-weight:600; color:var(--ink-900); }
a{ color:inherit; }
img{ max-width:100%; display:block; }
ul,ol{ list-style:none; }
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

.skip-link{ position:absolute; left:12px; top:-60px; z-index:110; background:var(--ink-900); color:#fff; padding:10px 16px; text-decoration:none; transition:top .2s ease; }
.skip-link:focus{ top:12px; }
:focus-visible{ outline:3px solid var(--burgundy); outline-offset:3px; border-radius:2px; }

.site-header{ position:sticky; top:0; z-index:60; background:rgba(255,253,248,.95); backdrop-filter:blur(8px); border-bottom:1px solid var(--rule); transition:box-shadow .2s ease; }
.site-header.scrolled{ box-shadow:0 8px 24px rgba(16,25,43,.08); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:20px; }
.brand{ display:inline-flex; align-items:center; gap:10px; font-family:"Cormorant Garamond",serif; font-weight:700; font-size:21px; text-decoration:none; color:var(--ink-900); letter-spacing:.2px; }
.brand > span{ display:flex; align-items:baseline; gap:9px; }
.brand em{ font-style:normal; color:var(--ink-muted); font-size:10.5px; font-weight:500; font-family:"Jost",sans-serif; letter-spacing:1.4px; text-transform:uppercase; }
.logo-img{ width:26px; height:26px; object-fit:contain; }
.nav-links{ display:flex; align-items:center; gap:28px; }
.nav-links a{ font-size:12.5px; font-weight:500; letter-spacing:.65px; text-transform:uppercase; color:var(--ink); text-decoration:none; }
.nav-links a:not(.nav-cta):hover{ color:var(--burgundy); }
.nav-links a.nav-cta{ border:1px solid var(--ink-900); padding:10px 17px; }
.nav-links a.nav-cta:hover{ background:var(--ink-900); color:#fff; }
.nav-burger{ display:none; position:relative; width:26px; height:20px; cursor:pointer; }
.nav-burger .bar{ position:absolute; left:0; width:100%; height:1.5px; background:var(--ink-900); transition:top .3s ease, transform .3s ease, opacity .2s ease; }
.nav-burger .bar:nth-child(1){ top:2px; }
.nav-burger .bar:nth-child(2){ top:9px; }
.nav-burger .bar:nth-child(3){ top:16px; }
.nav-toggle:checked ~ .nav-burger .bar:nth-child(1){ top:9px; transform:rotate(45deg); }
.nav-toggle:checked ~ .nav-burger .bar:nth-child(2){ opacity:0; }
.nav-toggle:checked ~ .nav-burger .bar:nth-child(3){ top:9px; transform:rotate(-45deg); }

.eyebrow{ display:block; font-size:11.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--burgundy); margin-bottom:18px; }
.eyebrow--light{ color:#c98fa6; }
.hero{ padding:76px 0 96px; border-bottom:1px solid var(--rule); }
.hero-copy{ max-width:760px; padding-top:8px; }
.hero h1{ font-size:clamp(38px,5.8vw,60px); margin-bottom:22px; max-width:15ch; }
.lead{ font-size:clamp(16px,2vw,18.5px); color:var(--ink-muted); max-width:52ch; margin-bottom:30px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:16px; }
.hero-note{ font-size:13px; color:var(--ink-muted); }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; font-size:12.5px; font-weight:600; letter-spacing:.7px; text-transform:uppercase; border:1.5px solid transparent; text-decoration:none; transition:background .18s ease, color .18s ease, border-color .18s ease; }
.btn-primary{ background:var(--burgundy); color:#fff; }
.btn-primary:hover{ background:var(--burgundy-dark); }
.btn-outline{ background:transparent; color:var(--ink-900); border-color:var(--ink-900); }
.btn-outline:hover{ background:var(--ink-900); color:#fff; }

.section{ padding:88px 0; }
.section--parchment,.cta{ background:var(--parchment); }
.section--ink{ background:var(--ink-900); color:#fff; }
.section--ink h2{ color:#fff; }
.section-head{ max-width:700px; margin-bottom:48px; }
.section-head h2{ font-size:clamp(30px,4.4vw,44px); }
.section-lead{ color:var(--ink-muted); font-size:16px; max-width:60ch; margin-top:12px; }
.section-lead--light{ color:#c7cddb; }

.value-grid{ display:grid; grid-template-columns:1fr; gap:36px; }
.value-head h2{ font-size:clamp(30px,4.4vw,44px); max-width:14ch; }
.value-head > p{ color:var(--ink-muted); font-size:15px; max-width:42ch; margin-top:14px; }
.value-accordions{ display:flex; flex-direction:column; gap:14px; }
.value-accordion{ background:var(--parchment); border:1px solid var(--rule); }
.value-accordion summary{ display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; padding:24px 26px; cursor:pointer; list-style:none; }
.value-accordion summary::-webkit-details-marker{ display:none; }
.value-accordion summary:focus-visible{ outline:2px solid var(--burgundy); outline-offset:3px; }
.value-index{ font-family:"Cormorant Garamond",serif; font-size:26px; color:var(--burgundy); font-weight:600; }
.value-title{ display:flex; flex-direction:column; gap:4px; }
.value-audience,.item-label{ color:var(--burgundy); font-size:11px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.value-title strong{ color:var(--ink); font-family:"Cormorant Garamond",serif; font-size:clamp(20px,2.5vw,25px); line-height:1.18; }
.value-toggle{ position:relative; width:20px; height:20px; }
.value-toggle::before,.value-toggle::after{ content:""; position:absolute; top:50%; left:50%; width:16px; height:1.5px; background:var(--burgundy); transform:translate(-50%,-50%); transition:transform .2s ease; }
.value-toggle::after{ transform:translate(-50%,-50%) rotate(90deg); }
.value-accordion[open] .value-toggle::after{ transform:translate(-50%,-50%) rotate(0); }
.value-content{ padding:0 66px 26px; }
.value-content p{ color:var(--ink-muted); font-size:15px; max-width:60ch; }
.value-content p + p{ margin-top:10px; }

.pathway-list{ display:flex; flex-direction:column; }
.pathway-row{ display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start; padding:30px 0; border-top:1px solid var(--rule); }
.pathway-list li:last-child{ border-bottom:1px solid var(--rule); }
.pathway-num,.principle-num{ font-family:"Cormorant Garamond",serif; font-size:30px; color:var(--warm-grey); line-height:1.2; }
.pathway-row h3{ font-size:24px; margin:4px 0 8px; }
.pathway-row p{ color:var(--ink-muted); font-size:15px; max-width:66ch; }
.text-link{ display:inline-block; color:var(--burgundy); font-size:12px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; text-decoration:none; border-bottom:1px solid currentColor; margin-top:15px; }

.principle-list{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--rule); }
.principle-list li{ display:grid; grid-template-columns:auto 1fr; gap:20px; padding:28px 0; border-bottom:1px solid var(--rule); }
.principle-list h3{ font-size:23px; margin-bottom:7px; }
.principle-list p{ color:var(--ink-muted); font-size:15px; max-width:60ch; }

.governance-grid{ display:grid; grid-template-columns:1fr; gap:40px; }
.clause-list{ display:flex; flex-direction:column; gap:18px; }
.clause-list li{ font-size:14.5px; color:#dfe3ec; border-top:1px solid var(--rule-light); padding-top:16px; }
.clause-num{ display:block; font-size:11px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; color:#c98fa6; margin-bottom:6px; }

.cta-grid{ display:grid; grid-template-columns:1fr; gap:30px; align-items:center; }
.cta-grid h2{ font-size:clamp(30px,4.2vw,40px); max-width:19ch; margin-bottom:12px; }
.cta-grid p{ color:var(--ink-muted); max-width:56ch; }
.contact-details{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:18px; color:var(--ink-muted); font-size:14px; }
.contact-details a{ color:var(--burgundy); text-decoration:none; }

.site-footer{ padding:52px 0 30px; border-top:1px solid var(--rule); }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:28px; margin-bottom:28px; }
.footer-brand .brand{ margin-bottom:10px; }
.footer-brand p{ color:var(--ink-muted); font-size:14px; max-width:300px; }
.footer-col h4{ font-size:11px; text-transform:uppercase; letter-spacing:1.4px; color:var(--ink-muted); margin-bottom:14px; font-weight:600; }
.footer-col a{ display:block; font-size:14px; color:var(--ink); text-decoration:none; margin-bottom:10px; }
.footer-col a:hover{ color:var(--burgundy); }
.footer-bottom{ padding-top:22px; border-top:1px solid var(--rule); text-align:center; font-size:12.5px; color:var(--ink-muted); }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}

@media (max-width:719px){
  .brand > span{ display:block; line-height:1.05; }
  .brand em{ display:block; margin-top:4px; }
  .nav-links{ position:absolute; top:78px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--white); border-bottom:1px solid var(--rule); padding:8px 0; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .22s ease, transform .22s ease, visibility .22s; }
  .nav-links a{ padding:14px 24px; }
  .nav-links a.nav-cta{ margin:8px 24px; text-align:center; }
  .nav-toggle:checked ~ .nav-links{ opacity:1; visibility:visible; transform:translateY(0); }
  .nav-burger{ display:block; }
  .value-accordion summary{ gap:14px; padding:21px 18px; }
  .value-content{ padding:0 50px 22px; }
}

@media (min-width:720px){
  .value-grid{ grid-template-columns:.8fr 1.2fr; }
  .principle-list{ grid-template-columns:repeat(3,1fr); }
  .principle-list li{ grid-template-columns:1fr; align-content:start; padding:30px 28px; border-right:1px solid var(--rule); }
  .principle-list li:first-child{ padding-left:0; }
  .principle-list li:last-child{ border-right:0; padding-right:0; }
  .governance-grid{ grid-template-columns:1fr 1fr; }
  .cta-grid{ grid-template-columns:1fr auto; }
  .footer-grid{ grid-template-columns:2fr 1fr 1fr; }
}
