:root{--font-heading:Prata,serif;--font-body:Georgia,serif;--font-ui:'Josefin Sans',sans-serif;--garnet:#540b0e;--blood:#6a040f;--parchment:#f0e5d7;--brown:#532b29;--oxblood:#9c4640;color-scheme:dark;font-family:var(--font-ui);color:var(--parchment);background:var(--garnet)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}
.skip-link{position:absolute;left:24px;top:12px;z-index:10;padding:12px 18px;background:var(--parchment);color:var(--garnet);transform:translateY(-200%)}
.skip-link:focus{transform:none}

/* Hero review: Georgia is scoped here; shared brand tokens remain unchanged. */
.header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 4vw}
.wordmark{font:400 clamp(21px,1.6vw,24px)/1.3 var(--font-body);letter-spacing:1.2px;white-space:nowrap}
.header nav ul{display:flex;align-items:center;gap:clamp(18px,1.6vw,28px);list-style:none;margin:0;padding:0}
.header nav li{font:400 14px/1.5 var(--font-ui);white-space:nowrap}
.header nav :is(a,[aria-disabled]){display:inline-block;border-bottom:1px solid transparent;padding-block:10px}
.header nav [aria-disabled]{cursor:not-allowed}
.header nav a:hover,.header nav a:focus-visible{border-bottom-color:currentColor}
.header nav .contact-cta{background:none;color:inherit;letter-spacing:.2px}
.menu-toggle{display:flex;background:none;border:1px solid currentColor;color:inherit;padding:12px 14px;align-items:center;gap:14px;cursor:pointer}
.hero{min-height:max(680px,90svh);display:flex;align-items:center;justify-content:center;padding:135px 7vw 110px;position:relative;background:radial-gradient(ellipse at 40% 45%,rgba(156,70,64,.09),transparent 66%),var(--garnet)}
.hero-composition{width:100%;max-width:1080px;display:grid;grid-template-columns:30% minmax(0,1fr);align-items:center;gap:clamp(38px,5vw,72px)}
.hero .logo{display:block;width:min(100%,270px);height:auto;justify-self:center;filter:brightness(0) invert(94%) sepia(10%) saturate(508%) hue-rotate(342deg) brightness(101%) contrast(88%);opacity:.88}
.hero-copy{min-width:0}
.hero h1{font:400 clamp(52px,5vw,76px)/1.08 var(--font-body);letter-spacing:-1.4px;font-kerning:normal;margin:0;text-transform:none}
.hero h1 em{font-weight:400}
.hero .tagline{font:italic 400 clamp(19px,1.5vw,22px)/1.6 var(--font-body);margin:20px 0 0;letter-spacing:0}
.scroll-cue{position:absolute;bottom:30px;left:50%;width:1px;height:40px;background:var(--parchment);opacity:.65}
.scroll-cue:after{content:'';position:absolute;bottom:0;left:-3px;width:6px;height:6px;border-right:1px solid var(--parchment);border-bottom:1px solid var(--parchment);transform:rotate(45deg)}
@media(max-width:1380px){.header{padding:25px 6vw;flex-wrap:wrap}.menu-toggle:not([hidden]){display:flex}.header nav{width:100%;background:var(--parchment);color:var(--brown);padding:24px 28px}.header nav ul{align-items:flex-start;flex-direction:column;gap:10px}.header nav li{font-size:14px}.header nav[hidden]{display:none}}
@media(min-width:601px) and (max-width:1000px){.hero{min-height:max(620px,85svh);padding-inline:6vw}.hero-composition{gap:32px;grid-template-columns:28% minmax(0,1fr)}.hero h1{font-size:clamp(39px,5.2vw,52px);letter-spacing:-.8px}}
@media(max-width:600px){.header{padding:23px 24px;gap:22px}.wordmark{font-size:19px;letter-spacing:.8px}.menu-toggle{font-size:14px;padding:10px 12px}.hero{padding:125px 24px 90px;min-height:max(650px,88svh)}.hero-composition{display:flex;flex-direction:column;gap:30px;text-align:center}.hero .logo{width:138px}.hero h1{font-size:clamp(36px,9.7vw,52px);letter-spacing:-.7px;line-height:1.12}.hero .tagline{font-size:19px;line-height:1.5;max-width:280px;margin:18px auto 0}.scroll-cue{height:30px;bottom:26px}.header nav{padding:20px 23px}}

/* Informational bridge: independent of the philosophy layout and motion. */
.support-bridge{background:var(--parchment);color:var(--brown);color-scheme:light;padding:52px 7vw 36px}
.support-bridge-inner{max-width:1160px;margin-inline:auto;border-top:1px solid var(--oxblood);padding-top:40px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.support-bridge h2{margin:0;padding:16px 44px 16px 12px;color:var(--oxblood);font:400 clamp(19px,1.65vw,24px)/1.65 var(--font-heading);letter-spacing:1.7px;text-align:center;text-wrap:balance}
.support-bridge-details{min-width:0;border-left:1px solid var(--oxblood);padding:8px 12px 8px 44px;text-align:center;font:400 17px/1.75 var(--font-body)}
.support-bridge-details p{margin:0 auto;max-width:480px}
.support-bridge-details .support-bridge-settings{margin-bottom:15px;font-size:19px;line-height:1.65;text-wrap:balance}
@media(max-width:700px){.support-bridge{padding:32px 26px 20px}.support-bridge-inner{grid-template-columns:1fr;padding-top:26px}.support-bridge h2{font-size:19px;letter-spacing:1px;padding:0 0 24px}.support-bridge-details{border-left:0;border-top:1px solid var(--oxblood);padding:24px 0 0;font-size:16px;line-height:1.75}.support-bridge-details .support-bridge-settings{font-size:17px;margin-bottom:14px}}

/* Let the disclosure script transfer focus before hiding its trigger. */
.menu-toggle[hidden]{display:none}

/* Keep the existing navigation available throughout the reading journey. */
html{scroll-padding-top:calc(var(--navigation-height, 104px) + 16px)}
.header.is-scrolled{background:var(--garnet);color:var(--parchment)}
.header.is-scrolled,html[data-navigation-enhanced] .connect-page .header,html[data-navigation-enhanced] .portal-page .header{padding-block:16px!important}
#primary-navigation a[aria-current="page"]{border-bottom-color:transparent;text-decoration:underline;text-underline-offset:5px}
.menu-toggle[aria-expanded="true"] [aria-hidden]{font-family:var(--font-ui)}
.skip-link,.connect-skip,.portal-skip{z-index:110!important}
@media(max-width:1380px){
  html[data-navigation-enhanced] .header:not([data-navigation-ready]) nav{display:none}
  html[data-navigation-enhanced] :is(.connect-page,.portal-page) .header{min-height:82px}
  .header[data-navigation-ready] nav{position:absolute;top:100%;left:6vw;right:6vw;width:auto;max-height:calc(100svh - var(--navigation-height, 104px) - 16px);overflow-y:auto;overscroll-behavior:contain}
  :root:not([data-navigation-enhanced]) .header{position:relative}
}
@media(max-width:760px){.header[data-navigation-ready] nav{left:24px;right:24px}}
