/* ==========================================================================
   Revive City Church — site.css
   Brand: Ink #0B0F1C · Ivory #F7F4EF · Gold #C9A244 · Signal Red #C41E24
   ========================================================================== */

:root{
  --ink:#0B0F1C;
  --ink-2:#111726;
  --ivory:#F7F4EF;
  --ash:#8C8F98;
  --gold:#C9A244;
  --red:#C41E24;
  --hair:rgba(247,244,239,.13);
  --gut:clamp(1.25rem,4.5vw,3.5rem);
  --sec:clamp(4rem,10vw,8rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--ivory);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(.95rem,.45vw + .85rem,1.0625rem);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;padding:1rem 1.5rem;
  background:var(--gold);color:var(--ink);font-weight:700}
.skip:focus{left:0}

/* ---------- type ---------- */
.xl,.lg,.md{
  font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:-.03em;margin:0;
}
.xl{font-size:clamp(2.75rem,11vw,7rem);line-height:.88}
.lg{font-size:clamp(2rem,7vw,4.25rem);line-height:.94;letter-spacing:-.025em}
.md{font-size:clamp(1.5rem,4.4vw,2.25rem);line-height:1.02;letter-spacing:-.02em;font-weight:700}
.serif{font-family:"Instrument Serif",Georgia,serif;
  font-size:clamp(1.1875rem,2.6vw,1.5rem);line-height:1.45;opacity:.88}
.tag{font-size:.6875rem;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold);margin:0}
.intro{max-width:44rem;margin:1.4rem 0 0;opacity:.82;line-height:1.75}
.wrap{padding:0 var(--gut)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:1.05rem var(--gut);
  background:rgba(11,15,28,.94);border-bottom:1px solid var(--hair);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nav--over{position:fixed;background:linear-gradient(to bottom,rgba(11,15,28,.9),rgba(11,15,28,0));border-bottom:none}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;
  font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}
.brand svg{width:17px;height:17px;flex:none}
.brand svg path{fill:var(--ivory)}
.nav ul{display:none;gap:2rem;list-style:none;margin:0;padding:0}
.nav ul a{font-size:.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.8}
.nav ul a:hover,.nav ul a[aria-current]{opacity:1;color:var(--gold)}
@media(min-width:900px){.nav ul{display:flex}}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:1rem 1.75rem;font-size:.75rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s}
.btn--go{background:var(--red);color:#fff}
.btn--go:hover{background:#a5161c}
.btn--ghost{border-color:rgba(247,244,239,.4);color:var(--ivory)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero__img{position:absolute;inset:0}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:38% 26%;filter:grayscale(1) contrast(1.06)}
.hero__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,15,28,.96) 6%,rgba(11,15,28,.42) 48%,rgba(11,15,28,.62) 100%)}
.hero__in{position:relative;padding:0 var(--gut) clamp(2rem,5vw,3.5rem);width:100%}
.hero .xl{margin-left:-.045em}
.hero__sub{max-width:30ch;margin:1.5rem 0 0;opacity:.9}

/* ---------- when / where ---------- */
.when{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.when__grid{display:grid;grid-template-columns:1fr}
@media(min-width:820px){.when__grid{grid-template-columns:1fr 1fr 1.15fr}}
.cel{padding:clamp(1.75rem,4vw,2.75rem) var(--gut);border-bottom:1px solid var(--hair)}
@media(min-width:820px){.cel{border-bottom:none;border-right:1px solid var(--hair)}.cel:last-child{border-right:none}}
.cel h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.5rem,4.2vw,2.125rem);line-height:1;letter-spacing:-.015em;
  text-transform:uppercase;margin:.7rem 0 0}
.cel p{margin:.55rem 0 0;color:var(--ash);font-size:.9375rem}
.lnk{color:var(--gold);border-bottom:1px solid rgba(201,162,68,.45);padding-bottom:1px;
  font-weight:600;font-size:.875rem}
.moving{display:inline-block;margin-top:.9rem;padding:.3rem .6rem;
  background:rgba(196,30,36,.14);border-left:2px solid var(--red);
  color:var(--ivory);font-size:.75rem;font-weight:600;letter-spacing:.04em}

/* ---------- vision ---------- */
.vision{padding:var(--sec) 0 0;position:relative}
.vision__type{padding:0 var(--gut)}
.vision__type .xl{margin-left:-.05em}
.vision__body{padding:clamp(2rem,5vw,3rem) var(--gut) 0;max-width:46rem}
.vfoot{display:flex;align-items:center;gap:1rem;margin-top:clamp(2.5rem,6vw,4rem);padding:0 var(--gut)}
.vfoot span{height:1px;background:var(--hair);flex:1}
.vpic{margin:clamp(2rem,5vw,3rem) 0 0}
.vpic img{width:100%;height:clamp(300px,58vw,620px);object-fit:cover;object-position:50% 42%}
.vcap{padding:.85rem var(--gut) 0;color:var(--ash);font-size:.8125rem}

/* ---------- mosaic ---------- */
.exp{padding:var(--sec) 0 0}
.exp__head{padding:0 var(--gut) clamp(2rem,5vw,3rem)}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:0 6px}
@media(min-width:820px){.mosaic{grid-template-columns:repeat(4,1fr)}}
.tile{position:relative;overflow:hidden;background:var(--ink-2)}
.tile img{width:100%;aspect-ratio:3/4;object-fit:cover;
  transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.tile:hover img{transform:scale(1.045)}
.tile::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,15,28,.72),rgba(11,15,28,0) 55%)}
.tile b{position:absolute;left:1rem;bottom:.9rem;z-index:2;
  font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase}

/* ---------- next steps band (home) ---------- */
.stepsband{position:relative;margin-top:var(--sec);padding:clamp(4.5rem,10vw,8rem) 0}
.stepsband__img{position:absolute;inset:0}
.stepsband__img img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(.4)}
.stepsband__img::after{content:"";position:absolute;inset:0;background:rgba(11,15,28,.8)}
.stepsband__in{position:relative;padding:0 var(--gut);max-width:34rem}

/* ---------- message ---------- */
.msg{padding:var(--sec) var(--gut) 0}
.msg__frame{margin-top:clamp(1.75rem,4vw,2.5rem);border:1px solid var(--hair);
  aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  background:var(--ink-2);text-align:center;padding:1.5rem}
.play{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);
  display:grid;place-items:center;margin:0 auto .9rem}
.play svg{width:14px;height:16px;margin-left:3px}
.play path{fill:var(--gold)}
.msg__frame p{margin:0;color:var(--ash);font-size:.875rem}

/* ---------- final ---------- */
.final{padding:var(--sec) var(--gut) clamp(4rem,9vw,6.5rem)}
.final .lg{margin-bottom:2rem;max-width:16ch}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hair);
  padding:clamp(2.5rem,6vw,4rem) var(--gut) calc(6.5rem + env(safe-area-inset-bottom))}
@media(min-width:900px){.foot{padding-bottom:clamp(2.5rem,6vw,4rem)}}
.fgrid{display:grid;grid-template-columns:1fr;gap:2.25rem}
@media(min-width:760px){.fgrid{grid-template-columns:1.3fr 1fr 1fr}}
.fgrid h4{font-size:.6875rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.fgrid a{font-size:.9375rem;color:var(--ash)}
.fgrid a:hover{color:var(--ivory)}
.fgrid p{margin:0;color:var(--ash);font-size:.9375rem;line-height:1.7}
.fnote{margin:2.75rem 0 0;color:var(--ash);font-size:.75rem;letter-spacing:.03em}

/* ---------- sticky mobile bar ---------- */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;
  border-top:1px solid var(--hair);background:rgba(11,15,28,.97);
  padding-bottom:env(safe-area-inset-bottom);
  transform:translateY(105%);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.bar.on{transform:none}
.bar a{flex:1;text-align:center;padding:1.0625rem .5rem;
  font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.bar a:first-child{background:var(--red);color:#fff}
@media(min-width:900px){.bar{display:none}}

/* ---------- page header (inner pages) ---------- */
.head{padding:clamp(3.5rem,9vw,6.5rem) var(--gut) 0}
.head .xl{margin-left:-.045em}
.head .serif{max-width:36rem;margin:2.25rem 0 0}
.head .lead{max-width:30rem;margin:2.25rem 0 0;opacity:1}
.head .closer{max-width:42rem;margin:1.75rem 0 0;padding-top:1.5rem;
  border-top:1px solid var(--hair);font-weight:600}

/* ---------- triad (about) ---------- */
.triad{margin-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--hair)}
.triad__row{display:grid;grid-template-columns:1fr;gap:.5rem;
  padding:clamp(1.5rem,3.5vw,2.25rem) var(--gut);border-bottom:1px solid var(--hair)}
@media(min-width:720px){.triad__row{grid-template-columns:9rem 1fr;gap:2rem;align-items:baseline}}
.triad__k{font-size:.6875rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin:0}
.triad__v{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.375rem,4.6vw,2.5rem);line-height:1.02;letter-spacing:-.02em;
  text-transform:uppercase;margin:0}

/* ---------- pastor ---------- */
.pastor{padding:var(--sec) 0 0}
.pastor__grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem);
  padding:0 var(--gut);align-items:start}
@media(min-width:900px){.pastor__grid{grid-template-columns:.85fr 1.15fr}}
.pastor figure{margin:0}
.pastor__grid img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 24%}
.pastor figcaption{margin-top:.75rem;color:var(--ash);font-size:.8125rem}
.pastor__body p{margin:1.25rem 0 0;opacity:.85;line-height:1.75;max-width:46rem}
.pastor__body p:first-of-type{margin-top:1.5rem}
.pastor__body .last{margin-top:1.75rem;padding:1.25rem 0 0;border-top:1px solid var(--hair);
  font-family:"Instrument Serif",Georgia,serif;
  font-size:clamp(1.125rem,2.4vw,1.375rem);line-height:1.45;opacity:.95}
.pastor .btn{margin-top:2rem}
.preaching{margin:clamp(2.5rem,6vw,4rem) 0 0}
.preaching img{width:100%;height:clamp(240px,42vw,520px);object-fit:cover;object-position:50% 34%}
.preaching figcaption{padding:.85rem var(--gut) 0;color:var(--ash);font-size:.8125rem}

/* ---------- leadership ---------- */
.team{padding:var(--sec) var(--gut) 0}
.team__grid{display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1rem,2.5vw,1.75rem);margin-top:clamp(2rem,5vw,3rem)}
@media(min-width:720px){.team__grid{grid-template-columns:repeat(5,1fr)}}
.card{background:var(--ink-2);border:1px solid var(--hair)}
.slot{aspect-ratio:3/4;display:grid;place-items:center;
  background:repeating-linear-gradient(45deg,rgba(247,244,239,.035) 0 8px,transparent 8px 16px)}
.slot span{font-size:.625rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ash)}
.card__t{padding:.95rem 1rem 1.15rem}
.card__t b{display:block;font-family:"Archivo Expanded","Archivo",sans-serif;
  font-weight:700;font-size:.9375rem;text-transform:uppercase}
.card__t small{display:block;margin-top:.3rem;color:var(--ash);font-size:.8125rem}

/* ---------- culture / prophetic block ---------- */
.culture{padding:var(--sec) var(--gut) 0}
.pro{margin-top:clamp(2rem,5vw,3rem);padding:clamp(1.5rem,4vw,2.25rem);
  border-left:2px solid var(--red);background:var(--ink-2);max-width:44rem}
.pro h2,.pro h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.125rem,3.4vw,1.5rem);text-transform:uppercase;
  letter-spacing:-.01em;line-height:1.1;margin:0 0 .85rem}
.pro p{margin:0;opacity:.85;max-width:46ch}
.cultgrid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:clamp(2.5rem,6vw,3.5rem)}
@media(min-width:760px){.cultgrid{grid-template-columns:repeat(3,1fr)}}
.cultgrid h4{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:1.0625rem;text-transform:uppercase;margin:0 0 .6rem}
.cultgrid p{margin:0;color:var(--ash);font-size:.9375rem;line-height:1.65}
.cultgrid .n{font-size:.6875rem;font-weight:700;letter-spacing:.16em;
  color:var(--gold);display:block;margin-bottom:.9rem}
.strip{margin-top:var(--sec);display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:0 6px}
@media(min-width:720px){.strip{grid-template-columns:repeat(4,1fr)}}
.strip img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* ---------- accordion (beliefs / faq) ---------- */
.arts{border-top:1px solid var(--hair)}
details{border-bottom:1px solid var(--hair)}
summary{display:flex;align-items:baseline;gap:1rem;cursor:pointer;
  padding:clamp(1.25rem,3.2vw,1.75rem) var(--gut);list-style:none;transition:background .2s}
summary::-webkit-details-marker{display:none}
summary:hover{background:var(--ink-2)}
.num{font-size:.6875rem;font-weight:700;letter-spacing:.14em;color:var(--gold);
  flex:none;width:2.1rem;padding-top:.28rem}
.ttl{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.0625rem,3.4vw,1.375rem);text-transform:uppercase;
  letter-spacing:-.01em;line-height:1.12;margin:0}
.plus{margin-left:auto;flex:none;width:13px;height:13px;position:relative;
  align-self:center;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.plus::before,.plus::after{content:"";position:absolute;background:var(--gold)}
.plus::before{left:0;right:0;top:6px;height:1px}
.plus::after{top:0;bottom:0;left:6px;width:1px}
details[open] .plus{transform:rotate(135deg)}
.body{padding:0 var(--gut) clamp(1.75rem,4vw,2.5rem);max-width:46rem}
@media(min-width:700px){.body{padding-left:calc(var(--gut) + 3.1rem)}}
.body p{margin:0;opacity:.82;line-height:1.72}
.refs{display:block;margin-top:1rem;color:var(--ash);font-size:.8125rem}

/* ---------- visit: fact rows + steps ---------- */
.facts{margin-top:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--hair)}
.fact{display:grid;grid-template-columns:1fr;gap:.35rem;
  padding:clamp(1.25rem,3vw,1.75rem) var(--gut);border-bottom:1px solid var(--hair)}
@media(min-width:720px){.fact{grid-template-columns:13rem 1fr;gap:2rem;align-items:baseline}}
.fact dt{font-size:.6875rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0}
.fact dd{margin:0;opacity:.88;line-height:1.7}
.arrive{counter-reset:s;display:grid;gap:0;margin-top:clamp(2rem,5vw,3rem);
  border-top:1px solid var(--hair)}
.arrive li{list-style:none;counter-increment:s;position:relative;
  padding:clamp(1.25rem,3vw,1.75rem) 0 clamp(1.25rem,3vw,1.75rem) 3.4rem;
  border-bottom:1px solid var(--hair)}
.arrive li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:clamp(1.35rem,3vw,1.85rem);
  font-size:.6875rem;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.arrive h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.0625rem,3vw,1.3125rem);text-transform:uppercase;margin:0 0 .45rem}
.arrive p{margin:0;color:var(--ash);line-height:1.7}

/* ---------- give ---------- */
.giveways{display:grid;grid-template-columns:1fr;gap:1px;background:var(--hair);
  margin-top:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
@media(min-width:760px){.giveways{grid-template-columns:repeat(3,1fr)}}
.giveway{background:var(--ink);padding:clamp(1.5rem,4vw,2.25rem) var(--gut)}
.giveway h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:1.0625rem;text-transform:uppercase;margin:.8rem 0 .5rem}
.giveway p{margin:0;color:var(--ash);font-size:.9375rem;line-height:1.65}

/* ---------- messages ---------- */
.mgrid{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3vw,2rem);
  margin-top:clamp(2.5rem,6vw,3.5rem)}
@media(min-width:760px){.mgrid{grid-template-columns:repeat(3,1fr)}}
.mcard{border:1px solid var(--hair);background:var(--ink-2);padding:clamp(1.5rem,3.5vw,2rem)}
.mcard h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:1.0625rem;text-transform:uppercase;margin:.9rem 0 .5rem}
.mcard p{margin:0;color:var(--ash);font-size:.9375rem;line-height:1.65}

/* ---------- next steps page ---------- */
.ns-grid{display:block}
@media(min-width:960px){
  .ns-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    gap:clamp(3rem,7vw,7rem);align-items:start;padding:0 var(--gut)}
  .ns-a{position:sticky;top:6rem}
}
.ns-wrap{max-width:1180px;margin:0 auto;padding:0 0 calc(3rem + env(safe-area-inset-bottom))}
.ns-head{padding:clamp(2.5rem,7vw,4rem) var(--gut) 0}
@media(min-width:960px){.ns-head{padding:clamp(2.5rem,7vw,4rem) 0 0}}
.ns-lede{font-family:"Instrument Serif",Georgia,serif;
  font-size:clamp(1.25rem,3.6vw,1.5rem);line-height:1.4;max-width:23ch;margin:1.75rem 0 0;opacity:.85}
.ns-rule{height:1px;background:var(--gold);opacity:.55;width:56px;margin:2.25rem 0 0}
.steps{margin:2.75rem 0 0;border-top:1px solid var(--hair)}
@media(min-width:960px){.steps{margin-top:0;border-top:none}}
.step{position:relative;display:flex;align-items:center;gap:1rem;
  border-bottom:1px solid var(--hair);padding:1.5rem 1.25rem 1.5rem 1.5rem;
  background:var(--ink-2);transition:background .22s ease,padding-left .22s ease}
.step::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.step--first::before{background:var(--red)}
.step__title{display:block;font-family:"Archivo Expanded","Archivo",sans-serif;
  font-weight:700;font-size:clamp(1.0625rem,4vw,1.25rem);
  text-transform:uppercase;line-height:1.1;margin:0}
.step__sub{display:block;margin:.375rem 0 0;color:var(--ash);font-size:.9375rem;line-height:1.4}
.chev{width:9px;height:15px;flex:none;margin-left:auto;opacity:.5;
  transition:transform .22s ease,opacity .22s ease}
.chev path{stroke:var(--ivory);stroke-width:2;fill:none}
.step:hover,.step:focus-visible{background:#161C2D;padding-left:1.75rem}
.step:hover .chev,.step:focus-visible .chev,
.row:hover .chev,.row:focus-visible .chev{opacity:1;transform:translateX(3px)}
.more{display:flex;align-items:center;gap:1rem;margin:3rem var(--gut) .25rem}
@media(min-width:960px){.more{margin-left:0;margin-right:0}}
.more h2{font-size:.6875rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0;white-space:nowrap}
.more span{height:1px;background:var(--hair);flex:1}
.rows{padding:0 var(--gut)}
@media(min-width:960px){.rows{padding:0}}
.row{display:flex;align-items:center;gap:1rem;padding:1.0625rem .25rem;
  border-bottom:1px solid var(--hair);transition:padding-left .22s ease}
.row__title{display:block;font-weight:600;font-size:1.0625rem;margin:0}
.row__sub{display:block;margin:.125rem 0 0;color:var(--ash);font-size:.875rem}
.row:hover,.row:focus-visible{padding-left:.75rem}
.give-row{display:flex;align-items:center;gap:1rem;margin:2.5rem var(--gut) 0;
  padding:1.375rem 1.5rem;border:1px solid var(--gold);transition:background .22s}
@media(min-width:960px){.give-row{margin-left:0;margin-right:0}}
.give-row:hover,.give-row:focus-visible{background:rgba(201,162,68,.09)}
.give-row b{display:block;font-family:"Archivo Expanded","Archivo",sans-serif;
  font-weight:700;font-size:1.0625rem;letter-spacing:.02em;text-transform:uppercase;color:var(--gold)}
.give-row small{display:block;margin-top:.25rem;color:var(--ash);font-size:.875rem}
.give-row .chev path{stroke:var(--gold)}
.give-row .chev{opacity:.8}
.ns-foot{margin:3.5rem var(--gut) 0;padding-top:2rem;border-top:1px solid var(--hair);
  color:var(--ash);font-size:.875rem}
@media(min-width:960px){.ns-foot{margin-left:0;margin-right:0}}
.ns-foot b{color:var(--ivory)}
.social{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0;padding:0;list-style:none}
.social a{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:600;color:var(--ash);border-bottom:1px solid transparent;padding-bottom:2px;
  transition:color .18s,border-color .18s}
.social a:hover{color:var(--ivory);border-color:var(--gold)}

/* ---------- mobile menu ---------- */
.burger{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;margin-right:-10px;padding:0 10px;
  background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.burger span{display:block;height:1.5px;background:var(--ivory);
  transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .2s ease}
.burger span:nth-child(1){width:22px}
.burger span:nth-child(2){width:22px}
.burger span:nth-child(3){width:14px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){width:22px;transform:translateY(-6.5px) rotate(-45deg)}
@media(min-width:900px){.burger{display:none}}

.menu{
  position:fixed;inset:0;z-index:75;display:none;
  flex-direction:column;justify-content:space-between;
  background:var(--ink);
  padding:5.25rem var(--gut) calc(2rem + env(safe-area-inset-bottom))}
.menu.on{display:flex}
.menu nav ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.menu nav li{border-bottom:1px solid var(--hair)}
.menu nav a{
  display:block;padding:1.05rem 0;
  font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:700;
  font-size:clamp(1.375rem,6.2vw,1.75rem);line-height:1.1;
  letter-spacing:-.015em;text-transform:uppercase;color:var(--ivory)}
.menu nav a[aria-current]{color:var(--gold)}
.menu__foot{padding-top:1.75rem}
.menu__foot .btn{display:block;text-align:center}
.menu__social{display:flex;flex-wrap:wrap;gap:1.5rem;
  list-style:none;margin:1.5rem 0 0;padding:0}
.menu__social a{font-size:.8125rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ash)}
.menu__foot p{margin:1.25rem 0 0;color:var(--ash);font-size:.8125rem;letter-spacing:.04em}
body.menu-open{overflow:hidden}
@media(min-width:900px){.menu{display:none !important}}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:no-preference){
  .rise{opacity:0;transform:translateY(16px);
    animation:rise .7s cubic-bezier(.22,.61,.36,1) forwards}
  @keyframes rise{to{opacity:1;transform:none}}
  .rv{opacity:0;transform:translateY(18px);
    transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
  .rv.in{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .rise,.rv{opacity:1;transform:none;animation:none;transition:none}
  html{scroll-behavior:auto}
}
