/* ============================================================
   CRACONNECT LIVE 2027 — global stylesheet (build once, reuse)
   Tokens · type · header · footer · buttons · cards · sections
   Warm, light, video-forward. Calibre throughout.
   ============================================================ */

/* ---------- Calibre ---------- */
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-RegularItalic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-Semibold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Calibre";src:url("assets/fonts/Calibre-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}

:root{
  --orange:#F05430;
  --orange-600:#df3f1d;
  --orange-700:#b92f14;
  --coral:#FF7A59;
  --green-500:#2c5440;
  --green-400:#3c6b54;
  --green-100:#dbe8df;
  --navy:#17181b;
  --navy-soft:#565a63;
  --peach:#FFF1E9;
  --peach-deep:#ffe3d4;
  --cream:#FFFBF6;
  --white:#ffffff;
  --line:#f0e4da;
  --line-warm:#ecdccf;
  --shadow-cta:0 10px 30px -8px rgba(240,84,48,.5);
  --shadow-card:0 18px 46px -24px rgba(27,42,74,.28);
  --font:"Calibre","Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --maxw:1440px;
  --pad:clamp(20px,5vw,64px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--cream);color:var(--navy);
  font-family:var(--font);font-weight:400;line-height:1.6;font-size:18px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:var(--orange-600);text-decoration:none;}
a:hover{color:var(--orange-700);}

h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:300;line-height:1.04;letter-spacing:-0.025em;}
h1{font-size:clamp(44px,6.6vw,86px);}
h2{font-size:clamp(32px,4.4vw,56px);}
h3{font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-0.02em;}
p{margin:0;}
strong,b{font-weight:600;}
em{font-style:italic;}
.em{color:var(--orange);font-weight:500;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.eyebrow{font-weight:600;font-size:14px;letter-spacing:0.16em;text-transform:uppercase;color:var(--orange);}
.lede{font-size:clamp(19px,2vw,23px);line-height:1.5;color:var(--navy-soft);font-weight:400;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:0;
  font-family:var(--font);font-weight:600;font-size:16.5px;letter-spacing:-0.01em;
  padding:12px 23px;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-primary{background:linear-gradient(180deg,#F76B48 0%,#F05430 58%,#e7461f 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(0,0,0,.10),0 8px 22px -10px rgba(240,84,48,.62);}
.btn-primary:hover{background:linear-gradient(180deg,#F76B48 0%,#ec4a26 60%,#d83f18 100%);color:#fff;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 28px -10px rgba(240,84,48,.7);}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 24px -12px rgba(0,0,0,.4);}
.btn-ghost:hover{background:rgba(255,255,255,.24);color:#fff;transform:translateY(-2px);}
.btn-dark{background:linear-gradient(180deg,#23252b 0%,#17181b 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 20px -10px rgba(0,0,0,.5);}
.btn-dark:hover{background:linear-gradient(180deg,#2a2d34 0%,#101116 100%);color:#fff;transform:translateY(-2px);}
.btn-lg{font-size:18px;padding:14px 28px;}
.arrow-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:17px;color:var(--orange-600);}
.arrow-link:hover{gap:12px;color:var(--orange-700);}
.arrow-link .a{transition:transform .18s ease;}
.arrow-link:hover .a{transform:translateX(3px);}

/* ---------- 27 squircle badge ---------- */
.badge27{
  display:inline-grid;place-items:center;width:1.35em;height:1.35em;border-radius:32%;
  background:var(--orange);color:#fff;font-weight:600;font-size:.5em;letter-spacing:-0.02em;
  line-height:1;vertical-align:middle;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(255,251,246,.82);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;gap:22px;height:64px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:23px;width:auto;}
.brand .b27{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;background:var(--orange);color:#fff;font-weight:600;font-size:13px;letter-spacing:.03em;line-height:1;}
.brand .b27::before{content:"LIVE\00a0";font-weight:600;}
.nav{display:flex;align-items:center;gap:20px;margin-right:auto;}
.nav a{color:var(--navy);font-weight:500;font-size:15px;letter-spacing:-0.01em;transition:color .15s ease;}
.nav a:hover{color:var(--orange);}
.nav a.active{color:var(--orange);}
.header-cta{padding:9px 18px;font-size:15px;}
.header-meta{display:flex;flex-direction:column;line-height:1.12;text-align:right;padding-left:18px;border-left:1px solid var(--line);}
.header-meta .hm-date{font-weight:600;font-size:13px;color:var(--navy);letter-spacing:-.01em;}
.header-meta .hm-loc{font-size:12px;color:var(--navy-soft);}
.header-meta:hover .hm-date{color:var(--orange);}
@media (max-width:1140px){.header-meta{display:none;}}
.nav-toggle{display:none;}

/* ---------- Sections ---------- */
section{position:relative;}
.pad-y{padding-block:clamp(64px,9vw,120px);}
.pad-y-sm{padding-block:clamp(48px,6vw,80px);}
.bg-peach{background:var(--peach);}
.bg-cream{background:var(--cream);}
.bg-white{background:var(--white);}
.center{text-align:center;}
.measure{max-width:60ch;}
.measure-sm{max-width:46ch;}
.center .measure,.center .measure-sm,.center .lede{margin-left:auto;margin-right:auto;}
.sec-title{margin-top:16px;}
.sec-intro{margin-top:20px;}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:clamp(560px,86vh,860px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(20,15,12,.28) 0%,rgba(20,15,12,.15) 40%,rgba(20,15,12,.78) 100%);}
.hero-video-bg{position:absolute;inset:0;z-index:1;overflow:hidden;}
.hero-video-bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);pointer-events:none;border:0;}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(48px,7vw,88px);padding-top:clamp(60px,10vw,120px);}
.hero .eyebrow{color:#fff;opacity:.92;}
.hero h1{color:#fff;max-width:16ch;margin-top:18px;text-shadow:0 2px 30px rgba(0,0,0,.25);}
.hero .lede{color:rgba(255,255,255,.94);max-width:52ch;margin-top:22px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.play-ic{width:18px;height:18px;fill:currentColor;}

/* ---------- Stat strip ---------- */
.stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.stat{text-align:center;}
.stat .n{font-weight:600;font-size:clamp(38px,4.4vw,58px);color:var(--orange);letter-spacing:-0.03em;line-height:1;}
.stat .l{margin-top:10px;font-size:15px;color:var(--navy-soft);font-weight:500;letter-spacing:0.01em;}
.stat.sold .n{color:var(--navy);}

/* ---------- Generic card ---------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:36px;box-shadow:var(--shadow-card);}
.card h3{margin-bottom:12px;}
.tag{display:inline-block;font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);background:var(--peach);padding:6px 13px;border-radius:999px;margin-bottom:16px;}
.tag.new{color:#fff;background:var(--coral);}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* why-attend mini card */
.mini{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:30px 28px;box-shadow:var(--shadow-card);}
.mini .k{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--peach);color:var(--orange);margin-bottom:18px;}
.mini .k svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;}
.mini h3{font-size:21px;margin-bottom:8px;}
.mini p{font-size:16px;color:var(--navy-soft);line-height:1.5;}

/* ---------- Film block ---------- */
.film{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:16/9;background:#000;}
.film video,.film img{width:100%;height:100%;object-fit:cover;}
.film .play{position:absolute;inset:0;margin:auto;width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.92);
  display:grid;place-items:center;border:0;cursor:pointer;transition:transform .2s ease,background .2s ease;box-shadow:0 8px 30px rgba(0,0,0,.3);}
.film .play:hover{transform:scale(1.07);background:#fff;}
.film .play svg{width:30px;height:30px;fill:var(--orange);margin-left:4px;}

/* ---------- Sponsor strip ---------- */
.logo-strip{display:flex;align-items:center;justify-content:center;gap:clamp(28px,5vw,64px);flex-wrap:wrap;}
.logo-strip img{height:34px;width:auto;opacity:.9;filter:saturate(.6);transition:opacity .2s,filter .2s;}
.logo-strip img:hover{opacity:1;filter:none;}
.logo-strip .word{font-weight:600;font-size:24px;color:var(--navy-soft);letter-spacing:-.02em;opacity:.6;}

/* ---------- Testimonial ---------- */
.quote-lg{font-size:clamp(24px,3vw,38px);font-weight:300;line-height:1.32;letter-spacing:-0.02em;color:var(--navy);}
.quote-lg .mk{color:var(--orange);}
.quote-by{margin-top:24px;font-size:17px;color:var(--navy-soft);}
.quote-by b{color:var(--navy);font-weight:600;}

/* ---------- Ticket tier card ---------- */
.tier{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:32px;display:flex;flex-direction:column;box-shadow:var(--shadow-card);position:relative;}
.tier.feature{border:2px solid var(--orange);}
.tier .flag{position:absolute;top:-13px;left:32px;background:var(--orange);color:#fff;font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;}
.tier .tname{font-weight:600;font-size:20px;letter-spacing:-.01em;}
.tier .price{font-weight:600;font-size:46px;letter-spacing:-.03em;margin-top:14px;line-height:1;color:var(--navy);}
.tier .price small{font-size:16px;font-weight:500;color:var(--navy-soft);letter-spacing:0;}
.tier .what{margin-top:12px;font-size:16px;color:var(--navy-soft);line-height:1.45;min-height:44px;}
.tier ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;}
.tier li{display:flex;gap:11px;font-size:16px;color:var(--navy);line-height:1.4;}
.tier li svg{flex:none;width:19px;height:19px;margin-top:2px;stroke:var(--orange);fill:none;stroke-width:2.2;}
.tier .btn{margin-top:26px;justify-content:center;}
.tier.company{background:var(--navy);border-color:var(--navy);}
.tier.company .tname,.tier.company .price{color:#fff;}
.tier.company .what{color:rgba(255,255,255,.72);}
.tier.company li{color:rgba(255,255,255,.9);}
.tier.company li svg{stroke:var(--coral);}
.tier.company .flag{background:var(--coral);}

/* included band */
.included{background:var(--peach);border-radius:13px;padding:28px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;}
.included .h{font-weight:600;font-size:16px;color:var(--navy);margin-right:8px;}
.included .chip{display:inline-flex;align-items:center;gap:8px;font-size:15.5px;color:var(--navy-soft);}
.included .chip svg{width:17px;height:17px;stroke:var(--orange);fill:none;stroke-width:2.2;}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line-warm);}
.faq details{border-bottom:1px solid var(--line-warm);}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;font-weight:500;font-size:19px;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{flex:none;width:24px;height:24px;position:relative;transition:transform .2s ease;}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--orange);border-radius:2px;}
.faq summary .pm::before{top:11px;left:3px;right:3px;height:2px;}
.faq summary .pm::after{left:11px;top:3px;bottom:3px;width:2px;transition:opacity .2s ease;}
.faq details[open] summary .pm::after{opacity:0;}
.faq details[open] summary{color:var(--orange);}
.faq p{padding:0 0 22px;color:var(--navy-soft);font-size:16.5px;line-height:1.55;max-width:74ch;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--peach);border-radius:18px;text-align:center;padding:clamp(48px,7vw,84px) var(--pad);}
.cta-band .k{font-weight:600;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.cta-band h2{margin:16px auto 0;max-width:18ch;}
.cta-band .btn{margin-top:30px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.72);padding-block:clamp(56px,7vw,84px);font-size:15.5px;}
.site-footer a{color:rgba(255,255,255,.72);}
.site-footer a:hover{color:#fff;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;}
.footer-brand img{height:26px;margin-bottom:16px;}
.footer-brand .dates{color:#fff;font-weight:500;}
.footer-col h4{color:#fff;font-weight:600;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.news{display:flex;gap:8px;margin-top:14px;}
.news input{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:12px 18px;color:#fff;font-family:var(--font);font-size:15px;}
.news input::placeholder{color:rgba(255,255,255,.5);}
.news button{background:var(--orange);border:0;color:#fff;font-family:var(--font);font-weight:600;border-radius:999px;padding:12px 20px;cursor:pointer;font-size:15px;}
.news button:hover{background:var(--orange-600);}
.footer-bottom{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;color:rgba(255,255,255,.5);align-items:center;}
.footer-legal a{color:rgba(255,255,255,.66);text-decoration:none;}
.footer-legal a:hover{color:#fff;text-decoration:underline;}

/* ---------- legal pages (privacy / terms) ---------- */
.legal-hero{background:var(--navy);color:#fff;padding-top:clamp(104px,12vw,140px);padding-bottom:clamp(30px,4vw,48px);}
.legal-hero .eyebrow{color:var(--coral);}
.legal-hero h1{color:#fff;margin-top:14px;}
.legal-hero .updated{color:rgba(255,255,255,.6);margin-top:14px;font-size:15px;}
.legal-body{padding:clamp(40px,6vw,72px) 0;}
.legal-body .wrap{max-width:820px;}
.legal-note{background:var(--peach);border:1px solid var(--line);border-radius:12px;padding:16px 20px;font-size:14.5px;color:var(--navy-soft);margin:0 0 30px;}
.legal-body h2{font-size:clamp(21px,2.3vw,27px);font-weight:600;color:var(--navy);margin:38px 0 12px;letter-spacing:-.02em;}
.legal-body h2:first-of-type{margin-top:0;}
.legal-body p,.legal-body li{font-size:16.5px;line-height:1.7;color:var(--navy-soft);}
.legal-body p{margin:0 0 16px;}
.legal-body ul{margin:0 0 16px;padding-left:22px;}
.legal-body li{margin-bottom:8px;}

/* ---------- shared request modal (speak / partner) ---------- */
.rs-overlay{position:fixed;inset:0;z-index:200;background:rgba(14,15,18,.62);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:24px;}
.rs-overlay.open{display:flex;}
.rs-modal{background:#fff;border-radius:20px;max-width:520px;width:100%;padding:clamp(30px,4vw,46px);box-shadow:0 40px 90px -30px rgba(14,15,18,.5);position:relative;max-height:92vh;overflow:auto;}
.rs-modal .rs-x{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:0;background:var(--cream);color:var(--navy);font-size:20px;cursor:pointer;display:grid;place-items:center;}
.rs-modal .rs-x:hover{background:var(--peach);}
.rs-modal .n-k{font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.rs-modal h3{font-size:clamp(24px,2.6vw,30px);letter-spacing:-0.02em;margin:10px 0 0;color:var(--navy);}
.rs-modal p{color:var(--navy-soft);margin:10px 0 0;font-size:16px;line-height:1.5;}
.rs-form{display:grid;gap:14px;margin-top:24px;}
.rs-form input,.rs-form textarea{font-family:var(--font);font-size:15.5px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--navy);width:100%;box-sizing:border-box;}
.rs-form textarea{resize:vertical;min-height:96px;}
.rs-form input:focus,.rs-form textarea:focus{outline:2px solid var(--orange);border-color:transparent;}
.rs-form .btn{justify-content:center;margin-top:4px;}

/* ---------- waitlist / register-interest modal (global) ---------- */
.rp-modal{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;background:rgba(15,18,26,.82);padding:24px;}
.rp-modal.open{display:flex;}
.rp-box{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:clamp(28px,4vw,44px);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.45);max-height:92vh;overflow:auto;}
.rp-box .eyebrow{color:var(--orange);}
.rp-box h3{font-size:clamp(24px,2.6vw,30px);font-weight:500;letter-spacing:-.02em;margin:10px 0 0;}
.rp-box .rp-note{margin-top:10px;font-size:15.5px;color:var(--navy-soft);line-height:1.45;}
.rp-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--peach);color:var(--navy);font-size:22px;line-height:1;cursor:pointer;transition:background .2s ease;}
.rp-close:hover{background:var(--peach-deep);}
.rp-form{display:grid;gap:13px;margin-top:22px;}
.rp-two{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.rp-field{display:flex;flex-direction:column;gap:6px;}
.rp-field label{font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--navy);}
.rp-field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--font);font-size:16px;color:var(--navy);background:var(--cream);}
.rp-field input:focus{outline:none;border-color:var(--orange);background:#fff;}
.rp-form .btn{margin-top:8px;justify-content:center;}
.rp-consent{font-size:12.5px;color:var(--navy-soft);line-height:1.4;margin-top:2px;}
.rp-success{display:none;text-align:center;padding:8px 0 4px;}
.rp-modal.done .rp-form,.rp-modal.done .rp-intro{display:none;}
.rp-modal.done .rp-success{display:block;}
.rp-success .tick{width:58px;height:58px;border-radius:50%;background:var(--peach);color:var(--orange);display:grid;place-items:center;margin:0 auto 16px;}
.rp-success .tick svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.4;}
.rp-success h3{margin-bottom:6px;}
.rp-success p{color:var(--navy-soft);font-size:16px;margin-bottom:22px;}

/* ---------- global submission confirmation overlay ---------- */
.cra-confirm{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:24px;
  background:rgba(14,15,18,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.cra-confirm.open{display:flex;animation:craFadeIn .25s ease;}
.cra-confirm-box{background:#fff;border-radius:20px;max-width:420px;width:100%;padding:clamp(34px,4vw,46px) clamp(28px,4vw,40px);
  text-align:center;box-shadow:0 40px 90px -20px rgba(14,15,18,.55);position:relative;animation:craPop .3s cubic-bezier(.2,.8,.3,1);}
.cra-confirm-box .rp-close{position:absolute;top:14px;right:14px;}
.cra-confirm-tick{width:60px;height:60px;border-radius:50%;background:var(--orange);display:grid;place-items:center;margin:0 auto 22px;}
.cra-confirm-tick svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.cra-confirm-box h3{font-size:clamp(23px,2.6vw,28px);letter-spacing:-.02em;margin:0 0 10px;color:var(--navy);}
.cra-confirm-box p{color:var(--navy-soft);font-size:16px;line-height:1.55;margin:0 0 24px;}
.cra-confirm-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch;}
.cra-confirm-actions .btn{justify-content:center;}
@keyframes craFadeIn{from{opacity:0}to{opacity:1}}
@keyframes craPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

/* ---------- reveal-on-scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- staggered hero entrance ---------- */
.hhero .eyebrow-row.reveal{transition-delay:.05s;}
.hhero .title.reveal{transition-delay:.16s;}
.hhero .tagline.reveal{transition-delay:.32s;}
.hhero .hhero-actions.reveal{transition-delay:.44s;}
.hhero .hstats.reveal{transition-delay:.54s;}
.hhero .support.reveal{transition-delay:.64s;}
@media (prefers-reduced-motion:reduce){.hhero .reveal{transition-delay:0s;}}

/* ---------- decorative color glows (Miro-style, subtle) ---------- */
@keyframes drift-a{0%{transform:translate(0,0) scale(1);}50%{transform:translate(6%,-8%) scale(1.12);}100%{transform:translate(0,0) scale(1);}}
@keyframes drift-b{0%{transform:translate(0,0) scale(1);}50%{transform:translate(-7%,7%) scale(1.1);}100%{transform:translate(0,0) scale(1);}}

/* warm aurora behind the dark voice section */
.voice-dark::before{content:"";position:absolute;z-index:0;top:-22%;left:-10%;width:54%;height:72%;
  background:radial-gradient(closest-side,rgba(240,84,48,.30),transparent 70%);filter:blur(18px);
  animation:drift-a 19s ease-in-out infinite;pointer-events:none;}
.voice-dark::after{content:"";position:absolute;z-index:0;bottom:-26%;right:-8%;width:50%;height:72%;
  background:radial-gradient(closest-side,rgba(255,122,89,.22),transparent 70%);filter:blur(22px);
  animation:drift-b 24s ease-in-out infinite;pointer-events:none;}

/* soft peach bloom in the cream agenda section */
.agenda{position:relative;overflow:hidden;}
.agenda::before{content:"";position:absolute;z-index:0;top:-150px;right:-130px;width:440px;height:440px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(240,84,48,.11),transparent 70%);
  animation:drift-b 27s ease-in-out infinite;pointer-events:none;}
.agenda .wrap{position:relative;z-index:1;}

/* light sheen drifting across the subscribe CTA band */
.subscribe-band{position:relative;overflow:hidden;}
.subscribe-band::before{content:"";position:absolute;z-index:0;top:-45%;left:6%;width:42%;height:130%;
  background:radial-gradient(closest-side,rgba(255,255,255,.16),transparent 70%);
  animation:drift-a 21s ease-in-out infinite;pointer-events:none;}
.subscribe-inner{position:relative;z-index:1;}

/* springy lift on agenda cards */
.ag-col{transition:transform .32s cubic-bezier(.2,.8,.25,1),box-shadow .32s ease,border-color .32s ease;}
.ag-col:hover{transform:translateY(-6px);box-shadow:0 24px 52px -22px rgba(20,20,30,.30);border-color:var(--line-warm);}
.ag-col.lead:hover{box-shadow:0 24px 52px -18px rgba(0,0,0,.55);}

@media (prefers-reduced-motion:reduce){
  .voice-dark::before,.voice-dark::after,.agenda::before,.subscribe-band::before{animation:none;}
}

/* ---------- reusable photo header (dark event photo + white text) ---------- */
.ph-bg{position:absolute;inset:0;z-index:0;}
.ph-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.ph-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(96deg,rgba(10,11,14,.90) 0%,rgba(10,11,14,.66) 42%,rgba(10,11,14,.34) 74%,rgba(10,11,14,.56) 100%),
  linear-gradient(180deg,rgba(10,11,14,.46) 0%,rgba(10,11,14,0) 26%,rgba(10,11,14,0) 54%,#0e0f12 100%);}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .stat-row{grid-template-columns:repeat(2,1fr);gap:30px 24px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:760px){
  .nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;
    background:var(--cream);border-bottom:1px solid var(--line);padding:8px var(--pad) 20px;
    transform:translateY(-140%);transition:transform .28s ease;box-shadow:0 20px 40px -20px rgba(0,0,0,.25);}
  .nav.open{transform:none;}
  .nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px;}
  .nav-toggle{display:grid;place-items:center;width:42px;height:42px;background:none;border:0;cursor:pointer;margin-left:auto;}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--navy);position:relative;}
  .nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--navy);}
  .nav-toggle span::before{top:-7px;}.nav-toggle span::after{top:7px;}
  .header-cta{display:inline-flex;padding:8px 15px;font-size:13.5px;margin-left:auto;}
  .site-header .wrap{gap:12px;}
  .nav-toggle{margin-left:0;}
  .footer-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:380px){
  .header-cta{padding:8px 12px;font-size:12.5px;}
  .brand img{height:20px;}
}

/* ---------- mobile typography: larger, more legible headings ---------- */
@media (max-width:640px){
  h2{font-size:clamp(36px,8.2vw,46px);}
  h3{font-size:clamp(22px,5.4vw,28px);}
  .eyebrow{font-size:15px;letter-spacing:0.14em;}
  .lede{font-size:19px;line-height:1.5;}
  .sec-intro{font-size:18px;}
  /* section titles that carry a desktop-tuned inline clamp */
  .sec-title{font-size:clamp(36px,8.2vw,46px)!important;}
  .big-h{font-size:clamp(42px,10.4vw,56px);}
  .voice-dark .v-title{font-size:clamp(38px,9.6vw,52px);line-height:1.04;}
  /* speakers block: small sub-heading with arrows beside it, note hidden */
  .spk-title{font-size:clamp(21px,5.6vw,27px)!important;line-height:1.1;}
  .spk-head{flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:16px;}
  .spk-meta{width:auto;flex-direction:row!important;align-items:center!important;gap:12px;}
  .spk-note{display:none!important;}
}
