@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-garamond.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-garamond-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url(../fonts/montserrat-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel-500.woff2) format("woff2");font-weight:500 900;font-style:normal;font-display:swap}

/* ============================================================
   THE DEN · VISION
   One idea: the visitor walks from night into morning.
   ============================================================ */
:root{
  --night:#131210; --night2:#1c1a17; --ember:#221f1b;
  --stone:#eeebe5; --dawn:#f6f3ef;
  --gold:#e0c188; --goldd:#c9a96e; --gold-ink:#8a6c3a;
  --ink:#2c2a27; --muted:#7a7570; --muted-d:#9b958c;
  --serif:'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
  --sans:'Jost', 'Avenir Next', 'Segoe UI', system-ui, sans-serif;
  --e-out:cubic-bezier(0.23,1,0.32,1);
  --e-io:cubic-bezier(0.77,0,0.175,1);
  --e-drawer:cubic-bezier(0.32,0.72,0,1);
  --gutter:clamp(1.25rem,4.2vw,4rem);
  --maxw:1360px;
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--safe-t) + 80px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--night);color:var(--dawn);font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
h1,h2,h3{font-weight:400}
.h2,.display,.shift-lead,.quote{text-wrap:balance}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--gold);color:var(--night);padding:.6rem 1rem;border-radius:999px;text-decoration:none}
.skip:focus{top:calc(var(--safe-t) + 1rem)}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}

/* The sky: one fixed layer whose color carries the whole journey */
.sky{position:fixed;inset:0;z-index:-2;background:var(--night)}
.grain{position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.055;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Shared type */
.display{font-family:var(--serif);font-weight:300;line-height:.86;letter-spacing:-.03em}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,6.4vw,5.8rem);line-height:.95;letter-spacing:-.025em}
.label{font-family:var(--serif);font-style:italic;font-size:1.15rem;letter-spacing:.005em;color:var(--goldd)}

.prose{max-width:34rem;color:rgba(246,243,239,.72)}

.prose+.prose{margin-top:1.1rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:0 1.6rem;border-radius:999px;font-family:var(--sans);font-size:.95rem;font-weight:400;letter-spacing:.02em;text-decoration:none;transition:transform .16s var(--e-out),background-color .3s ease,color .3s ease,box-shadow .3s ease}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--gold);color:var(--night)}
.btn-line{box-shadow:inset 0 0 0 1px rgba(246,243,239,.32);color:var(--dawn)}

.btn-ink{background:var(--ink);color:var(--dawn)}
.txtlink{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat;transition:background-size .4s var(--e-out)}
@media (hover:hover) and (pointer:fine){
  .btn-gold:hover{background:#ead2a3}
  .btn-line:hover{box-shadow:inset 0 0 0 1px var(--gold)}
  .btn-ink:hover{background:#000}
  .txtlink:hover{background-size:40% 1px}
}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;--np:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));padding:calc(var(--safe-t) + 18px) var(--np) 14px;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:transform .55s var(--e-out),background-color .5s ease,color .4s ease;color:var(--dawn)}
.nav.is-solid{background:rgba(19,18,16,.6);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
.nav.is-light{color:var(--ink)}
.nav.is-light.is-solid{background:rgba(246,243,239,.72)}
.nav.is-hidden{transform:translateY(-110%)}
.mark{font-family:var(--serif);font-size:1.55rem;font-weight:400;text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;min-height:44px}
.mark em{font-style:italic;color:var(--gold);margin-left:.28em}

.nav-links{display:flex;gap:clamp(1rem,2.4vw,2.2rem);list-style:none}
.nav-links a{font-size:.92rem;text-decoration:none;opacity:.78;display:inline-flex;min-height:44px;align-items:center;transition:opacity .2s ease}
.nav-apply{min-height:44px;padding:0 1.3rem;font-size:.9rem;box-shadow:inset 0 0 0 1px var(--goldd);color:var(--gold)}
.nav.is-light .nav-apply{background:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink)}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{opacity:1}}
@media (max-width:860px){.nav-links{display:none}}
@media (prefers-reduced-transparency:reduce){.nav.is-solid{background:var(--night)}.nav.is-light.is-solid{background:var(--dawn)}}

/* ============================================================
   I. OVERTURE (David at the centre, the cover type around him)
   ============================================================ */
.overture{height:330vh;--bl:0}
.overture .stage{display:block;color:var(--dawn);background:var(--night)}
.dv{position:absolute;z-index:1;left:50%;top:48%;translate:-50% -50%;width:min(76vw,128svh);aspect-ratio:720/544;opacity:0;animation:dvIn 2.4s .05s var(--e-out) forwards;
  -webkit-mask-image:radial-gradient(closest-side,#000 58%,transparent 100%);mask-image:radial-gradient(closest-side,#000 58%,transparent 100%)}
@keyframes dvIn{from{opacity:0}to{opacity:1}}
.dv video,.dv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.16) contrast(1.06) brightness(.97)}
.dv img{z-index:2;transition:opacity .6s ease}
.dv.ready.moving img{opacity:0}
.dv .filmgrain{z-index:1}
.dv video{z-index:0}
/* Shading: a warm key light up high, the room falling off toward the type */
.dv-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:
  radial-gradient(38% 42% at 58% 30%,rgba(224,193,136,.07),transparent 70%),
  radial-gradient(70% 78% at 52% 44%,transparent 46%,rgba(19,18,16,.62) 100%),
  linear-gradient(to top,rgba(19,18,16,.9) 0%,rgba(19,18,16,.35) 30%,transparent 46%),
  linear-gradient(to right,rgba(19,18,16,.55),transparent 34%)}

.hc-eyebrow{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,1.6vw,1.6rem);color:var(--gold);margin-bottom:.35rem}
.hero-name{font-family:var(--serif);font-weight:300;font-size:clamp(5.4rem,13.5vw,13.5rem);line-height:.8;letter-spacing:-.05em;white-space:nowrap;margin-left:-.04em}
.hero-name em{font-style:italic;color:var(--gold);letter-spacing:-.04em}
.hn-in{display:inline-block;opacity:0;filter:blur(14px);transform:translate3d(0,24px,0);animation:hnIn 1.7s .3s var(--e-out) forwards}
@keyframes hnIn{to{opacity:1;filter:none;transform:none}}
.hc-meta{margin-top:1.5rem;max-width:25rem;font-size:.86rem;line-height:1.55;color:var(--muted-d)}
.hc-body{font-size:1.02rem;line-height:1.65;color:rgba(246,243,239,.8)}
.hc-line{display:block;margin-top:.9rem;font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.2;color:var(--dawn)}
.hc-cta{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;align-items:center;margin-top:1.5rem}

.ld{opacity:0;transform:translate3d(0,14px,0);animation:settle 1.2s var(--e-out) forwards}
@keyframes settle{to{opacity:1;transform:none}}

/* The video ends in light: the screen follows it into white */

@media (max-width:1100px){
  .dv{top:0;translate:-50% 0;width:max(100vw,88svh);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 96%);mask-image:linear-gradient(to bottom,#000 60%,transparent 96%)}
  .dv-shade{background:radial-gradient(40% 40% at 55% 26%,rgba(224,193,136,.07),transparent 70%),linear-gradient(to top,rgba(19,18,16,.97) 0%,rgba(19,18,16,.86) 40%,transparent 64%)}
  
  .hc-right{display:contents}
  .hc-eyebrow{order:1}.hero-name{order:2}.hc-body{order:3;margin-top:1.1rem;max-width:34rem}.hc-cta{order:4}.hc-meta{order:5;margin-top:1.1rem}
  .hero-name{font-size:clamp(4rem,19vw,7rem)}
  .hc-line{font-size:1.25rem}
  
}

/* ============================================================
   II. LETTER (words light as you read)
   ============================================================ */
.pin{position:relative}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}

.scrub{font-family:var(--serif);font-weight:300;font-size:clamp(1.45rem,1.15rem + 2.1vw,3.15rem);line-height:1.16;letter-spacing:-.012em;max-width:23em;margin-top:1.2rem}
.scrub p+p{margin-top:.55em}
.scrub .wd{opacity:.15;transition:opacity .25s linear}
.letter-foot{display:flex;align-items:center;gap:1.4rem;margin-top:2rem;opacity:0;transform:translate3d(0,10px,0);transition:opacity .8s var(--e-out),transform .8s var(--e-out)}
.letter-foot.on{opacity:1;transform:none}
.sig{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--muted-d)}

/* ============================================================
   III. THE SHIFT (hollow words fill)
   ============================================================ */
.shift{height:420vh}
.shift .wrap{display:flex;flex-direction:column;justify-content:center;height:100%}
.shift-lead{font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.7rem);line-height:1.3;max-width:30em;color:rgba(246,243,239,.78)}
.reel{position:relative;height:calc(clamp(4.2rem,13vw,12.5rem) * 1.05);overflow:hidden;margin:clamp(1.5rem,5vh,3.5rem) 0;-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.reel-col{will-change:transform}
.reel-col span{display:block;font-family:var(--serif);font-size:clamp(4.2rem,13vw,12.5rem);line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.reel-col .was{font-weight:500;color:transparent;-webkit-text-stroke:1px rgba(246,243,239,.42)}
.reel-col .now{font-weight:300;color:var(--dawn)}
.shift-ticks{display:flex;gap:.5rem}
.shift-ticks i{width:28px;height:2px;background:rgba(246,243,239,.18);transition:background-color .4s ease}
.shift-ticks i.on{background:var(--gold)}
.shift-close{margin-top:1.6rem;font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.7rem);line-height:1.3;max-width:30em;color:var(--dawn);opacity:0;transform:translate3d(0,12px,0);transition:opacity .9s var(--e-out),transform .9s var(--e-out)}
.shift-close.on{opacity:1;transform:none}

/* ============================================================
   IV. THE HOUSE (sideways through the photographs)
   ============================================================ */
.house .stage{align-items:center}
.track{display:flex;align-items:center;gap:clamp(1.25rem,3vw,3rem);padding:0 var(--gutter);will-change:transform}
.panel{flex:0 0 auto}
.panel-intro{width:min(40rem,84vw)}
.panel-intro .h2{margin:.9rem 0 1.4rem}
.shot{width:min(62vw,860px);}
.shot .frame{position:relative;height:min(62svh,600px);overflow:hidden;border-radius:6px;background:var(--ember)}
.shot .frame img{position:absolute;inset:0 -12%;width:124%;height:100%;object-fit:cover;will-change:transform}
.shot figcaption{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.5rem;margin-top:1.1rem;align-items:baseline}
.shot h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.05}
.shot p{color:rgba(246,243,239,.66);font-size:.98rem;max-width:30rem}
.panel-outro{width:min(34rem,84vw)}
.quote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.08;letter-spacing:-.015em}
.panel-outro .prose{margin-top:1.4rem}
@media (max-width:720px){
  .shot{width:84vw}
  .shot .frame{height:52svh}
  .shot figcaption{grid-template-columns:1fr;gap:.35rem}
}

/* ============================================================
   V. DAWN (the light comes up)
   ============================================================ */
.dawn{height:320vh;--dp:0;--tp:0}
.dawn .stage{align-items:center}
.dawn-light{position:absolute;inset:0;background:radial-gradient(55% 65% at 74% 70%,rgba(255,238,204,calc(var(--dp) * .95)),transparent 72%);pointer-events:none}

.dawn-text{position:relative;z-index:2;color:color-mix(in srgb,var(--ink) calc(var(--tp) * 100%),var(--dawn))}
.dawn-text .display{font-size:clamp(3.2rem,7.4vw,7.4rem);line-height:.92;max-width:8.5em}
.dawn-text .display span{display:block}
.dawn-sub{margin-top:2rem;max-width:30rem;font-size:1.02rem;opacity:calc(var(--dp) * 1.6 - .5)}
.dawn-sub .btn{margin-top:1.3rem}
@media (max-width:720px){
  .dawn .stage{align-items:flex-start;padding-top:calc(var(--safe-t) + 15svh)}
  
  .dawn-light{background:radial-gradient(70% 55% at 62% 82%,rgba(255,238,204,calc(var(--dp) * .95)),transparent 72%)}
  .dawn-text .display{font-size:clamp(2.6rem,11vw,3.4rem)}
}

/* ============================================================
   MORNING SECTIONS (light)
   ============================================================ */
.on-light{color:var(--ink)}
.sec{padding:clamp(6rem,15vh,11rem) 0}

.rise .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.rise .w>span{display:inline-block;transform:translate3d(0,105%,0);transition:transform 1.1s var(--e-out);transition-delay:calc(var(--i) * 40ms)}
.rise.in .w>span{transform:none}

/* VI. Pathways: stacked sheets */

@media (max-width:860px){
  
  
  
  
  
  
  .person .more{display:none}
  
}

/* VIII. People */
.people-banner{position:relative;height:min(58svh,560px);border-radius:6px;overflow:hidden;margin-bottom:clamp(3rem,7vh,5rem);background:var(--stone)}
.people-banner img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;object-position:center 25%;will-change:transform}
.people-banner p{position:absolute;left:clamp(1.25rem,3vw,2.5rem);bottom:clamp(1.25rem,3vw,2.25rem);font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.1;color:var(--dawn);max-width:18em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.person{text-align:left;display:block;width:100%}
.person .pic{aspect-ratio:3/3.8;border-radius:6px;overflow:hidden;background:var(--stone)}
.person .pic img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--e-out)}
.person .who{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-top:.9rem}
.person .nm{font-family:var(--serif);font-size:1.45rem;line-height:1.1}
.person .rl{font-size:.88rem;color:var(--muted)}
.person .more{font-family:var(--serif);font-style:italic;color:var(--gold-ink);font-size:1.05rem;white-space:nowrap}
@media (hover:hover) and (pointer:fine){.person:hover .pic img{transform:scale(1.035)}}
@media (max-width:860px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* IX. Give */
.give{background:var(--stone);border-radius:28px 28px 0 0}

.give-list{list-style:none;margin-top:1.6rem;border-top:1px solid rgba(44,42,39,.14)}
.give-list li{padding:1rem 0;border-bottom:1px solid rgba(44,42,39,.14);font-family:var(--serif);font-size:1.3rem;line-height:1.25}
.give-note{margin-top:1.4rem;font-size:.9rem;color:var(--muted)}

/* X. Invitation */

.invite-acts{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:2rem;align-items:center}
.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:clamp(3rem,7vh,4.5rem);padding-top:1.6rem;border-top:1px solid rgba(44,42,39,.14)}
.contact a{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem);text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.contact span{display:block;font-size:.88rem;color:var(--muted)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

/* Footer */
.foot{background:var(--night);color:rgba(246,243,239,.6);padding:clamp(3.5rem,8vh,5rem) 0 calc(var(--safe-b) + 2.5rem);font-size:.9rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem 3rem;align-items:end}
.foot .mark{color:var(--dawn);font-size:2.4rem}
.foot nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.foot nav a{text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.foot-legal{width:100%;padding-top:1.5rem;border-top:1px solid rgba(246,243,239,.1);font-size:.82rem}

/* ============================================================
   THE LISTENING METER (headphones playing, moves with your scroll)
   ============================================================ */

@keyframes eq{0%{transform:scaleY(.2)}100%{transform:scaleY(1)}}

/* ============================================================
   THE SHEET (depth on tap)
   ============================================================ */
.sheet{position:fixed;inset:0 0 0 auto;margin:0 0 0 auto;width:min(600px,100vw);height:100dvh;max-height:none;max-width:none;border:0;padding:0;background:var(--dawn);color:var(--ink);transform:translate3d(100%,0,0);transition:transform .5s var(--e-drawer);overflow:hidden}
.sheet.is-open{transform:none}
.sheet::backdrop{background:rgba(12,11,10,.5);opacity:0;transition:opacity .5s ease}
.sheet.is-open::backdrop{opacity:1}
.sheet-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--safe-t) + 4.5rem) clamp(1.5rem,5vw,3.25rem) calc(var(--safe-b) + 3rem)}
.sheet-close{position:absolute;top:calc(var(--safe-t) + 14px);right:14px;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;z-index:2;background:var(--dawn)}
.sheet-close svg{width:18px;height:18px}
@media (hover:hover) and (pointer:fine){.sheet-close:hover{background:var(--stone)}}
.sheet h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1;letter-spacing:-.02em;margin:.6rem 0 1.6rem}
.sheet p{color:#4d4842;margin-top:1rem}
.sheet .verse{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.3;color:var(--ink);margin-top:2rem;padding-left:1.25rem;border-left:1px solid var(--goldd)}
.sheet .ref{font-size:.85rem;color:var(--muted);margin-top:.5rem;padding-left:1.25rem}
.sheet ul{list-style:none;margin-top:1.4rem;border-top:1px solid rgba(44,42,39,.12)}
.sheet li{padding:.85rem 0;border-bottom:1px solid rgba(44,42,39,.12)}
.sheet h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin-top:2.2rem}
.sheet .acts{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:2rem;align-items:center}
.sheet .pic{width:120px;aspect-ratio:1;border-radius:999px;overflow:hidden;margin-bottom:1rem;background:var(--stone)}
.sheet .pic img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){
  .sheet{inset:auto 0 0 0;width:100vw;height:92dvh;border-radius:22px 22px 0 0;transform:translate3d(0,100%,0)}
  .sheet.is-open{transform:none}
}

/* ============================================================
   REDUCED MOTION: same journey, held still
   ============================================================ */
html.rm .hn-in,html.rm .ld,html.rm .dv{animation:none;opacity:1;filter:none;transform:none}
html.rm .overture .stage{min-height:100svh}
html.rm .dv video{display:none}
html.rm .dv img{opacity:1!important}

html.rm .shift,html.rm .dawn{height:auto}
html.rm .stage{position:relative;height:auto;min-height:100svh;padding:7rem 0}
html.rm .scrub .wd{opacity:1}
html.rm .letter-foot,html.rm .shift-close{opacity:1;transform:none}
html.rm .reel{height:auto;-webkit-mask-image:none;mask-image:none}
html.rm .reel-col span{font-size:clamp(2.6rem,7vw,6rem)}
html.rm .house{height:auto!important}
html.rm .house .stage{overflow-x:auto;scroll-snap-type:x mandatory}
html.rm .house .panel{scroll-snap-align:center}
html.rm .rise .w>span{transform:none;transition:none}

html.rm .dawn{--dp:1;--tp:1}
html.rm .sheet,html.rm .sheet::backdrop{transition:opacity .2s ease}
html.rm .sheet{transform:none;opacity:0}
html.rm .sheet.is-open{opacity:1}

/* ==========================================================================
   LUXURY LAYER: frosted panes in a house at first light, and an editorial type system
   ========================================================================== */
:root{
  --pane-d:rgba(30,27,23,.40); --pane-l:rgba(255,253,248,.46);
  --edge-d:rgba(255,238,208,.13); --edge-l:rgba(255,255,255,.78);
  --frost:blur(22px) saturate(160%);
  --lift-d:0 40px 80px -40px rgba(0,0,0,.65); --lift-l:0 34px 70px -38px rgba(74,58,34,.32);
}
body{font-feature-settings:"kern","liga"}
.display,.h2,.hero-name,.quote,.foot-mark,.sheet h2{font-feature-settings:"kern","liga","dlig"}
.prose,.hc-body,.sheet p{hanging-punctuation:first}

/* Ambient light: the warmth every pane catches */
.aura{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.38;transition:opacity 1.4s ease}
.aura.day{opacity:1}
.aura i{position:absolute;width:62vmax;height:62vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(224,193,136,.17),rgba(224,193,136,.05) 55%,transparent 72%);will-change:transform}
.aura i:nth-child(1){left:-18vmax;top:-12vmax;animation:drift1 46s ease-in-out infinite alternate}
.aura i:nth-child(2){right:-22vmax;top:28vh;animation:drift2 58s ease-in-out infinite alternate;background:radial-gradient(closest-side,rgba(201,169,110,.15),transparent 70%)}
.aura i:nth-child(3){left:22vw;bottom:-30vmax;animation:drift3 52s ease-in-out infinite alternate;background:radial-gradient(closest-side,rgba(255,236,200,.14),transparent 70%)}
@keyframes drift1{to{transform:translate3d(18vw,14vh,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(-16vw,-10vh,0) scale(.92)}}
@keyframes drift3{to{transform:translate3d(-12vw,-18vh,0) scale(1.08)}}

/* Panes */
.pane{position:relative;border-radius:22px;-webkit-backdrop-filter:var(--frost);backdrop-filter:var(--frost)}
.pane{background:linear-gradient(135deg,rgba(255,244,222,.07),transparent 42%),var(--pane-d);border:1px solid var(--edge-d);box-shadow:inset 0 1px 0 rgba(255,244,222,.16),inset 0 -1px 0 rgba(0,0,0,.25),var(--lift-d)}

@media (prefers-reduced-transparency:reduce){.pane{-webkit-backdrop-filter:none;backdrop-filter:none}.pane{background:var(--night2)}}

/* Chapter openers: roman numeral, gold hairline, tracked capitals */
.kicker{display:inline-flex;align-items:center;gap:.85rem;margin:0 0 1.3rem;font-family:var(--sans);font-weight:500;font-size:.7rem;line-height:1;letter-spacing:.34em;text-transform:uppercase;color:var(--goldd)}
.kicker .n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15rem;letter-spacing:0;text-transform:none}
.kicker i{width:2.6rem;height:1px;background:currentColor;opacity:.55}
.on-light .kicker{color:var(--gold-ink)}
.shift-kicker{margin-bottom:1.6rem}
.panel-intro .kicker{margin-bottom:0}
.h2{font-size:clamp(2.9rem,7vw,6.8rem);line-height:.92;letter-spacing:-.032em}

/* Buttons: polished gold, and glass */
.btn-gold{background:linear-gradient(180deg,#f0d9ac 0%,#dcbd80 100%);color:#1a1814;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(120,90,40,.25),0 14px 32px -16px rgba(224,193,136,.75)}
.btn-line{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(246,243,239,.24),inset 0 1px 0 rgba(255,255,255,.12)}
.sheet .btn-line{background:rgba(255,255,255,.55);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(44,42,39,.14),inset 0 1px 0 #fff,0 10px 26px -18px rgba(74,58,34,.5)}
.btn-ink{background:linear-gradient(180deg,#36332e,#1f1d1a);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 30px -18px rgba(19,18,16,.8)}
@media (hover:hover) and (pointer:fine){
  .btn-gold:hover{background:linear-gradient(180deg,#f5e2bb 0%,#e3c78f 100%)}
  
}

/* Nav: a floating pane */
.nav{inset:auto;top:calc(var(--safe-t) + 12px);left:var(--np);right:var(--np);padding:.45rem .45rem .45rem 1.35rem;border-radius:999px;border:1px solid transparent;transition:transform .55s var(--e-out),background-color .45s ease,border-color .45s ease,box-shadow .45s ease,color .4s ease}
.nav.is-solid{background:rgba(30,27,23,.48);border-color:var(--edge-d);box-shadow:inset 0 1px 0 rgba(255,244,222,.12),0 18px 40px -24px rgba(0,0,0,.7);-webkit-backdrop-filter:var(--frost);backdrop-filter:var(--frost)}
.nav.is-light.is-solid{background:rgba(255,253,248,.62);border-color:var(--edge-l);box-shadow:inset 0 1px 0 #fff,0 18px 40px -26px rgba(74,58,34,.4)}
.nav.is-hidden{transform:translateY(calc(-100% - 24px))}
.nav-links a{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
.nav-apply{background:rgba(19,18,16,.32);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:0 1.25rem}

/* Hero: tracked capitals, first light across the name, dust in the beam */
.hc-eyebrow{font-family:var(--sans);font-style:normal;font-weight:500;font-size:.72rem;letter-spacing:.36em;text-transform:uppercase;color:var(--goldd);margin-bottom:1rem}
.hero-name em{background:linear-gradient(100deg,var(--gold) 38%,#fff7e6 50%,var(--gold) 62%) 100% 0/260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:firstLight 2.4s 1.9s var(--e-io) both}
@keyframes firstLight{from{background-position:100% 0}to{background-position:0 0}}

@media (max-width:640px){.motes span:nth-child(n+5){display:none}}
@media (min-width:1101px){
  .hc-right{padding:1.7rem 1.8rem 1.6rem}
  .hc-right .hc-cta{margin-top:1.3rem}
}

/* The house: captions on glass plates over the photographs */
.shot{position:relative}
.shot .frame{height:min(68svh,640px);border-radius:10px}
.shot figcaption{position:absolute;left:1rem;bottom:1rem;display:block;max-width:min(27rem,calc(100% - 2rem));margin:0;padding:1.15rem 1.35rem 1.2rem;border-radius:16px;background:linear-gradient(135deg,rgba(255,244,222,.08),transparent 45%),rgba(19,18,16,.42);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--edge-d);box-shadow:inset 0 1px 0 rgba(255,244,222,.14)}
.shot h3{margin-bottom:.45rem}
.shot p{color:rgba(246,243,239,.8)}

/* The house in numbers */

.sk{margin-top:2rem;font-weight:500;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink)}
.sd{margin-top:.5rem;font-size:.92rem;color:#5d5852}

@media (max-width:480px){.sk{letter-spacing:.2em}}

/* People: plates on portraits, a glass caption on the banner */
.person{position:relative}
.person .pic{aspect-ratio:3/4}
.person .who{position:absolute;left:.65rem;right:.65rem;bottom:.65rem;margin:0;padding:.8rem .95rem;border-radius:13px;background:rgba(255,253,248,.6);-webkit-backdrop-filter:var(--frost);backdrop-filter:var(--frost);border:1px solid var(--edge-l);box-shadow:inset 0 1px 0 #fff,0 14px 30px -20px rgba(74,58,34,.5);transition:transform .35s var(--e-out)}
.person .nm{font-size:1.3rem}
.person .rl{font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}
@media (hover:hover) and (pointer:fine){.person:hover .who{transform:translateY(-4px)}}
@media (max-width:520px){.person .nm{font-size:1.05rem}.person .who{padding:.6rem .7rem}}
.people-banner p{padding:1rem 1.3rem;border-radius:16px;background:rgba(19,18,16,.34);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--edge-d);text-shadow:none}

/* Give and the invitation sit on open light now, so the panes catch the aura */
.give{background:transparent}

.contact{padding:1.6rem 1.8rem;border-top:0;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0) 46%),var(--pane-l);-webkit-backdrop-filter:var(--frost);backdrop-filter:var(--frost);border:1px solid var(--edge-l);box-shadow:inset 0 1px 0 #fff,var(--lift-l)}
.contact span{font-weight:500;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:.3rem}

/* Questions */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--gutter);align-items:start}
.faq-head{position:sticky;top:120px}
.faq-list{padding:.5rem clamp(1.1rem,2.6vw,2.2rem)}
.qa+.qa{border-top:1px solid rgba(44,42,39,.1)}
.q{display:flex;width:100%;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.4rem;padding:1.1rem 0;text-align:left;font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.2;color:var(--ink)}
.q i{position:relative;flex:0 0 auto;width:14px;height:14px}
.q i::before,.q i::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--gold-ink);transition:transform .3s var(--e-out)}
.q i::after{transform:rotate(90deg)}
.q[aria-expanded="true"] i::after{transform:rotate(0)}
.a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--e-out)}
.a>div{overflow:hidden}
.a p{padding:0 2.5rem 1.4rem 0;color:#55504a}
.qa.open .a{grid-template-rows:1fr}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-head{position:static}.a p{padding-right:0}}

/* The sheet: frosted, with an editorial interior */
.sheet{background:rgba(246,243,239,.84);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);border-left:1px solid var(--edge-l)}
.sheet-close{background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px rgba(44,42,39,.1)}
.sheet .label{font-family:var(--sans);font-style:normal;font-weight:500;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink)}
.sheet h2{font-size:clamp(2.4rem,5.4vw,3.6rem)}
.dropcap::first-letter{float:left;font-family:var(--serif);font-weight:300;font-size:4.9em;line-height:.78;padding:.05em .1em 0 0;color:var(--gold-ink)}
.article{position:relative;padding:1.3rem 0 .2rem 3.4rem;border-top:1px solid rgba(44,42,39,.1);margin-top:1.1rem}
.article .an{position:absolute;left:0;top:1.35rem;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--gold-ink)}
.article h3{margin-top:0;font-size:1.45rem}
.article p{margin-top:.45rem}
@media (max-width:640px){.sheet{border-left:0;border-top:1px solid var(--edge-l)}}

/* Footer: the monument */
.foot-mark{font-family:var(--serif);font-weight:300;font-size:clamp(5rem,22.5vw,22rem);line-height:.78;letter-spacing:-.055em;color:var(--dawn);margin:0 0 clamp(2rem,5vh,3.5rem) -.05em;white-space:nowrap}
.foot-mark em{font-style:italic;color:var(--gold)}
.foot nav a{font-size:.68rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.foot .mark{display:none}

html.rm .aura i{animation:none}

html.rm .hero-name em{animation:none;background-position:0 0}

/* ==========================================================================
   EDITORIAL + MATTE GLASS: glass as the motion, a sandblasted finish, the original voice
   ========================================================================== */
:root{--grain:url("../media/grain.webp");--matte-d:rgba(26,24,21,.6);--matte-l:rgba(249,246,241,.7);--frost-m:blur(26px) saturate(108%);--r:4px;--e-orig:cubic-bezier(.16,1,.3,1)}

.filmgrain{position:absolute;inset:-128px;pointer-events:none;background:var(--grain) 0 0/256px 256px repeat;mix-blend-mode:overlay;opacity:.12;will-change:transform}

/* The original menu */
#bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--goldd);box-shadow:0 0 8px rgba(201,169,110,.5);z-index:120;pointer-events:none}
.nav{inset:0 0 auto 0;border-radius:0;border:0;border-bottom:1px solid transparent;padding:calc(var(--safe-t) + 1.6rem) max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--dawn);transform:none!important;transition:background-color .5s ease,border-color .5s ease,padding .4s var(--e-orig)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(13,12,10,.55),transparent);transition:opacity .5s}
.nav.is-solid,.nav.is-light.is-solid{background:rgba(19,18,16,.92);border-color:rgba(246,243,239,.08);box-shadow:none;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);padding-top:calc(var(--safe-t) + 1.1rem);padding-bottom:1.1rem}
.nav.is-solid::before{opacity:0}
.nav.is-light{color:var(--dawn)}
.logo{display:flex;align-items:center;min-height:44px;font-family:'Montserrat',var(--sans);font-weight:800;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dawn);text-decoration:none;line-height:1;white-space:nowrap}
.logo svg{flex:0 0 auto;margin-right:.75rem}
.logo span{font-family:var(--sans);font-weight:300;font-size:.65rem;letter-spacing:.22em;color:var(--goldd);margin-left:.6rem;padding-left:.6rem;border-left:1px solid rgba(201,169,110,.35)}
.nav-links{gap:1.6rem}
.nav-links a{font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,239,.55);opacity:1;position:relative;transition:color .4s var(--e-orig),letter-spacing .4s var(--e-orig)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:1px;background:var(--goldd);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--e-orig)}
.nav-apply,.nav.is-light .nav-apply{display:inline-flex;align-items:center;min-height:44px;padding:0 1.6rem;border:1px solid rgba(201,169,110,.45);border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:var(--goldd);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:border-color .3s,color .3s,background-color .3s}
@media (hover:hover) and (pointer:fine){
  .nav-links a:hover{color:var(--dawn);letter-spacing:.24em}
  .nav-links a:hover::after{transform:scaleX(1)}
  .nav-apply:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,110,.08)}
}
@media (max-width:1100px){.nav-links{display:none}}
@media (max-width:520px){.logo span{display:none}}

/* The original buttons: square, tracked, a dark sweep and a travelling arrow */
.btn{border-radius:0;min-height:0;padding:1.15rem 2.4rem;gap:1rem;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:gap .4s var(--e-orig),color .3s,border-color .3s,background-color .3s,transform .16s var(--e-out)}
.btn:not([data-sheet])::after{content:"\2192";font-size:13px;letter-spacing:0;line-height:1}
.btn:active{transform:scale(.98)}
.btn-gold{background:var(--gold);color:var(--night);box-shadow:none}
.btn-gold::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--night);transform:translateX(-101%);transition:transform .45s var(--e-orig)}
.btn-line{background:transparent;color:rgba(246,243,239,.82);border:1px solid rgba(246,243,239,.22);box-shadow:none}
.sheet .btn-line{background:transparent;color:var(--ink);border-color:rgba(44,42,39,.28);box-shadow:none}

.btn-ink{background:var(--ink);color:var(--dawn);box-shadow:none}

@media (hover:hover) and (pointer:fine){
  .btn-gold:hover{background:var(--gold);color:var(--dawn);gap:1.6rem}
  .btn-gold:hover::before{transform:none}
  .btn-line:hover{border-color:rgba(246,243,239,.5);color:var(--dawn);gap:1.5rem;background:transparent}
  .sheet .btn-line:hover{border-color:var(--ink);color:var(--ink);background:transparent}
  
  .btn-ink:hover{background:#3d3b37;gap:1.5rem}
}

/* The original cursor */
#cur-glow{position:fixed;left:-400px;top:-400px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.07) 0%,transparent 70%);pointer-events:none;z-index:9996;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}
#cur-dot{position:fixed;left:-99px;top:-99px;width:7px;height:7px;background:var(--goldd);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);opacity:0;transition:width .35s var(--e-orig),height .35s var(--e-orig),background .3s,opacity .3s}
#cur-ring{position:fixed;left:-99px;top:-99px;width:34px;height:34px;border:1px solid rgba(201,169,110,.55);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);opacity:0;transition:width .5s var(--e-orig),height .5s var(--e-orig),border-color .35s,background .35s,opacity .3s}
body.cursor-active #cur-dot,body.cursor-active #cur-ring,body.cursor-active #cur-glow{opacity:1}
body.cursor-gone #cur-dot,body.cursor-gone #cur-ring,body.cursor-gone #cur-glow{opacity:0!important}
body.cursor-hover #cur-dot{width:4px;height:4px;opacity:.45}
body.cursor-hover #cur-ring{width:46px;height:46px;border-color:var(--goldd)}
body.cursor-link #cur-dot{width:0;height:0;opacity:0}
body.cursor-link #cur-ring{width:22px;height:22px;background:rgba(201,169,110,.15);border-color:var(--goldd)}
body.cursor-cta #cur-dot{width:6px;height:6px;opacity:1;background:var(--goldd)}
body.cursor-cta #cur-ring{width:64px;height:64px;background:rgba(201,169,110,.06);border:1.5px solid var(--goldd)}
@media (hover:none),(pointer:coarse){#cur-glow,#cur-dot,#cur-ring{display:none}}

/* Hero: a magazine cover. The masthead sits behind David; his light passes over the letters */
.overture{height:240vh}
.dv-amb{position:absolute;left:-8%;top:-8%;width:116%;height:116%;z-index:0;filter:blur(46px) saturate(.85) brightness(.48);opacity:0;transition:opacity 1.4s ease}
.dv-amb.on{opacity:1}
.mast{position:absolute;z-index:1;left:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));right:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));top:calc(var(--safe-t) + clamp(92px,12vh,132px));will-change:transform,opacity}
.mast .hero-name{font-size:clamp(5.6rem,15.5vw,15.5rem);line-height:.8}
.mast .hc-eyebrow{margin-bottom:1.1rem}
.dv{z-index:2;mix-blend-mode:screen;top:53%;width:min(80vw,126svh);-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,transparent 100%)}
.dv-shade{z-index:3;background:linear-gradient(to top,rgba(19,18,16,.94) 0%,rgba(19,18,16,.5) 24%,transparent 42%),radial-gradient(95% 95% at 50% 48%,transparent 58%,rgba(19,18,16,.4) 100%)}

.hero-foot{position:absolute;z-index:4;left:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));right:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));bottom:calc(var(--safe-b) + clamp(2rem,5vh,3.5rem));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:2rem var(--gutter);align-items:end;will-change:transform,opacity}
.cover-tag{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 0;margin-bottom:1rem;font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:rgba(246,243,239,.62)}
.cover-tag span+span::before{content:"";display:inline-block;width:1.4rem;height:1px;margin:0 1rem;vertical-align:middle;background:rgba(201,169,110,.55)}
.cover-tag span:last-child{color:var(--goldd)}
.hero-foot .hc-meta{margin-top:0}
.hc-right{padding:1.6rem 1.75rem}
.hc-cta{gap:.75rem 1rem}

@media (max-width:1100px){
  .mast{top:calc(var(--safe-t) + 86px)}
  .mast .hero-name{font-size:clamp(4rem,19vw,7.5rem)}
  .dv{top:13svh;translate:-50% 0;width:max(100vw,86svh);-webkit-mask-image:radial-gradient(closest-side,#000 50%,transparent 100%);mask-image:radial-gradient(closest-side,#000 50%,transparent 100%)}
  .hero-foot{display:flex;flex-direction:column;align-items:stretch;gap:1rem;bottom:calc(var(--safe-b) + 1.25rem)}
  .hero-foot .hc-right{display:block;order:1;padding:1.2rem 1.3rem}
  .hero-foot .hf-left{order:2}
  .hc-body{font-size:.95rem}
  .hc-line{font-size:1.2rem;margin-top:.6rem}
  .hc-cta .btn{padding:1rem 1.4rem}
  .hero-foot .hc-meta{display:none}
  .cover-tag{font-size:.56rem;letter-spacing:.2em;flex-wrap:nowrap;white-space:nowrap}
  .cover-tag span+span::before{width:.8rem;margin:0 .55rem}
}

/* Matte glass: sandblasted, grained, no shine */
.pane,.contact,.faq-list,.shot figcaption,.person .who,.people-banner p{border-radius:var(--r);isolation:isolate}
.pane{background:var(--matte-d);border:1px solid rgba(246,243,239,.08);box-shadow:none;-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m)}
.contact{background:var(--matte-l);border:1px solid rgba(44,42,39,.07);box-shadow:none;-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m)}
.pane::before,.contact::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.38}
.contact{position:relative}

.shot figcaption{background:rgba(19,18,16,.5);-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m);border:1px solid rgba(246,243,239,.07);box-shadow:none}
.fig{display:block;margin-bottom:.6rem;font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--goldd)}
.person .who{background:rgba(249,246,241,.72);-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m);border:1px solid rgba(44,42,39,.06);box-shadow:none}
.people-banner p{background:rgba(19,18,16,.45);-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m);border:1px solid rgba(246,243,239,.08)}
.sheet{background:rgba(246,243,239,.9);-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m)}

.shot .frame,.person .pic,.people-banner{border-radius:var(--r);position:relative;overflow:hidden}

/* ...and panes condense into place like breath on a window */
.gi{opacity:0;transform:translate3d(0,28px,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .9s var(--e-out),transform 1.1s var(--e-out),-webkit-backdrop-filter 1.5s var(--e-out),backdrop-filter 1.5s var(--e-out)}
.gi.in{opacity:1;transform:none;-webkit-backdrop-filter:var(--frost-m);backdrop-filter:var(--frost-m)}

/* ===== Hero ending: the turn settles into the still, the still sinks into the letter ===== */
.dv .filmgrain{z-index:4}
.dv-end{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;opacity:var(--end,0);filter:sepia(.16) contrast(1.06) brightness(.97)}

/* Giving gets the photograph that used to sit behind the letter */
.give-photo{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:var(--r);margin:0 0 1.25rem;background:var(--stone)}
.give-photo img{width:100%;height:100%;object-fit:cover}
/* ===== The still stays: the letter is written in front of him ===== */
.overture{height:500vh}
.dv{translate:calc(-50% + var(--dx,0px)) -50%}
.ov-scrim{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:var(--lt,0);background:linear-gradient(to left,rgba(19,18,16,.88) 0%,rgba(19,18,16,.55) 30%,transparent 56%)}
.ov-letter{position:absolute;z-index:4;right:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));top:50%;translate:0 -50%;width:min(34rem,38vw);opacity:var(--lt,0);visibility:hidden}
.ov-letter.on{visibility:visible}
.ov-letter .scrub{font-size:clamp(1.35rem,.85rem + 1.15vw,2.2rem);line-height:1.22;max-width:none;margin-top:1rem}
.ov-letter .letter-foot{margin-top:1.6rem}

/* Smoke drifting through the light */
.water{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0;transition:opacity 1.6s ease}
.water.on{opacity:1}
@media (max-width:1100px){
  .ov-scrim{background:linear-gradient(to top,rgba(19,18,16,.96) 0%,rgba(19,18,16,.82) 46%,transparent 72%)}
  .ov-letter{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(var(--safe-b) + 1.75rem);translate:none;width:auto}
  .ov-letter .scrub{font-size:clamp(1.15rem,4.6vw,1.45rem)}
}
html.rm .overture .stage{position:sticky;top:0;height:100svh;min-height:0;padding:0}
html.rm .water{display:none}
@media (max-width:1100px){.dv{translate:-50% 0}}

/* ===== One character: David lives behind the whole site ===== */
.char{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--night);opacity:1}
.overture .stage,html.rm .overture .stage{background:transparent!important}
.dv-end,.dv-end2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.16) contrast(1.06) brightness(.97)}
.dv-end{z-index:3;opacity:var(--end,0)}
.dv-end2{z-index:3;opacity:var(--end2,0)}
/* The finale */
.finale{height:380vh}
.finale .stage{align-items:center}
.fin-in{color:var(--dawn)}
.fin-in .display{font-size:clamp(4rem,8.4vw,8.2rem);max-width:5.6em}
.fin-in .prose{margin-top:1.8rem;max-width:30rem}
.fin-in .invite-acts{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;align-items:center;margin-top:1.8rem}
.fin-in .invite-acts .txtlink{color:var(--dawn)}
.fin-contact{display:grid;grid-template-columns:auto auto;justify-content:start;gap:1rem 3rem;margin-top:2.4rem;max-width:none;width:max-content;background:var(--matte-d)!important;border-color:rgba(246,243,239,.08)!important}
.fin-contact a{color:var(--dawn);font-size:clamp(1.15rem,1.5vw,1.45rem)}
.fin-contact span{color:var(--goldd)!important}
@media (max-width:1100px){
  .finale .stage{align-items:flex-end;padding-bottom:calc(var(--safe-b) + 1.5rem)}
  .fin-in .display{font-size:clamp(3rem,13vw,4.6rem)}
  .fin-contact{grid-template-columns:1fr;width:auto}
}

@media (max-width:1100px){
  .finale .stage::before,.shift .stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}
  .finale .stage::before{background:linear-gradient(to top,rgba(19,18,16,.95) 0%,rgba(19,18,16,.78) 52%,rgba(19,18,16,.2) 78%,transparent 100%)}
  .shift .stage::before{background:linear-gradient(to bottom,rgba(19,18,16,.92) 0%,rgba(19,18,16,.7) 55%,rgba(19,18,16,.25) 80%,transparent 100%)}
  .finale .wrap,.shift .wrap{position:relative;z-index:1}
}

/* ===== Restored chapters ===== */

.sub-k{display:block;margin-bottom:1rem;font-size:.64rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink)}

.member-h{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.1;color:var(--ink)}

.member{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(2.5rem,6vh,4rem);padding:clamp(1.6rem,3vw,2.8rem)}
.member-h{margin-bottom:1rem}

.ahead{margin-top:clamp(2.5rem,6vh,3.5rem);max-width:44rem;font-family:var(--serif);font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.35;color:var(--ink)}
.ahead .sub-k{display:inline;margin:0 .8rem 0 0}
.ahead em{color:var(--gold-ink)}

.faq-acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.fin-reasons{display:inline-flex;margin-top:1.4rem;color:var(--goldd);font-size:.95rem}
.sheet h3+ul{margin-top:.8rem}
.sheet strong{font-weight:500;color:var(--ink)}
@media (max-width:860px){.member{grid-template-columns:1fr}}

@media (max-width:1100px){
  .fin-in .display{font-size:clamp(2.6rem,11vw,3.6rem)}
  .fin-in .prose{margin-top:1rem;font-size:.92rem;line-height:1.55}
  .fin-in .invite-acts{margin-top:1.1rem}
  .fin-reasons{margin-top:.8rem;min-height:40px}
  .fin-contact{margin-top:1rem;padding:1rem 1.2rem!important;gap:.6rem}
  .fin-contact a{min-height:36px}
}
@media (max-width:1100px) and (max-height:740px){.fin-contact{display:none}.fin-in .prose{font-size:.88rem}}

/* ==========================================================================
   NIGHT, ETHEREAL, MATTE: one continuous night, layered matte planes, mist
   ========================================================================== */
:root{--m1:linear-gradient(180deg,rgba(40,37,32,.80),rgba(27,25,22,.72));--m2:linear-gradient(180deg,rgba(32,29,26,.86),rgba(22,20,18,.82));--m-edge:rgba(246,243,239,.05);--m-shadow:0 50px 100px -50px rgba(0,0,0,.75)}
/* every former daylight chapter now reads in the night */
.on-light{color:var(--dawn)}
.on-light .kicker{color:var(--goldd)}

.quote,.ahead,.member-h,.q,.person .nm,.give-list li,.shot h3{color:var(--dawn)}
.sd,.a p,.give-note{color:rgba(246,243,239,.58)}
.sub-k,.sk,.rl,.contact span,.ahead em,.fig,.person .more{color:var(--goldd)}
.give-list,.give-list li,.qa+.qa{border-color:rgba(246,243,239,.09)}
.q i::before,.q i::after{background:var(--goldd)}

.dawn-text{color:var(--dawn)!important}
.dawn-light{background:radial-gradient(55% 65% at 74% 46%,rgba(255,226,180,calc(var(--dp) * .22)),transparent 70%)!important}
.dawn .btn-ink{background:var(--gold);color:var(--night)}
/* matte planes, layered: no blur, no gloss */
.pane,.contact,.faq-list,.member,.fin-contact,.hc-right{background:var(--m1)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid var(--m-edge)!important;box-shadow:var(--m-shadow)!important}
.member,.faq-list{background:var(--m2)!important}
.shot figcaption,.person .who,.people-banner p{background:rgba(22,20,18,.84)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid var(--m-edge)!important;box-shadow:none!important}
.person .pic,.people-banner,.give-photo,.shot .frame{background:#1d1b18}

.sheet{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f3efe8}

.gi,.gi.in{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.gi{transform:translate3d(0,36px,0);filter:blur(8px);transition:opacity 1.1s var(--e-out),transform 1.3s var(--e-out),filter 1.2s var(--e-out)}
.gi.in{filter:none}
/* ethereal: soft mist breathing at the edge of every chapter */
.sec{position:relative}
.sec::before{content:"";position:absolute;left:0;right:0;top:0;height:28vh;pointer-events:none;z-index:-1;background:radial-gradient(70% 100% at 50% 0%,rgba(224,193,136,.05),transparent 70%)}
/* the matte finish across every David scene */
.char .matte{position:absolute;inset:0;z-index:4;pointer-events:none;background:#25221e;mix-blend-mode:lighten;opacity:.92}
.char .haze{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(90% 80% at 50% 40%,rgba(236,226,208,.05),rgba(19,18,16,.10) 100%)}
.char .mgrain{position:absolute;inset:-60px;z-index:6;pointer-events:none;background:var(--grain) 0 0/220px 220px;mix-blend-mode:overlay;opacity:.28}
.dv video,.dv img,.dv-end,.dv-end2{filter:sepia(.14) contrast(.9) saturate(.85) brightness(.97)!important}
/* mist: softer, dissolved */
.water{filter:blur(10px);opacity:0}
.water.on{opacity:.95}
html.rm .char .mgrain{display:none}

/* no lines between chapters */
.contact,.foot-legal{border-top:0!important}
.sec{padding:clamp(7rem,18vh,12rem) 0}
.sec+.sec{padding-top:clamp(5rem,12vh,8rem)}
/* cinematic composition: content left, David owns the right third */
.chap{isolation:isolate}
.char .read{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:var(--read,0);background:linear-gradient(90deg,rgba(17,16,14,.86) 0%,rgba(17,16,14,.66) 40%,rgba(17,16,14,.16) 64%,transparent 78%)}
@media (min-width:1101px){.chap>.wrap>*,.chap .faq-grid>*{max-width:min(62%,56rem)}}
@media (max-width:1100px){.char .read{background:rgba(17,16,14,.62)}}
/* readable body type */
.body,.deck{font-size:clamp(1.02rem,1.15vw,1.16rem);line-height:1.72;color:rgba(246,243,239,.8);max-width:38rem}
.deck{margin-top:1.5rem}
.body{margin-top:1.4rem}
.pull{margin:clamp(2.5rem,6vh,4rem) 0 0;max-width:15em;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.9rem,3.3vw,3.1rem);line-height:1.1;letter-spacing:-.015em;color:var(--dawn)}

/* chapter opener: a ghost numeral settles behind the headline, the rule draws in */
.ch-open{position:relative;margin-bottom:clamp(2.5rem,6vh,4rem)}
.ch-num{position:absolute;left:-.04em;top:-.5em;z-index:-1;font-family:var(--serif);font-weight:300;font-size:clamp(8rem,24vw,22rem);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(224,193,136,.22);opacity:calc(.15 + var(--chi,0) * .85);transform:translate3d(0,calc((1 - var(--chi,0)) * 60px + var(--chp,0) * -50px),0) scale(calc(1.08 - var(--chi,0) * .08));filter:blur(calc((1 - var(--chi,0)) * 10px));pointer-events:none;white-space:nowrap}
.ch-open .kicker i{transform:scaleX(var(--chi,0));transform-origin:left;transition:none}
.ch-open .h2{font-size:clamp(3rem,7.2vw,7rem)}

/* IV. the deck of anchors */
.deck-pin{height:300vh;position:relative}
.deck-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.deck-in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;position:relative}
.deck-num{height:1em;overflow:hidden;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(7rem,15vw,14rem);line-height:1;color:var(--gold)}
.deck-reel span{display:block;height:1em}
.deck-cards{position:relative;min-height:16rem}
.dcard{position:absolute;inset:0 0 auto 0;will-change:transform,opacity,filter}
.dcard h3{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1;letter-spacing:-.02em;color:var(--dawn);margin-bottom:1.1rem}
.dcard p:not(.sub-k){font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.65;color:rgba(246,243,239,.78);max-width:30rem}
.deck-bar{position:absolute;left:var(--gutter);right:auto;bottom:-14vh;width:min(26rem,60%);height:1px;background:rgba(246,243,239,.12)}
.deck-bar i{position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--dk,0));transform-origin:left}
@media (min-width:1101px){.deck-in{max-width:calc(62% + var(--gutter));margin:0}}
/* IV. the pattern lights line by line */
.align{margin-top:clamp(2rem,6vh,4rem)}
.align-list{list-style:none;position:relative}
.align-list li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);align-items:baseline;padding:.95rem 0;font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,2.2rem);line-height:1.2;color:var(--dawn);opacity:calc(.16 + var(--lit,0) * .84);transform:translate3d(calc((1 - var(--lit,0)) * 18px),0,0);filter:blur(calc((1 - var(--lit,0)) * 3px))}
.align-list li span{font-style:italic;font-size:1rem;color:var(--goldd)}

/* V. & X. figures that fill with ink */
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vh,3.5rem) clamp(1.5rem,3vw,3rem);margin-top:clamp(1rem,3vh,2rem)}
.commit{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:clamp(2rem,5vh,3rem)}
.fgc{background:none!important;border:0!important;box-shadow:none!important;padding:0}
.fg{font-family:var(--serif);font-weight:300;font-size:clamp(3.4rem,5.4vw,5.8rem);line-height:.9;letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.fg span,.fg em{color:transparent;-webkit-text-stroke:1px var(--goldd);transition:color 1.4s var(--e-out) .25s,-webkit-text-stroke-color 1.4s var(--e-out) .25s;font-style:normal}
.fgc.in .fg span,.fgc.in .fg em{color:var(--dawn);-webkit-text-stroke-color:transparent}
.fg em{font-size:.55em;margin-left:.05em}

.commit .fg{font-size:clamp(2.9rem,4.1vw,4.3rem)}
.fgc .sk{margin-top:1.2rem}
.fgc .sd{margin-top:.4rem;max-width:16rem}
@media (max-width:860px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.commit{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* marquees: kinetic type that answers your scroll */
.marq{overflow:hidden;white-space:nowrap;pointer-events:none}
.marq-track{display:inline-flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);will-change:transform;padding-right:clamp(1.5rem,3vw,3rem)}
.marq .ring{width:clamp(.9rem,1.6vw,1.6rem);height:auto;flex:0 0 auto}
.interlude{position:relative;padding:clamp(4rem,10vh,7rem) 0;overflow:hidden}
.marq-a span{font-family:var(--serif);font-weight:300;font-size:clamp(5rem,14vw,13rem);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(224,193,136,.55)}
.marq-a span:nth-of-type(3n+2){color:var(--dawn);-webkit-text-stroke:0;font-style:italic}
.marq-b{margin-top:clamp(.5rem,2vh,1.5rem)}
.marq-b span{font-family:var(--sans);font-weight:500;font-size:clamp(.8rem,1vw,1rem);letter-spacing:.42em;text-transform:uppercase;color:rgba(246,243,239,.6)}
.marq-b .ring{width:.7rem}

.marq-give{margin:clamp(3rem,8vh,5rem) 0 clamp(1.5rem,4vh,2.5rem)}
.marq-give span{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.02em;color:var(--dawn)}

/* VIII. a gold line draws itself through what a man carries forward */
.path{position:relative;margin-top:clamp(3rem,7vh,4.5rem);padding-left:2.6rem}
.path .sub-k{margin-left:-2.6rem}
.path-line{position:absolute;left:.45rem;top:2.6rem;bottom:1.2rem;width:1px;background:rgba(246,243,239,.12)}
.path-line b{position:absolute;inset:0;background:linear-gradient(var(--gold),var(--goldd));transform:scaleY(var(--pp,0));transform-origin:top;box-shadow:0 0 12px rgba(224,193,136,.5)}
.path-list{list-style:none}
.path-list li{position:relative;padding:1.05rem 0;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.2;color:var(--dawn);opacity:calc(.2 + var(--on,0) * .8);transition:opacity .6s var(--e-out)}
.path-list .node{position:absolute;left:-2.6rem;top:1.45rem;width:.95rem;height:.95rem;border-radius:50%;border:1px solid rgba(224,193,136,.45);background:var(--night);transform:scale(calc(.6 + var(--on,0) * .4));transition:background-color .5s,box-shadow .5s,transform .5s var(--e-out)}
.path-list li.on .node{background:var(--gold);box-shadow:0 0 18px rgba(224,193,136,.7)}
.member.band{margin-top:clamp(3.5rem,8vh,5rem);background:linear-gradient(120deg,rgba(201,169,110,.16),rgba(30,27,23,.6) 55%)!important;border:0!important;border-left:2px solid var(--gold)!important;box-shadow:none!important;border-radius:0}

/* IX. leadership: an editorial stagger */
@media (min-width:861px){.people .person:nth-child(even){transform:translateY(3rem)}}
.people{margin-bottom:3rem}

/* XI. give */
.give-q{margin-top:clamp(1rem,3vh,2rem);max-width:18em;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.1;color:var(--dawn)}
.give-photo{margin-top:clamp(2.5rem,6vh,4rem);aspect-ratio:16/9;max-width:none}

/* XII. roles flood with gold */
.roles2{margin-top:.5rem}
.role2{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 2rem;padding:1.6rem 1.4rem;margin:0 -1.4rem;text-decoration:none;color:var(--dawn);overflow:hidden;isolation:isolate}
.role2::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e-orig)}
.r2-t{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.02em;transition:transform .5s var(--e-orig)}
.r2-m{align-self:center;font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--goldd);text-align:right}
.r2-d{grid-column:1/-1;max-width:34rem;color:rgba(246,243,239,.66);font-size:.98rem}
.r2-a{grid-column:1/-1;font-size:.66rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.r2-a::after{content:" \2192"}
@media (hover:hover) and (pointer:fine){
  .role2:hover::before{transform:scaleX(1)}
  .role2:hover,.role2:hover .r2-m,.role2:hover .r2-d,.role2:hover .r2-a{color:var(--night)}
  .role2:hover .r2-t{transform:translateX(.6rem)}
}
.role2:focus-visible::before{transform:scaleX(1)}
.role2:focus-visible,.role2:focus-visible *{color:var(--night)!important}
.amb2{margin-top:clamp(3.5rem,8vh,5rem);padding:clamp(2rem,4vw,3.2rem);background:linear-gradient(160deg,rgba(214,186,132,.95),rgba(186,156,102,.9));color:var(--night)}
.amb2 .sub-k{color:rgba(19,18,16,.7)}
.amb2 h3{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;margin-bottom:1rem}
.amb2 p:not(.sub-k){max-width:36rem;color:rgba(19,18,16,.8);margin-bottom:1.6rem}
.amb2 .btn-ink{background:var(--night)}

/* XIII. questions without the box */
.faq .faq-grid{display:block}
.faq .faq-head{position:static}
.faq-list{margin-top:1.5rem;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.faq .qa+.qa{border-top:1px solid rgba(246,243,239,.07)}
.faq .q{font-size:clamp(1.25rem,1.9vw,1.75rem);min-height:4.8rem}

/* ===== Navigation: the Index and the chapter rail ===== */
.nav-r{display:flex;align-items:center;gap:.7rem}
.nav-index{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;padding:0 1.1rem;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--dawn)}
.nav-index i{position:relative;width:16px;height:7px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:height .3s var(--e-orig)}
@media (hover:hover) and (pointer:fine){.nav-index:hover i{height:11px}}
.rail{position:fixed;right:clamp(.9rem,1.6vw,1.6rem);top:50%;z-index:45;transform:translate3d(14px,-50%,0);opacity:0;pointer-events:none;transition:opacity .6s var(--e-out),transform .6s var(--e-out)}
.rail.on{opacity:1;transform:translate3d(0,-50%,0);pointer-events:auto}
.rail ol{list-style:none;display:flex;flex-direction:column;gap:.15rem;align-items:flex-end}
.rail a{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:26px;text-decoration:none;color:rgba(246,243,239,.38)}
.rail .rn{font-family:var(--serif);font-style:italic;font-size:.9rem;min-width:2.2rem;text-align:right;transition:color .3s}
.rail .rt{position:absolute;right:calc(100% + .9rem);top:50%;margin-top:-.45em;font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--dawn);opacity:0;transform:translateX(8px);transition:opacity .35s var(--e-out),transform .35s var(--e-out);white-space:nowrap}
.rail li.on .rn{color:var(--gold)}
.rail li.on .rt{opacity:1;transform:none}
@media (hover:hover) and (pointer:fine){.rail a:hover .rt{opacity:1;transform:none}.rail a:hover .rn{color:var(--dawn)}}
.rail-line{position:absolute;right:-.7rem;top:0;bottom:0;width:1px;background:rgba(246,243,239,.1)}
.rail-line b{position:absolute;inset:0;background:var(--gold);transform:scaleY(var(--rp,0));transform-origin:top}
.chip{position:fixed;left:50%;bottom:calc(var(--safe-b) + 14px);z-index:45;display:none;align-items:center;gap:.7rem;min-height:44px;padding:0 1.2rem;background:rgba(19,18,16,.9);border:1px solid rgba(246,243,239,.1);transform:translate3d(-50%,140%,0);transition:transform .5s var(--e-out);white-space:nowrap}
.chip.on{transform:translate3d(-50%,0,0)}
.chip-n{font-family:var(--serif);font-style:italic;color:var(--gold)}
.chip-t{font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--dawn)}
@media (max-width:1100px){.rail{display:none}.chip{display:inline-flex}.nav-index{padding:0 .6rem}}
/* the Index */
.index{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#100f0d;color:var(--dawn);opacity:0;transition:opacity .45s var(--e-out)}
.index[open].is-open{opacity:1}
.index::backdrop{background:transparent}
.index::before{content:"";position:absolute;inset:0;background:var(--grain) 0 0/220px 220px;mix-blend-mode:overlay;opacity:.3;pointer-events:none}
.index-in{position:relative;height:100%;overflow-y:auto;padding:calc(var(--safe-t) + 6rem) max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter))) 4rem}
.index-close{position:fixed;top:calc(var(--safe-t) + 1.4rem);right:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));width:48px;height:48px;display:grid;place-items:center;color:var(--dawn);border:1px solid rgba(246,243,239,.18);z-index:2}
.index-close svg{width:16px;height:16px}
.index-list{list-style:none;columns:2;column-gap:clamp(2rem,6vw,6rem);margin-top:1rem}
.index-list li{break-inside:avoid;opacity:0;transform:translate3d(0,24px,0);filter:blur(6px);transition:opacity .7s var(--e-out),transform .8s var(--e-out),filter .7s var(--e-out);transition-delay:calc(var(--i) * 45ms + 120ms)}
.index.is-open .index-list li{opacity:1;transform:none;filter:none}
.index-list a{position:relative;display:flex;align-items:baseline;gap:1.4rem;padding:.75rem 0;text-decoration:none;color:var(--dawn);overflow:hidden}
.index-list a::after{content:"";position:absolute;left:0;bottom:.35rem;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e-orig)}
.ix-n{flex:0 0 3rem;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--goldd)}
.ix-t{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.4vw,3.2rem);line-height:1.05;letter-spacing:-.02em;transition:transform .5s var(--e-orig)}
@media (hover:hover) and (pointer:fine){.index-list a:hover::after{transform:scaleX(1)}.index-list a:hover .ix-t{transform:translateX(.6rem)}}
@media (max-width:760px){.index-list{columns:1}.ix-t{font-size:1.7rem}}
html.rm .index-list li{transition:none;opacity:1;transform:none;filter:none}
html.rm .ch-num,html.rm .align-list li,html.rm .dcard{transform:none!important;filter:none!important}
html.rm .deck-pin{height:auto}
html.rm .deck-stage{position:relative;height:auto;padding:4rem 0}
html.rm .deck-cards{min-height:0}
html.rm .dcard{position:relative;opacity:1!important;margin-bottom:2rem}
html.rm .deck-num,html.rm .deck-bar{display:none}
html.rm .align-list li{opacity:1}
html.rm .fg span,html.rm .fg em{color:var(--dawn);-webkit-text-stroke:0}
@media (max-width:760px){.role2{grid-template-columns:1fr;gap:.5rem}.r2-m{text-align:left}.r2-t{font-size:clamp(2rem,9vw,2.6rem)}}

/* ==========================================================================
   FLORENTINE INSCRIPTION: carved capitals, a scribe's italic, wider margins, one continuous night
   ========================================================================== */
:root{--display:"Cinzel","Trajan Pro",Georgia,serif;--maxw:1600px;--gutter:clamp(1.25rem,4.4vw,5rem)}
/* wider: the reading column opens up */
@media (min-width:1101px){.chap>.wrap>*,.chap .faq-grid>*{max-width:min(70%,64rem)}}
/* no layers between chapters */
.sec::before{display:none!important}
.chap{isolation:auto}
.sec{padding:clamp(6rem,15vh,10rem) 0}
.sec+.sec,.interlude+.sec{padding-top:clamp(4rem,10vh,7rem)}
/* the carved capitals */
.h2,.ch-open .h2,.display,.hero-name,.dcard h3,.fg,.marq-a span,.r2-t,.pl-num,.pl-name,.foot-mark,.ix-t,.reel-col span,.amb2 h3,.member-h,.shot h3{font-family:var(--display)!important;font-style:normal!important}
.h2,.ch-open .h2{font-weight:400;font-size:clamp(2.3rem,4.6vw,4.6rem);line-height:1.08;letter-spacing:.01em}
.hero-name{font-weight:400;letter-spacing:.015em;font-size:clamp(3.6rem,9.6vw,10rem)!important;line-height:.95!important}
.hero-name em{font-style:normal!important}
.display,.fin-in .display{font-weight:400;letter-spacing:.01em;line-height:1.04}
.fin-in .display{font-size:clamp(2.8rem,5.6vw,5.6rem)!important;max-width:9em}
.dawn-text .display{font-size:clamp(2.4rem,5vw,4.8rem)!important;line-height:1.08}
.dcard h3{font-weight:400;font-size:clamp(1.7rem,3vw,2.9rem);line-height:1.1;letter-spacing:.01em}
.amb2 h3,.member-h{font-weight:400;font-size:clamp(1.6rem,2.8vw,2.6rem);letter-spacing:.01em}
.shot h3{font-weight:500;font-size:clamp(1.05rem,1.4vw,1.35rem);letter-spacing:.06em}
.foot-mark{font-weight:400;letter-spacing:.02em;font-size:clamp(3.4rem,12vw,12rem)!important}
.foot-mark em{font-style:normal!important}
/* roman numerals: the same carved figures everywhere */
.kicker .n,.rail .rn,.ix-n,.an,.align-list li span,.deck-num,.ch-num,.article .an{font-family:var(--display)!important;font-style:normal!important}
.kicker .n{font-size:.95rem;font-weight:500;letter-spacing:.06em}
.ch-num{font-weight:400;font-size:clamp(7rem,17vw,15rem);letter-spacing:.02em;top:0!important;-webkit-text-stroke:1px rgba(224,193,136,.2)}
.ch-open{padding-top:clamp(3.5rem,9vw,8.5rem)}
.deck-num{font-weight:400;font-size:clamp(5.5rem,11vw,10rem);color:var(--gold)}
.rail .rn{font-size:.72rem;font-weight:500;letter-spacing:.06em}
.ix-n{font-size:.9rem;font-weight:500}
.ix-t{font-weight:400;font-size:clamp(1.3rem,2.5vw,2.3rem);letter-spacing:.02em}
.align-list li span,.article .an{font-size:.85rem;font-weight:500}
/* no clipped letters: the masks breathe above and below */
.rise .w{padding:.1em .04em .18em;margin:-.1em -.04em -.18em}
/* the shift reads in stone */
.reel-col span{font-size:clamp(2.6rem,7.2vw,7rem)!important;letter-spacing:.02em;line-height:1.15!important}
.reel{height:calc(clamp(2.6rem,7.2vw,7rem) * 1.15)!important}
/* the interlude: carved letters, alternating filled and cut */
.marq-a span{font-weight:400;font-size:clamp(3.6rem,9vw,8.4rem);letter-spacing:.04em;color:transparent!important;-webkit-text-stroke:1px rgba(224,193,136,.6)!important}
.marq-a span:nth-of-type(3n+2){color:var(--dawn)!important;-webkit-text-stroke:0!important}

.fg{font-weight:400;letter-spacing:.02em}
.r2-t{font-weight:400;font-size:clamp(1.6rem,3vw,2.8rem);letter-spacing:.02em}

/* the menu: pills */
.nav-apply,.nav.is-light .nav-apply{border-radius:999px;padding:0 1.5rem;background:var(--gold);color:var(--night);border-color:var(--gold)}
.nav-support{display:inline-flex;align-items:center;min-height:44px;padding:0 1.35rem;border-radius:999px;border:1px solid rgba(246,243,239,.28);color:var(--dawn);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:border-color .3s,background-color .3s}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:#ecd3a3;color:var(--night)}.nav-support:hover{border-color:var(--gold);background:rgba(201,169,110,.08)}}
@media (max-width:640px){.nav-support{display:none}}
.index-acts{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}

/* III. the house: photos fill their frames, no curtain */
.shot .frame img{inset:0!important;width:100%!important;height:100%!important;object-fit:cover}

.shot figcaption{left:1.2rem;right:auto;bottom:1.2rem}

/* V. pathways: three pillars */
.pillars{display:flex;gap:clamp(.6rem,1vw,1rem);height:min(76svh,660px);margin-top:.5rem}
.pillar{position:relative;flex:1 1 0;min-width:0;overflow:hidden;transition:flex-grow .8s var(--e-orig);background:linear-gradient(180deg,#2a2722,#1e1c19);box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.pillar.is-open{flex-grow:3.4}
.pl-b{background:linear-gradient(180deg,#191714,#100f0d)}
.pl-c{background:linear-gradient(170deg,rgba(214,186,132,.96),rgba(180,150,98,.94));color:var(--night)}
.pl-head{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:clamp(1.3rem,2.2vw,2.2rem);text-align:left;color:inherit;z-index:2}
.pillar.is-open .pl-head{inset:0 0 auto 0;pointer-events:none}
.pl-num{font-weight:400;font-size:clamp(4.4rem,8vw,7.6rem);line-height:.9;color:var(--gold)}
.pl-c .pl-num{color:var(--night)}
.pl-unit{margin-top:.6rem;font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--goldd)}
.pl-c .pl-unit{color:rgba(19,18,16,.7)}
.pl-name{position:absolute;left:clamp(1.3rem,2.2vw,2.2rem);bottom:clamp(1.3rem,2.2vw,2.2rem);writing-mode:vertical-rl;transform:rotate(180deg);font-weight:400;font-size:clamp(1rem,1.4vw,1.35rem);letter-spacing:.08em;white-space:nowrap;transition:opacity .4s var(--e-out)}
.pillar.is-open .pl-name{writing-mode:horizontal-tb;transform:none;position:static;margin-top:1.4rem;font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:1.1;letter-spacing:.02em;white-space:normal}
.pl-body{position:absolute;left:0;right:0;bottom:0;padding:0 clamp(1.3rem,2.2vw,2.2rem) clamp(1.3rem,2.2vw,2.2rem);opacity:0;visibility:hidden;transform:translate3d(0,18px,0);transition:opacity .5s var(--e-out),transform .6s var(--e-out),visibility 0s .5s}
.pillar.is-open .pl-body{opacity:1;visibility:visible;transform:none;transition:opacity .7s var(--e-out) .35s,transform .8s var(--e-out) .35s,visibility 0s}
.pl-lede{max-width:34rem;color:rgba(246,243,239,.8);font-size:1rem;line-height:1.65}
.pl-c .pl-lede{color:rgba(19,18,16,.82)}
.pl-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:1.4rem 0 1.6rem}
.pl-facts dt{font-size:.6rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--goldd);margin-bottom:.3rem}
.pl-c .pl-facts dt{color:rgba(19,18,16,.65)}
.pl-facts dd{font-family:var(--serif);font-size:1.12rem;line-height:1.3}
.pl-acts{display:flex;flex-wrap:wrap;gap:.7rem}
.pl-c .btn-gold{background:var(--night);color:var(--gold)}
.pl-c .btn-gold::before{background:var(--dawn)}
.pl-c .btn-line{color:var(--night);border-color:rgba(19,18,16,.4)}
@media (hover:hover) and (pointer:fine){.pillar:not(.is-open) .pl-head:hover .pl-num{color:var(--dawn)}.pl-c:not(.is-open) .pl-head:hover .pl-num{color:#fff}}
.pl-solo{margin-top:clamp(2rem,5vh,3rem);display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;font-family:var(--serif);font-size:clamp(1.15rem,1.5vw,1.4rem);color:var(--dawn)}
.pl-solo .sub-k{margin:0}
.pl-solo .txtlink{font-family:var(--sans);font-size:.9rem;color:var(--goldd)}
@media (max-width:1100px){
  .pillars{flex-direction:column;height:auto;gap:.7rem}
  .pillar{flex:none}
  .pl-head{position:relative;inset:auto;flex-direction:row;align-items:baseline;gap:1rem;padding:1.3rem 1.3rem}
  .pillar.is-open .pl-head{pointer-events:auto}
  .pl-num{font-size:3.4rem}
  .pl-unit{margin:0}
  .pl-name,.pillar.is-open .pl-name{position:static;writing-mode:horizontal-tb;transform:none;margin:0 0 0 auto;font-size:1.05rem;white-space:normal;text-align:right}
  .pl-body{position:static;display:grid;grid-template-rows:0fr;padding:0 1.3rem;transform:none;transition:grid-template-rows .5s var(--e-out),opacity .4s}.pl-body>.pl-inner{overflow:hidden}
  .pillar.is-open .pl-body{grid-template-rows:1fr;padding-bottom:1.4rem}
  .pl-facts{grid-template-columns:1fr}
}
/* the footer, as it was */
.foot-legal{display:grid;gap:.4rem;padding-top:1.5rem}
.foot-legal p{margin:0}
html.rm .pillar,html.rm .pl-body{transition:none}

/* the open pillar stacks its name and details so nothing can collide */
@media (min-width:1101px){
  .pillar.is-open{display:flex;flex-direction:column}
  .pillar.is-open .pl-head{position:relative;inset:auto;flex:0 0 auto}
  .pillar.is-open .pl-body{position:relative;margin-top:auto;padding-top:1rem}
}
/* the footer lets David continue behind it: no final cover */
.foot{background:transparent!important}

/* 1. the hero leaves empty: no edge between chapters I and II */
.ov-scrim{opacity:calc(var(--lt,0) * (1 - var(--exit,0)))!important}
.ov-letter{opacity:calc(var(--lt,0) * (1 - var(--exit,0)))!important}
.dv-shade{opacity:calc(1 - var(--exit,0))}
/* 3. every photograph in David's grade: black and white, matte, grained */
.shot .frame img,.person .pic img,.people-banner img,.give-photo img{filter:grayscale(1) sepia(.14) contrast(1.06) brightness(.86)!important}
.shot .frame::before,.person .pic::before,.people-banner::before,.give-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:#26221d;mix-blend-mode:lighten;opacity:.85}
.shot .frame::after,.person .pic::after,.people-banner::after,.give-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.32}
.people-banner p{z-index:3}
/* 4. the letter, larger */
.ov-letter{width:min(40rem,42vw)}
.ov-letter .scrub{font-size:clamp(1.55rem,.95rem + 1.35vw,2.6rem)!important;line-height:1.24}
@media (max-width:1100px){.ov-letter{width:auto}.ov-letter .scrub{font-size:clamp(1.22rem,4.9vw,1.55rem)!important}}
/* 5. the masthead, a size up */
.hero-name{font-size:clamp(4.2rem,12vw,12.5rem)!important}
/* 6. dawn gets the deck treatment */
.dawn-ghost{position:absolute;left:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));top:50%;z-index:1;transform:translate3d(0,calc(-62% + (1 - var(--l1,0)) * 50px),0) scale(calc(1.06 - var(--l1,0) * .06));font-family:var(--display);font-size:clamp(6rem,17vw,16rem);line-height:1;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(224,193,136,.22);opacity:calc(.1 + var(--l1,0) * .9);filter:blur(calc((1 - var(--l1,0)) * 10px));pointer-events:none;white-space:nowrap}
.dawn-text .kicker{margin-bottom:1.6rem;opacity:var(--l1,0)}
.dawn-text .display span{display:block;opacity:calc(.08 + var(--lv,0) * .92);transform:translate3d(0,calc((1 - var(--lv,0)) * 34px),0);filter:blur(calc((1 - var(--lv,0)) * 8px))}
.dawn-text .display span:nth-child(1){--lv:var(--l1,0)}
.dawn-text .display span:nth-child(2){--lv:var(--l2,0)}
.dawn-bar{position:relative;width:min(24rem,60%);height:1px;margin-top:2.2rem;background:rgba(246,243,239,.14)}
.dawn-bar i{position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--db,0));transform-origin:left;box-shadow:0 0 10px rgba(224,193,136,.5)}
html.rm .dawn-text .display span{opacity:1;transform:none;filter:none}
html.rm .dawn-ghost{transform:translate3d(0,-62%,0);filter:none;opacity:1}
/* 7. Apply: gold glass that breathes, gleams, and leans toward the cursor */
.nav-apply,.nav.is-light .nav-apply{position:relative;overflow:hidden;isolation:isolate;border-radius:999px!important;padding:0 1.6rem!important;color:var(--dawn)!important;background:linear-gradient(135deg,rgba(236,211,163,.5),rgba(201,169,110,.2))!important;border:1px solid rgba(240,217,172,.6)!important;-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);text-shadow:0 1px 8px rgba(19,18,16,.45);box-shadow:inset 0 1px 0 rgba(255,246,228,.55),inset 0 -8px 16px -10px rgba(120,90,40,.5),0 10px 26px -12px rgba(224,193,136,.7);transition:transform .3s var(--e-out),background-color .3s;animation:applyPulse 3.8s ease-in-out infinite;will-change:transform}
.nav-apply::before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(105deg,transparent 32%,rgba(255,250,238,.75) 50%,transparent 68%) -160% 0/260% 100% no-repeat;animation:applySheen 5.2s 1.6s var(--e-io) infinite}
.nav-apply::after{content:"";position:absolute;inset:-2px;z-index:-2;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(224,193,136,.55);animation:applyRing 3.8s ease-out infinite}
@keyframes applySheen{0%,58%{background-position:-160% 0}82%,100%{background-position:160% 0}}
@keyframes applyRing{0%{box-shadow:0 0 0 0 rgba(224,193,136,.5)}70%,100%{box-shadow:0 0 0 12px rgba(224,193,136,0)}}
@keyframes applyPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:linear-gradient(135deg,rgba(240,217,172,.72),rgba(214,186,132,.38))!important}}
.nav-apply:active{transform:scale(.96)!important}
@media (prefers-reduced-transparency:reduce){.nav-apply{background:var(--goldd)!important;-webkit-backdrop-filter:none;backdrop-filter:none}}
html.rm .nav-apply,html.rm .nav-apply::before,html.rm .nav-apply::after{animation:none}
@media (min-width:1101px){.ov-letter{right:calc(max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter))) + 13rem)!important;width:min(38rem,38vw)!important}}

/* ===== One film stock for every photograph: black and white, matte, grained ===== */
.shot .frame img,.person .pic img,.people-banner img,.give-photo img,.sheet .pic img{filter:grayscale(1) sepia(.14) contrast(1.06) brightness(.86)!important}
.shot .frame,.person .pic,.people-banner,.give-photo{isolation:isolate}
.shot .frame::after,.person .pic::after,.people-banner::after,.give-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:#25221e;mix-blend-mode:lighten;opacity:.85}
.shot .frame::before,.person .pic::before,.people-banner::before,.give-photo::before{content:"";position:absolute;inset:-40px;z-index:2;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.32}
.person .pic{position:relative}
.people-banner p,.shot figcaption,.person .who{z-index:3}
/* the letter, given its due as the first chapter */
.ov-letter{width:min(40rem,42vw)}
.ov-letter .scrub{font-size:clamp(1.5rem,1rem + 1.3vw,2.5rem);line-height:1.24}
@media (max-width:1100px){.ov-letter{width:auto}.ov-letter .scrub{font-size:clamp(1.2rem,5vw,1.55rem)}}

/* Apply: a solid matte gold pill (the glass version is retired) */
.nav-apply,.nav.is-light .nav-apply{background:var(--gold)!important;color:var(--night)!important;border:1px solid var(--gold)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-shadow:none!important;box-shadow:none!important;animation:none!important;filter:none!important}
.nav-apply::before{display:none}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:#ecd3a3!important}}
/* leadership: names sit beneath the portraits, the faces stay clear */
.person .who{position:static!important;margin-top:.9rem;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important}
.person .nm{font-family:var(--display);font-size:clamp(1rem,1.3vw,1.25rem);letter-spacing:.04em}

/* ── PRELOADER ── */
#loader{position:fixed;inset:0;z-index:999999;background:#070605;display:flex;align-items:center;justify-content:center;transition:opacity 0.6s ease;}

#loader.hidden{display:none;}
#loader .gr{position:absolute;inset:-80px;z-index:1;opacity:0.065;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px;animation:plGrain .11s steps(1) infinite;}
#loader .vg{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 22%,rgba(0,0,0,0.85) 100%);}
#loader .mark{position:relative;z-index:4;width:140px;height:140px;display:flex;align-items:center;justify-content:center;}
#loader .glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,0.18) 0%,transparent 65%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;}

#loader .pr{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(201,169,110,0.75);opacity:0;pointer-events:none;}

#loader .tip-arm{position:absolute;top:50%;left:50%;width:0;height:0;z-index:6;transform:rotate(-90deg);transition:transform 0.5s cubic-bezier(.4,0,.2,1);}

#loader .tip-dot{position:absolute;width:7px;height:7px;border-radius:50%;top:-3.5px;left:66.5px;background:rgba(255,248,200,0.95);box-shadow:0 0 4px #fff8c8,0 0 10px #e0c188,0 0 24px rgba(201,169,110,0.7);opacity:0;transition:opacity 0.1s ease;}#loader .pl-trc{transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);fill:none;stroke:#c9a96e;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:628;stroke-dashoffset:628;opacity:0.9;transition:stroke-dashoffset 0.5s cubic-bezier(.4,0,.2,1);}#loader .pl-fill{transform-box:fill-box;transform-origin:center;transform:scale(0.05);opacity:0;transition:transform 0.4s cubic-bezier(.16,1,.3,1),opacity 0.2s ease;}#loader .pl-inner{transform-box:fill-box;transform-origin:center;transform:scale(0.05);opacity:0;transition:transform 0.38s cubic-bezier(.16,1,.3,1) 0.07s,opacity 0.2s ease 0.07s;}

@keyframes plGrain{0%{transform:translate(0,0);}25%{transform:translate(-3px,2px);}50%{transform:translate(3px,-2px);}75%{transform:translate(-2px,3px);}100%{transform:translate(0,0);}}
@keyframes plGlowFlash{0%{opacity:0;}25%{opacity:1;}100%{opacity:0.35;}}
@keyframes plPopRing{0%{transform:scale(1);opacity:0.85;}100%{transform:scale(2.2);opacity:0;}}

/* ===== Mobile and stability pass ===== */
html{overflow-x:hidden}
html.loading .hn-in,html.loading .ld,html.loading .dv,html.loading .nav-apply,html.loading .nav-apply::before,html.loading .nav-apply::after{animation-play-state:paused!important}
html.loading body{overflow:hidden}
/* no separate backings on phones: the one seamless shade does the work */
.finale .stage::before,.shift .stage::before{display:none!important}
/* the masthead: Den Discipleship */
.hero-name{white-space:normal!important;font-size:clamp(3rem,7.4vw,7.8rem)!important;line-height:1!important}
.hero-name em{display:block}
@media (max-width:1100px){.hero-name{font-size:clamp(2.3rem,9.6vw,4.4rem)!important}}
/* ghost numerals sized for narrow screens, and held still there */
@media (max-width:760px){
  .ch-num{font-size:clamp(4.4rem,24vw,7rem)!important;transform:none!important;max-width:100%;overflow:hidden}
  .dawn-ghost{font-size:clamp(4rem,22vw,7rem)!important}
  .marq-a span{font-size:clamp(2.8rem,14vw,4.4rem)!important}
}
@media (max-width:760px){.role2{margin:0;padding:1.4rem 0}}

/* ===== The title, in front ===== */
.overture .mast{z-index:4}
.mast::before{content:"";position:absolute;left:-6vw;top:-8vh;width:min(90vw,70rem);height:calc(100% + 16vh);z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 30% 50%,rgba(17,16,14,.62),rgba(17,16,14,.25) 55%,transparent 75%)}
.hero-name{font-size:clamp(3.4rem,9.3vw,10.4rem)!important;filter:drop-shadow(0 6px 28px rgba(0,0,0,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
@media (max-width:1100px){.hero-name{font-size:clamp(2.5rem,10.4vw,4.8rem)!important}}
.hero-name .hn-in{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
.hero-name em{display:inline!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--gold)!important;animation:none!important}
.hero-name .dot{color:var(--dawn)}
.hero-name .ch{display:inline-block;opacity:0;transform:translate3d(0,.32em,0);filter:blur(12px);animation:chIn 1.3s var(--e-out) forwards;animation-delay:calc(.2s + var(--i) * 52ms)}
.hero-name em .ch{animation-name:chInGold}
@keyframes chIn{to{opacity:1;transform:none;filter:none}}
@keyframes chInGold{0%{opacity:0;transform:translate3d(0,.32em,0);filter:blur(12px);color:var(--gold)}55%{opacity:1;transform:none;filter:none;color:#fff6e2;text-shadow:0 0 22px rgba(255,236,196,.9)}100%{opacity:1;transform:none;filter:none;color:var(--gold);text-shadow:none}}
html.loading .hero-name .ch{animation-play-state:paused!important}
html.rm .hero-name .ch{animation:none;opacity:1;transform:none;filter:none}

/* ===== Giving: a full-screen panel over the site ===== */
.givep{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--dawn);background:radial-gradient(70% 60% at 75% 30%,rgba(201,169,110,.08),transparent 70%),#0f0e0c;opacity:0;transition:opacity .5s var(--e-out)}
.givep[open].is-open{opacity:1}
.givep::backdrop{background:transparent}
.givep::before{content:"";position:absolute;inset:0;background:var(--grain) 0 0/220px 220px;mix-blend-mode:overlay;opacity:.3;pointer-events:none}
.gp-close{position:fixed}
.gp-scroll{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain}
.gp-in{min-height:100%;max-width:var(--maxw);margin:0 auto;padding:calc(var(--safe-t) + 6.5rem) max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter))) calc(var(--safe-b) + 4rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36rem);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.gp-r{opacity:0;transform:translate3d(0,26px,0);filter:blur(8px);transition:opacity .9s var(--e-out),transform 1s var(--e-out),filter .9s var(--e-out);transition-delay:calc(var(--i) * 80ms + 150ms)}
.givep.is-open .gp-r{opacity:1;transform:none;filter:none}
.gp-title{font-family:var(--display);font-weight:400;font-size:clamp(4rem,10vw,9.5rem);line-height:.95;letter-spacing:.02em;color:var(--gold);margin-top:.4rem;filter:drop-shadow(0 6px 28px rgba(0,0,0,.5))}
.gp-title .dot{color:var(--dawn)}
.gp-rule{height:1px;width:140px;margin:2.2rem 0;background:linear-gradient(to right,var(--goldd),transparent);transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--e-out) .6s}
.givep.is-open .gp-rule{transform:none}
.gp-phil{font-family:var(--serif);font-weight:300;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.55;color:rgba(246,243,239,.82);max-width:32rem}
.gp-phil em{font-style:italic;color:var(--dawn)}
.gp-verse{margin:2rem 0 0;padding-left:1.35rem;border-left:2px solid rgba(201,169,110,.45);font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.6;color:rgba(246,243,239,.66);max-width:30rem}
.gp-verse cite{display:block;margin-top:.8rem;font-family:var(--sans);font-style:normal;font-size:.6rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--goldd)}
.gp-jumps{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.2rem}
.gp-console{position:relative;padding:clamp(1.5rem,2.6vw,2.4rem);background:linear-gradient(180deg,rgba(40,37,32,.86),rgba(24,22,19,.84));border:1px solid rgba(201,169,110,.14);box-shadow:0 60px 120px -60px rgba(0,0,0,.9);isolation:isolate}
.gp-console::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.35;pointer-events:none}
.gp-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:rgba(13,12,10,.55);border:1px solid rgba(246,243,239,.07);margin-bottom:1.6rem}
.gp-tab{display:flex;flex-direction:column;gap:.35rem;padding:1rem .8rem;text-align:left;transition:background-color .4s var(--e-orig)}
.gp-tab-k{font-size:.55rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,239,.4);transition:color .4s}
.gp-tab-t{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:rgba(246,243,239,.5);transition:color .4s}
.gp-tab.active{background:rgba(201,169,110,.12)}
.gp-tab.active .gp-tab-k{color:var(--goldd)}
.gp-tab.active .gp-tab-t{color:var(--dawn)}
.gp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gp-chip{position:relative;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:rgba(246,243,239,.03);border:1px solid rgba(246,243,239,.14);color:rgba(246,243,239,.88);font-family:var(--display);font-size:1.1rem;font-weight:500;letter-spacing:.04em;transition:border-color .3s,background-color .3s,color .3s,transform .3s var(--e-orig)}
.gp-chip.popular{border-color:rgba(201,169,110,.45);animation:gpGlow 3.2s ease-in-out infinite}
.gp-chip.active{background:var(--gold);border-color:var(--gold);color:var(--night);transform:translateY(-2px);animation:none}
.gp-chip-note{font-family:var(--sans);font-size:.5rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--goldd)}
.gp-chip.active .gp-chip-note{color:rgba(19,18,16,.7)}
@keyframes gpGlow{0%,100%{box-shadow:0 0 0 1px rgba(201,169,110,.15),0 6px 22px rgba(201,169,110,.05)}50%{box-shadow:0 0 0 1px rgba(201,169,110,.35),0 6px 26px rgba(201,169,110,.16)}}
@media (hover:hover) and (pointer:fine){.gp-chip:not(.active):hover{border-color:rgba(201,169,110,.55);color:var(--gold);transform:translateY(-2px)}.gp-tab:not(.active):hover .gp-tab-t{color:rgba(246,243,239,.75)}}
.gp-onetime{padding:1.8rem .5rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.6;color:rgba(246,243,239,.68)}
.gp-manage{margin-top:1.2rem;text-align:center;font-size:.72rem;line-height:1.7;color:rgba(246,243,239,.46)}
.gp-manage a,.gp-alt a{color:var(--goldd);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.32)}
.gp-cta{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;min-height:58px;margin-top:1.6rem;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--dawn);text-shadow:0 1px 8px rgba(19,18,16,.45);background:linear-gradient(135deg,rgba(236,211,163,.55),rgba(201,169,110,.24));border:1px solid rgba(240,217,172,.6);-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,246,228,.55),inset 0 -10px 18px -12px rgba(120,90,40,.5),0 14px 34px -14px rgba(224,193,136,.7);transition:gap .4s var(--e-orig),transform .2s var(--e-out)}
.gp-cta::before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(105deg,transparent 32%,rgba(255,250,238,.75) 50%,transparent 68%) -160% 0/260% 100% no-repeat;animation:applySheen 5.2s 1s var(--e-io) infinite}
.gp-cta:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.gp-cta:hover{gap:1.5rem;background:linear-gradient(135deg,rgba(240,217,172,.75),rgba(214,186,132,.4))}}
.gp-secure{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.1rem;font-size:.68rem;color:rgba(246,243,239,.46);text-align:center}
.gp-secure svg{color:var(--goldd);flex:0 0 auto}
.gp-note{margin-top:1.1rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.02rem;color:rgba(246,243,239,.5)}
.gp-alt{margin-top:2rem;font-size:.9rem;line-height:1.8;color:rgba(246,243,239,.58)}
.gp-alt .sub-k{margin-bottom:.6rem}
.gp-alt .txtlink{margin-top:.6rem;color:var(--goldd);font-size:.88rem}
@media (max-width:900px){
  .gp-in{grid-template-columns:1fr;align-items:start;padding-top:calc(var(--safe-t) + 5rem)}
  .gp-title{font-size:clamp(3.4rem,17vw,5.4rem)}
  .gp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:380px){.gp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
html.rm .gp-r{transition:none;opacity:1;transform:none;filter:none}
html.rm .gp-chip.popular,html.rm .gp-cta::before{animation:none}
.gp-grid .gp-chip:last-child{grid-column:1/-1}

/* ===== Phones and tablets: no box over David, the copy sits on the hero's own shade ===== */
@media (max-width:1100px){
  .hero-foot .hc-right{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .hero-foot .hc-right::before{display:none!important}
  .hero-foot{gap:.8rem;bottom:calc(var(--safe-b) + 1rem)}
  .hc-body{font-size:.92rem!important;line-height:1.55!important;color:rgba(246,243,239,.84)!important;max-width:30rem;text-shadow:0 1px 14px rgba(0,0,0,.65)}
  .hc-line{font-size:1.15rem!important;margin-top:.45rem!important}
  .hc-cta{flex-wrap:nowrap;gap:.5rem!important;margin-top:1rem!important}
  .hc-cta .btn{flex:1 1 0;justify-content:center;padding:.95rem .6rem!important;font-size:10px;letter-spacing:.14em;white-space:nowrap}
  .hc-cta .btn::after{display:none}
  .cover-tag{margin-bottom:0!important}
  /* the shade concentrates under the words and lets his face breathe */
  .dv-shade{background:radial-gradient(40% 40% at 55% 26%,rgba(224,193,136,.07),transparent 70%),linear-gradient(to top,rgba(19,18,16,.95) 0%,rgba(19,18,16,.72) 26%,rgba(19,18,16,.18) 44%,transparent 54%)!important}
}
@media (min-width:761px) and (max-width:1100px){
  .hero-foot{max-width:38rem}
  .hc-body{font-size:1rem!important}
}/* ===== Loader v2: pure CSS motion (smooth even while the page is busy),a breathing hold,and a handoff exit ===== */
#loader .pl-trc{animation:ldTrace .55s .05s cubic-bezier(.4,0,.2,1) forwards}
#loader .tip-arm{animation:ldArm .55s .05s cubic-bezier(.4,0,.2,1) forwards}
#loader .tip-dot{animation:ldDot .62s .05s linear forwards}#loader .pl-fill{animation:ldFill .42s .58s cubic-bezier(.16,1,.3,1) forwards}#loader .pl-inner{animation:ldFill .4s .65s cubic-bezier(.16,1,.3,1) forwards}
#loader .pr1{animation:plPopRing .6s .6s cubic-bezier(.2,0,.8,1) forwards}
#loader .pr2{animation:plPopRing .75s .67s cubic-bezier(.2,0,.8,1) forwards}
#loader .pr3{animation:plPopRing .9s .75s cubic-bezier(.2,0,.8,1) forwards}
#loader .glow{animation:plGlowFlash .9s .6s cubic-bezier(.16,1,.3,1) forwards,ldBreathe 2.4s 1.6s ease-in-out infinite}
@keyframes ldTrace{from{stroke-dashoffset:628}to{stroke-dashoffset:0}}
@keyframes ldArm{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
@keyframes ldDot{0%{opacity:0}8%{opacity:1}88%{opacity:1}100%{opacity:0}}
@keyframes ldFill{from{transform:scale(.05);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes ldBreathe{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(1)}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.12)}}
/* the handoff: the mark opens outward and dissolves into the hero */
#loader .mark{transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .6s ease-out,filter .7s ease-out}
#loader.exit .mark{transform:scale(1.4);opacity:0;filter:blur(8px)}
#loader.exit{opacity:0;transition:opacity .75s ease-out .12s;pointer-events:none}
/* a return visit in the same session: the mark simply appears and lets go */

@media (prefers-reduced-motion:reduce){
#loader .pl-trc,#loader .tip-arm,#loader .tip-dot,#loader .pr{animation:none!important}#loader .pl-trc{stroke-dashoffset:0}
}

/* ===== Loader: the full sequence every visit; a gentle fade for reduced motion ===== */
@media (prefers-reduced-motion:reduce){
  #loader .mark{animation:ldSoftIn .9s ease-out both!important}#loader .pl-fill,#loader .pl-inner{opacity:1;transform:none}
  #loader .glow{animation:ldSoftGlow 1.2s .3s ease-out both!important}
  #loader.exit{transition:opacity .5s ease-out!important}
}
@keyframes ldSoftIn{from{opacity:0}to{opacity:1}}
@keyframes ldSoftGlow{from{opacity:0}to{opacity:.4}}

/* ===== The hero copy on every screen: no box, set directly on a soft shade ===== */
@media (min-width:1101px){
  .hero-foot .hc-right{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .hero-foot .hc-right::before{display:none!important}
  .hero-foot{grid-template-columns:minmax(0,1fr) minmax(0,30rem)}
  .hero-foot .hc-right{position:relative}
  .hero-foot .hc-right::after{content:"";position:absolute;inset:-5rem -6rem -4rem -6rem;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(17,16,14,.66),rgba(17,16,14,.32) 60%,transparent 100%)}
  .hc-body{text-shadow:0 1px 14px rgba(0,0,0,.6);color:rgba(246,243,239,.86)!important}
  .hc-cta{flex-wrap:nowrap;gap:.6rem!important}
  .hc-cta .btn{flex:1 1 0;justify-content:center;padding:1.05rem 1rem!important;white-space:nowrap}
}
.nav-support,.nav-apply,.nav-index{white-space:nowrap}
@media (max-width:1280px){.nav-links{display:none}}

/* ===== Apple-design pass ===== */
/* Feedback lives on the press: every control answers the instant a finger touches down */
html{-webkit-tap-highlight-color:transparent}
.pl-head,.gp-chip,.gp-tab,.role2,.faq .q,.index-list a,.rail a,.chip,.person,.nav-index,.nav-support,.txtlink,.index-close,.sheet-close,.gp-close,.shot{transition-property:transform,opacity,background-color,border-color,color;transition-timing-function:cubic-bezier(.23,1,.32,1)}
.pl-head:active .pl-num{transform:scale(.96);transition:transform 100ms ease-out}
.gp-chip:active{transform:scale(.97)!important;transition-duration:100ms}
.gp-tab:active{background:rgba(201,169,110,.08)}
.role2:active::before{transform:scaleX(1);transition-duration:180ms}
.role2:active,.role2:active .r2-m,.role2:active .r2-d,.role2:active .r2-a{color:var(--night)}
.faq .q:active{opacity:.7;transition-duration:80ms}
.index-list a:active .ix-t{transform:translateX(.4rem);transition-duration:100ms}
.index-list a:active::after{transform:scaleX(1)}
.rail a:active .rn{color:var(--gold)}
.chip:active{transform:translate3d(-50%,0,0) scale(.96)!important;transition-duration:100ms}
.person:active{transform:scale(.985);transition-duration:100ms}
.nav-index:active,.nav-support:active,.index-close:active,.sheet-close:active,.gp-close:active{transform:scale(.94);transition-duration:100ms}
.txtlink:active{opacity:.6;transition-duration:80ms}
/* Calmer: attention pulses a few times, then rests */
.nav-apply{animation-iteration-count:3!important}
.nav-apply::after{animation-iteration-count:3!important}
.nav-apply::before,.gp-cta::before{animation-duration:8s!important;animation-delay:2.5s!important}
.gp-chip.popular{animation-iteration-count:3}
/* Swipe-to-dismiss: a grabber tells the hand it can be pulled */
.drag-grip{display:none}
@media (pointer:coarse){
  .drag-grip{display:block;position:absolute;left:50%;top:calc(var(--safe-t) + 8px);width:38px;height:5px;margin-left:-19px;border-radius:999px;background:currentColor;opacity:.28;z-index:3;pointer-events:none}
  .sheet .drag-grip{color:var(--ink);top:9px}
  .givep .drag-grip,.index .drag-grip{color:var(--dawn)}
}
/* Reduce transparency: translucent surfaces become solid */
@media (prefers-reduced-transparency:reduce){
  .nav.is-solid,.nav.is-light.is-solid{background:#131210!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .gp-cta{background:var(--goldd)!important;color:var(--night)!important;text-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .chip{background:#131210}
  .sheet{background:#f3efe8!important}
}
/* Increase contrast: brighter type, firmer edges, a calmer field behind the words */
@media (prefers-contrast:more){
  .body,.deck,.hc-body,.prose,.pl-lede,.gp-phil,.r2-d,.a p{color:rgba(246,243,239,.96)!important}
  .sd,.fgc .sd,.gp-manage,.gp-secure,.give-note,.foot-legal,.hc-meta,.cover-tag,.anchor p{color:rgba(246,243,239,.84)!important}
  .kicker,.sub-k,.fg em,.pl-facts dt{color:var(--gold)!important}
  .btn-line,.nav-support,.gp-chip,.gp-tab{border-color:rgba(246,243,239,.7)!important}
  .char .read{background:linear-gradient(90deg,rgba(12,11,10,.95) 0%,rgba(12,11,10,.85) 50%,rgba(12,11,10,.4) 72%,transparent 85%)!important}
  .hero-foot .hc-right::after{background:radial-gradient(closest-side,rgba(12,11,10,.85),rgba(12,11,10,.5) 60%,transparent)!important}
  .sheet p,.sheet li{color:#2a2723!important}
}
@media (prefers-contrast:more) and (max-width:1100px){.char .read{background:rgba(12,11,10,.8)!important}}

/* ===== Pathways: instant, reliable switching; details animate with opacity and position only ===== */
.pillar{transition:none!important}
.pillar:not(.is-open) .pl-body{display:none!important}
.pillar.is-open .pl-body{opacity:1!important;visibility:visible!important;transform:none;transition:none!important;animation:plIn .55s cubic-bezier(.23,1,.32,1) both}
.pillar.is-open .pl-name{animation:plIn .45s cubic-bezier(.23,1,.32,1) both}
@keyframes plIn{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@media (max-width:1100px){
  .pillar.is-open .pl-body{display:block!important;grid-template-rows:none!important;padding-bottom:1.4rem}
  .pillar.is-open .pl-name{animation:none}
}
@media (prefers-reduced-motion:reduce){.pillar.is-open .pl-body,.pillar.is-open .pl-name{animation:plFade .2s ease-out both}}
@keyframes plFade{from{opacity:0}to{opacity:1}}

/* ===== The menu, in glass: frosted on scroll, a bright rim, a flare that follows the cursor ===== */
.nav{--gx:50%}
.nav.is-solid,.nav.is-light.is-solid{background:linear-gradient(180deg,rgba(34,31,27,.58),rgba(19,18,16,.44))!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:1px solid rgba(246,243,239,.07)!important;box-shadow:inset 0 1px 0 rgba(255,250,240,.10),inset 0 -1px 0 rgba(0,0,0,.25),0 14px 34px -22px rgba(0,0,0,.75)!important}
.nav::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(160px 70px at var(--gx) 0%,rgba(255,236,200,.13),transparent 70%),linear-gradient(90deg,transparent,rgba(255,250,240,.06) 50%,transparent)}
.nav.is-solid::after{opacity:1}
.nav-index,.nav-search{position:relative;border-radius:999px;transition:background-color .3s,border-color .3s,transform .1s}
.nav-search{display:inline-grid;place-items:center;width:44px;height:44px;color:var(--dawn);background:rgba(246,243,239,.06);border:1px solid rgba(246,243,239,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}
.nav-search svg{width:17px;height:17px}
.nav-search:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.nav-search:hover{background:rgba(246,243,239,.12);border-color:rgba(224,193,136,.45)}}
.nav-search .tip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px);padding:.35rem .6rem;border-radius:8px;background:rgba(19,18,16,.92);border:1px solid rgba(246,243,239,.1);font-size:.62rem;letter-spacing:.12em;color:rgba(246,243,239,.8);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
@media (hover:hover) and (pointer:fine){.nav-search:hover .tip,.nav-search:focus-visible .tip{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-transparency:reduce){.nav-search{background:#1e1c19;-webkit-backdrop-filter:none;backdrop-filter:none}.nav::after{display:none}}

/* ===== Search ===== */
.search{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--dawn);opacity:0;transition:opacity .25s ease-out}
.search[open].is-open{opacity:1}
.search::backdrop{background:rgba(10,9,8,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sr-in{position:relative;width:min(680px,calc(100vw - 2rem));margin:calc(var(--safe-t) + 12vh) auto 0;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,rgba(40,37,32,.82),rgba(24,22,19,.86));-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border:1px solid rgba(246,243,239,.1);box-shadow:inset 0 1px 0 rgba(255,250,240,.12),0 40px 100px -30px rgba(0,0,0,.85);transform:translate3d(0,-10px,0) scale(.98);transition:transform .35s cubic-bezier(.23,1,.32,1)}
.search.is-open .sr-in{transform:none}
.sr-field{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid rgba(246,243,239,.08)}
.sr-field svg{width:18px;height:18px;flex:0 0 auto;color:var(--goldd)}
.sr-field input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--dawn);font-family:var(--sans);font-size:1.08rem;font-weight:300;letter-spacing:.01em;padding:.35rem 0}
.sr-field input::placeholder{color:rgba(246,243,239,.4)}
.sr-field input::-webkit-search-cancel-button{display:none}
.sr-field kbd,.sr-hint kbd{font-family:var(--sans);font-size:.62rem;letter-spacing:.08em;padding:.25rem .45rem;border-radius:6px;border:1px solid rgba(246,243,239,.16);color:rgba(246,243,239,.6)}
.sr-close{display:none;width:40px;height:40px;place-items:center;color:var(--dawn)}
.sr-list{list-style:none;max-height:min(56vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:.5rem}
.sr-group{padding:.8rem .8rem .3rem;font-size:.58rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--goldd)}
.sr-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem 1rem;align-items:baseline;padding:.75rem .8rem;border-radius:12px;cursor:pointer}
.sr-item[aria-selected="true"]{background:rgba(224,193,136,.12);box-shadow:inset 0 0 0 1px rgba(224,193,136,.22)}
.sr-item:active{transform:scale(.99)}
.sr-k{grid-row:1/3;align-self:start;margin-top:.2rem;min-width:5.6rem;font-size:.56rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,239,.45)}
.sr-t{font-family:var(--serif);font-size:1.15rem;line-height:1.2;color:var(--dawn)}
.sr-s{font-size:.82rem;line-height:1.5;color:rgba(246,243,239,.58);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sr-item mark{background:none;color:var(--gold);font-weight:500}
.sr-empty{padding:1.6rem 1.2rem;color:rgba(246,243,239,.62);font-size:.95rem}
.sr-hint{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;padding:.75rem 1.2rem;border-top:1px solid rgba(246,243,239,.08);font-size:.68rem;color:rgba(246,243,239,.45)}
@media (max-width:760px){
  .sr-in{width:100vw;height:100dvh;margin:0;border-radius:0;display:flex;flex-direction:column}
  .sr-field{padding-top:calc(var(--safe-t) + .8rem)}
  .sr-field kbd{display:none}
  .sr-close{display:grid}
  .sr-list{max-height:none;flex:1}
  .sr-hint{display:none}
}
@media (prefers-reduced-transparency:reduce){.sr-in{background:#1e1c19;-webkit-backdrop-filter:none;backdrop-filter:none}.search::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(10,9,8,.8)}}
@media (prefers-reduced-motion:reduce){.sr-in{transform:none!important;transition:none}}

/* phones: the menu row fits every width */
@media (max-width:760px){
  .nav-r{gap:.45rem}
  .nav-index{width:44px;height:44px;padding:0;justify-content:center;gap:0;font-size:0;border:1px solid rgba(246,243,239,.14);background:rgba(246,243,239,.06)}
  .nav-index i{margin:0}
  .nav-apply,.nav.is-light .nav-apply{padding:0 1.1rem!important}
}
@media (max-width:350px){.logo{font-size:0}.logo svg{margin-right:0}}

/* ===== Terms & Privacy: a reading panel on warm paper ===== */
.legalp{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);opacity:0;transition:opacity .35s ease-out}
.legalp[open].is-open{opacity:1}
.legalp::backdrop{background:rgba(10,9,8,.72)}
.lg-bar{position:absolute;top:0;left:50%;z-index:3;width:min(56rem,100vw);transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(var(--safe-t) + .9rem) clamp(1.2rem,4vw,2.6rem) .9rem;background:linear-gradient(180deg,#f3efe8 70%,rgba(243,239,232,0));pointer-events:none}
.lg-bar>*{pointer-events:auto}
.lg-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(44,42,39,.07);box-shadow:inset 0 0 0 1px rgba(44,42,39,.08)}
.lg-tab{min-height:36px;padding:0 1.1rem;border-radius:999px;font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(44,42,39,.6);transition:background-color .25s,color .25s}
.lg-tab[aria-selected="true"]{background:var(--ink);color:#f3efe8}
.lg-tab:active{transform:scale(.96)}
.lg-close{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;color:var(--ink);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px rgba(44,42,39,.12)}
.lg-close:active{transform:scale(.94)}
.lg-scroll{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain}
.lg-paper{position:relative;width:min(56rem,100vw);min-height:100%;margin:0 auto;background:#f3efe8;box-shadow:0 0 120px rgba(0,0,0,.55);padding:calc(var(--safe-t) + 5.5rem) clamp(1.2rem,5vw,3.6rem) calc(var(--safe-b) + 4rem)}
/* no blended grain on the paper: a blended layer the height of the whole document can exceed graphics memory and fail to draw */
.lg-hero .kicker{color:var(--gold-ink)}
.lg-hero .kicker i{background:var(--gold-ink)}
.lg-title{margin-top:.9rem;font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5.4vw,3.8rem);line-height:1.05;letter-spacing:.015em;color:var(--ink)}
.lg-title .dot{color:var(--goldd)}
.lg-meta{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin-top:1.6rem}
.lg-meta div{font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(44,42,39,.55)}
.lg-meta strong{display:block;margin-top:.35rem;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.08rem;letter-spacing:.01em;text-transform:none;color:var(--gold-ink)}
.lg-summary{margin-top:2.6rem;padding:1.8rem 2rem;background:#ebe5da;border-left:2px solid var(--goldd)}
.lg-summary .sub-k,.lg-toc .sub-k,.lg-contact .sub-k{color:var(--gold-ink)}
.lg-summary p:not(.sub-k){font-size:1rem;line-height:1.8;color:#3a3732}
.lg-summary p+p{margin-top:.8rem}
.lg-toc{margin:2.6rem 0 1rem;padding:1.8rem 0;border-top:1px solid rgba(44,42,39,.12);border-bottom:1px solid rgba(44,42,39,.12)}
.lg-toc ol{list-style:none;columns:2;column-gap:2.4rem}
.lg-toc li{break-inside:avoid}
.lg-toc a{display:flex;gap:.7rem;align-items:baseline;padding:.3rem 0;color:var(--ink);text-decoration:none;font-size:.92rem;line-height:1.4;transition:color .2s}
.lg-toc a:active{color:var(--gold-ink)}
@media (hover:hover) and (pointer:fine){.lg-toc a:hover{color:var(--gold-ink)}}
.lg-tn{flex:0 0 2.8rem;font-family:var(--display);font-size:.72rem;font-weight:500;color:var(--goldd)}
.lg-sec{padding:2.4rem 0;border-bottom:1px solid rgba(44,42,39,.1);scroll-margin-top:5rem}
.lg-sec:last-child{border-bottom:0}
.lg-head{display:flex;gap:1rem;align-items:baseline;margin-bottom:1.2rem}
.lg-n{flex:0 0 auto;font-family:var(--display);font-size:1rem;font-weight:500;color:var(--goldd)}
.lg-h{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;color:var(--ink)}
.lg-sec p{font-size:.98rem;line-height:1.85;color:#2f2c28;margin-bottom:1rem}
.lg-sec p:last-child{margin-bottom:0}
.lg-sec a{color:var(--gold-ink);text-decoration:none;border-bottom:1px solid rgba(138,108,58,.35)}
.lg-sec h4{margin:1.8rem 0 .8rem;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.lg-sec ul{list-style:none;margin:.4rem 0 1.2rem}
.lg-sec li{position:relative;padding:.55rem 0 .55rem 1.6rem;font-size:.95rem;line-height:1.75;color:#2f2c28;border-bottom:1px solid rgba(44,42,39,.08)}
.lg-sec li:last-child{border-bottom:0}
.lg-sec li::before{content:"\2192";position:absolute;left:0;top:.55rem;color:var(--goldd)}
.lg-sec strong{font-weight:500;color:var(--ink)}
.lg-sec .caps{margin:1.4rem 0;padding:1.6rem 1.8rem;background:#1c1a17}
.lg-sec .caps p{margin:0;font-size:.86rem;line-height:1.8;letter-spacing:.015em;text-transform:uppercase;color:#d6d1c9}
.lg-sec .scripture{margin:1.6rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:2px solid var(--goldd);font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.6;color:#5a554e}
.lg-sec .scripture span{display:block;margin-top:.6rem;font-family:var(--sans);font-style:normal;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.lg-contact{margin-top:1.8rem;padding:2.2rem 2.2rem;background:#131210;color:var(--dawn)}
.lg-contact .sub-k{color:var(--goldd)!important}
.lg-contact p{margin-bottom:.4rem;color:rgba(246,243,239,.78);font-size:.95rem}
.lg-contact-h{font-family:var(--serif);font-weight:300;font-size:1.8rem!important;line-height:1.15;color:var(--dawn)!important;margin-bottom:1rem!important}
.lg-contact-h em{font-style:italic;color:var(--gold)}
.lg-contact a{color:var(--goldd);border-bottom-color:rgba(201,169,110,.35)}
.lg-fine{margin-top:1rem!important;font-size:.8rem!important;color:rgba(246,243,239,.5)!important}
.legalp .drag-grip{color:var(--ink)}
@media (max-width:760px){.lg-toc ol{columns:1}.lg-summary{padding:1.4rem 1.3rem}.lg-contact{padding:1.6rem 1.3rem}}
@media (prefers-reduced-motion:reduce){.legalp{transition:opacity .2s}}
@media (prefers-contrast:more){.lg-sec p,.lg-sec li,.lg-summary p{color:#14120f!important}}
/* links to the legal pages */
.gp-legal{margin-top:.6rem;text-align:center;font-size:.68rem;color:rgba(246,243,239,.46)}
.gp-legal a{color:var(--goldd);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.32)}

/* ===== Square buttons: one motion for all, the way "Apply to The Den" moves ===== */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:gap .4s var(--e-orig),color .3s ease,border-color .3s ease,transform .16s var(--e-out)!important}
.btn::after{content:"\2192"!important;display:inline-block!important;font-size:13px;letter-spacing:0;line-height:1}
.btn::before{content:""!important;position:absolute;inset:0;z-index:-1;transform:translateX(-101%);transition:transform .45s var(--e-orig)!important;background:var(--sweep,var(--night))}
/* the fill each style sweeps in, and the colour its text turns to */
.btn-gold{--sweep:var(--night);--to:var(--dawn)}
.btn-ink{--sweep:var(--gold);--to:var(--night)}
.btn-line{--sweep:var(--dawn);--to:var(--night)}
.sheet .btn-line,.lg-paper .btn-line{--sweep:var(--ink);--to:#f3efe8}
.sheet .btn-gold{--sweep:var(--ink);--to:#f3efe8}
.pl-c .btn-gold{--sweep:var(--dawn);--to:var(--night)}
.pl-c .btn-line{--sweep:var(--night);--to:var(--gold)}
.amb2 .btn-ink,.dawn .btn-ink{--sweep:var(--dawn);--to:var(--night)}
/* hover on a mouse, touch-down on a phone, and keyboard focus all play the same sweep */
@media (hover:hover) and (pointer:fine){
  .btn:hover{gap:1.6rem!important;color:var(--to)!important}
  .btn:hover::before{transform:none}
  .btn-line:hover{border-color:var(--sweep)!important;background:transparent!important}
  .btn-ink:hover,.btn-gold:hover{background-color:var(--bgc,initial)}
}
.btn:active{color:var(--to)!important}
.btn:active::before{transform:none;transition-duration:.25s!important}
.btn:focus-visible{color:var(--to)!important;gap:1.6rem!important}
.btn:focus-visible::before{transform:none}
/* resting colours stay exactly as they are; only the sweep is shared */
.btn-ink:hover{background:var(--ink)!important}
.amb2 .btn-ink:hover,.way-c .btn-ink:hover{background:var(--night)!important}
.pl-c .btn-gold:hover{background:var(--night)!important}
.btn-gold:hover{background:var(--gold)!important}
.dawn .btn-ink:hover{background:var(--gold)!important}
.dawn .btn-ink{--sweep:var(--night);--to:var(--dawn)}
@media (prefers-reduced-motion:reduce){.btn::before{transition:none!important}}

/* ===== Pathways, robust: the details never depend on an animation to be visible ===== */
.pillar.is-open .pl-body,.pillar.is-open .pl-inner,.pillar.is-open .pl-name{opacity:1!important;visibility:visible!important}
.pillar.is-open .pl-body{animation:plRise .5s cubic-bezier(.23,1,.32,1) both!important}
.pillar.is-open .pl-name{animation:none!important}
@keyframes plRise{from{transform:translate3d(0,12px,0)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.pillar.is-open .pl-body{animation:none!important}}
/* the open pillar grows to fit everything; the closed pillars stretch to match it */
@media (min-width:1101px){
  .pillars{height:auto!important;min-height:min(76svh,660px);align-items:stretch}
  .pillar.is-open{overflow:visible}
  .pillar.is-open .pl-body{padding-bottom:clamp(1.3rem,2.2vw,2.2rem)}
}

/* the Giving pill stays in the menu on phones, beside Apply */
@media (max-width:640px){
  .nav-support{display:inline-flex!important;padding:0 .95rem;font-size:9.5px;letter-spacing:.16em}
  .nav-r{gap:.4rem}
  .nav-apply,.nav.is-light .nav-apply{padding:0 .95rem!important;font-size:9.5px;letter-spacing:.16em}
}
@media (max-width:420px){.logo{font-size:0}.logo svg{margin-right:0}}
@media (max-width:350px){.nav-search,.nav-index{width:40px!important;height:40px!important}.nav-support,.nav-apply,.nav.is-light .nav-apply{padding:0 .7rem!important;letter-spacing:.12em}.nav-r{gap:.3rem}}

/* ===== The menu in glossy glass: the one polished surface on a matte site ===== */
.nav-search,.nav-index,.nav-support{position:relative;overflow:hidden;isolation:isolate;border-radius:999px!important;color:var(--dawn)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.015) 51%,rgba(255,255,255,.06) 100%),rgba(28,26,23,.34)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  -webkit-backdrop-filter:blur(16px) saturate(190%) brightness(1.08)!important;backdrop-filter:blur(16px) saturate(190%) brightness(1.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.10),inset 0 -12px 18px -12px rgba(255,236,200,.22),0 8px 22px -10px rgba(0,0,0,.7)!important;
  transition:transform .12s ease-out,box-shadow .35s ease,background-color .35s ease,border-color .35s ease!important}
/* the specular highlight: a soft lens of light across the top half */
.nav-search::before,.nav-index::before,.nav-support::before{content:"";position:absolute;left:8%;right:8%;top:1px;height:48%;border-radius:999px 999px 60% 60% / 999px 999px 40% 40%;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.06));pointer-events:none;z-index:-1;transition:opacity .35s ease}
/* a reflection that glides across on hover */
.nav-search::after,.nav-index::after,.nav-support::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%) -170% 0/260% 100% no-repeat;transition:background-position .7s cubic-bezier(.23,1,.32,1)}
.nav-index{padding:0 1.15rem!important;min-height:44px;gap:.7rem}
@media (hover:hover) and (pointer:fine){
  .nav-search:hover,.nav-index:hover,.nav-support:hover{border-color:rgba(255,255,255,.4)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(255,255,255,.14),inset 0 -14px 20px -12px rgba(255,236,200,.32),0 10px 26px -10px rgba(0,0,0,.75),0 0 0 4px rgba(255,255,255,.04)!important}
  .nav-search:hover::after,.nav-index:hover::after,.nav-support:hover::after{background-position:170% 0}
}
.nav-search:active,.nav-index:active,.nav-support:active{transform:scale(.95)!important}
/* Apply: gold glass, now with the same gloss layered over it */
.nav-apply,.nav.is-light .nav-apply{
  background:linear-gradient(180deg,rgba(255,250,236,.55) 0%,rgba(255,244,220,.16) 49%,rgba(255,240,210,0) 51%,rgba(255,236,200,.14) 100%),linear-gradient(135deg,rgba(236,211,163,.62),rgba(201,169,110,.34))!important;
  border:1px solid rgba(255,236,196,.75)!important;color:#1a1814!important;text-shadow:0 1px 0 rgba(255,248,232,.45)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,242,.85),inset 0 -1px 0 rgba(255,236,200,.35),inset 0 -12px 18px -12px rgba(255,236,200,.5),0 10px 26px -10px rgba(224,193,136,.75)!important}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:linear-gradient(180deg,rgba(255,252,240,.7) 0%,rgba(255,244,220,.22) 49%,rgba(255,240,210,0) 51%,rgba(255,236,200,.18) 100%),linear-gradient(135deg,rgba(240,217,172,.82),rgba(214,186,132,.5))!important}}
/* small phones keep the circles compact */
@media (max-width:760px){.nav-index{width:44px;height:44px;padding:0!important}}
@media (max-width:350px){.nav-search,.nav-index{width:40px!important;height:40px!important}}
/* settings that ask for less: solid surfaces, no gloss */
@media (prefers-reduced-transparency:reduce){
  .nav-search,.nav-index,.nav-support{background:#24211d!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nav-search::before,.nav-index::before,.nav-support::before,.nav-search::after,.nav-index::after,.nav-support::after{display:none}
  .nav-apply{background:var(--goldd)!important}
}
@media (prefers-contrast:more){.nav-search,.nav-index,.nav-support{border-color:rgba(255,255,255,.7)!important}}
/* Apply: a richer gold beneath the gloss */
.nav-apply,.nav.is-light .nav-apply{background:linear-gradient(180deg,rgba(255,250,236,.6) 0%,rgba(255,244,220,.14) 49%,rgba(255,240,210,0) 51%,rgba(255,226,170,.22) 100%),linear-gradient(135deg,#ecd29c,#c9a35f)!important}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:linear-gradient(180deg,rgba(255,252,240,.72) 0%,rgba(255,244,220,.2) 49%,rgba(255,240,210,0) 51%,rgba(255,226,170,.28) 100%),linear-gradient(135deg,#f2dcaa,#d1ad6a)!important}}

/* ===== The menu glass, softened: a gentle sheen, no hard split ===== */
.nav-search,.nav-index,.nav-support{
  background:linear-gradient(180deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.025) 60%,rgba(255,255,255,.04) 100%),rgba(28,26,23,.3)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(16px) saturate(170%)!important;backdrop-filter:blur(16px) saturate(170%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(255,255,255,.04),0 6px 18px -10px rgba(0,0,0,.6)!important}
.nav-search::before,.nav-index::before,.nav-support::before{left:0;right:0;top:0;height:100%;border-radius:inherit;
  background:radial-gradient(120% 85% at 50% -10%,rgba(255,255,255,.16),rgba(255,255,255,0) 62%)!important}
.nav-search::after,.nav-index::after,.nav-support::after{background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.12) 48%,transparent 62%) -170% 0/260% 100% no-repeat!important}
@media (hover:hover) and (pointer:fine){
  .nav-search:hover,.nav-index:hover,.nav-support:hover{border-color:rgba(255,255,255,.24)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -1px 0 rgba(255,255,255,.06),0 8px 22px -10px rgba(0,0,0,.65)!important}
  .nav-search:hover::after,.nav-index:hover::after,.nav-support:hover::after{background-position:170% 0!important}
}
.nav-apply,.nav.is-light .nav-apply{
  background:linear-gradient(180deg,rgba(255,250,236,.30) 0%,rgba(255,250,236,0) 58%),linear-gradient(135deg,#e7cc95,#c8a25f)!important;
  border:1px solid rgba(255,236,196,.45)!important;text-shadow:none!important;
  box-shadow:inset 0 1px 0 rgba(255,252,242,.5),0 8px 22px -12px rgba(224,193,136,.6)!important}
@media (hover:hover) and (pointer:fine){.nav-apply:hover{background:linear-gradient(180deg,rgba(255,250,236,.38) 0%,rgba(255,250,236,0) 58%),linear-gradient(135deg,#eed6a3,#d0ab69)!important}}

/* ===== The menu controls as one designed object: a slim glass capsule, and Apply beside it ===== */
.nav-r{gap:.6rem!important;align-items:center}
.nav-cap{position:relative;display:inline-flex;align-items:center;height:40px;padding:3px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(246,243,239,.12);
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 24px -16px rgba(0,0,0,.7)}
/* the items wear the menu links' own type: small, tracked, soft white */
.nav-cap .nav-search,.nav-cap .nav-index,.nav-cap .nav-support{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:32px!important;min-height:0!important;width:auto!important;
  padding:0 1rem!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important;
  font-family:var(--sans);font-size:10px!important;font-weight:400;letter-spacing:.2em!important;text-transform:uppercase;color:rgba(246,243,239,.62)!important;text-decoration:none;
  transition:background-color .3s var(--e-orig),color .3s var(--e-orig),transform .12s ease-out!important}
.nav-cap .nav-search{padding:0 .8rem!important}
.nav-cap .nav-search svg{width:15px;height:15px}
.nav-cap .nav-search::before,.nav-cap .nav-index::before,.nav-cap .nav-support::before,
.nav-cap .nav-search::after,.nav-cap .nav-index::after,.nav-cap .nav-support::after{display:none!important}
.nav-cap .nav-index i{width:13px;height:6px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.85}
/* hairline dividers between the segments */
.nav-sep{width:1px;height:14px;background:rgba(246,243,239,.14);flex:0 0 auto}
@media (hover:hover) and (pointer:fine){
  .nav-cap .nav-search:hover,.nav-cap .nav-index:hover,.nav-cap .nav-support:hover{background:rgba(246,243,239,.09)!important;color:var(--dawn)!important}
}
.nav-cap .nav-search:active,.nav-cap .nav-index:active,.nav-cap .nav-support:active{background:rgba(246,243,239,.12)!important;transform:scale(.96)}
.nav-cap .nav-search:focus-visible,.nav-cap .nav-index:focus-visible,.nav-cap .nav-support:focus-visible{outline:none;box-shadow:inset 0 0 0 1px rgba(224,193,136,.7)!important;color:var(--dawn)!important}
/* Apply: the same height, solid gold, a whisper of sheen; the one warm note in the bar */
.nav-r .nav-apply,.nav.is-light .nav-r .nav-apply{height:40px!important;min-height:0!important;padding:0 1.4rem!important;border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,250,236,.22),rgba(255,250,236,0) 60%),var(--gold)!important;
  border:0!important;color:var(--night)!important;text-shadow:none!important;
  font-size:10px!important;font-weight:500!important;letter-spacing:.2em!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,250,236,.45),0 8px 22px -12px rgba(224,193,136,.6)!important}
@media (hover:hover) and (pointer:fine){.nav-r .nav-apply:hover{background:linear-gradient(180deg,rgba(255,250,236,.3),rgba(255,250,236,0) 60%),#ecd3a3!important}}
/* phones: the capsule tightens; Index shows only its mark */
@media (max-width:760px){
  .nav-r{gap:.4rem!important}
  .nav-cap .nav-index{font-size:0!important;gap:0;padding:0 .75rem!important}
  .nav-cap .nav-search{padding:0 .7rem!important}
  .nav-cap .nav-support{padding:0 .8rem!important;letter-spacing:.16em!important}
  .nav-r .nav-apply,.nav.is-light .nav-r .nav-apply{padding:0 1rem!important;letter-spacing:.16em!important}
}
@media (max-width:350px){
  .nav-cap .nav-index,.nav-cap .nav-search{padding:0 .55rem!important}
  .nav-cap .nav-support,.nav-r .nav-apply,.nav.is-light .nav-r .nav-apply{padding:0 .7rem!important;letter-spacing:.12em!important}
  .nav-sep{display:none}
}
@media (prefers-reduced-transparency:reduce){.nav-cap{background:#211f1b;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){.nav-cap{border-color:rgba(246,243,239,.5)}.nav-cap .nav-search,.nav-cap .nav-index,.nav-cap .nav-support{color:var(--dawn)!important}}
/* optical centring: tracked capitals carry trailing space and ride high */
.nav-cap .nav-support,.nav-r .nav-apply{text-indent:.2em;line-height:1;padding-top:1px!important}
.nav-cap .nav-index{line-height:1;padding-top:1px!important}
@media (max-width:760px){.nav-cap .nav-support,.nav-r .nav-apply{text-indent:.16em}}

/* ===== Three pills: tools (search + Index), Giving in crimson, Apply in gold ===== */
:root{--crimson:#8e3128;--crimson-d:#6c221c}
/* Giving, lit the way Apply is */
.nav-r .nav-support,.nav.is-light .nav-r .nav-support{position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;justify-content:center;
  height:40px!important;min-height:0!important;width:auto!important;padding:1px 1.35rem 0!important;border-radius:999px!important;border:0!important;
  background:linear-gradient(180deg,rgba(255,236,226,.18),rgba(255,236,226,0) 60%),linear-gradient(135deg,var(--crimson),var(--crimson-d))!important;
  color:#f6ece6!important;font-family:var(--sans);font-size:10px!important;font-weight:500!important;letter-spacing:.2em!important;text-indent:.2em;line-height:1;text-transform:uppercase;text-decoration:none;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,220,206,.32),0 8px 22px -12px rgba(150,45,35,.75)!important;
  animation:applyPulse 3.8s ease-in-out .9s 3;will-change:transform;transition:transform .3s var(--e-out),background-color .3s!important}
.nav-r .nav-support::before{content:""!important;display:block!important;position:absolute;inset:-1px;z-index:-1;border-radius:inherit;left:0;right:0;top:0;height:auto;
  background:linear-gradient(105deg,transparent 32%,rgba(255,240,232,.55) 50%,transparent 68%) -160% 0/260% 100% no-repeat!important;
  animation:applySheen 8s 3.6s var(--e-io) infinite}
.nav-r .nav-support::after{content:""!important;display:block!important;position:absolute;inset:-2px;z-index:-2;border-radius:inherit;pointer-events:none;background:none!important;
  box-shadow:0 0 0 0 rgba(190,70,55,.55);animation:givingRing 3.8s ease-out 1.9s 3}
@keyframes givingRing{0%{box-shadow:0 0 0 0 rgba(190,70,55,.5)}70%,100%{box-shadow:0 0 0 12px rgba(190,70,55,0)}}
@media (hover:hover) and (pointer:fine){.nav-r .nav-support:hover{background:linear-gradient(180deg,rgba(255,236,226,.26),rgba(255,236,226,0) 60%),linear-gradient(135deg,#a33b30,#7b2820)!important;color:#fff7f2!important}}
.nav-r .nav-support:active{transform:scale(.96)!important}
html.loading .nav-r .nav-support,html.loading .nav-r .nav-support::before,html.loading .nav-r .nav-support::after{animation-play-state:paused!important}
html.rm .nav-r .nav-support,html.rm .nav-r .nav-support::before,html.rm .nav-r .nav-support::after{animation:none!important}
@media (prefers-reduced-transparency:reduce){.nav-r .nav-support{background:var(--crimson)!important}}

/* Index: the lines part and the word opens up, like the menu links */
.nav-cap .nav-index{transition:letter-spacing .4s var(--e-orig),color .3s,background-color .3s!important}
.nav-cap .nav-index i{transition:height .4s var(--e-orig),width .4s var(--e-orig)}
@media (hover:hover) and (pointer:fine){
  .nav-cap .nav-index:hover{letter-spacing:.26em!important}
  .nav-cap .nav-index:hover i{height:10px;width:15px}
}
.nav-cap .nav-index:active i{height:10px}

/* the magnifying glass peers closer, and a glint crosses its lens */
.nav-cap .nav-search svg{overflow:visible;transform-origin:45% 45%;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.nav-cap .nav-search .glint{stroke:rgba(255,248,236,.95);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:6 30;stroke-dashoffset:6;opacity:0}
@media (hover:hover) and (pointer:fine){
  .nav-cap .nav-search:hover svg{transform:rotate(-14deg) scale(1.16)}
  .nav-cap .nav-search:hover .glint{animation:lensGlint .7s .12s ease-out both}
}
.nav-cap .nav-search:active svg{transform:rotate(-14deg) scale(1.1)}
@keyframes lensGlint{0%{opacity:0;stroke-dashoffset:6}30%{opacity:1}100%{opacity:0;stroke-dashoffset:-26}}
@media (prefers-reduced-motion:reduce){.nav-cap .nav-search svg,.nav-cap .nav-index i{transition:none}.nav-cap .nav-search .glint{animation:none!important}}

/* phones */
@media (max-width:760px){.nav-r .nav-support,.nav.is-light .nav-r .nav-support{padding:1px .95rem 0!important;letter-spacing:.16em!important;text-indent:.16em}}
@media (max-width:350px){.nav-r .nav-support,.nav.is-light .nav-r .nav-support{padding:1px .7rem 0!important;letter-spacing:.12em!important}}

/* ===== Giving panel: format and spacing pass ===== */
/* the two jump buttons share one width and sit as a pair */
.gp-jumps{display:grid!important;grid-template-columns:1fr 1fr;gap:.7rem!important;max-width:30rem}
.gp-jumps .btn{justify-content:center;width:100%;padding-left:1rem!important;padding-right:1rem!important}
/* the secure line: icon and words centred together */
.gp-secure{display:block!important;text-align:center;line-height:1.6}
.gp-secure svg{display:inline-block;vertical-align:-1px;margin-right:.45em}
/* toggle labels stay on one line */
.gp-tab-k{white-space:nowrap}
/* the Give button: solid gold, a whisper of sheen, matching Apply in the menu */
.gp-cta{background:linear-gradient(180deg,rgba(255,250,236,.22),rgba(255,250,236,0) 60%),var(--gold)!important;color:var(--night)!important;text-shadow:none!important;
  border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,250,236,.45),0 10px 26px -12px rgba(224,193,136,.6)!important;font-weight:500}
@media (hover:hover) and (pointer:fine){.gp-cta:hover{background:linear-gradient(180deg,rgba(255,250,236,.3),rgba(255,250,236,0) 60%),#ecd3a3!important}}
/* the close button: quiet glass, no ring unless navigating by keyboard */
.gp-close{border:1px solid rgba(246,243,239,.16)!important;background:rgba(28,26,23,.55)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px!important;outline:none!important;box-shadow:none!important}
.gp-close:focus-visible{box-shadow:0 0 0 2px rgba(224,193,136,.75)!important}
/* breathing room */
.gp-note{margin-top:1.3rem!important}
.gp-legal{margin-top:.5rem!important}
.gp-alt{margin-top:2.4rem!important}
.gp-alt .sub-k{margin-bottom:.7rem!important}
@media (max-width:900px){
  .gp-in{gap:2.6rem!important;padding-left:1.25rem!important;padding-right:1.25rem!important}
  .gp-console{padding:1.25rem 1rem 1.4rem!important}
  .gp-tab{padding:.85rem .7rem!important}
  .gp-tab-k{font-size:.5rem;letter-spacing:.18em}
  .gp-tab-t{font-size:1.08rem}
  .gp-jumps{max-width:none}
  .gp-jumps .btn{font-size:10px;letter-spacing:.14em}
  .gp-cta{min-height:54px;font-size:11px}
}
#gpTitle:focus{outline:none}
@media (max-width:900px){
  .givep::after{content:"";position:fixed;left:0;right:0;top:0;height:calc(var(--safe-t) + 72px);z-index:1;pointer-events:none;background:linear-gradient(180deg,#0f0e0c 52%,rgba(15,14,12,0))}
  .gp-close{z-index:3}
  .givep .drag-grip{z-index:4}
}

/* ===== Giving panel, desktop: one balanced spread that fits the screen ===== */
@media (min-width:901px){
  .gp-in{max-width:1320px!important;margin:0 auto!important;min-height:100%!important;
    padding:calc(var(--safe-t) + 4.5rem) clamp(2rem,4.5vw,4rem) 2.5rem!important;
    grid-template-columns:minmax(0,1fr) minmax(0,34rem)!important;grid-template-rows:auto auto;
    grid-template-areas:"left console" "alt console";column-gap:clamp(2.5rem,6vw,6rem)!important;row-gap:0!important;
    align-items:start!important;align-content:center}
  .gp-left{grid-area:left;align-self:end;min-width:0}
  .gp-right{display:contents}
  .gp-console{grid-area:console;align-self:center}
  .gp-alt{grid-area:alt;align-self:start;margin-top:2rem!important;max-width:32rem}
  .gp-jumps{display:none!important}
  /* the title always fits its column: it scales with the window's width and height */
  .gp-title{font-size:clamp(3rem,min(6.2vw,11vh),7.2rem)!important;white-space:nowrap}
  .gp-rule{margin:1.4rem 0!important}
  .gp-phil{font-size:clamp(1.1rem,1.45vw,1.42rem)!important;max-width:30rem}
  .gp-verse{margin-top:1.4rem!important;font-size:clamp(1rem,1.15vw,1.18rem)!important}
  /* a tighter console */
  .gp-console{padding:1.6rem 1.8rem!important}
  .gp-toggle{margin-bottom:1.2rem!important}
  .gp-tab{padding:.8rem .8rem!important}
  .gp-chip{min-height:54px!important}
  .gp-cta{margin-top:1.2rem!important;min-height:52px!important}
  .gp-manage{margin-top:.9rem!important}
  .gp-secure{margin-top:.8rem!important}
  .gp-note{margin-top:.9rem!important}
}
/* shorter laptop screens: compress further so nothing needs scrolling */
@media (min-width:901px) and (max-height:820px){
  .gp-in{padding-top:calc(var(--safe-t) + 4rem)!important;padding-bottom:1.5rem!important}
  .gp-console{padding:1.25rem 1.5rem!important}
  .gp-chip{min-height:44px!important}
  .gp-grid{gap:6px!important}
  .gp-tab{padding:.6rem .75rem!important}
  .gp-tab-t{font-size:1.05rem!important}
  .gp-cta{min-height:46px!important;margin-top:1rem!important}
  .gp-onetime{padding:1.2rem .5rem!important}
  .gp-note{font-size:.95rem!important}
  .gp-rule{margin:1.1rem 0!important}
  .gp-verse{margin-top:1.1rem!important}
  .gp-alt{margin-top:1.5rem!important;font-size:.85rem!important}
}
/* large monitors: the spread scales up a step */
@media (min-width:1600px) and (min-height:950px){
  .gp-in{max-width:1500px!important;grid-template-columns:minmax(0,1fr) minmax(0,40rem)!important}
  .gp-title{font-size:clamp(3rem,min(6.2vw,11vh),8.4rem)!important}
  .gp-phil{font-size:1.6rem!important;max-width:34rem}
  .gp-verse{font-size:1.3rem!important}
  .gp-console{padding:2rem 2.2rem!important}
  .gp-chip{min-height:62px!important;font-size:1.2rem}
  .gp-tab{padding:1rem .9rem!important}
  .gp-tab-t{font-size:1.3rem!important}
  .gp-cta{min-height:58px!important;font-size:12px}
  .gp-manage,.gp-secure{font-size:.78rem!important}
  .gp-note{font-size:1.1rem!important}
  .gp-alt{font-size:1rem!important;max-width:36rem}
}

/* ======================================================================
   RESTORATION PASS: content from the original, woven into the new flow
   ====================================================================== */
/* Christ and Jesus in crimson, as red-letter Scripture sets the words of Christ apart */
:root{--xp:#d4594c}
.xp{color:var(--xp)!important;-webkit-text-fill-color:var(--xp)}
.sheet .xp,.lg-paper .xp{color:#a32f27!important;-webkit-text-fill-color:#a32f27}
.pl-c .xp,.amb2 .xp{color:#7d1f17!important;-webkit-text-fill-color:#7d1f17}
.btn .xp,.wb .xp,.sr-item .xp{color:inherit!important;-webkit-text-fill-color:currentColor}

/* hero: the hairline fix (no block filter, a halo that fades fully before its edges) */
.hero-name{filter:none!important}
.hero-name .ch{text-shadow:0 6px 28px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.35)}
.mast::before{background:radial-gradient(closest-side at 32% 50%,rgba(17,16,14,.6),rgba(17,16,14,.25) 62%,rgba(17,16,14,0))!important}

/* square buttons: the arrow slides; the button never changes size, so nothing shifts under the cursor */
.btn,.btn:hover,.btn:focus-visible{gap:1rem!important}
.btn::after{transition:transform .45s var(--e-orig)!important}
@media (hover:hover) and (pointer:fine){.btn:hover::after{transform:translateX(.45rem)}}
.btn:focus-visible::after,.btn:active::after{transform:translateX(.45rem)}

/* menu: one word each, in scroll order, the current section underlined */
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:.2em;bottom:-6px;height:1px;background:var(--goldd);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e-orig)}
.nav-links a.on{color:var(--dawn)!important}
.nav-links a.on::after{transform:scaleX(1)}

/* ---- Christ at the center ---- */
.christ{padding:clamp(6rem,16vh,11rem) 0 clamp(4rem,10vh,7rem)}
.christ-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(2rem,5vw,4.5rem)}
.christ-copy{max-width:44rem}
.christ-copy .kicker{justify-content:center}
.christ-copy .h2{margin:.6rem 0 1.6rem}
.christ-p{font-family:var(--serif);font-weight:300;font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.5;color:rgba(246,243,239,.9)}
.christ-p2{margin-top:1.4rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.45rem);color:var(--gold)}
.xcross{position:relative;width:clamp(84px,9vw,128px);aspect-ratio:2/3}
.xc-svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 10px rgba(255,236,196,.55))}
.xc-svg line{stroke-width:2.4;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.8s cubic-bezier(.65,0,.35,1)}
.xc-svg .xc-h{transition-delay:.9s;stroke-dasharray:90;stroke-dashoffset:90}
.xcross.on .xc-svg line{stroke-dashoffset:0}
.xc-glow{position:absolute;left:50%;top:31%;width:220%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.6);border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,196,.28),rgba(224,193,136,.08) 55%,transparent);opacity:0;transition:opacity 2s ease 1.2s,transform 2.4s var(--e-out) 1.2s}
.xcross.on .xc-glow{opacity:1;transform:translate(-50%,-50%) scale(1);animation:xcBreathe 6s ease-in-out 3.6s infinite}
@keyframes xcBreathe{50%{opacity:.7}}
@media (max-width:760px){.christ-in{grid-template-columns:1fr}.xcross{width:76px}}

/* ---- Where to begin ---- */
.wherebegin{padding:clamp(3rem,8vh,6rem) 0 clamp(5rem,12vh,8rem)}
.wb-tag{max-width:38ch;margin:.9rem 0 2.4rem;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.6rem,2.8vw,2.6rem);line-height:1.3;color:var(--dawn)}
.wb-sub{max-width:52ch;margin:0 0 2.8rem;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7;color:rgba(246,243,239,.62)}
.wb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wb{position:relative;display:flex;flex-direction:column;gap:.7rem;min-height:15rem;padding:2rem 1.8rem 1.7rem;text-decoration:none;color:var(--dawn);
  background:linear-gradient(180deg,rgba(40,37,32,.8),rgba(24,22,19,.78));border:1px solid rgba(246,243,239,.09);overflow:hidden;isolation:isolate;transition:border-color .35s,transform .35s var(--e-orig)}
.wb::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(224,193,136,.16),rgba(224,193,136,0));transform:translateY(101%);transition:transform .5s var(--e-orig)}
.wb-n{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--gold)}
.wb-k{font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.wb-t{font-family:var(--serif);font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.15}
.wb-d{margin-top:.2rem;font-size:.92rem;line-height:1.6;color:rgba(246,243,239,.58)}
.wb-go{position:absolute;right:1.6rem;bottom:1.6rem;color:var(--goldd);transition:transform .4s var(--e-orig)}
.wb-soon{opacity:.62;border-style:dashed}
.wb-soon .wb-go{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase}
.wb-give{background:linear-gradient(180deg,rgba(142,49,40,.5),rgba(108,34,28,.45));border-color:rgba(212,89,76,.3)}
@media (hover:hover) and (pointer:fine){a.wb:hover{border-color:rgba(224,193,136,.4);transform:translateY(-3px)}a.wb:hover::before{transform:none}a.wb:hover .wb-go{transform:translateX(4px)}}
a.wb:active{transform:scale(.98)}
@media (max-width:1100px){.wb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wb{min-height:12rem}}@media (max-width:620px){.wb-grid{grid-template-columns:1fr}.wb{min-height:0}}

/* ---- The house: the experience, up front ---- */
.panel-intro .np-line{margin-top:1rem;font-size:.95rem;line-height:1.7;color:rgba(246,243,239,.62)}

/* ---- The environment ---- */
.env{padding:clamp(5rem,12vh,8rem) 0}
.env-cols{columns:2;column-gap:clamp(2rem,4vw,4rem);margin:2rem 0 3rem;max-width:62rem}
.env-cols>*{break-inside:avoid;margin-bottom:1.2rem}
.env-cols .pull{margin:.4rem 0 1.4rem}
.env-k{margin-bottom:1rem}
.flips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:66rem}
.flip{position:relative;height:clamp(13rem,22vw,15.5rem);padding:0;border:0;background:none;color:var(--dawn);text-align:left;perspective:1100px;cursor:pointer}
.flip-in{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.25,.4,1)}
.flip.on .flip-in{transform:rotateY(180deg)}
.flip-f,.flip-b{position:absolute;inset:0;display:flex;flex-direction:column;padding:1.4rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:linear-gradient(180deg,rgba(40,37,32,.88),rgba(24,22,19,.86));border:1px solid rgba(246,243,239,.1)}
.flip-b{transform:rotateY(180deg);background:linear-gradient(180deg,rgba(64,55,40,.92),rgba(36,32,26,.92));border-color:rgba(224,193,136,.3)}
.fl-ic{font-size:1.5rem;color:var(--gold)}
.fl-t{margin-top:auto;font-family:var(--serif);font-size:1.45rem;line-height:1.15}
.flip-b .fl-t{margin-top:0;font-size:1.15rem;color:var(--gold)}
.fl-d{margin-top:.7rem;font-size:.92rem;line-height:1.6;color:rgba(246,243,239,.85)}
.fl-more{margin-top:.8rem;font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--goldd)}
@media (hover:hover) and (pointer:fine){.flip:hover .flip-in{transform:rotateY(180deg)}}
.flip:focus-visible{outline:none}.flip:focus-visible .flip-f,.flip:focus-visible .flip-b{box-shadow:0 0 0 2px rgba(224,193,136,.7)}
@media (prefers-reduced-motion:reduce){.flip-in{transition:none}.flip-f,.flip-b{backface-visibility:visible;transition:opacity .25s}.flip-b{transform:none;opacity:0}.flip.on .flip-in,.flip:hover .flip-in{transform:none}.flip.on .flip-b,.flip:hover .flip-b{opacity:1}}
.between{margin-top:clamp(3.5rem,8vh,5.5rem);max-width:58rem}
.between-h{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.12;margin-bottom:1.2rem}
.between-l{list-style:none;margin-top:1.6rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 2.4rem}
.between-l li{position:relative;padding:.75rem 0 .75rem 1.6rem;border-bottom:1px solid rgba(246,243,239,.08);font-family:var(--serif);font-size:1.15rem;color:rgba(246,243,239,.88)}
.between-l li::before{content:"\2192";position:absolute;left:0;color:var(--goldd)}
@media (max-width:900px){.env-cols{columns:1}.flips{grid-template-columns:repeat(2,minmax(0,1fr))}.between-l{grid-template-columns:1fr}}

/* ---- Walking in the Way of Christ ---- */
.fw-lead{margin-top:.4rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);color:var(--gold)}

/* ---- Pathways: Ministers in Residence, and the process ---- */
.minres{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,3vw,2.6rem);align-items:center;margin-top:clamp(3rem,7vh,4.5rem);padding:clamp(1.6rem,3vw,2.4rem);
  background:linear-gradient(180deg,rgba(40,37,32,.85),rgba(24,22,19,.82));border:1px solid rgba(224,193,136,.22);max-width:66rem}
.mr-seal{width:clamp(72px,8vw,100px);color:var(--gold)}
.mr-h{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3vw,2.6rem);margin:.4rem 0 .9rem}
.process{margin-top:clamp(3.5rem,8vh,5rem);max-width:66rem}
.pr-h{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3vw,2.6rem);margin:.4rem 0 .9rem}
.pr-steps{list-style:none;margin-top:1.8rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;counter-reset:none}
.pr-steps li{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.2rem 1.1rem 1.3rem;border-top:1px solid rgba(224,193,136,.35);background:linear-gradient(180deg,rgba(224,193,136,.06),rgba(224,193,136,0))}
.pr-n{font-family:var(--display);font-size:1.3rem;color:var(--gold)}
.pr-t{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:var(--dawn)}
.pr-d{font-size:.88rem;line-height:1.6;color:rgba(246,243,239,.66)}
@media (max-width:1100px){.pr-steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.minres{grid-template-columns:1fr}.pr-steps{grid-template-columns:1fr}}

/* ---- Leadership: who carries the house ---- */
.roles{margin-top:clamp(3rem,7vh,4.5rem)}
.role-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rl{padding:1.4rem 1.3rem 1.5rem;background:linear-gradient(180deg,rgba(40,37,32,.85),rgba(24,22,19,.82));border:1px solid rgba(246,243,239,.09);border-top:1px solid rgba(224,193,136,.45)}
.rl-k{font-size:.58rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.rl-n{margin-top:.6rem;font-family:var(--serif);font-size:1.3rem;line-height:1.2;color:var(--dawn)}
.rl-d{margin-top:.7rem;font-size:.9rem;line-height:1.65;color:rgba(246,243,239,.72)}
.roles .pull{margin:clamp(2.5rem,6vh,3.5rem) 0;max-width:52rem}
.oversight{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);max-width:66rem}
.ov-h{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15;margin:.5rem 0 1rem}
.ov-q{margin-top:1.2rem;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold)}
.ov-l{list-style:none;margin:.8rem 0 1.2rem}
.ov-l li{position:relative;padding:.6rem 0 .6rem 1.6rem;border-bottom:1px solid rgba(246,243,239,.08);font-family:var(--serif);font-size:1.15rem}
.ov-l li::before{content:"\2192";position:absolute;left:0;color:var(--goldd)}
@media (max-width:1100px){.role-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.role-grid{grid-template-columns:1fr}.oversight{grid-template-columns:1fr}}

/* ---- Governance: the closing line ---- */
.gov-close{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.6vw,1.35rem);color:rgba(246,243,239,.78)}
.gov-close b{font-style:normal;font-family:var(--display);font-weight:400;letter-spacing:.06em;color:var(--gold)}

/* ---- Giving: the nonprofit, said plainly ---- */
.np-band{margin:clamp(2rem,5vh,3rem) 0 0;padding:clamp(1.6rem,3vw,2.4rem);max-width:58rem;border-left:2px solid var(--crimson,#8e3128);background:linear-gradient(90deg,rgba(142,49,40,.16),rgba(142,49,40,0))}
.np-k{font-size:.58rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#e08c80}
.np-t{margin-top:.7rem;font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.3;color:var(--dawn)}
.np-b{margin-top:.9rem;font-size:1rem;line-height:1.75;color:rgba(246,243,239,.75);max-width:48rem}
.give-more{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(3rem,7vh,4.5rem)}
.gm-h{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15;margin:.5rem 0 1rem}
.gm-l{list-style:none;margin:1rem 0}
.gm-l li{position:relative;padding:.6rem 0 .6rem 1.6rem;border-bottom:1px solid rgba(246,243,239,.08);font-family:var(--serif);font-size:1.12rem}
.gm-l li::before{content:"\2192";position:absolute;left:0;color:var(--goldd)}
.gm-col .btn{margin-top:1.2rem}
.ov-acts{margin-top:clamp(1.6rem,4vh,2.4rem)}
.give-verse{grid-column:1/-1;margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.45;max-width:46rem;color:rgba(246,243,239,.85)}
.give-verse cite{display:block;margin-top:.8rem;font-family:var(--sans);font-style:normal;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
@media (max-width:900px){.give-more{grid-template-columns:1fr}}

/* ---- Begin: the original call ---- */
.fin-sub{margin:.6rem 0 1.2rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.9rem);color:var(--gold)}

/* ---- Drawer extras for the restored content ---- */
.sheet .lede-s{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--gold-ink);margin:-.4rem 0 1rem}
.sheet .facts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:1.6rem 0}
.sheet .facts3>div{padding:1rem;border-top:1px solid rgba(138,108,58,.45);background:rgba(44,42,39,.04)}
.sheet .facts3 b{display:block;font-family:var(--display);font-weight:400;font-size:1.9rem;color:var(--gold-ink)}
.sheet .facts3 span{display:block;margin-top:.3rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.sheet .facts3 em{display:block;margin-top:.35rem;font-style:normal;font-size:.85rem;color:#5c574f}
.sheet .cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1rem 0}
.sheet .cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin:1rem 0}
.sheet .cmp{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
.sheet .cmp th{text-align:left;padding:.6rem .7rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);border-bottom:1px solid rgba(44,42,39,.2)}
.sheet .cmp td{padding:.7rem;border-bottom:1px solid rgba(44,42,39,.1);vertical-align:top}
.sheet .cmp td:first-child{color:#7a756d}
.sheet .cmp td:last-child{color:var(--ink);font-weight:500}
.sheet .tags{margin-top:1.2rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.sheet .em-line{margin:1.4rem 0;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--ink)}
.sheet blockquote{margin:1.9rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.45;color:var(--ink)}
.sheet blockquote cite{display:block;margin-top:.7rem;font-family:var(--sans,inherit);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.sheet .em-line.em-big{margin:2.4rem 0;font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.22;color:var(--gold);max-width:22ch}
.sheet .sheet-acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
@media (max-width:640px){.sheet .facts3,.sheet .cols3,.sheet .cols2{grid-template-columns:1fr}}
.christ-in{grid-template-columns:max-content minmax(0,40rem)!important;justify-content:start}
@media (min-width:1101px){.wb-grid{max-width:min(100%,62rem)}.christ-in{max-width:62rem}}
@media (max-width:760px){.christ-in{grid-template-columns:1fr!important}}

/* ===== The lightning: a glimpse of Christ, struck once, findable after ===== */
.bolt{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.bolt img{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:54% 40%;opacity:0;will-change:opacity,transform}
.b-scrub{filter:blur(.8px) brightness(.95)}
.bolt.strike .b-strike{animation:boltStrike 1.75s linear both}
@keyframes boltStrike{
  0%{opacity:0;transform:scale(1.05);filter:brightness(2) contrast(1.15) blur(.3px) saturate(.62)}
  2.5%{opacity:.95}
  6%{opacity:.08}
  9.5%{opacity:.85;filter:brightness(1.55) contrast(1.1) blur(.3px) saturate(.62)}
  18%{opacity:.36;filter:brightness(1.05) blur(.6px) saturate(.62)}
  100%{opacity:0;transform:scale(1);filter:brightness(.9) blur(1.8px) saturate(.62)}
}
/* the lightning itself: a cool-warm wash across the scene, kept low in brightness */
.b-flash{position:absolute;inset:0;opacity:0;mix-blend-mode:screen;background:radial-gradient(95% 85% at 60% 28%,rgba(255,251,242,.9),rgba(255,244,226,.32) 45%,rgba(255,240,215,0) 80%)}
.bolt.strike .b-flash{animation:boltFlash 1.75s linear both}
@keyframes boltFlash{0%{opacity:0}2%{opacity:.26}5%{opacity:0}9%{opacity:.16}12%{opacity:0}100%{opacity:0}}
/* the window keeps a faint ghost of the face behind its monogram */
/* no flashing for anyone who has asked for less motion; the face rests, veiled, in the window */
@media (prefers-reduced-motion:reduce){.bolt{display:none}}
html.rm .bolt{display:none}
/* phones: a gentler strike, framed on the eyes */
@media (max-width:760px){
  .bolt img{object-position:52% 47%}
  .bolt.strike .b-strike{animation-name:boltStrikeM}
  .bolt.strike .b-flash{animation-name:boltFlashM}
}
@keyframes boltStrikeM{
  0%{opacity:0;transform:scale(1.04);filter:brightness(1.35) contrast(1.05) blur(.3px) saturate(.62)}
  2.5%{opacity:.8}
  6%{opacity:.06}
  9.5%{opacity:.7;filter:brightness(1.2) blur(.3px) saturate(.62)}
  18%{opacity:.3;filter:brightness(.95) blur(.6px) saturate(.62)}
  100%{opacity:0;transform:scale(1);filter:brightness(.85) blur(1.8px) saturate(.62)}
}
@keyframes boltFlashM{0%{opacity:0}2%{opacity:.14}5%{opacity:0}9%{opacity:.08}12%{opacity:0}100%{opacity:0}}
/* the strike stays matte: colour held down at every brightness */
.bolt .b-strike,.bolt .b-scrub{--sat:.62}
.bolt.strike .b-strike{-webkit-mask:none}
.bolt img{filter:saturate(.62)}
.bolt .b-scrub{filter:blur(.8px) brightness(.95) saturate(.62)}

/* ===== Round: hero lockup sized to the top half, matte nav, blended Index highlight ===== */
/* Lockup fills the top half on desktop: height-aware so it never crosses the midline */
@media (min-width:1101px){
  .hero-name{font-size:clamp(3.4rem,min(10.6vw,calc((47vh - 8.6rem) / 2)),12.5rem)!important}
}
@media (max-width:1100px){
  .hero-name{font-size:clamp(2.6rem,12.4vw,5.6rem)!important}
}
/* Nav on scroll: a matte cover, opaque enough that headlines stop reading through it */
.nav.is-solid,.nav.is-light.is-solid{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .88 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(180deg,rgba(27,25,22,.95),rgba(22,20,18,.92))!important;
  -webkit-backdrop-filter:blur(28px) saturate(115%)!important;backdrop-filter:blur(28px) saturate(115%)!important;
  border-bottom:1px solid rgba(246,243,239,.05)!important;
  box-shadow:0 18px 30px -26px rgba(0,0,0,.8)!important}
.nav.is-solid::after{opacity:0!important}
@media (prefers-reduced-transparency:reduce){.nav.is-solid,.nav.is-light.is-solid{background:#1b1916!important}}
/* Index and search highlight: no inner pill, the whole capsule answers instead */
.nav-cap{transition:border-color .35s var(--e-orig),background-color .35s var(--e-orig)}
.nav-cap .nav-search:hover,.nav-cap .nav-index:hover,
.nav-cap .nav-search:active,.nav-cap .nav-index:active{background:transparent!important}
.nav-cap .nav-search:focus-visible,.nav-cap .nav-index:focus-visible{box-shadow:none!important;outline:none!important;background:transparent!important}
.nav-cap .nav-index,.nav-cap .nav-search{color:rgba(246,243,239,.62)!important}
.nav-cap .nav-index:hover,.nav-cap .nav-search:hover,
.nav-cap .nav-index:focus-visible,.nav-cap .nav-search:focus-visible{color:var(--dawn)!important}
.nav-cap:hover,.nav-cap:has(:focus-visible){border-color:rgba(224,193,136,.38)!important;background-color:rgba(246,243,239,.035)!important}
.nav-cap:has(:focus-visible){box-shadow:0 0 0 3px rgba(224,193,136,.16)!important}
.nav-cap .nav-index:focus-visible i,.nav-cap .nav-index:hover i{opacity:1}

/* Giving steps back: a quiet outlined pill, Apply is the one accent */
.nav-r .nav-support,.nav.is-light .nav-r .nav-support{background:transparent!important;border:1px solid rgba(246,243,239,.2)!important;color:rgba(246,243,239,.82)!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:border-color .35s var(--e-orig),color .35s var(--e-orig),background-color .35s var(--e-orig)!important}
.nav-r .nav-support::before,.nav-r .nav-support::after{display:none!important;animation:none!important}
.nav-r .nav-support:hover,.nav-r .nav-support:focus-visible{background:rgba(246,243,239,.035)!important;border-color:rgba(224,193,136,.38)!important;color:var(--dawn)!important;outline:none}
.nav-r .nav-support:focus-visible{box-shadow:0 0 0 3px rgba(224,193,136,.16)!important}
@media (prefers-contrast:more){.nav-r .nav-support{border-color:rgba(246,243,239,.7)!important;color:var(--dawn)!important}}
/* Menu words: a size up and brighter */
.nav-links a{font-size:11px!important;color:rgba(246,243,239,.74)!important}
.nav-links a:hover,.nav-links a.on{color:var(--dawn)!important}

/* Round: centered Christ kicker, Where to Begin gets presence */
.christ-copy .kicker::after{content:"";width:2.6rem;height:1px;background:currentColor;opacity:.55}
@media (min-width:1101px){.wherebegin .wb-grid{max-width:min(100%,72rem)}}
.wb{border-color:rgba(246,243,239,.1);background:linear-gradient(180deg,rgba(44,40,34,.85),rgba(22,20,17,.85))}
.wb-t{font-size:clamp(1.6rem,2.3vw,2.2rem)}
a.wb:focus-visible{outline:none;border-color:rgba(224,193,136,.5);box-shadow:0 0 0 3px rgba(224,193,136,.16)}

.wb-d{padding-right:1.8rem}

/* ================= No resting cards. Clickables matte forward ================= */
/* resting state: open type on the grid, a single hairline above */
.wb,.rl,.minres,.flip,.flip-f,.flip-b{border-radius:0!important;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.wb,.flip{overflow:visible!important;isolation:isolate}
.wb::before,.wb::after,.flip-f::before,.flip-f::after,.flip-b::before,.flip-b::after,.rl::before,.minres::before{content:none!important}

/* the pane that comes forward */
a.wb::before,.flip::before{content:""!important;position:absolute;inset:-.7rem -1.1rem;z-index:-1;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,246,228,.075),rgba(255,246,228,0) 42%),rgba(34,31,27,.52);
  border:1px solid rgba(246,243,239,.12);box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 46px 80px -44px rgba(0,0,0,.85);
  opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96);
  -webkit-backdrop-filter:blur(0px) saturate(100%);backdrop-filter:blur(0px) saturate(100%);
  transition:opacity .45s ease,transform .75s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .75s ease,backdrop-filter .75s ease,border-color .5s ease}
a.wb::after,.flip::after{content:""!important;position:absolute;inset:-.7rem -1.1rem;z-index:-1;pointer-events:none;
  background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96);
  transition:opacity .5s ease .05s,transform .75s cubic-bezier(.16,1,.3,1)}
.wb-edge,.flip .fl-edge{display:none}
a.wb>*,.flip-in{transition:transform .75s cubic-bezier(.16,1,.3,1)}

@media (hover:hover) and (pointer:fine){
  a.wb:hover::before,.flip:hover::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.34)}
  a.wb:hover::after,.flip:hover::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)}
  a.wb:hover>*,.flip:hover .flip-in{transform:translateY(-4px)}
}
a.wb:focus-visible::before,.flip:focus-visible::before,.flip.on::before,a.wb:active::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.4)}
a.wb:focus-visible::after,.flip:focus-visible::after,.flip.on::after,a.wb:active::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)}
a.wb:focus-visible,.flip:focus-visible{outline:none}
a.wb:focus-visible::before,.flip:focus-visible::before{box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 0 0 3px rgba(224,193,136,.2)}
a.wb:active{transform:none}

/* Where to begin */
.wherebegin .wb-grid{gap:clamp(2.6rem,4vw,3.6rem)}
.wb{text-align:left;align-items:flex-start;justify-content:flex-start;min-height:0;padding:1.4rem 0 .6rem!important;border-top:1px solid rgba(246,243,239,.16)!important;transform:none!important}
.wb-t{font-size:clamp(1.55rem,2.1vw,2rem)}
.wb-d{max-width:30ch;margin:0;color:rgba(246,243,239,.86)}
.wb-go{position:static!important;margin-top:auto;padding-top:1.3rem;display:inline-flex;align-items:center;gap:.55rem;font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.wb-go i{font-style:normal;transition:transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){a.wb:hover .wb-go i{transform:translateX(5px)}}
.wb-soon{opacity:1;border-top-style:dashed!important}
.wb-soon .wb-k,.wb-soon .wb-t,.wb-soon .wb-d,.wb-soon .wb-go{opacity:.55}
@media (max-width:1100px){.wherebegin .wb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}}
@media (max-width:760px){.wherebegin .wb-grid{grid-template-columns:1fr;gap:2.2rem}}

/* Environment: front and back cross-fade in place, no 3D flip */
.flips{gap:clamp(2rem,3vw,2.8rem)}
.flip{height:clamp(12.5rem,19vw,14rem);border-top:1px solid rgba(246,243,239,.16)!important;perspective:none}
.flip-in,.flip.on .flip-in,.flip:hover .flip-in{transform-style:flat;transform:none}
.flip-f,.flip-b{backface-visibility:visible!important;-webkit-backface-visibility:visible!important;transform:none!important;align-items:flex-start;text-align:left;padding:1.2rem 0 0!important;transition:opacity .45s ease}
.flip-f{justify-content:flex-end}
.flip-b{opacity:0;justify-content:flex-start}
.flip.on .flip-f,.flip:focus-visible .flip-f{opacity:0}
.flip.on .flip-b,.flip:focus-visible .flip-b{opacity:1}
@media (hover:hover) and (pointer:fine){.flip:hover .flip-f{opacity:0}.flip:hover .flip-b{opacity:1}.flip:hover .flip-in{transform:translateY(-4px)}}
.fl-ic{position:absolute!important;top:1.2rem;left:0;font-family:var(--display);font-size:.95rem;letter-spacing:.16em;color:var(--gold)}
.fl-t{margin-top:0}
.fl-d{font-size:.9rem;color:rgba(246,243,239,.92)}
@media (max-width:520px){.flips{grid-template-columns:1fr}.flip{height:11.5rem}}

/* Who carries the house: open columns */
.role-grid{gap:clamp(1.6rem,2.6vw,2.4rem)}
.rl{padding:1.3rem 0 0!important;border-top:1px solid rgba(224,193,136,.45)!important}
.rl-n{font-size:1.35rem}
.rl-d{color:rgba(246,243,239,.88)}

/* Ministers in Residence: open, ruled above */
.minres{padding:1.6rem 0 0!important;border-top:1px solid rgba(224,193,136,.35)!important}

@media (prefers-reduced-motion:reduce){
  a.wb::before,.flip::before,a.wb::after,.flip::after{transform:none!important;transition:opacity .2s ease!important}
  a.wb>*,.flip-in{transform:none!important;transition:none!important}
}
@media (prefers-reduced-transparency:reduce){a.wb::before,.flip::before{background:#1e1b17;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

/* ================= Readability: weight where the eye rests ================= */
body{font-weight:400}
.christ-p{font-weight:500}
.gp-phil{font-weight:400}
.xp{font-weight:600}
.wb-sub,.panel-intro .np-line{color:rgba(246,243,239,.86)}
.np-b{color:rgba(246,243,239,.88)}



/* ================= Throughout: no resting panes, every clickable mattes forward ================= */
.person,.role2,.faq .qa,.fin-contact a{position:relative;isolation:isolate;overflow:visible!important}
.person::before,.role2::before,.faq .qa::before,.fin-contact a::before{content:""!important;position:absolute;z-index:-1;pointer-events:none;inset:-.7rem -1.1rem;
  background:linear-gradient(160deg,rgba(255,246,228,.075),rgba(255,246,228,0) 42%),rgba(34,31,27,.52)!important;
  border:1px solid rgba(246,243,239,.12);box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 46px 80px -44px rgba(0,0,0,.85);
  opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96)!important;transform-origin:center;
  -webkit-backdrop-filter:blur(0px) saturate(100%);backdrop-filter:blur(0px) saturate(100%);
  transition:opacity .45s ease,transform .75s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .75s ease,backdrop-filter .75s ease,border-color .5s ease!important}
.person::after,.role2::after,.faq .qa::after,.fin-contact a::after{content:""!important;position:absolute;z-index:-1;pointer-events:none;inset:-.7rem -1.1rem;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96);transition:opacity .5s ease .05s,transform .75s cubic-bezier(.16,1,.3,1)}
.person::before,.person::after{inset:-.8rem -.8rem -1rem}
.role2::before,.role2::after{inset:-.1rem -1.2rem}
.faq .qa::before,.faq .qa::after{inset:0 -1.2rem}
.fin-contact a::before,.fin-contact a::after{inset:-.45rem -.9rem}
@media (hover:hover) and (pointer:fine){
  .person:hover::before,.role2:hover::before,.faq .qa:hover::before,.fin-contact a:hover::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.34)!important}
  .person:hover::after,.role2:hover::after,.faq .qa:hover::after,.fin-contact a:hover::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)!important}
  .person:hover .pic,.person:hover .who,.role2:hover>*,.faq .qa:hover>h3{transform:translateY(-4px)}
}
.person:focus-visible::before,.person:active::before,.role2:focus-visible::before,.role2:active::before,.faq .qa:has(.q:focus-visible)::before,.faq .qa.open::before,.fin-contact a:focus-visible::before,.fin-contact a:active::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.34)!important}
.person:focus-visible::after,.person:active::after,.role2:focus-visible::after,.role2:active::after,.faq .qa:has(.q:focus-visible)::after,.faq .qa.open::after,.fin-contact a:focus-visible::after,.fin-contact a:active::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)!important}
.person .pic,.person .who,.role2>*,.faq .qa>h3{transition:transform .75s cubic-bezier(.16,1,.3,1)}
.person:focus-visible,.role2:focus-visible,.faq .q:focus-visible,.fin-contact a:focus-visible{outline:none}

/* Join roles: the gold flood becomes the same matte pane */
.role2,.role2:hover,.role2:active,.role2:focus-visible,.role2:hover .r2-t,.role2:focus-visible .r2-t{color:var(--dawn)!important}
.role2:hover .r2-m,.role2:hover .r2-a,.role2:active .r2-m,.role2:active .r2-a,.role2:focus-visible .r2-m,.role2:focus-visible .r2-a{color:var(--goldd)!important}
.role2:hover .r2-d,.role2:active .r2-d,.role2:focus-visible .r2-d{color:rgba(246,243,239,.96)!important}
.role2:hover .r2-t{transform:none}
.r2-a::after{display:inline-block;transition:transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){.role2:hover .r2-a::after{transform:translateX(5px)}}

/* FAQ: an open question keeps its pane forward */
.faq .qa{border-radius:0}
.faq .q{position:relative}

/* Contact in the finale: open, each line comes forward */
.fin-contact{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.fin-contact::before{content:none!important}
.fin-contact a{display:inline-flex}

/* Membership and Ambassador: open, ruled above */
.member.band{background:none!important;border:0!important;border-top:1px solid rgba(224,193,136,.5)!important;padding:clamp(1.8rem,4vh,2.6rem) 0 0!important;box-shadow:none!important}
.amb2{background:none!important;color:var(--dawn);border-top:1px solid rgba(224,193,136,.5);padding:clamp(1.8rem,4vh,2.6rem) 0 0!important}
.amb2 .sub-k{color:var(--goldd)}
.amb2 h3{color:var(--dawn)}
.amb2 p:not(.sub-k){color:rgba(246,243,239,.92)}
.amb2 .xp{color:var(--xp)!important;-webkit-text-fill-color:var(--xp)}
.amb2 .btn-line{color:var(--dawn)}

@media (prefers-reduced-motion:reduce){
  .person::before,.role2::before,.faq .qa::before,.fin-contact a::before,.person::after,.role2::after,.faq .qa::after,.fin-contact a::after{transform:none!important;transition:opacity .2s ease!important}
  .person .pic,.person .who,.role2>*,.faq .qa>h3{transform:none!important;transition:none!important}
}
@media (prefers-reduced-transparency:reduce){.person::before,.role2::before,.faq .qa::before,.fin-contact a::before{background:#1e1b17!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

.faq .a p{color:rgba(246,243,239,.92)!important}

/* ================= Drawers: matte paper ================= */
.sheet{background:radial-gradient(120% 60% at 0% 0%,rgba(255,252,245,.9),rgba(255,252,245,0) 60%),radial-gradient(90% 70% at 100% 100%,rgba(201,169,110,.12),rgba(201,169,110,0) 65%),#f2ede4!important;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.7),-30px 0 80px -40px rgba(0,0,0,.6)}
.sheet::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--grain) 0 0/180px 180px;mix-blend-mode:multiply;opacity:.17}
.sheet::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;box-shadow:inset 0 0 140px rgba(74,58,34,.06)}
.sheet-scroll{position:relative;z-index:1}
.sheet-close{z-index:3}

/* ================= Mobile chapter chip: a corner numeral that stays out of the way ================= */
.chip{left:auto!important;right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(var(--safe-b) + 12px);min-height:0;height:44px;min-width:44px;padding:0;gap:0;justify-content:flex-start;
  background:rgba(19,18,16,.74)!important;-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%);border:1px solid rgba(246,243,239,.12);
  transform:translate3d(0,170%,0);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s ease!important}
.chip.on{transform:translate3d(0,0,0)}
.chip.on.tuck{transform:translate3d(0,170%,0)}
.chip:active{transform:scale(.95)!important}
.chip-n{display:grid;place-items:center;min-width:42px;height:42px;font-size:.8rem}
.chip-t{max-width:0;opacity:0;overflow:hidden;padding-right:0;transition:max-width .55s cubic-bezier(.16,1,.3,1),opacity .35s ease,padding .55s cubic-bezier(.16,1,.3,1)}
.chip.say .chip-t{max-width:15rem;opacity:1;padding-right:1rem}
@media (prefers-reduced-motion:reduce){.chip,.chip-t{transition:opacity .2s ease!important}}

/* ================= The house: photographs settle, captions matte forward ================= */
.shot{transform:scale(calc(.9 + .1 * var(--v,1)));transform-origin:center;transition:none!important}
.shot .frame{filter:brightness(calc(.68 + .32 * var(--v,1)))}
html.rm .shot{transform:none}
.shot figcaption{border-radius:0!important;isolation:isolate;
  background:linear-gradient(160deg,rgba(255,246,228,.075),rgba(255,246,228,0) 42%),rgba(24,22,19,.5)!important;
  border:1px solid rgba(246,243,239,.12)!important;box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 46px 80px -44px rgba(0,0,0,.85)!important;
  -webkit-backdrop-filter:blur(26px) saturate(112%)!important;backdrop-filter:blur(26px) saturate(112%)!important;
  transition:opacity .5s ease,transform .85s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .85s ease,backdrop-filter .85s ease!important}
.shot figcaption::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.34}
html:not(.rm) .shot:not(.in) figcaption{opacity:0;transform:perspective(900px) translate3d(0,28px,-70px) scale(.95);-webkit-backdrop-filter:blur(0px)!important;backdrop-filter:blur(0px)!important}
.shot figcaption h3{transition:transform .9s cubic-bezier(.16,1,.3,1) .08s}
.shot figcaption p{transition:transform .9s cubic-bezier(.16,1,.3,1) .14s,opacity .6s ease .14s}
html:not(.rm) .shot:not(.in) figcaption h3,html:not(.rm) .shot:not(.in) figcaption p{transform:translateY(10px)}
html:not(.rm) .shot:not(.in) figcaption p{opacity:0}
@media (hover:hover) and (pointer:fine){.shot.in:hover figcaption{transform:translateY(-5px)}}
@media (prefers-reduced-transparency:reduce){.shot figcaption{background:#1e1b17!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

/* environment: one paragraph, no cards */
#environment .env-k{margin:clamp(1.6rem,4vh,2.4rem) 0 1rem}
#environment .env-cols{columns:1;max-width:44rem;margin:0}
#environment .h2{max-width:20ch}

/* ================= Environment: a focus pull, one thought at a time ================= */
.envf{padding:clamp(5rem,12vh,8rem) 0 clamp(4rem,10vh,7rem)}
.envf-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.envf-head{position:sticky;top:calc(var(--safe-t,0px) + 22vh)}
.envf-head .h2{max-width:14ch}
.envf-head .env-k{margin:1.6rem 0 0}
.envf-flow{padding:clamp(1rem,4vh,2.5rem) 0 clamp(2rem,6vh,4rem);display:flex;flex-direction:column;gap:clamp(1.8rem,4.5vh,2.8rem)}
.envf-s{--f:1;position:relative;padding-top:1.4rem;max-width:34rem;font-size:clamp(1.12rem,1.45vw,1.3rem);line-height:1.65;color:rgba(246,243,239,.96);
  opacity:calc(.32 + .68 * var(--f));filter:blur(calc((1 - var(--f)) * 3px));transform:translate3d(0,calc((1 - var(--f)) * 8px),0);will-change:opacity,filter,transform}
.envf-s::before{content:"";position:absolute;left:0;top:0;width:3.2rem;height:1px;background:var(--gold);transform:scaleX(var(--f));transform-origin:left;opacity:.8}
.envf-big{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.2;max-width:22ch}
@media (max-width:860px){
  .envf-grid{grid-template-columns:1fr;gap:0}
  .envf-head{position:relative;top:auto}
  .envf-flow{padding:1.6rem 0 2rem;gap:1.8rem}
}
html.rm .envf-s{--f:1!important;filter:none;transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){.envf-s{--f:1!important;filter:none!important;transform:none!important;opacity:1!important}}

/* ================= Environment v3: one paragraph, held in place, read sentence by sentence ================= */
.envf{position:relative;height:210svh;padding:0!important}
.envf-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center}
.envf-pin .wrap{width:100%}
.envf-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.envf-head{position:relative!important;top:auto!important}
.envf-p{max-width:36rem;font-size:clamp(1.15rem,1.5vw,1.36rem);line-height:1.75;color:var(--dawn);margin:0}
.envf-p::before{content:"";display:block;width:3.2rem;height:1px;margin-bottom:1.4rem;background:var(--gold);transform:scaleX(var(--ep,0));transform-origin:left}
.envf-z{--f:1;opacity:calc(.26 + .74 * var(--f));filter:blur(calc((1 - var(--f)) * 2.4px));transition:none}
@media (max-width:860px){
  .envf{height:190svh}
  .envf-grid{grid-template-columns:1fr;gap:1.8rem;align-items:start}
  .envf-head .h2{font-size:clamp(1.9rem,8.4vw,2.6rem)}
  .envf-head .env-k{margin-top:1rem}
  .envf-p{font-size:1.06rem;line-height:1.7}
}
html.rm .envf{height:auto}
html.rm .envf-pin{position:relative;height:auto;padding:clamp(5rem,12vh,8rem) 0}
html.rm .envf-z{--f:1!important;filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){.envf{height:auto}.envf-pin{position:relative;height:auto;padding:5rem 0}.envf-z{filter:none!important;opacity:1!important}}

/* ================= Environment v4: lines rise into place, then stay fully readable ================= */
.envf{height:auto!important;padding:clamp(5rem,12vh,8rem) 0!important}
.envf-pin{position:relative!important;height:auto!important;display:block}
.envf-p::before{transform:scaleX(0);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.envf.in .envf-p::before{transform:scaleX(1)}
.envf-p .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.envf-p .ln-i{display:block;transform:translate3d(0,108%,0) rotate(1.5deg);transform-origin:left top;opacity:0;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .7s ease;transition-delay:calc(var(--i) * 85ms + 150ms)}
.envf.in .envf-p .ln-i{transform:none;opacity:1}
.envf-head .kicker,.envf-head .env-k{transition:opacity .9s ease .1s}
html.rm .envf-p .ln-i{transform:none!important;opacity:1!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.envf-p .ln-i{transform:none!important;opacity:1!important;transition:none!important}.envf-p::before{transform:none!important}}

.envf-grid{align-items:start!important}
.envf-p{margin-top:2.15rem!important}
@media (max-width:860px){.envf-p{margin-top:.4rem!important}}

@media (min-width:861px){.house .panel-outro{padding-right:clamp(2rem,7vw,7rem)}}

/* Beyond the stay: the numeral list that used to be the pattern of alignment */
#carryPath{padding-left:0}
#carryPath .sub-k{margin-left:0}
.carry-list{margin-top:.6rem}
.carry-list li{font-size:clamp(1.3rem,2vw,1.85rem)}

/* ================= Chapter ghosts on every numbered chapter ================= */
#shift .stage>.wrap,.house .panel-intro,#begin .fin-in{position:relative;isolation:isolate}
#letter{isolation:isolate}
.ch-ghost{top:calc(-1 * clamp(3.5rem,9vw,8.5rem))!important;pointer-events:none}
.house .panel-intro .ch-ghost{top:calc(-1 * clamp(2.5rem,7vw,6.5rem))!important}

.kick-ghost{position:relative;isolation:isolate}
.kick-ghost .ch-ghost{left:-.04em}

/* ================= Pathways: three open, each mattes forward with its details ================= */
.paths3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.4rem,4vw,3.6rem);margin-top:.6rem}
.pw{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:1.4rem 0 .6rem;border-top:1px solid rgba(246,243,239,.16);color:var(--dawn);background:none;cursor:pointer}
.pw::before{content:"";position:absolute;inset:-.7rem -1.1rem;z-index:-1;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,246,228,.075),rgba(255,246,228,0) 42%),rgba(34,31,27,.52);
  border:1px solid rgba(246,243,239,.12);box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 46px 80px -44px rgba(0,0,0,.85);
  opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96);-webkit-backdrop-filter:blur(0px) saturate(100%);backdrop-filter:blur(0px) saturate(100%);
  transition:opacity .45s ease,transform .75s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .75s ease,backdrop-filter .75s ease,border-color .5s ease}
.pw::after{content:"";position:absolute;inset:-.7rem -1.1rem;z-index:-1;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:0;transform:perspective(900px) translateZ(-60px) scale(.96);transition:opacity .5s ease .05s,transform .75s cubic-bezier(.16,1,.3,1)}
.pw-k{font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.pw-t{margin-top:.75rem;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,2.3vw,2.15rem);line-height:1.08;letter-spacing:.01em;transition:transform .75s cubic-bezier(.16,1,.3,1),color .4s}
.pw-more{display:grid;grid-template-rows:1fr;width:100%}
.pw-in{display:flex;flex-direction:column;gap:.9rem;padding-top:1rem;opacity:0;transform:translateY(10px);transition:opacity .5s ease .08s,transform .75s cubic-bezier(.16,1,.3,1) .08s}
.pw-lede{font-size:.98rem;line-height:1.6;color:rgba(246,243,239,.9);max-width:32ch}
.pw-facts{display:flex;flex-direction:column;gap:.55rem;padding-top:.8rem;border-top:1px solid rgba(246,243,239,.1)}
.pw-f{font-size:.9rem;line-height:1.45;color:rgba(246,243,239,.86)}
.pw-f b{display:block;margin-bottom:.15rem;font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--goldd)}
.pw-go{display:inline-flex;align-items:center;gap:.55rem;padding-top:.3rem;font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.pw-go i{font-style:normal;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.pw:focus-visible{outline:none}
/* forward state */
.pw.lit::before,.pw:focus-visible::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.36)}
.pw.lit::after,.pw:focus-visible::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)}
.pw.lit .pw-in,.pw:focus-visible .pw-in{opacity:1;transform:none}
.pw.lit .pw-t,.pw:focus-visible .pw-t{transform:translateY(-4px)}
.pw:focus-visible::before{box-shadow:inset 0 1px 0 rgba(255,246,228,.12),0 0 0 3px rgba(224,193,136,.2)}
@media (hover:hover) and (pointer:fine){
  .pw:hover::before{opacity:1;transform:perspective(900px) translateZ(0) scale(1);-webkit-backdrop-filter:blur(26px) saturate(112%);backdrop-filter:blur(26px) saturate(112%);border-color:rgba(224,193,136,.36)}
  .pw:hover::after{opacity:.34;transform:perspective(900px) translateZ(0) scale(1)}
  .pw:hover .pw-in{opacity:1;transform:none}
  .pw:hover .pw-t{transform:translateY(-4px)}
  .pw:hover .pw-go i{transform:translateX(5px)}
}
/* touch screens: nothing to hover, so the details simply show */
@media (hover:none){.pw-in{opacity:1;transform:none}.pw:active::before{opacity:1;transform:none}}
.pl-solo{margin-top:clamp(2.6rem,6vh,3.6rem)}
.paths-act{margin-top:1.4rem}
@media (max-width:980px){.paths3{grid-template-columns:1fr;gap:2.4rem}}
@media (prefers-reduced-motion:reduce){.pw::before,.pw::after{transform:none!important;transition:opacity .2s ease!important}.pw-in,.pw-t{transition:opacity .2s ease!important;transform:none!important}}
html.rm .pw-in{opacity:1;transform:none}

/* the heart's numeral: lower, fully in view, settles with the letter, never blurred */
#letter .ch-ghost{--chi:1!important;top:calc(-1 * clamp(1.6rem,3.4vw,3rem))!important;filter:none!important;transform:translate3d(0,calc((1 - var(--lt,1)) * 40px),0)}
@media (max-width:860px){#letter .ch-ghost{transform:none}}
.ch-ghost{filter:none!important}


/* ================= Hero: the three pillars as a quiet triptych ================= */
.hero-trip{position:absolute;z-index:2;right:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));top:calc(var(--safe-t) + clamp(150px,19vh,210px));pointer-events:none}
.ht-in{display:flex;flex-direction:column;align-items:flex-end;gap:1.15rem}
.ht-in span{display:flex;align-items:center;gap:.9rem;font-family:var(--display);font-weight:400;font-size:clamp(.78rem,.95vw,.95rem);letter-spacing:.34em;margin-right:-.34em;text-transform:uppercase;color:rgba(246,243,239,.4);animation:htBreathe 9s ease-in-out infinite}
.ht-in span::before{content:"";width:clamp(1.8rem,3vw,2.9rem);height:1px;background:rgba(224,193,136,.5)}
.ht-in span:nth-child(2){animation-delay:3s}
.ht-in span:nth-child(3){animation-delay:6s}
@keyframes htBreathe{0%,100%{color:rgba(246,243,239,.4);text-shadow:none}18%,30%{color:#e0c188;text-shadow:0 0 18px rgba(224,193,136,.3)}48%{color:rgba(246,243,239,.4);text-shadow:none}}
@media (max-width:860px){
  .hero-trip{left:auto;right:var(--gutter);top:calc(var(--safe-t) + 120px + 32vw)}
  .ht-in{gap:.55rem;align-items:flex-end}
  .ht-in span{font-size:.6rem;gap:.55rem;letter-spacing:.3em;margin-right:-.3em}
  .ht-in span::before{width:1.4rem}
}
@media (prefers-reduced-motion:reduce){.ht-in span{animation:none;color:rgba(246,243,239,.55)}}
html.rm .ht-in span{animation:none;color:rgba(246,243,239,.55)}

/* triptych v2: resting at a whisper, each word lights only when the cursor finds it */
.hero-trip{pointer-events:auto;z-index:12!important}
.ht-in span{animation:none!important;color:var(--dawn)!important;text-shadow:none;opacity:.15;padding:.25rem 0;cursor:default;
  transition:opacity .7s cubic-bezier(.16,1,.3,1),color .7s ease,text-shadow .7s ease}
.ht-in span::before{background:var(--gold);transform-origin:right;transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .7s ease}
.ht-in:hover span{opacity:.32}
.ht-in span:hover,.ht-in span:active{opacity:1;color:var(--gold)!important;text-shadow:0 0 14px rgba(224,193,136,.32)}
.ht-in span:hover::before,.ht-in span:active::before{transform:scaleX(1.25);box-shadow:0 0 8px rgba(224,193,136,.45)}

html.rm .ht-in span{color:var(--dawn)!important}

/* triptych v3: sized and set to the height of "Den", beside it */
.hero-trip{position:absolute!important;left:auto!important;right:var(--tr,0px)!important;top:var(--ty,0)!important;z-index:12!important;visibility:hidden}
.hero-trip.placed{visibility:visible}
.ht-in{gap:var(--tg,.3rem)!important;align-items:flex-end!important}
.ht-in span{font-size:var(--tf,.75rem)!important;line-height:1!important;padding:0!important;letter-spacing:.38em!important;margin-right:-.38em!important;gap:calc(var(--tf,.75rem) * 1.1)!important;flex-direction:row!important;white-space:nowrap}
.ht-in span::before{width:calc(var(--tf,.75rem) * 3.2)!important;transform-origin:right!important}

/* the strike covers the full width, past the chapter rail */
.bolt img{left:-3%!important;top:-3%!important;right:auto!important;bottom:auto!important;width:106%!important;height:106%!important;max-width:none!important;max-height:none!important}

/* experiences on touch screens: one rule per experience, details set compactly beneath */
@media (hover:none){
  .paths3{gap:2.8rem}
  .pw{border-top-color:rgba(224,193,136,.42);padding-top:1.3rem}
  .pw-in{gap:.75rem;padding-top:.8rem}
  .pw-facts{border-top:0;padding-top:0;gap:.4rem}
  .pw-f{font-size:.88rem;color:rgba(246,243,239,.8)}
  .pw-f b{display:inline;margin:0 .6em 0 0;font-size:.56rem}
  .pw-go{padding-top:.2rem}
}

/* membership: "What it holds" carries the line-by-line light that used to run on the numeral lists */
.hold-list li{display:block!important;grid-template-columns:none!important;font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.35rem)!important;line-height:1.35!important;padding:.95rem 0!important}

/* ================= Leadership v2: two leaders, former Denizens, the order of care ================= */
.leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem);max-width:40rem}
.ldr{display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--dawn);background:none;cursor:pointer}
.ldr-pic{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:#1d1b18;isolation:isolate}
.ldr-pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.14) contrast(1.06) brightness(.86);transform:scale(1.001);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s ease}
.ldr-pic::after{content:"";position:absolute;inset:0;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.3;pointer-events:none}
.ldr-k{margin-top:1.1rem;font-size:.6rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--goldd)}
.ldr-n{margin-top:.45rem;font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:.03em;line-height:1.15}
.ldr-go{margin-top:.7rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(224,193,136,.75);transition:color .4s}
.ldr-go i{font-style:normal;transition:transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){.ldr:hover .ldr-pic img{transform:scale(1.04);filter:grayscale(1) sepia(.14) contrast(1.08) brightness(.96)}.ldr:hover .ldr-go{color:var(--gold)}.ldr:hover .ldr-go i{transform:translateX(5px)}}
.ldr:focus-visible{outline:none}.ldr:focus-visible .ldr-pic{outline:2px solid var(--gold);outline-offset:3px}
.alumni{margin-top:clamp(2.6rem,6vh,3.6rem);max-width:46rem}
.alum-row{display:flex;flex-wrap:wrap;gap:.8rem 2.4rem;margin-top:1rem}
.alum{display:flex;align-items:center;gap:.9rem;color:var(--dawn);background:none;cursor:pointer;text-align:left}
.alum-pic{display:block;width:52px;height:52px;border-radius:50%;overflow:hidden;background:#1d1b18;flex:0 0 auto}
.alum-pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.8)}
.alum-t{display:flex;flex-direction:column;gap:.2rem}
.alum .nm{font-family:var(--display);font-size:1rem;letter-spacing:.03em}
.alum .who-r{font-size:.56rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,239,.55)}
.alum-go{font-style:normal;color:var(--goldd);opacity:0;transform:translateX(-4px);transition:opacity .4s,transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){.alum:hover .alum-go{opacity:1;transform:none}.alum:hover .alum-pic img{filter:grayscale(1) contrast(1.05) brightness(.95)}}
@media (hover:none){.alum-go{opacity:.7;transform:none}}
.alum:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.order{margin-top:clamp(3.4rem,8vh,5rem)}
.ord-row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:.6rem 2.4rem;align-items:baseline;padding:1.5rem 0;border-top:1px solid rgba(246,243,239,.14)}
.ord-row:last-of-type{border-bottom:1px solid rgba(246,243,239,.14)}
.ord-h h3{font-family:var(--display);font-weight:400;font-size:clamp(1.25rem,1.9vw,1.6rem);letter-spacing:.03em;line-height:1.15}
.ord-h span{display:block;margin-top:.35rem;font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--goldd)}
.ord-row p{max-width:40rem;font-size:1rem;line-height:1.65;color:rgba(246,243,239,.88)}
.order .ov-acts{margin-top:1.8rem}
@media (max-width:760px){.ord-row{grid-template-columns:1fr;padding:1.3rem 0}.leaders{gap:1rem}.ldr-n{font-size:1.05rem}}

#people .leaders{max-width:40rem!important}
#people .alumni{max-width:46rem!important}

.alum-one{gap:1.1rem}
.alum-pics{display:flex}
.alum-pics .alum-pic+.alum-pic{margin-left:-14px;box-shadow:0 0 0 2px #171512}

/* former Denizens drawer: a portrait above each bio */
.sheet .fd{margin-top:2.4rem;padding-top:2rem;border-top:1px solid rgba(44,42,39,.12)}
.sheet .fd-pic{width:9rem;aspect-ratio:4/5;margin:0 0 1.2rem;overflow:hidden;background:#d9d2c6}
.sheet .fd-pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.14) contrast(1.06) brightness(.92)}
.sheet .fd .label{margin-bottom:.3rem}
.sheet .fd-n{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:.02em;margin:0 0 1rem}

/* support: the church note, and text links that wipe fluidly instead of snapping short */
.give-def{margin-top:1.1rem;max-width:44rem;font-size:.9rem;line-height:1.65;color:rgba(246,243,239,.7)}
.give-def b{font-weight:600;color:var(--dawn)}
.txtlink{background:none!important;position:relative}
.txtlink::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(1);transform-origin:right}
@media (hover:hover) and (pointer:fine){.txtlink:hover::after{animation:tlWipe .85s cubic-bezier(.65,0,.35,1)}}
.txtlink:focus-visible::after{animation:tlWipe .85s cubic-bezier(.65,0,.35,1)}
@keyframes tlWipe{0%{transform:scaleX(1);transform-origin:right}46%{transform:scaleX(0);transform-origin:right}47%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@media (prefers-reduced-motion:reduce){.txtlink:hover::after,.txtlink:focus-visible::after{animation:none}}

/* matte panes: make the forward state win over the resting transform, and grow from the center so the pane covers the whole row */
.role2::before,.role2::after,.faq .qa::before,.faq .qa::after,.fin-contact a::before,.fin-contact a::after{transform-origin:center!important}
@media (hover:hover) and (pointer:fine){
  .role2:hover::before,.role2:hover::after,.faq .qa:hover::before,.faq .qa:hover::after,.fin-contact a:hover::before,.fin-contact a:hover::after{transform:perspective(900px) translateZ(0) scale(1)!important}
  .role2:hover::before,.faq .qa:hover::before,.fin-contact a:hover::before{opacity:1!important;-webkit-backdrop-filter:blur(26px) saturate(112%)!important;backdrop-filter:blur(26px) saturate(112%)!important}
}
.role2:focus-visible::before,.role2:active::before,.faq .qa.open::before,.faq .qa:has(.q:focus-visible)::before,.fin-contact a:focus-visible::before,.fin-contact a:active::before,
.role2:focus-visible::after,.role2:active::after,.faq .qa.open::after,.faq .qa:has(.q:focus-visible)::after,.fin-contact a:focus-visible::after,.fin-contact a:active::after{transform:perspective(900px) translateZ(0) scale(1)!important}
.role2:focus-visible::before,.role2:active::before,.faq .qa.open::before,.faq .qa:has(.q:focus-visible)::before,.fin-contact a:focus-visible::before,.fin-contact a:active::before{opacity:1!important;-webkit-backdrop-filter:blur(26px) saturate(112%)!important;backdrop-filter:blur(26px) saturate(112%)!important}
@media (prefers-reduced-motion:reduce){.role2::before,.role2::after,.faq .qa::before,.faq .qa::after,.fin-contact a::before,.fin-contact a::after{transform:none!important}}

.r2-a::after{margin-left:.55em}

.amb2 .amb-cite{margin-top:.5rem;font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,239,.55)!important}

.deck-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(224,193,136,.6);text-underline-offset:.2em}
.deck-link:hover{text-decoration-color:var(--gold)}

/* ================= Begin + footer ================= */
.fin-contact{display:flex!important;flex-wrap:wrap;gap:1.4rem 3rem!important}
.fin-contact>div{display:flex;flex-direction:column;gap:.5rem}
.fin-contact a{display:inline-flex!important;align-items:center;gap:.6rem}
.fin-contact .ci{display:inline-flex;width:20px;height:20px;flex:0 0 auto}
.fin-contact .ci svg{width:100%;height:100%}
.fin-contact .soc{display:flex;gap:1.4rem;flex-wrap:wrap}
.foot-band{position:relative;margin-top:clamp(1.5rem,4vh,2.5rem);padding:1.6rem 0 calc(var(--safe-b,0px) + 1.6rem);
  background:linear-gradient(180deg,rgba(20,19,17,.38),rgba(20,19,17,.66));-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);border-top:1px solid rgba(224,193,136,.22)}
.foot-band::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--grain) 0 0/200px 200px;mix-blend-mode:overlay;opacity:.25}
.foot-band .foot-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-top:0!important;margin-top:0!important}
.foot-band nav{display:flex;flex-wrap:wrap;gap:.6rem 2rem}
.foot-band nav a{font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,243,239,.8);text-decoration:none}
.foot-band nav a:hover{color:var(--gold)}
.foot-band .foot-legal{position:relative;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(246,243,239,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem}
.foot-band .foot-legal p{font-size:.72rem;line-height:1.5;color:rgba(246,243,239,.6);margin:0}
@media (prefers-reduced-transparency:reduce){.foot-band{background:#1a1815;-webkit-backdrop-filter:none;backdrop-filter:none}}

.fin-contact .soc{display:flex!important;gap:1.6rem;flex-wrap:wrap;margin:0!important;font-size:inherit!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;color:inherit!important}
.fin-contact .soc a{text-transform:none!important;letter-spacing:normal!important}
.foot{padding-bottom:0!important}
.foot-band{margin-bottom:0}

/* finale on phones: everything fits one screen before the hold */
@media (max-width:760px){
  .finale .stage{align-items:center!important;padding:calc(var(--safe-t,0px) + 72px) 0 calc(var(--safe-b,0px) + 1rem)!important}
  .fin-in .display{font-size:clamp(1.9rem,8.4vw,2.5rem)!important;max-width:none!important;line-height:1.08}
  .fin-sub{margin:.4rem 0 .6rem;font-size:1.08rem}
  .fin-in .prose{margin-top:.5rem;font-size:.86rem;line-height:1.5}
  .fin-in .invite-acts{margin-top:.9rem;flex-wrap:nowrap;gap:1rem}
  .fin-in .invite-acts .btn{min-height:46px;padding-left:1.2rem;padding-right:1.2rem;white-space:nowrap}
  .fin-in .invite-acts .txtlink{font-size:.88rem;white-space:nowrap}
  .fin-contact{margin-top:1.1rem!important;gap:.15rem 1.4rem!important}
  .fin-contact>div{gap:0;flex-direction:row}
  .fin-contact>div>span:not(.soc){display:none!important}
  .fin-contact a{font-size:1rem!important;min-height:38px}
  .fin-contact .ci{width:18px;height:18px}
  .fin-contact .soc{gap:1.2rem}
}

/* phones: the hero's stage covers the full screen even after the browser bars slide away on first scroll,
   so the fixed background never peeks out beneath the shade; text keeps its place above the bars */
@media (max-width:1100px) and (pointer:coarse){
  .overture{--lvgap:0px}
  .overture .stage{height:100vh}
  @supports (height:1lvh){
    .overture{--lvgap:calc(100lvh - 100svh)}
    .overture .stage{height:100lvh}
  }
  .overture .hero-foot{bottom:calc(var(--safe-b) + 1rem + var(--lvgap))!important}
  .overture .ov-letter{bottom:calc(var(--safe-b) + 1.75rem + var(--lvgap))!important}
}
