/* =====================================================================
   GAC London: "Sanctuary" design
   Reserved and reverent, with weight: modest serif headings, small-caps
   labels, gold ornaments and arched "church window" pictures.
   ===================================================================== */
:root{
  --ink:#16130F;          /* warm black, like old wood */
  --ivory:#F8F5EE;        /* page */
  --parchment:#EFE8D9;    /* panels */
  --paper:#FFFDF8;        /* cards */
  --gold:#B88E1D;         /* ornaments and rules (the vccffgac.com gold) */
  --gold-deep:#735609;    /* buttons and gold text on light */
  --gold-dark:#5C4507;
  --gold-soft:#E2C77A;    /* gold text on black */
  --text:#2A2620;
  --muted:#6A6257;
  --rule:#D9CFBB;
  --rule-dark:#3A342B;
  --live:#B3122A;
  --serif:"Cormorant Garamond", Garamond, Georgia, serif;
  --caps:"Cormorant SC", "Cormorant Garamond", Georgia, serif;
  --sans:"Lato", Arial, sans-serif;
  --orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='18' viewBox='0 0 170 18'%3E%3Cg fill='%23B88E1D'%3E%3Crect x='0' y='8.5' width='66' height='1'/%3E%3Crect x='104' y='8.5' width='66' height='1'/%3E%3Crect x='84' y='1' width='2' height='16'/%3E%3Crect x='79' y='5' width='12' height='2'/%3E%3Cpath d='M71 9l3-3 3 3-3 3z'/%3E%3Cpath d='M93 9l3-3 3 3-3 3z'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--ivory);color:var(--text);font:400 1.0625rem/1.75 var(--sans)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1080px;margin-inline:auto;padding-inline:clamp(18px,4vw,36px)}
.narrow{max-width:780px}

h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.18;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.2vw,2.9rem)}
h2{font-size:clamp(1.8rem,3.2vw,2.35rem)}
h3{font-size:1.45rem}
p{max-width:64ch;text-wrap:pretty}
p + p{margin-top:14px}
.lead{font:500 1.4rem/1.55 var(--serif);color:var(--text)}
.muted{color:var(--muted)}
.center{text-align:center}
.center p{margin-inline:auto}

/* small-caps label, like a heading in a service book */
.label{display:block;font:600 1.1rem/1.2 var(--caps);letter-spacing:.05em;color:var(--gold-deep);margin-bottom:8px}
.dark .label,.bg-ink .label{color:var(--gold-soft)}

/* gold ornament: line, diamond, cross, diamond, line */
.orn{display:block;width:170px;height:18px;background:var(--orn) center/contain no-repeat;margin:22px 0}
.center .orn,.orn.mid{margin:22px auto}

section{padding-block:clamp(56px,8vw,96px)}
.bg-parch{background:var(--parchment)}
.bg-ink{background:var(--ink);color:#DDD4C3}
.bg-ink h1,.bg-ink h2,.bg-ink h3{color:#F5EFE2}
.bg-ink .muted{color:#B9AF9C}
.sec-title{margin-bottom:24px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:28px}

/* buttons: quiet, solid weight */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;background:var(--gold-deep);color:#fff;font:700 .95rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;border:1px solid var(--gold-deep);border-radius:2px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.btn-dark{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-dark:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-line{background:transparent;color:#F5EFE2;border-color:rgba(245,239,226,.7)}
.btn-line:hover{background:#F5EFE2;color:var(--ink);border-color:#F5EFE2}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.center .btns{justify-content:center}
.textlink{display:inline-block;font:700 .95rem/1 var(--sans);color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}
.textlink:hover{color:var(--ink)}
.dark .textlink,.bg-ink .textlink{color:var(--gold-soft)}

/* ---------------- header ---------------- */
.util{background:var(--ink);color:#D8CFBE;font-size:.92rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px}
.util a{color:var(--gold-soft);font-weight:700;text-decoration:none}
.util a:hover{text-decoration:underline}
.is-sunday .util{background:var(--gold-dark);color:#fff}
.is-sunday .util a{color:#fff;text-decoration:underline}
.is-live .util{background:var(--live)}

.site-head{background:var(--ivory);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:30}
.site-head .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:96px}
.nav-left{display:flex;gap:30px;list-style:none}
.nav-left a{font:600 1.2rem/1 var(--caps);letter-spacing:.05em;text-decoration:none;color:var(--ink);padding:8px 0;border-bottom:1px solid transparent}
.nav-left a:hover{color:var(--gold-deep)}
.nav-left a[aria-current="page"]{border-bottom-color:var(--gold)}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;text-align:center}
.brand img{width:50px;height:50px;object-fit:contain}
.brand span{margin-top:4px;font:600 1.25rem/1.1 var(--caps);letter-spacing:.05em;color:var(--ink);white-space:nowrap}
.brand small{display:block;margin-top:2px;font:400 .8rem/1.3 var(--sans);letter-spacing:.04em;color:var(--muted)}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.nav-live{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;background:var(--ink);color:#fff;font:700 .9rem/1 var(--sans);text-decoration:none;border-radius:2px;white-space:nowrap}
.nav-live:hover{background:var(--gold-deep)}
.nav-live .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-soft)}
.is-live .nav-live{background:var(--live)}
.is-live .nav-live .dot{background:#fff;animation:pulse 1.6s infinite}
.menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;background:none;border:1px solid var(--ink);color:var(--ink);font:700 .9rem/1 var(--sans);border-radius:2px;cursor:pointer}
.menu-btn:hover{background:var(--ink);color:#fff}
.menu-btn .bars,.menu-btn .bars::before,.menu-btn .bars::after{display:block;width:16px;height:1.5px;background:currentColor;position:relative}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0}
.menu-btn .bars::before{top:-5px}.menu-btn .bars::after{top:5px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media (max-width:880px){
  .site-head .bar{grid-template-columns:auto 1fr;min-height:76px}
  .nav-left{display:none}
  .brand{flex-direction:row;gap:10px;text-align:left}
  .brand img{width:40px;height:40px}
  .brand span{margin-top:0;font-size:1.1rem}
  .brand small{display:none}
  .util .extra{display:none}
}
@media (max-width:400px){.brand span{font-size:1rem}.nav-live{padding:0 12px}.menu-btn{padding:0 12px}}

/* big menu */
.big-menu{position:fixed;inset:0;z-index:50;background:var(--ink);color:#DDD4C3;overflow:auto}
.big-menu[hidden]{display:none}
.big-top{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:16px;border-bottom:1px solid var(--rule-dark)}
.big-top .brand{flex-direction:row;gap:12px;text-align:left}
.big-top .brand span{color:#F5EFE2;margin-top:0}
.big-top .brand small{color:#B9AF9C}
.menu-close{background:none;border:1px solid #DDD4C3;color:#DDD4C3;font:700 .9rem/1 var(--sans);min-height:44px;padding:0 18px;border-radius:2px;cursor:pointer}
.menu-close:hover{background:#DDD4C3;color:var(--ink)}
.big-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;padding-block:clamp(36px,6vw,72px)}
.big-cols h2{font:600 1.1rem/1 var(--caps);letter-spacing:.05em;color:var(--gold-soft);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rule-dark)}
.big-cols ul{list-style:none}
.big-cols li a{display:block;font:500 1.55rem/1.25 var(--serif);text-decoration:none;color:#F5EFE2;padding:7px 0}
.big-cols li a:hover,.big-cols li a[aria-current="page"]{color:var(--gold-soft)}
.big-info p{color:#CFC6B5;margin-bottom:12px;font-size:1rem}
.big-info b{color:#F5EFE2;font:600 1.45rem/1.3 var(--serif)}
.big-info a{color:var(--gold-soft);word-break:break-all}
.big-menu .orn{margin:0 auto 48px}
@media (max-width:900px){.big-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.big-cols{grid-template-columns:1fr;gap:26px}}

/* ---------------- heroes ---------------- */
.hero,.page-hero{position:relative;background:var(--ink);color:#F5EFE2;overflow:hidden;text-align:center;isolation:isolate}
.hero{min-height:min(70vh,580px);display:grid;place-items:center;padding:0}
.hero img.bg,.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;z-index:-1}
.hero::before,.page-hero::before{content:"";position:absolute;inset:clamp(10px,2vw,20px);border:1px solid rgba(226,199,122,.5);pointer-events:none}
.hero .inner{padding:80px 24px;max-width:760px}
.hero h1,.page-hero h1{color:#F8F2E6}
.hero p,.page-hero p{margin:14px auto 0;color:#E6DECF;font:500 1.35rem/1.5 var(--serif)}
.hero .label,.page-hero .label{color:var(--gold-soft)}
.hero .orn,.page-hero .orn{margin:20px auto}
.page-hero{padding-block:clamp(72px,10vw,112px)}
.is-sunday.home .hero{display:none}

/* live block (Sundays on home, every day on Watch) */
.live-block{background:var(--ink);color:#DDD4C3;padding-block:clamp(44px,6vw,80px)}
.home .live-block{display:none}
.home.is-sunday .live-block{display:block}
.live-block .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.live-block h1,.live-block h2{color:#F8F2E6;margin:12px 0 10px}
.live-block p{color:#D8CFBE}
.live-tag{display:inline-flex;align-items:center;gap:10px;font:600 1.15rem/1 var(--caps);letter-spacing:.05em;color:var(--gold-soft)}
.live-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--gold-soft)}
.is-live .live-tag{color:#fff}
.is-live .live-tag .dot{background:var(--live);animation:pulse 1.6s infinite}
.screen{aspect-ratio:16/9;background:#0E0C09;border:1px solid var(--rule-dark);outline:1px solid rgba(226,199,122,.35);outline-offset:6px;overflow:hidden;display:grid;place-items:center;text-align:center;padding:20px}
.screen iframe{width:100%;height:100%;border:0}
.screen.has-video{padding:0}
.screen p{color:#BFB6A5;margin-bottom:16px;font:500 1.25rem/1.5 var(--serif)}
@media (max-width:860px){.live-block .wrap{grid-template-columns:1fr}}

/* ---------------- "This Sunday" service card ---------------- */
.service-card{background:var(--paper);border:1px solid var(--rule);outline:1px solid var(--rule);outline-offset:-9px;padding:clamp(32px,5vw,56px) clamp(20px,5vw,56px);text-align:center;max-width:860px;margin:0 auto}
.order{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 8px;border-block:1px solid var(--rule)}
.order li{padding:18px 10px}
.order li + li{border-left:1px solid var(--rule)}
.order b{display:block;font:600 1.3rem/1.2 var(--serif);color:var(--ink)}
.order span{display:block;margin-top:2px;font-size:.95rem;color:var(--muted)}
@media (max-width:640px){.order{grid-template-columns:1fr 1fr}.order li:nth-child(3){border-left:0}.order li:nth-child(n+3){border-top:1px solid var(--rule)}}

/* ---------------- daily prayer ---------------- */
.prayer{background:var(--ink);color:#DDD4C3}
.prayer .wrap{max-width:780px;text-align:center}
.prayer .date{display:block;font-size:.98rem;color:#B9AF9C}
.prayer blockquote,.split .verse{font:500 italic clamp(1.45rem,2.6vw,1.85rem)/1.5 var(--serif);color:#F8F2E6;margin:22px auto 12px;max-width:36ch}
.prayer cite,.split .ref{font:600 1.1rem/1.2 var(--caps);font-style:normal;letter-spacing:.05em;color:var(--gold-soft)}
.prayer .pray{margin:0 auto;max-width:56ch;color:#D8CFBE}
.prayer .pray b{display:block;font:600 1.1rem/1 var(--caps);letter-spacing:.05em;color:#F5EFE2;margin-bottom:10px}
.prayer .btns{justify-content:center}
.day-nav{display:flex;justify-content:center;gap:10px;margin-top:30px;flex-wrap:wrap}

/* split panel */
.split{display:grid;grid-template-columns:1fr 1fr;padding:0}
.split > div{padding:clamp(56px,8vw,100px) clamp(22px,6vw,84px);display:flex;flex-direction:column;justify-content:center}
.split .stone{background:var(--parchment)}
.split .dark{background:var(--ink);color:#D8CFBE}
.split .dark h2,.split .dark h3{color:#F8F2E6}
.split .sub{font:500 1.4rem/1.5 var(--serif);margin:10px 0 14px;max-width:30ch}
.split .verse{margin:18px 0 12px;text-align:left;max-width:30ch}
.split .prayer-text{margin-top:22px;padding-top:20px;border-top:1px solid var(--rule-dark)}
.split .orn{margin:20px 0}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* ---------------- arched "window" pictures ---------------- */
.arch{display:block;border-radius:999px 999px 2px 2px;overflow:hidden;aspect-ratio:3/4;background:var(--parchment)}
.arch img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.framed{outline:1px solid var(--gold);outline-offset:7px}

/* three doors (home) */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,52px);margin-top:44px}
.door{text-decoration:none;text-align:center;display:block}
.door:hover .arch img{transform:scale(1.04)}
.door h3{margin-top:26px}
.door p{margin:8px auto 0;color:var(--muted);font-size:1rem;max-width:30ch}
.door .textlink{margin-top:16px}
@media (max-width:760px){.doors{grid-template-columns:1fr;max-width:360px;margin-inline:auto;gap:48px}}

/* picture + words */
.feature{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,80px);align-items:center}
.feature .arch{max-width:400px;width:100%;justify-self:center}
.feature.flip .arch{order:2}
@media (max-width:800px){.feature{grid-template-columns:1fr}.feature.flip .arch{order:0}.feature .arch{max-width:320px}}

/* columns */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.cols-wide{grid-template-columns:1.2fr 1fr}
@media (max-width:820px){.cols,.cols-wide{grid-template-columns:1fr}}

/* ruled lists */
.ruled{list-style:none;border-top:1px solid var(--ink)}
.ruled > li,.ruled > div{border-bottom:1px solid var(--rule)}
.years li{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:14px 10px}
.years b{font:600 1.35rem/1.45 var(--serif);color:var(--gold-deep)}
.years li.now b{color:var(--ink)}
.past a{display:flex;justify-content:space-between;gap:16px;padding:16px 10px;text-decoration:none}
.past a:hover{background:var(--parchment)}
.past .d{color:var(--muted);white-space:nowrap}
.facts{background:var(--paper)}
.facts div{padding:16px 20px}
.facts dt{font:600 1.05rem/1.4 var(--caps);letter-spacing:.05em;color:var(--gold-deep)}
.facts dd{font-weight:700}
.facts a{word-break:break-all}

/* boxed grid */
.boxes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--paper)}
.boxes > div{padding:26px 22px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.boxes h3{font-size:1.4rem;margin-bottom:4px}
.boxes i{display:block;font:italic 500 1.15rem/1.3 var(--serif);color:var(--gold-deep);margin-bottom:8px}
.boxes p{font-size:1rem}
.boxes-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.boxes,.boxes-3{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.boxes,.boxes-3{grid-template-columns:1fr}}

/* groups */
.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 28px}
.group{text-align:center}
.group img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 2px 2px}
.group h3{margin-top:18px;font-size:1.35rem}
.group .who{font:600 1.05rem/1.3 var(--caps);letter-spacing:.05em;color:var(--gold-deep);margin-top:4px}
.group p{margin:8px auto 0;font-size:.98rem;color:var(--muted)}
@media (max-width:900px){.groups{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.groups{grid-template-columns:1fr;max-width:320px;margin-inline:auto}}

/* steps */
.steps{list-style:none;counter-reset:s;border-top:1px solid var(--ink)}
.steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:12px;padding:16px 10px;border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(s);font:600 1.6rem/1.1 var(--serif);color:var(--gold-deep)}

/* calendar list */
.events{border-top:1px solid var(--ink)}
.event{display:grid;grid-template-columns:92px 1fr;gap:26px;padding:24px 10px;border-bottom:1px solid var(--rule)}
.event .when{text-align:center;align-self:start;padding:12px 8px;border:1px solid var(--rule);background:var(--paper)}
.event .when b{display:block;font:600 2.4rem/1 var(--serif);color:var(--ink);min-height:1em}
.event .when b:empty{display:none}
.event .when span{display:block;margin-top:4px;font:600 1.05rem/1 var(--caps);letter-spacing:.05em;color:var(--gold-deep)}
.event h3{font-size:1.45rem}
.event .meta{margin-top:4px;font-size:.98rem;color:var(--muted)}
.event .desc{margin-top:8px}
.event .more{display:inline-block;margin-top:10px;font:700 .95rem/1 var(--sans);color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}
@media (max-width:560px){.event{grid-template-columns:72px 1fr;gap:16px}.event .when b{font-size:2rem}}

/* photos */
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photos button{border:0;padding:0;cursor:pointer;background:var(--parchment);aspect-ratio:1;overflow:hidden}
.photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.photos button:hover img{transform:scale(1.03)}
@media (max-width:640px){.photos{grid-template-columns:1fr 1fr}}
dialog{border:0;background:transparent;max-width:min(94vw,1000px);width:100%;margin:auto}
dialog::backdrop{background:rgba(22,19,15,.92)}
dialog img{width:100%;max-height:78vh;object-fit:contain}
.lb-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:16px}

/* video */
.player{aspect-ratio:16/9;background:#0E0C09;overflow:hidden}
.player iframe{width:100%;height:100%;border:0;display:block}
.player-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-top:14px}
.player-cap h2{font-size:1.6rem}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px;margin-top:26px}
.vcard{display:block;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.vcard .thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--parchment)}
.vcard img{width:100%;height:100%;object-fit:cover}
.vcard .play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(22,19,15,.75);border:1px solid var(--gold-soft)}
.vcard .play::after{content:"";position:absolute;left:20px;top:15px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.vcard:hover .play{background:var(--gold-deep)}
.vcard b{display:block;margin-top:12px;font:600 1.25rem/1.3 var(--serif)}
.vcard small{display:block;margin-top:2px;font-size:.95rem;color:var(--muted)}
.bg-ink .vcard small{color:#B9AF9C}
@media (max-width:860px){.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.vgrid{grid-template-columns:1fr}}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.jump a{font:600 1.1rem/1 var(--caps);letter-spacing:.05em;text-decoration:none;padding:13px 18px;border:1px solid var(--rule);background:var(--paper)}
.jump a:hover{border-color:var(--gold);color:var(--gold-deep)}

/* questions */
details{border-bottom:1px solid var(--rule)}
details summary{cursor:pointer;padding:18px 10px;font:600 1.3rem/1.35 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-deep)}
details[open] summary::after{content:"–"}
details p{padding:0 10px 20px}

.map{width:100%;aspect-ratio:4/3;border:1px solid var(--rule);display:block}

/* footer */
.site-foot{background:var(--ink);color:#CFC6B5;padding-block:60px 48px;text-align:center;font-size:.98rem}
.site-foot img{width:54px;margin:0 auto 12px}
.site-foot .name{font:600 1.4rem/1.2 var(--caps);letter-spacing:.05em;color:#F5EFE2}
.site-foot .orn{margin:20px auto}
.site-foot .links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:20px 0;list-style:none}
.site-foot .links a{color:var(--gold-soft);text-decoration:none}
.site-foot .links a:hover{text-decoration:underline}
.site-foot p{margin-inline:auto}
.site-foot .small{font-size:.88rem;color:#A39A87;margin-top:14px}

.hero .btns{justify-content:center}
.pullquote{font:italic 500 1.65rem/1.5 var(--serif);color:var(--ink)}
.pullquote cite{display:block;margin-top:12px;font:600 1.1rem/1 var(--caps);font-style:normal;letter-spacing:.05em;color:var(--gold-deep)}
.prayer .orn{margin:26px auto}
h1 + p,h2 + p,h3 + p,.orn + p{margin-top:12px}
.orn + p{margin-top:0}
@media (max-width:880px){.site-head .bar > nav{display:none}}
@media (max-width:480px){.site-head .bar{gap:8px}.site-head .wrap{padding-inline:14px}.brand{gap:8px}.brand img{width:34px;height:34px}.brand span{font-size:1rem;letter-spacing:.05em}.nav-right{gap:6px}.nav-live,.menu-btn{padding:0 11px;gap:8px}.nav-live .dot{display:none}}
[hidden]{display:none!important}
.prayer .label{color:var(--gold-soft)}

/* ---------------- scroll effects ---------------- */
.rise{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.rise.in{opacity:1;transform:none}
.door.rise .arch img,.feature.rise .arch img,.statement-grid .arch img{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.door.rise.in .arch img,.feature.rise.in .arch img,.statement-grid .in img{transform:scale(1)}
.door.rise.in:hover .arch img{transform:scale(1.04)}
[data-light] .w{transition:opacity .25s linear}
.hero img.bg,.page-hero img{will-change:transform}

/* statement (home): words light up as you scroll */
.statement{padding-block:clamp(72px,11vw,140px)}
.statement-grid{display:grid;grid-template-columns:150px 1fr 320px;gap:clamp(24px,5vw,64px);align-items:start}
.statement-grid .label{padding-top:12px}
.statement-text{font:600 clamp(1.7rem,3vw,2.35rem)/1.32 var(--serif);color:var(--ink);max-width:24ch}
.statement-grid .btns{margin-top:30px}
.statement-grid .arch{width:100%}
@media (max-width:900px){.statement-grid{grid-template-columns:1fr}.statement-grid .arch{max-width:300px}}

/* ---------------- sign-up form (architecture-studio style) ---------------- */
.join-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,7vw,96px);align-items:start}
.join-info{margin-top:28px;border-top:1px solid var(--ink)}
.join-info div{padding:14px 8px;border-bottom:1px solid var(--rule)}
.join-info dt{font:600 1.05rem/1.3 var(--caps);letter-spacing:.05em;color:var(--gold-deep)}
.join-info dd{font-weight:700}
.form{display:grid;gap:30px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.field label{display:block;font:600 1.15rem/1.3 var(--caps);letter-spacing:.05em;color:var(--ink);margin-bottom:6px}
.field label span{font:400 .9rem/1 var(--sans);letter-spacing:0;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:54px;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0;font:500 1.35rem/1.4 var(--serif);color:var(--ink);padding:12px 8px;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:110px;border:1px solid var(--rule);border-bottom-color:var(--ink);padding:12px 14px;background:var(--paper)}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23735609' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") right 6px center no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold);box-shadow:0 1px 0 var(--gold)}
.field input:user-invalid,.field select:user-invalid{border-bottom-color:var(--live)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-foot .btn{min-width:160px}
.small-print{font-size:.92rem}
.form-status{color:var(--live);font-weight:700}
.form-status:empty{display:none}
.form-status a{color:inherit}
.thanks{background:var(--paper);border:1px solid var(--rule);outline:1px solid var(--rule);outline-offset:-9px;padding:clamp(32px,5vw,52px);text-align:center}
.thanks .orn{margin:18px auto}
.thanks p{margin-inline:auto}
.ev-links{display:flex;gap:22px;flex-wrap:wrap}
@media (max-width:860px){.join-grid{grid-template-columns:1fr}}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}

/* smooth scroll wheel (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
section[id]{scroll-margin-top:60px}
