/*
Theme Name: Revival in Cincinnati
Theme URI: https://samdarla.com
Author: Sam Darla Ministries
Description: A campaign theme for the Revival in Cincinnati tour. One city, 52 neighborhoods. All content, fonts, sizes, colors, and images are editable through Advanced Custom Fields (ACF Pro required).
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: revival-cincinnati
*/

:root{
  --bone:#F3EBDA; --bone2:#EADFC9; --paper:#FBF7EE;
  --char:#141009; --char2:#1E160D; --ink:#241B12;
  --ember:#E24E1B; --flame:#F0912D; --rust:#A5330F;
  --muted:#6F5E48; --line:#DcCfB4;
  --maxw:1200px; --pad:30px;
  --font-display:'Anton', 'Archivo', system-ui, sans-serif;
  --font-body:'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-script:'Caveat', 'Segoe Script', cursive;
  /* hand-drawn ember underline used behind call-out words */
  --hl:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="24" viewBox="0 0 300 24"><path d="M4 15 C 60 6, 130 20, 296 9" fill="none" stroke="%23E24E1B" stroke-width="6" stroke-linecap="round"/></svg>');
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bone); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.bw{color:var(--ember)}

/* ---- type roles ---- */
.display{font-family:var(--font-display);font-weight:400;line-height:.9;letter-spacing:.01em;text-transform:uppercase}
.script{font-family:var(--font-script);font-weight:700;line-height:.95}
.eyebrow{font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rust)}
.eyebrow.on-dark{color:var(--flame)}

/* call-out signature: oversized script word/ampersand with rough ember highlight */
.amp{font-family:var(--font-script);font-weight:700;color:var(--ember);font-size:1.55em;line-height:0;vertical-align:-.12em;padding:0 .06em}
.hl{position:relative;white-space:nowrap}
.hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.05em;height:.5em;
  background:var(--hl) center/100% 100% no-repeat;opacity:.95}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);font-weight:700;
  font-size:.86rem;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;
  padding:.95em 1.5em;border:2px solid var(--char);border-radius:2px;cursor:pointer;
  transition:transform .15s ease, background .15s ease, color .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--ember);border-color:var(--ember);color:#fff}
.btn--primary:hover{background:var(--rust);border-color:var(--rust)}
.btn--dark{background:var(--char);color:var(--bone)}
.btn--dark:hover{background:#000}
.btn--ghost{background:transparent;color:var(--char)}
.btn--ghost:hover{background:var(--char);color:var(--bone)}
.btn--ghost.on-dark{color:var(--bone);border-color:var(--bone)}
.btn--ghost.on-dark:hover{background:var(--bone);color:var(--char)}
.btn--sm{padding:.7em 1.1em;font-size:.76rem}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(243,235,218,.86);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:padding .2s ease}
.nav-in{display:flex;align-items:center;gap:24px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);
  text-transform:uppercase;font-size:1.02rem;letter-spacing:.02em;color:var(--char);white-space:nowrap}
.brand svg{width:20px;height:26px;flex:none}
.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center}
.nav-links a{text-decoration:none;font-weight:600;font-size:.82rem;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink);opacity:.8;transition:opacity .15s}
.nav-links a:hover{opacity:1;color:var(--ember)}
.nav-cta{margin-left:8px}
.mob-cta{display:none}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--char);margin:5px 0;transition:.2s}

/* ---- hero ---- */
.hero{position:relative;background:var(--char);color:var(--bone);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;min-height:min(88vh,760px)}
.hero-copy{padding:64px 0 60px;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2}
.hero-copy .wrap-l{max-width:660px;margin-left:max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad)))}
.hero h1{font-family:var(--font-display);font-size:clamp(3.2rem,9vw,6.6rem);line-height:.86;text-transform:uppercase;margin:.18em 0 .1em}
.hero h1 .l2{color:var(--flame)}
.hero .kicker{display:flex;align-items:baseline;gap:.35em;flex-wrap:wrap;
  font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.1rem,3.4vw,1.9rem);color:var(--bone)}
.hero .kicker .n{font-family:var(--font-script);font-weight:700;color:var(--flame);font-size:1.7em;line-height:0}
.hero .lede{max-width:44ch;color:#E9DcC2;margin:1.2em 0 1.7em;font-size:1.02rem}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-motto{margin-top:26px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#B9A987}
.hero-motto b{color:var(--flame)}
.hero-media{position:relative}
.hero-media .ph{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(.15) contrast(1.05)}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--char) 0%, rgba(20,16,9,.35) 30%, rgba(226,78,27,.25) 100%),
             radial-gradient(120% 90% at 80% 20%, rgba(240,145,45,.35), transparent 60%);
  mix-blend-mode:multiply}
.hero-flame{position:absolute;right:-40px;bottom:-40px;width:min(46vw,420px);opacity:.16;z-index:1;pointer-events:none}
.hero-flame path{stroke:var(--flame)}

/* ---- next meeting bar ---- */
.nextbar{background:var(--ember);color:#fff}
.nextbar-in{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding-top:22px;padding-bottom:22px}
.nextbar .lab{font-family:var(--font-display);text-transform:uppercase;font-size:.9rem;letter-spacing:.14em;
  border-right:2px solid rgba(255,255,255,.4);padding-right:26px;line-height:1.1}
.nextbar .lab small{display:block;font-family:var(--font-body);font-weight:600;font-size:.62rem;letter-spacing:.2em;opacity:.85}
.nextbar .det{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:baseline}
.nextbar .det .d{font-family:var(--font-display);font-size:1.35rem;text-transform:uppercase;letter-spacing:.01em}
.nextbar .det .p{font-weight:600;font-size:.92rem}
.nextbar .det .h{font-weight:600;font-size:.82rem;opacity:.9}
.nextbar .follow{font-size:.82rem;opacity:.92;margin-top:2px}
.nextbar .act{white-space:nowrap}
.nextbar .btn--dark{border-color:#fff}

/* ---- generic section rhythm (padding only here, no other rule sets section padding) ---- */
.sec{padding:96px 0}
.sec-head{max-width:720px}
.sec-head h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,5.2vw,3.4rem);line-height:.94;margin:.35em 0 0}

/* vision */
.vision{background:var(--paper)}
.vision-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;margin-top:8px}
.callout{font-family:var(--font-script);font-weight:700;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.02;color:var(--char);margin:.1em 0 .5em}
.callout .plain{font-family:var(--font-display);font-weight:400;font-size:.62em;text-transform:uppercase;display:block;letter-spacing:.01em;line-height:1}
.vision p{color:#3B2f22;margin:0 0 1.1em;max-width:52ch}
.vision .strong{color:var(--char);font-weight:700}
.vision-media{position:relative}
.vision-media img{border-radius:2px;filter:saturate(1.05);box-shadow:0 24px 50px -24px rgba(20,16,9,.5)}
.vision-media .tag{position:absolute;left:-14px;bottom:22px;background:var(--char);color:var(--bone);
  font-family:var(--font-display);text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;padding:10px 16px}
.vision-media .tag b{color:var(--flame)}

/* expect */
.expect{position:relative;color:var(--bone);background:var(--char)}
.expect-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5}
.expect::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,16,9,.72), rgba(20,16,9,.62)),
             radial-gradient(90% 70% at 20% 20%, rgba(226,78,27,.3), transparent 60%);}
.expect .wrap{position:relative}
.expect h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.2rem,6vw,4rem);line-height:.92;margin:.3em 0 .4em}
.expect .lede{max-width:56ch;color:#EADcC2;font-size:1.05rem}
.expect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:52px;
  border:2px solid rgba(255,255,255,.16)}
.ex-item{padding:26px 22px 30px;background:rgba(255,255,255,.03)}
.ex-item .no{font-family:var(--font-display);color:var(--flame);font-size:.9rem;letter-spacing:.12em}
.ex-item h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.25rem;margin:.5em 0 .4em;line-height:1}
.ex-item p{font-size:.9rem;color:#D8CbB4;margin:0}

/* latest meeting spotlight */
.latest{background:var(--bone2)}
.latest-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:2px;overflow:hidden;
  background:#1b140d center/cover no-repeat;box-shadow:0 26px 54px -26px rgba(20,16,9,.55);
  display:grid;place-items:center;text-decoration:none}
.video-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(20,16,9,.12),rgba(20,16,9,.55))}
.play{position:relative;z-index:2;width:74px;height:74px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ember);color:#fff;display:grid;place-items:center;transition:transform .15s}
.video-frame:hover .play{transform:scale(1.07)}
.play svg{width:30px;height:30px;margin-left:3px}
.video-tag{position:absolute;z-index:2;top:14px;left:14px;background:var(--char);color:var(--bone);
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;padding:6px 11px}
.latest h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,5vw,3.2rem);line-height:.94;margin:.3em 0 .5em}
.latest .meta{display:flex;flex-wrap:wrap;gap:12px 30px;margin:0 0 18px}
.latest .meta b{display:block;font-family:var(--font-body);font-weight:700;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rust);margin-bottom:2px}
.latest .meta span{font-size:.92rem;color:var(--char);font-weight:600}
.latest p{color:#3B2f22;max-width:52ch;margin:0 0 22px}
.latest-cta{display:flex;gap:14px;flex-wrap:wrap}

/* big quote band (cream) */
.qband{background:var(--bone2);text-align:center}
.qband .q{font-family:var(--font-display);text-transform:uppercase;line-height:.92;
  font-size:clamp(2.1rem,6.5vw,4.6rem);color:var(--char);max-width:16ch;margin:0 auto}
.qband .q .dot{color:var(--ember)}
.qband .cite{margin-top:22px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* the 52 */
.fifty2{position:relative;background:var(--char);color:var(--bone);overflow:hidden}
.ghost52{position:absolute;top:-.18em;right:-.02em;font-family:var(--font-display);font-size:min(52vw,620px);
  line-height:.7;color:rgba(240,145,45,.07);z-index:0;pointer-events:none}
.fifty2 .wrap{position:relative;z-index:1}
.fifty2 h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,5.4vw,3.6rem);line-height:.94;margin:.3em 0 .5em;max-width:20ch}
.fifty2 .lede{max-width:60ch;color:#E5D8C0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 26px}
.chip{font-family:var(--font-body);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.6em 1.1em;border:1.5px solid rgba(255,255,255,.3);border-radius:100px;background:none;color:var(--bone);cursor:pointer;transition:.15s;display:inline-flex;gap:.5em;align-items:center}
.chip .dot{width:9px;height:9px;border-radius:50%}
.chip[data-f="scheduled"] .dot{background:var(--flame)}
.chip[data-f="open"] .dot{background:#7FB3B0}
.chip.is-active{background:var(--ember);border-color:var(--ember);color:#fff}
.hoods{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12)}
.hood{background:var(--char);padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-weight:600;font-size:.88rem;transition:background .15s}
.hood:hover{background:#211812}
.hood .s{width:9px;height:9px;border-radius:50%;flex:none}
.hood[data-s="scheduled"] .s{background:var(--flame)}
.hood[data-s="soon"] .s{background:#8a7a5f}
.hood[data-s="open"] .s{background:#7FB3B0}
.hood.hide{display:none}
.hood[data-s="scheduled"] .name{color:#fff}
.hoodnote{margin-top:26px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;color:#E5D8C0;font-size:.92rem}

/* proverbs call-out */
.proverb{background:var(--paper);text-align:center}
.proverb .strike{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.6rem,5vw,2.8rem);
  color:var(--char);display:inline-block;position:relative;line-height:1}
.proverb .strike::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:.13em;
  background:var(--ember);transform:rotate(-4deg)}
.proverb .verse{font-family:var(--font-script);font-weight:700;color:var(--ember);
  font-size:clamp(2rem,6vw,3.6rem);line-height:1.05;max-width:18ch;margin:.5em auto .2em}
.proverb .verse u{text-decoration-thickness:2px;text-underline-offset:4px}
.proverb .ref{font-family:var(--font-script);font-weight:700;color:var(--rust);font-size:clamp(1.4rem,3.5vw,2rem)}

/* host / partner */
.host{background:var(--ember);color:#fff}
.host-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.host h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.2rem,6vw,4rem);line-height:.9;margin:.3em 0 .4em}
.host p{max-width:50ch;color:#FCEBE1}
.host .eyebrow{color:#3a1405}
.steps{display:grid;gap:2px;border:2px solid rgba(255,255,255,.35)}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 24px;background:rgba(255,255,255,.06);align-items:baseline}
.step .no{font-family:var(--font-display);font-size:1.7rem;line-height:1;color:#fff;opacity:.85}
.step h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.15rem;margin:0 0 .25em}
.step p{font-size:.9rem;color:#FCEBE1;margin:0;max-width:none}
.host .btn--dark{margin-top:26px;border-color:var(--char)}

/* gradient quote (echo of the multicolor gradient reference) */
.grad{position:relative;text-align:center;color:var(--char);
  background:
    radial-gradient(120% 120% at 82% 22%, #F6D23A 0%, rgba(246,210,58,0) 46%),
    radial-gradient(120% 120% at 12% 92%, var(--rust) 0%, rgba(165,51,15,0) 52%),
    linear-gradient(160deg, #C9D6D0 0%, #F0B24A 52%, var(--ember) 100%);}
.grad .q{font-family:var(--font-display);text-transform:uppercase;line-height:.94;
  font-size:clamp(1.9rem,5.4vw,3.6rem);max-width:20ch;margin:0 auto}
.grad .cite{margin-top:20px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(20,16,9,.7)}

/* messenger */
.msgr{background:var(--paper)}
.msgr-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.msgr-media{position:relative}
.portrait{position:relative;max-width:360px;margin:0 auto;width:100%}
.portrait img{border-radius:2px;box-shadow:0 26px 54px -26px rgba(20,16,9,.55);display:block;width:100%}
.portrait::before{content:"";position:absolute;left:-16px;top:-16px;width:116px;height:116px;
  border-top:3px solid var(--ember);border-left:3px solid var(--ember)}
.portrait::after{content:"";position:absolute;right:-16px;bottom:-16px;width:116px;height:116px;
  border-bottom:3px solid var(--ember);border-right:3px solid var(--ember)}
.pcap{position:absolute;left:-12px;bottom:22px;background:var(--char);color:var(--bone);
  font-family:var(--font-display);text-transform:uppercase;font-size:.82rem;letter-spacing:.08em;padding:9px 15px}
.pcap b{color:var(--flame)}
.msgr h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,5vw,3.2rem);line-height:.94;margin:.3em 0 .5em}
.msgr p{color:#3B2f22;margin:0 0 1.05em;max-width:54ch}
.msgr .pull{font-family:var(--font-script);font-weight:700;color:var(--rust);font-size:1.6rem;line-height:1.1;margin-top:.4em}

/* newsletter */
.news{background:var(--char);color:var(--bone)}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.news h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,5vw,3.2rem);line-height:.94;margin:.3em 0 .4em}
.news p{color:#E5D8C0;max-width:46ch}
.form{display:grid;gap:12px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#B9A987;font-weight:700}
.field input,.field select{font-family:var(--font-body);font-size:.95rem;padding:.85em .9em;border:1.5px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.05);color:var(--bone);border-radius:2px}
.field input:focus,.field select:focus{outline:2px solid var(--flame);border-color:var(--flame)}
.form .btn{justify-content:center;margin-top:4px}
.news .apps{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.applink{display:inline-flex;gap:8px;align-items:center;border:1.5px solid rgba(255,255,255,.25);
  padding:.6em 1em;border-radius:4px;text-decoration:none;font-size:.8rem;font-weight:600;color:var(--bone)}
.applink small{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.formnote{font-size:.78rem;color:#B9A987;margin-top:6px}
.thanks{display:none;font-family:var(--font-script);font-weight:700;color:var(--flame);font-size:1.6rem}

/* give strip */
.give{background:var(--bone2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.give-in{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between;padding-top:26px;padding-bottom:26px}
.give p{margin:0;max-width:60ch;color:#3B2f22}
.give b{color:var(--char)}

/* footer */
.foot{background:var(--char);color:var(--bone)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-top:64px;padding-bottom:44px}
.foot .brand-blk .brand{color:var(--bone);font-size:1.15rem}
.foot .brand-blk .bw{color:var(--flame)}
.foot .brand-blk p{color:#B9A987;font-size:.88rem;max-width:34ch;margin:16px 0 0}
.foot h4{font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--flame);margin:0 0 14px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.foot a{text-decoration:none;color:#D8CbB4;font-size:.9rem}
.foot a:hover{color:#fff}
.foot-social{display:flex;gap:12px;margin-top:16px}
.foot-social a{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.25);border-radius:50%;
  display:grid;place-items:center;color:var(--bone)}
.foot-social a:hover{background:var(--ember);border-color:var(--ember)}
.foot-social svg{width:16px;height:16px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;padding-bottom:22px;display:flex;flex-wrap:wrap;
  gap:10px 24px;justify-content:space-between;align-items:center;color:#8f8066;font-size:.8rem}
.foot-bottom .verse{font-family:var(--font-script);font-weight:700;color:var(--flame);font-size:1.2rem}

/* video lightbox */
.lb{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:24px;
  background:rgba(10,7,4,.86);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lb.open{display:grid}
.lb-inner{position:relative;width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:4px;
  overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.lb-body,.lb-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lb-ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--bone);
  background:radial-gradient(120% 120% at 50% 30%, #2a1d12, #120c07);padding:24px}
.lb-ph .k{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:1.2rem}
.lb-ph .s{color:#B9A987;font-size:.9rem;margin-top:8px}
.lb-close{position:absolute;top:-16px;right:-16px;width:44px;height:44px;border-radius:50%;
  background:var(--ember);color:#fff;border:0;cursor:pointer;font-size:1.5rem;line-height:1;display:grid;place-items:center;z-index:3}
.lb-close:hover{background:var(--rust)}
@media(max-width:640px){.lb-close{top:-6px;right:2px}}

/* reveal animation */
.rise{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.rise.in{opacity:1;transform:none}

/* ---- responsive ---- */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-copy .wrap-l{margin:0 auto;padding:0 var(--pad)}
  .hero-media{height:300px;order:-1}
  .nextbar-in{grid-template-columns:1fr;gap:16px;text-align:left}
  .nextbar .lab{border-right:0;border-bottom:2px solid rgba(255,255,255,.4);padding:0 0 14px}
  .vision-grid,.host-grid,.msgr-grid,.news-grid,.latest-grid{grid-template-columns:1fr;gap:34px}
  .expect-grid{grid-template-columns:repeat(2,1fr)}
  .hoods{grid-template-columns:repeat(2,1fr)}
  .msgr-media{order:-1}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  :root{--pad:20px}
  body{font-size:16px}
  .sec{padding:64px 0}
  .nav-links{display:none}
  .burger{display:block}
  .nav-links.open{display:flex;position:absolute;top:66px;left:0;right:0;flex-direction:column;
    background:var(--bone);border-bottom:1px solid var(--line);padding:18px var(--pad);gap:16px;margin:0}
  .nav-cta{display:none}
  .nav-links.open .mob-cta{display:inline-flex;justify-content:center}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{justify-content:center}
  .expect-grid,.hoods{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .give-in{flex-direction:column;align-items:flex-start}
  .foot-top{grid-template-columns:1fr;gap:26px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rise{opacity:1;transform:none}
  html{scroll-behavior:auto}
}


/* ============================================================
   TESTIMONIES PAGE COMPONENTS
   ============================================================ */
.thead{background:var(--char);color:var(--bone);padding:78px 0 68px;text-align:center}
.thead h1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.6rem,7vw,5rem);line-height:.9;margin:.2em 0 .3em}
.thead h1 .em{color:var(--flame)}
.thead p{max-width:56ch;margin:0 auto;color:#E5D8C0}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.sec-h h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:.96;margin:.3em 0 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.vframe{position:relative;aspect-ratio:16/9;border-radius:2px;overflow:hidden;background:#1b140d center/cover no-repeat;display:grid;place-items:center;box-shadow:0 18px 40px -22px rgba(20,16,9,.5)}
.vframe::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(20,16,9,.12),rgba(20,16,9,.55))}
.vframe .play{position:relative;z-index:2;width:56px;height:56px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;transition:transform .15s}
.card:hover .play{transform:scale(1.08)}
.vframe .vframe .play svg{width:22px;height:22px;margin-left:2px}
.vtag{position:absolute;z-index:2;top:10px;left:10px;background:var(--char);color:var(--bone);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;padding:5px 9px}
.card .who{font-family:var(--font-display);text-transform:uppercase;font-size:1.02rem;line-height:1;color:var(--char)}
.card .where{font-size:.82rem;color:var(--muted);margin-top:-4px}
.card .quote{font-family:var(--font-script);font-weight:700;color:var(--rust);font-size:1.25rem;line-height:1.05}
.promo{background:var(--char);color:var(--bone)}
.promo .grid{grid-template-columns:repeat(2,1fr)}
.promo .who{color:#fff}
.promo .where{color:#B9A987}
.cta{background:var(--ember);color:#fff;text-align:center;padding:70px 0}
.cta h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.9rem,5vw,3rem);line-height:.94;margin:0 0 8px}
.cta p{max-width:48ch;margin:0 auto 22px;color:#FCEBE1}
.cta .btn{border-color:var(--char);background:var(--char);color:var(--bone)}
.cta .btn:hover{background:#000}
@media(max-width:900px){.grid,.promo .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){:root{--pad:20px}.grid,.promo .grid{grid-template-columns:1fr}}
