:root{
  --navy:#082B4C;
  --navy-2:#041a30;
  --green:#00583F;
  --green-2:#047355;
  --yellow:#F4C21B;
  --slate:#A6A6A6;
  --ink:#0a2035;
  --paper:#f6f8fa;
  --white:#ffffff;
  --line:rgba(255,255,255,.12);
  --shadow:0 26px 70px rgba(2,18,32,.16);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
a{color:inherit;text-decoration:none}
button,a{ -webkit-tap-highlight-color: transparent; }
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--green)}
.section{padding:92px 0}
.section-title{font-size:clamp(2.1rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:.35rem 0 1rem}
.section-copy{font-size:1.08rem;color:#486071;max-width:720px}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:14px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.22s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--yellow);color:#13263a;box-shadow:0 10px 30px rgba(244,194,27,.22)}
.btn-primary:hover{background:#ffd43a}
.btn-secondary{border-color:rgba(255,255,255,.28);color:white;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.btn-dark{background:var(--navy);color:white}

/* Header */
.site-header{position:fixed;z-index:50;inset:0 0 auto 0;transition:.25s ease;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(4,26,48,.94);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.08)}
.nav{height:68px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:white;font-weight:900;letter-spacing:.03em}
.brand img{height:46px;width:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}
.nav-links{display:flex;align-items:center;gap:26px;color:rgba(255,255,255,.86);font-size:.95rem;font-weight:650}
.nav-links a:hover,.nav-links a.active{color:white}
.nav-toggle{display:none;background:none;border:0;color:white;font-size:1.45rem}

/* Hero */
.hero{min-height:clamp(700px,76svh,790px);display:block;color:white;position:relative;overflow:hidden;background:
radial-gradient(circle at 75% 18%,rgba(0,88,63,.42),transparent 34%),
linear-gradient(135deg,var(--navy-2),var(--navy) 55%,#0b395a)}
.hero::before{content:"";position:absolute;inset:-20%;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;transform:perspective(900px) rotateX(63deg) translateY(23%);transform-origin:center;mask-image:linear-gradient(to top,black,transparent 75%);animation:gridFloat 14s ease-in-out infinite alternate}
@keyframes gridFloat{to{transform:perspective(900px) rotateX(63deg) translateY(18%) translateX(-18px)}}
.hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:clamp(-210px,-20vh,-150px);height:clamp(280px,34vh,360px);border-radius:50% 50% 0 0;background:linear-gradient(180deg,rgba(0,88,63,.9),rgba(0,70,50,.98));box-shadow:0 -9px 0 rgba(255,255,255,.92),0 -18px 0 rgba(0,88,63,.58);transform:rotate(-1.4deg)}
.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:94px 0 102px;will-change:transform,opacity}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.pulse-dot{width:8px;height:8px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 0 rgba(244,194,27,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(244,194,27,0)}100%{box-shadow:0 0 0 0 rgba(244,194,27,0)}}
.hero h1{font-size:clamp(3.5rem,7.2vw,7.4rem);line-height:.88;letter-spacing:-.055em;margin:24px 0 22px;max-width:850px}
.hero h1 span{color:var(--yellow)}
.hero p{font-size:clamp(1.06rem,1.7vw,1.28rem);color:rgba(255,255,255,.76);max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-card{justify-self:end;position:relative;width:min(430px,100%);aspect-ratio:1/1;border-radius:34px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.04));backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.26);display:grid;place-items:center;overflow:hidden;isolation:isolate}
.hero-card::before{content:"";position:absolute;z-index:1;width:72%;height:72%;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018);animation:orbit 20s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero-logo{width:72%;position:relative;z-index:4;filter:drop-shadow(0 28px 28px rgba(0,0,0,.3));animation:logoBreathe 6s ease-in-out infinite}
@keyframes logoBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.84;transform:scale(1.035)}
.hero-video-shade{position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 50% 46%,transparent 20%,rgba(3,22,38,.12) 58%,rgba(3,22,38,.58) 100%),linear-gradient(180deg,rgba(8,43,76,.04),rgba(4,26,48,.18))}
.motion-tag{position:absolute;z-index:5;left:22px;bottom:20px;display:flex;align-items:center;gap:9px;font-size:.64rem;letter-spacing:.18em;font-weight:850;color:rgba(255,255,255,.72)}
.motion-tag span{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 6px rgba(244,194,27,.08)}

/* Pillars */
.pillars{margin-top:-96px;position:relative;z-index:6}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe5e9;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.pillar{background:white;padding:34px}
.pillar-num{font-size:.75rem;font-weight:900;color:var(--green);letter-spacing:.14em}
.pillar h3{font-size:1.35rem;margin:.55rem 0 .45rem}
.pillar p{margin:0;color:#637785}

/* Event feature */
.event-shell{background:var(--navy);border-radius:34px;color:white;padding:52px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.event-shell::after{content:"";position:absolute;right:-90px;top:-110px;width:380px;height:380px;border:70px solid rgba(0,88,63,.65);border-radius:50%}
.event-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;position:relative;z-index:2}
.event-meta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.badge{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-size:.79rem;font-weight:750}
.event-card{background:white;color:var(--ink);border-radius:24px;padding:28px;box-shadow:0 24px 50px rgba(0,0,0,.18)}
.event-card strong{font-size:1.8rem;display:block;line-height:1.1}
.progress-track{height:8px;background:#e8edf0;border-radius:999px;overflow:hidden;margin:18px 0}
.progress-fill{width:64%;height:100%;background:linear-gradient(90deg,var(--green),#18a177);border-radius:inherit;animation:fillIn 1.2s ease both}
@keyframes fillIn{from{width:0}}

/* Division cards */
.division-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.division-card{background:white;border:1px solid #e3e8ec;border-radius:22px;padding:24px;transition:.22s ease;position:relative;overflow:hidden}
.division-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(8,43,76,.1);border-color:rgba(0,88,63,.25)}
.division-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:.25s ease}
.division-card:hover::after{transform:scaleX(1)}
.division-rating{font-size:2rem;font-weight:900;letter-spacing:-.04em;color:var(--navy)}

/* Stats */
.stats{background:#eef2f4}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.stat{background:white;border-radius:22px;padding:26px;border:1px solid #e1e7eb}
.stat-value{font-size:2.4rem;font-weight:900;color:var(--navy);letter-spacing:-.04em}
.stat-label{font-size:.88rem;color:#6a7d8a}

/* Join CTA */
.join-panel{background:linear-gradient(135deg,var(--green),#043e32);color:white;border-radius:34px;padding:52px;display:grid;grid-template-columns:1fr 220px;gap:42px;align-items:center;box-shadow:var(--shadow)}
.join-panel .eyebrow{color:#b7f4dc}
.qr{background:white;border-radius:20px;padding:12px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.qr img{border-radius:10px}

/* Interior pages */
.page-hero{padding:155px 0 80px;background:linear-gradient(135deg,var(--navy-2),var(--navy));color:white;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:auto -10% -90px -10%;height:150px;border-radius:50%;background:var(--green);opacity:.8}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.94;letter-spacing:-.05em;margin:14px 0}
.content-card{background:white;border:1px solid #e1e7eb;border-radius:24px;padding:30px;box-shadow:0 16px 40px rgba(8,43,76,.06)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.timeline{display:grid;gap:14px;margin-top:28px}
.timeline-row{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start}
.timeline-icon{width:54px;height:54px;border-radius:16px;background:#eaf5f1;color:var(--green);display:grid;place-items:center;font-weight:900}

/* Footer */
.footer{background:#031626;color:rgba(255,255,255,.72);padding:58px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:40px}
.footer-logo{width:120px;margin-bottom:18px}
.footer h4{color:white;margin:0 0 14px}
.footer a{display:block;margin:9px 0;color:rgba(255,255,255,.65)}
.footer a:hover{color:white}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.84rem}

/* Content is visible by default. Desktop JS opts eligible elements into reveal motion. */
.reveal{opacity:1;transform:none}
.reveal.reveal-pending{opacity:0;transform:translateY(22px);transition:.65s cubic-bezier(.22,.8,.26,1)}
.reveal.reveal-pending.in,.reveal.in{opacity:1;transform:none}

@media(max-height:700px) and (min-width:901px){
  .hero{min-height:660px}
  .hero-inner{padding:92px 0 125px}
  .hero h1{font-size:clamp(3.5rem,6.4vw,6.4rem)}
}
@media(max-width:900px){
  .nav-links{position:absolute;top:68px;left:20px;right:20px;padding:20px;background:rgba(4,26,48,.98);border:1px solid rgba(255,255,255,.08);border-radius:18px;display:none;flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}.nav-toggle{display:block}
  .hero-inner,.event-grid,.join-panel,.two-col{grid-template-columns:1fr}
  .hero-card{justify-self:start;width:min(390px,100%)}
  .pillars-grid,.stats-grid{grid-template-columns:1fr 1fr}
  .division-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .join-panel{grid-template-columns:1fr 170px}
}
@media(max-width:620px){
  .container{width:min(100% - 26px,1180px)}
  .section{padding:68px 0}
  .hero-inner{padding:96px 0 145px;gap:40px}
  .hero h1{font-size:clamp(3.2rem,17vw,5rem)}
  .hero-card{width:100%;border-radius:26px}
  .pillars-grid,.stats-grid,.division-grid,.footer-grid,.join-panel{grid-template-columns:1fr}
  .pillar{padding:26px}.event-shell,.join-panel{padding:30px 22px}
  .join-panel .qr{width:170px}
  .footer-bottom{flex-direction:column}
  .brand span{display:none}
}

@media (prefers-reduced-motion: reduce){
  .hero-video{display:none}
  .hero-logo{animation:none}
  .hero-inner{transform:none!important;opacity:1!important}
}

/* v1.3 — tighter hero rhythm + expanded About page */
.hero{min-height:clamp(700px,76svh,790px)}
.hero-inner{padding:94px 0 102px}
.pillars{margin-top:-96px}

/* About page */
.about-hero{padding:142px 0 92px;background:
radial-gradient(circle at 82% 22%,rgba(0,88,63,.44),transparent 31%),
linear-gradient(135deg,var(--navy-2),var(--navy) 58%,#0b395a)}
.about-hero::before{content:"";position:absolute;inset:-25% -10% -15% 45%;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;transform:rotate(-10deg);mask-image:linear-gradient(90deg,transparent,black 34%,black 80%,transparent)}
.about-hero::after{height:132px;bottom:-82px;opacity:.88}
.about-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;position:relative;z-index:2}
.about-hero p{max-width:680px;font-size:1.12rem;color:rgba(255,255,255,.73);margin:0}
.about-hero-mark{justify-self:end;width:min(390px,100%);aspect-ratio:1/1;border-radius:32px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:0 30px 80px rgba(0,0,0,.24);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.about-hero-mark::before,.about-hero-mark::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.about-hero-mark::before{width:76%;height:76%;box-shadow:0 0 0 38px rgba(255,255,255,.02),0 0 0 76px rgba(255,255,255,.012)}
.about-hero-mark::after{width:210px;height:210px;background:radial-gradient(circle,rgba(0,88,63,.25),transparent 68%);border:0}
.about-hero-mark strong{font-size:clamp(4.5rem,8vw,7.5rem);line-height:.85;letter-spacing:-.07em;position:relative;z-index:2}
.about-hero-mark span{position:relative;z-index:2;font-size:.72rem;letter-spacing:.26em;font-weight:850;color:#9fddc8}
.about-hero-mark small{position:absolute;z-index:2;bottom:28px;font-size:.72rem;font-weight:750;color:rgba(255,255,255,.58)}
.about-intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:start}
.about-lead{font-size:clamp(1.35rem,2.25vw,2rem);line-height:1.35;letter-spacing:-.025em;color:#264256;margin:.25rem 0 0}
.about-copy{font-size:1.05rem;color:#536b7a}
.about-copy p:first-child{margin-top:0}
.statement-card{margin-top:28px;padding:24px 26px;border-left:4px solid var(--yellow);background:white;border-radius:0 18px 18px 0;box-shadow:0 16px 38px rgba(8,43,76,.06);font-size:1.08rem;font-weight:750;color:var(--navy)}
.about-band{background:var(--navy);color:white;position:relative;overflow:hidden}
.about-band::before{content:"";position:absolute;width:560px;height:560px;right:-260px;top:-280px;border-radius:50%;border:100px solid rgba(0,88,63,.46)}
.about-band .section-title{max-width:850px}
.about-band .section-copy{color:rgba(255,255,255,.69)}
.standard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;position:relative;z-index:2}
.standard-card{padding:30px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}
.standard-card .num{font-size:.72rem;letter-spacing:.17em;font-weight:900;color:#8fe4c6}
.standard-card h3{font-size:1.45rem;margin:.6rem 0 .5rem}
.standard-card p{margin:0;color:rgba(255,255,255,.66)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.process-card{position:relative;padding:26px 24px 28px;background:white;border:1px solid #e2e8ec;border-radius:22px;min-height:230px;overflow:hidden}
.process-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--green)}
.process-step{font-size:3rem;line-height:1;font-weight:950;letter-spacing:-.06em;color:#dbe5e9}
.process-card h3{font-size:1.18rem;margin:26px 0 8px}
.process-card p{font-size:.93rem;color:#657a88;margin:0}
.positioning-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.positioning-card{border-radius:28px;padding:34px;border:1px solid #e1e7eb;background:white;box-shadow:0 16px 42px rgba(8,43,76,.055)}
.positioning-card.dark{background:linear-gradient(145deg,var(--navy),#0a3c60);color:white;border:0}
.positioning-card h3{font-size:1.55rem;margin:.25rem 0 18px}
.positioning-list{display:grid;gap:13px;margin:0;padding:0;list-style:none}
.positioning-list li{display:flex;gap:12px;align-items:flex-start;color:#596f7d}
.positioning-card.dark .positioning-list li{color:rgba(255,255,255,.72)}
.positioning-list li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:.48rem;flex:0 0 auto;box-shadow:0 0 0 5px rgba(0,88,63,.09)}
.positioning-card.dark .positioning-list li::before{background:var(--yellow);box-shadow:0 0 0 5px rgba(244,194,27,.09)}
.rating-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center;background:white;border:1px solid #e1e7eb;border-radius:32px;padding:46px;box-shadow:var(--shadow)}
.rating-visual{min-height:330px;border-radius:26px;background:
radial-gradient(circle at 30% 25%,rgba(0,88,63,.42),transparent 32%),
linear-gradient(145deg,var(--navy-2),var(--navy));position:relative;overflow:hidden;color:white;padding:34px;display:flex;flex-direction:column;justify-content:flex-end}
.rating-visual::before{content:"3.5";position:absolute;right:-8px;top:4px;font-size:10rem;line-height:1;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.055)}
.rating-visual::after{content:"";position:absolute;left:-20%;right:-20%;bottom:-95px;height:190px;border-radius:50% 50% 0 0;background:rgba(0,88,63,.9);box-shadow:0 -7px 0 rgba(255,255,255,.85)}
.rating-visual > *{position:relative;z-index:2}
.rating-visual strong{font-size:2.3rem;line-height:1.02;letter-spacing:-.04em;max-width:270px}
.rating-visual span{margin-top:10px;color:rgba(255,255,255,.66);font-size:.88rem}
.growth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe5e9;border-radius:26px;overflow:hidden;margin-top:36px;box-shadow:var(--shadow)}
.growth-card{background:white;padding:30px;min-height:205px}
.growth-card strong{display:block;font-size:.75rem;letter-spacing:.15em;color:var(--green);margin-bottom:26px}
.growth-card h3{font-size:1.35rem;margin:0 0 8px}
.growth-card p{color:#637785;margin:0;font-size:.93rem}
.local-panel{display:grid;grid-template-columns:1fr .82fr;gap:50px;align-items:center;background:linear-gradient(135deg,#eef4f2,#f8fafb);border:1px solid #dee7e4;border-radius:32px;padding:46px}
.local-mark{min-height:300px;border-radius:26px;background:var(--green);color:white;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;padding:32px}
.local-mark::before,.local-mark::after{content:"";position:absolute;left:-12%;right:-12%;height:150px;border-radius:50% 50% 0 0;transform:rotate(-3deg)}
.local-mark::before{bottom:-32px;background:#084b3d;box-shadow:0 -8px 0 rgba(255,255,255,.9)}
.local-mark::after{bottom:-72px;background:#063c32;box-shadow:0 -7px 0 rgba(255,255,255,.75)}
.local-mark div{position:relative;z-index:2}
.local-mark strong{font-size:clamp(2.6rem,5vw,4.6rem);line-height:.9;letter-spacing:-.05em;display:block}
.local-mark span{font-size:.72rem;letter-spacing:.22em;font-weight:850;color:#b7f4dc}
.about-cta{background:linear-gradient(135deg,var(--green),#043e32);border-radius:34px;padding:48px;color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}
.about-cta h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.045em;margin:.4rem 0 .7rem}
.about-cta p{max-width:650px;color:rgba(255,255,255,.72);margin:0}

@media(max-height:700px) and (min-width:901px){
  .hero{min-height:650px}
  .hero-inner{padding:84px 0 78px}
  .pillars{margin-top:-78px}
}
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-inner{padding:96px 0 112px}
  .pillars{margin-top:-48px}
  .about-hero-grid,.about-intro,.rating-shell,.local-panel{grid-template-columns:1fr}
  .about-hero-mark{justify-self:start;width:min(350px,100%)}
  .standard-grid{grid-template-columns:1fr}
  .process-grid,.growth-grid{grid-template-columns:1fr 1fr}
  .about-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .hero-inner{padding:92px 0 105px}
  .pillars{margin-top:-34px}
  .about-hero{padding:118px 0 78px}
  .about-hero-grid{gap:42px}
  .about-hero-mark{width:100%;max-width:330px}
  .positioning-grid,.process-grid,.growth-grid{grid-template-columns:1fr}
  .rating-shell,.local-panel{padding:26px 22px}
  .about-cta{padding:32px 24px}
}

/* v1.4 — balanced hero spacing + unified About page */
.hero{
  min-height:clamp(690px,82svh,790px);
}
.hero-inner{
  padding:94px 0 118px;
}
.pillars{
  margin-top:-72px;
}

/* Unified interior hero treatment */
.about-hero{
  min-height:clamp(600px,72svh,690px);
  padding:124px 0 122px;
  color:white;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 18%,rgba(0,88,63,.42),transparent 34%),
    linear-gradient(135deg,var(--navy-2),var(--navy) 55%,#0b395a);
}
.about-hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  transform:perspective(900px) rotateX(63deg) translateY(23%);
  transform-origin:center;
  mask-image:linear-gradient(to top,black,transparent 75%);
  animation:gridFloat 14s ease-in-out infinite alternate;
}
.about-hero::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:clamp(-205px,-19vh,-158px);
  height:clamp(270px,32vh,340px);
  border-radius:50% 50% 0 0;
  background:linear-gradient(180deg,rgba(0,88,63,.92),rgba(0,70,50,.99));
  box-shadow:0 -9px 0 rgba(255,255,255,.94),0 -18px 0 rgba(0,88,63,.58);
  transform:rotate(-1.3deg);
}
.about-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
  position:relative;
  z-index:3;
  will-change:transform,opacity;
}
.about-hero h1{
  font-size:clamp(3.6rem,6.3vw,6.5rem);
  line-height:.91;
  letter-spacing:-.055em;
  margin:24px 0 22px;
  max-width:760px;
}
.about-hero p{
  max-width:650px;
  font-size:clamp(1.06rem,1.55vw,1.22rem);
  color:rgba(255,255,255,.76);
  margin:0;
}
.about-hero-card{
  width:min(400px,100%);
}
.about-intro-section{
  padding-top:102px;
}

/* About page content: less repetition, clearer rhythm */
.process-grid-three{
  grid-template-columns:repeat(3,1fr);
}
.rating-section{
  background:#eef2f4;
}
.rating-shell{
  grid-template-columns:.88fr 1.12fr;
  gap:48px;
  align-items:stretch;
  padding:42px;
}
.rating-visual{
  min-height:390px;
  padding:36px;
  justify-content:flex-start;
  gap:0;
}
.rating-visual::before{
  right:-12px;
  top:14px;
  font-size:9.2rem;
}
.rating-visual::after{
  left:-18%;
  right:-18%;
  bottom:-142px;
  height:220px;
  background:linear-gradient(180deg,rgba(0,88,63,.96),rgba(0,72,52,.98));
  box-shadow:0 -7px 0 rgba(255,255,255,.9),0 -14px 0 rgba(0,88,63,.48);
}
.rating-visual strong{
  margin-top:82px;
  font-size:clamp(2.2rem,3vw,3rem);
  max-width:315px;
}
.rating-visual span{
  margin-top:16px;
  max-width:285px;
  font-size:.94rem;
  line-height:1.5;
  color:rgba(255,255,255,.72);
}
.rating-title{
  font-size:clamp(2.2rem,3.8vw,3.55rem);
}
.rating-points{
  display:grid;
  gap:12px;
  margin-top:26px;
}
.rating-point{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #e0e8e5;
  border-radius:18px;
  background:#f7faf9;
}
.rating-point-num{
  width:62px;
  height:62px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#e4f2ed;
  color:var(--green);
  font-size:.92rem;
  letter-spacing:.08em;
  font-weight:950;
}
.rating-point h3{
  margin:0 0 4px;
  font-size:1.06rem;
  color:var(--navy);
}
.rating-point p{
  margin:0;
  color:#5f7481;
  font-size:.92rem;
  line-height:1.45;
}

/* Local section now flows as a full-width brand band rather than a nested card */
.local-section{
  position:relative;
  overflow:hidden;
  color:white;
  background:
    radial-gradient(circle at 82% 20%,rgba(8,43,76,.76),transparent 34%),
    linear-gradient(135deg,#004d38,var(--green) 52%,#043c32);
}
.local-section::before,
.local-section::after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  height:210px;
  border-radius:50% 50% 0 0;
  transform:rotate(-1.5deg);
  pointer-events:none;
}
.local-section::before{
  bottom:-160px;
  border-top:2px solid rgba(255,255,255,.78);
  box-shadow:0 -9px 0 rgba(255,255,255,.08);
}
.local-section::after{
  top:-182px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.local-flow{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:70px;
  align-items:center;
}
.local-copy .section-title{
  color:white;
  max-width:690px;
}
.local-copy p{
  max-width:720px;
  color:rgba(255,255,255,.72);
  font-size:1.04rem;
}
.local-brand{
  min-height:320px;
  display:grid;
  place-items:center;
  position:relative;
}
.local-brand::before{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.016);
}
.local-brand img{
  position:relative;
  z-index:2;
  width:min(315px,78%);
  opacity:.96;
  filter:drop-shadow(0 22px 36px rgba(0,0,0,.24));
}

@media(max-height:700px) and (min-width:901px){
  .hero{min-height:660px}
  .hero-inner{padding:84px 0 96px}
  .pillars{margin-top:-62px}
  .about-hero{min-height:590px;padding:108px 0 108px}
  .about-hero h1{font-size:clamp(3.4rem,5.8vw,5.8rem)}
}
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-inner{padding:96px 0 122px}
  .pillars{margin-top:-54px}
  .about-hero{min-height:auto;padding:108px 0 128px}
  .about-hero-grid,.rating-shell,.local-flow{grid-template-columns:1fr}
  .about-hero-card{justify-self:start;width:min(360px,100%)}
  .process-grid-three{grid-template-columns:1fr}
  .rating-visual{min-height:340px}
  .local-flow{gap:28px}
  .local-brand{min-height:260px}
}
@media(max-width:620px){
  .hero-inner{padding:92px 0 112px}
  .pillars{margin-top:-40px}
  .about-hero{padding:96px 0 116px}
  .about-hero-grid{gap:42px}
  .about-hero h1{font-size:clamp(3.2rem,16vw,4.8rem)}
  .rating-shell{padding:24px 20px}
  .rating-point{grid-template-columns:52px 1fr;padding:14px}
  .rating-point-num{width:52px;height:52px;border-radius:14px}
  .local-brand{min-height:220px}
  .local-brand::before{width:250px;height:250px}
}
/* Keep the home valley line clear of the CTA row while preserving the hero-to-pillars overlap. */
.hero::after{bottom:clamp(-285px,-27vh,-225px)}


/* v1.5 — About hero responsive balance */
.about-hero{
  min-height:clamp(690px,82svh,790px);
  padding:118px 0 148px;
}
.about-hero::after{
  bottom:clamp(-285px,-27vh,-225px);
  height:clamp(280px,34vh,360px);
}
.about-hero-grid{
  grid-template-columns:1.18fr .82fr;
  gap:56px;
}
.about-hero h1{
  font-size:clamp(3.55rem,5.55vw,5.9rem);
  line-height:.92;
  max-width:820px;
  text-wrap:balance;
}
.about-hero p{
  max-width:660px;
  position:relative;
  z-index:4;
}
.about-hero-card{
  width:min(390px,100%);
}

@media(max-height:760px) and (min-width:901px){
  .about-hero{
    min-height:690px;
    padding:105px 0 132px;
  }
  .about-hero-grid{
    grid-template-columns:1.2fr .8fr;
    gap:48px;
  }
  .about-hero h1{
    font-size:clamp(3.45rem,5vw,5.25rem);
    max-width:760px;
    margin:20px 0 18px;
  }
  .about-hero p{
    font-size:1.06rem;
    max-width:640px;
  }
  .about-hero-card{
    width:min(360px,100%);
  }
  .about-hero::after{
    bottom:-235px;
    height:290px;
  }
}

@media(max-width:900px){
  .about-hero{
    min-height:auto;
    padding:108px 0 170px;
  }
  .about-hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .about-hero h1{
    max-width:760px;
  }
  .about-hero::after{
    bottom:-235px;
    height:300px;
  }
}

@media(max-width:620px){
  .about-hero{
    padding:96px 0 150px;
  }
  .about-hero h1{
    font-size:clamp(3rem,15vw,4.45rem);
    line-height:.94;
  }
  .about-hero-card{
    width:min(330px,100%);
  }
  .about-hero::after{
    bottom:-220px;
    height:275px;
  }
}

/* v1.6 — Events system */
.events-hero,
.event-detail-hero{
  min-height:clamp(690px,82svh,790px);
  color:white;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%,rgba(0,88,63,.44),transparent 35%),
    linear-gradient(135deg,var(--navy-2),var(--navy) 55%,#0b395a);
}
.events-hero::before,
.event-detail-hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  transform:perspective(900px) rotateX(63deg) translateY(23%);
  transform-origin:center;
  mask-image:linear-gradient(to top,black,transparent 75%);
  animation:gridFloat 14s ease-in-out infinite alternate;
}
.events-hero::after,
.event-detail-hero::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:clamp(-285px,-27vh,-225px);
  height:clamp(280px,34vh,360px);
  border-radius:50% 50% 0 0;
  background:linear-gradient(180deg,rgba(0,88,63,.92),rgba(0,70,50,.99));
  box-shadow:0 -9px 0 rgba(255,255,255,.94),0 -18px 0 rgba(0,88,63,.58);
  transform:rotate(-1.3deg);
}
.events-hero-grid,
.event-detail-hero-grid{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  min-height:inherit;
  padding:108px 0 145px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
  position:relative;
  z-index:3;
  will-change:transform,opacity;
}
.events-hero h1,
.event-detail-hero h1{
  font-size:clamp(3.7rem,6.3vw,6.7rem);
  line-height:.9;
  letter-spacing:-.058em;
  margin:24px 0 22px;
  text-wrap:balance;
}
.events-hero h1 span{color:var(--yellow)}
.events-hero p,
.event-detail-hero p{
  font-size:clamp(1.06rem,1.55vw,1.2rem);
  color:rgba(255,255,255,.76);
  max-width:650px;
}

.next-event-hero-card{
  justify-self:end;
  width:min(430px,100%);
  min-height:430px;
  padding:34px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.15);
  background:
    linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035)),
    radial-gradient(circle at 78% 20%,rgba(0,88,63,.32),transparent 46%);
  box-shadow:0 30px 80px rgba(0,0,0,.26);
  backdrop-filter:blur(18px);
  position:relative;
  overflow:hidden;
  transition:.28s ease;
}
.next-event-hero-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.3)}
.next-event-hero-card::before{
  content:"";
  position:absolute;
  width:300px;height:300px;
  right:-100px;top:-90px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 0 0 44px rgba(255,255,255,.02),0 0 0 88px rgba(255,255,255,.012);
}
.next-event-topline{position:relative;z-index:2;display:flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:.16em;font-weight:900;color:#aeeed8}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 6px rgba(244,194,27,.09)}
.next-event-date{display:flex;align-items:flex-end;gap:14px;margin:42px 0 24px;position:relative;z-index:2}
.next-event-date strong{font-size:7.6rem;line-height:.72;letter-spacing:-.08em;color:white}
.next-event-date span{font-size:1.05rem;line-height:1.15;font-weight:900;letter-spacing:.12em;color:#9edac7}
.next-event-rule{height:1px;background:rgba(255,255,255,.18);position:relative;z-index:2}
.next-event-name{font-size:2rem;line-height:1.02;font-weight:900;letter-spacing:-.035em;margin:24px 0;position:relative;z-index:2}
.next-event-meta{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:2}
.next-event-meta span{padding:7px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:.66rem;font-weight:850;letter-spacing:.08em;color:rgba(255,255,255,.75)}
.next-event-location{margin-top:27px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-weight:800;position:relative;z-index:2;color:rgba(255,255,255,.84)}
.next-event-location b{color:var(--yellow)}

.event-status-strip{margin-top:-68px;position:relative;z-index:6}
.event-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe5e9;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.event-status-grid>div{background:white;padding:27px 24px;min-height:150px}
.event-status-grid span{display:block;font-size:.72rem;letter-spacing:.15em;font-weight:900;color:var(--green)}
.event-status-grid strong{display:block;font-size:1.05rem;margin:20px 0 5px;color:var(--navy)}
.event-status-grid small{display:block;font-size:.84rem;color:#6a7d8a;line-height:1.45}

.upcoming-events-section{padding-top:115px}
.section-heading-row{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:38px}
.section-heading-row .section-title{margin-bottom:0}
.section-heading-row .section-copy{margin:0 0 5px}
.featured-event{display:grid;grid-template-columns:170px 1fr 235px;gap:34px;align-items:center;background:white;border:1px solid #dfe6ea;border-radius:28px;overflow:hidden;box-shadow:0 20px 55px rgba(8,43,76,.09)}
.featured-date{min-height:265px;background:linear-gradient(160deg,var(--navy),#0b3d5e);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.featured-date::after{content:"";position:absolute;left:-35%;right:-35%;bottom:-78px;height:120px;border-radius:50% 50% 0 0;background:var(--green);box-shadow:0 -6px 0 rgba(255,255,255,.82)}
.featured-date span{font-size:.72rem;letter-spacing:.16em;font-weight:900;color:#aeeed8;position:relative;z-index:2}
.featured-date strong{font-size:5.6rem;line-height:.9;letter-spacing:-.08em;margin:6px 0;position:relative;z-index:2}
.featured-main{padding:28px 0}
.event-label-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.event-status,.event-division{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:.68rem;letter-spacing:.11em;font-weight:900}
.event-status.planning{background:#fff6cf;color:#725a00;border:1px solid #f3dc73}
.event-division{background:#e7f3ef;color:var(--green);border:1px solid #d4e7e0}
.event-division.light{background:rgba(255,255,255,.08);color:#baf3df;border-color:rgba(255,255,255,.15)}
.featured-main h3{font-size:2rem;line-height:1.05;letter-spacing:-.035em;margin:0 0 10px;color:var(--navy)}
.featured-main>p{color:#617583;margin:0 0 24px;max-width:620px}
.featured-details{display:flex;gap:12px;flex-wrap:wrap}
.featured-details span{padding:10px 12px;border:1px solid #e1e7eb;border-radius:13px;color:#71828e;font-size:.75rem;min-width:115px}
.featured-details b{display:block;color:var(--navy);font-size:.86rem;margin-bottom:2px}
.featured-action{padding:30px 30px 30px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.featured-action>span{font-size:.82rem;font-weight:800;color:#7b8b95}
.demand-panel{margin-top:24px;border-radius:26px;background:linear-gradient(135deg,var(--navy),#063b4a);color:white;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.demand-panel::after{content:"";position:absolute;width:280px;height:280px;right:-110px;top:-120px;border:48px solid rgba(0,88,63,.58);border-radius:50%}
.demand-panel>div,.demand-panel>a{position:relative;z-index:2}
.demand-panel h3{font-size:1.75rem;letter-spacing:-.03em;margin:.45rem 0 .35rem}
.demand-panel p{max-width:760px;color:rgba(255,255,255,.68);margin:0}

.event-formats-section{background:#eef2f4}
.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:16px;margin-top:36px}
.format-card{background:white;border:1px solid #e0e7eb;border-radius:24px;padding:26px;min-height:310px;position:relative;overflow:hidden;transition:.22s ease}
.format-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(8,43,76,.09)}
.format-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--green)}
.format-card.feature-format::after{background:var(--yellow)}
.format-card.feature-format{background:linear-gradient(180deg,#fffdf5,#fff);border-color:#eee3b0}
.format-code{font-size:3.2rem;line-height:1;font-weight:950;letter-spacing:-.06em;color:#dce5e9;margin-bottom:42px}
.format-card h3{font-size:1.3rem;margin:0 0 9px;color:var(--navy)}
.format-card p{font-size:.92rem;color:#677b88;margin:0 0 24px}
.format-card span{font-size:.72rem;letter-spacing:.06em;font-weight:850;text-transform:uppercase;color:var(--green)}

.event-experience-section{background:linear-gradient(145deg,var(--navy-2),var(--navy));color:white;position:relative;overflow:hidden}
.event-experience-section::after{content:"";position:absolute;width:560px;height:560px;right:-260px;top:-270px;border-radius:50%;border:100px solid rgba(0,88,63,.38)}
.event-experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center;position:relative;z-index:2}
.event-experience-grid .section-title{max-width:650px}
.event-experience-grid>div:first-child>p{color:rgba(255,255,255,.68);max-width:640px}
.experience-list{display:grid;gap:12px}
.experience-list>div{display:grid;grid-template-columns:62px 1fr;gap:18px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.055)}
.experience-list span{width:62px;height:62px;border-radius:17px;background:rgba(143,228,198,.10);display:grid;place-items:center;color:#aeeed8;font-size:.78rem;font-weight:950;letter-spacing:.08em}
.experience-list p{margin:0;color:rgba(255,255,255,.65);font-size:.92rem}
.experience-list strong{display:block;color:white;margin-bottom:4px;font-size:1rem}

/* Individual event page */
.back-link{display:inline-block;color:#aeeed8;font-size:.72rem;letter-spacing:.16em;font-weight:900;margin-bottom:20px}
.event-detail-hero-grid{grid-template-columns:1.03fr .97fr}
.event-detail-hero h1{max-width:690px}
.event-ticket-card{justify-self:end;width:min(455px,100%);border-radius:30px;background:white;color:var(--navy);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.28);position:relative;overflow:hidden}
.event-ticket-card::before{content:"";position:absolute;right:-130px;top:-125px;width:290px;height:290px;border:54px solid rgba(0,88,63,.1);border-radius:50%}
.ticket-top{display:flex;justify-content:space-between;gap:15px;font-size:.64rem;letter-spacing:.13em;font-weight:900;color:#6a7c88;position:relative;z-index:2}
.ticket-top strong{color:#866d09}
.ticket-date{display:flex;gap:18px;align-items:flex-end;margin:34px 0 28px;position:relative;z-index:2}
.ticket-date>strong{font-size:8.4rem;line-height:.7;letter-spacing:-.09em}
.ticket-date div{display:flex;flex-direction:column;padding-bottom:2px}
.ticket-date span{font-size:1rem;letter-spacing:.14em;font-weight:900;color:var(--green)}
.ticket-divider{height:1px;background:#dfe6e9;position:relative;margin:0 -28px 26px}
.ticket-divider::before,.ticket-divider::after{content:"";position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:#0a3556;transform:translateY(-50%)}
.ticket-divider::before{left:-12px}.ticket-divider::after{right:-12px}
.ticket-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:2}
.ticket-facts div{padding:14px;border-radius:14px;background:#f4f7f8}
.ticket-facts small{display:block;font-size:.6rem;letter-spacing:.13em;font-weight:900;color:#7a8993;margin-bottom:4px}
.ticket-facts strong{font-size:.9rem}
.ticket-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:2}
.ticket-footer span{padding:7px 8px;border-radius:999px;background:#e7f3ef;color:var(--green);font-size:.62rem;letter-spacing:.07em;font-weight:900}

.event-subnav{position:sticky;top:68px;z-index:20;background:white;border-bottom:1px solid #dfe6ea;box-shadow:0 8px 24px rgba(8,43,76,.05)}
.event-subnav .container{display:flex;gap:30px;overflow:auto;scrollbar-width:none}
.event-subnav a{padding:15px 0;font-size:.82rem;font-weight:800;color:#637785;white-space:nowrap}
.event-subnav a:hover{color:var(--green)}
.event-overview{padding-top:100px}
.event-overview-grid{display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:center}
.event-lead{font-size:1.24rem;line-height:1.55;color:#2c485b;max-width:680px}
.event-glance{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.glance-card{min-height:165px;padding:22px;border-radius:22px;border:1px solid #e0e7eb;background:white;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.glance-card::before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--green)}
.glance-card span{font-size:.64rem;letter-spacing:.14em;font-weight:900;color:#748691;margin-bottom:auto}
.glance-card strong{font-size:2.2rem;line-height:1;letter-spacing:-.045em;color:var(--navy)}
.glance-card small{font-size:.76rem;color:#7b8b95;margin-top:4px}

.event-format-band{background:linear-gradient(145deg,var(--navy-2),var(--navy));color:white;position:relative;overflow:hidden}
.event-format-band::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-210px;height:280px;border-radius:50% 50% 0 0;border-top:2px solid rgba(255,255,255,.16);background:rgba(0,88,63,.22)}
.event-format-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center;position:relative;z-index:2}
.event-format-grid>div:first-child>p{color:rgba(255,255,255,.68);max-width:620px}
.format-flow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.format-flow>div{min-height:180px;padding:22px;border-radius:21px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055)}
.format-flow span{display:block;font-size:2.2rem;font-weight:950;letter-spacing:-.05em;color:rgba(255,255,255,.13);margin-bottom:28px}
.format-flow p{font-size:.9rem;color:rgba(255,255,255,.63);margin:0}
.format-flow strong{display:block;color:white;font-size:1rem;margin-bottom:5px}

.included-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.included-card{background:white;border:1px solid #e0e7eb;border-radius:22px;padding:26px;min-height:235px;position:relative}
.included-card span{font-size:.7rem;letter-spacing:.13em;font-weight:900;color:var(--green)}
.included-card h3{font-size:1.2rem;margin:54px 0 8px;color:var(--navy)}
.included-card p{font-size:.9rem;color:#657987;margin:0}

.policy-section{background:#eef2f4}
.policy-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:start}
.policy-list{display:grid;gap:12px}
.policy-list>div{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:20px;border-radius:20px;background:white;border:1px solid #dfe6ea;align-items:start}
.policy-list>div>span{width:58px;height:58px;border-radius:16px;background:#e5f2ed;color:var(--green);display:grid;place-items:center;font-size:.78rem;letter-spacing:.08em;font-weight:950}
.policy-list h3{margin:3px 0 5px;font-size:1.06rem;color:var(--navy)}
.policy-list p{margin:0;color:#677a87;font-size:.9rem}

.venue-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.venue-visual{min-height:385px;border-radius:30px;background:linear-gradient(150deg,var(--green),#063c32);position:relative;overflow:hidden;display:grid;place-items:center;color:white}
.venue-visual::after{content:"";position:absolute;left:-18%;right:-18%;bottom:-95px;height:170px;border-radius:50% 50% 0 0;background:#082B4C;box-shadow:0 -8px 0 rgba(255,255,255,.9)}
.venue-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;transform:perspective(600px) rotateX(64deg) scale(1.4);transform-origin:center bottom;opacity:.5}
.venue-visual img{width:min(260px,60%);position:relative;z-index:2;filter:drop-shadow(0 22px 35px rgba(0,0,0,.25))}
.venue-visual>span{position:absolute;left:28px;bottom:28px;z-index:3;font-size:.67rem;letter-spacing:.17em;font-weight:900;color:#b7f4dc}
.venue-facts{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.venue-facts div{padding:14px 16px;border:1px solid #dfe6ea;border-radius:14px;min-width:180px;background:white}
.venue-facts small{display:block;font-size:.62rem;letter-spacing:.12em;font-weight:900;color:#7a8993;margin-bottom:4px}
.venue-facts strong{font-size:.9rem;color:var(--navy)}
.event-final-cta{padding-top:40px}
.event-register-panel{border-radius:32px;padding:44px 48px;background:linear-gradient(135deg,var(--green),#043e32);color:white;display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:var(--shadow)}
.event-register-panel h2{font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1;margin:.4rem 0 .7rem}
.event-register-panel p{margin:0;color:rgba(255,255,255,.72);max-width:720px}

@media(max-height:760px) and (min-width:901px){
  .events-hero,.event-detail-hero{min-height:690px}
  .events-hero-grid,.event-detail-hero-grid{padding:100px 0 132px;gap:48px}
  .events-hero h1,.event-detail-hero h1{font-size:clamp(3.5rem,5.3vw,5.5rem)}
  .next-event-hero-card{min-height:390px;width:min(390px,100%);padding:29px}
  .next-event-date{margin:32px 0 20px}.next-event-date strong{font-size:6.7rem}.next-event-name{font-size:1.8rem;margin:20px 0}
  .event-ticket-card{width:min(405px,100%)}
}
@media(max-width:1000px){
  .featured-event{grid-template-columns:145px 1fr}.featured-action{grid-column:2;padding:0 28px 28px 0;flex-direction:row;align-items:center;flex-wrap:wrap}.featured-date{grid-row:1/3;height:100%}
}
@media(max-width:900px){
  .events-hero,.event-detail-hero{min-height:auto}
  .events-hero-grid,.event-detail-hero-grid{grid-template-columns:1fr;padding:108px 0 165px;gap:42px}
  .next-event-hero-card,.event-ticket-card{justify-self:start;width:min(420px,100%)}
  .event-status-strip{margin-top:-52px}
  .event-status-grid{grid-template-columns:1fr 1fr}
  .section-heading-row,.event-experience-grid,.event-overview-grid,.event-format-grid,.policy-grid,.venue-grid{grid-template-columns:1fr;gap:42px}
  .format-grid,.included-grid{grid-template-columns:1fr 1fr}
  .demand-panel,.event-register-panel{align-items:flex-start;flex-direction:column}
  .event-subnav{top:68px}
}
@media(max-width:620px){
  .events-hero-grid,.event-detail-hero-grid{width:min(100% - 26px,1180px);padding:96px 0 145px}
  .events-hero h1,.event-detail-hero h1{font-size:clamp(3.1rem,15vw,4.5rem)}
  .next-event-hero-card{min-height:370px;padding:24px;border-radius:26px}.next-event-date strong{font-size:6rem}.next-event-name{font-size:1.65rem}
  .event-status-strip{margin-top:-38px}.event-status-grid{grid-template-columns:1fr}.event-status-grid>div{min-height:120px}
  .upcoming-events-section{padding-top:85px}
  .featured-event{grid-template-columns:1fr;gap:0}.featured-date{grid-row:auto;min-height:190px}.featured-main{padding:28px}.featured-action{grid-column:auto;padding:0 28px 28px;flex-direction:column;align-items:flex-start}
  .format-grid,.included-grid,.event-glance,.format-flow{grid-template-columns:1fr}
  .demand-panel{padding:28px 24px}
  .event-ticket-card{padding:22px;border-radius:25px}.ticket-date>strong{font-size:6.7rem}.ticket-facts{grid-template-columns:1fr 1fr}.ticket-divider{margin-left:-22px;margin-right:-22px}
  .event-overview{padding-top:76px}
  .policy-list>div{grid-template-columns:50px 1fr;padding:16px}.policy-list>div>span{width:50px;height:50px;border-radius:14px}
  .venue-visual{min-height:300px}.event-register-panel{padding:32px 24px}
}


/* v1.7 Monday event rotation */
.series-heading{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:end;margin:42px 0 20px}
.series-heading h3{font-size:1.7rem;line-height:1.05;letter-spacing:-.035em;margin:.4rem 0 0;color:var(--navy)}
.series-heading p{margin:0;color:#657987;max-width:760px;justify-self:end}
.series-event-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.series-event-card{background:white;border:1px solid #dfe6ea;border-radius:22px;padding:20px;color:var(--navy);box-shadow:0 12px 34px rgba(8,43,76,.055);transition:.22s ease;position:relative;overflow:hidden;min-width:0}
.series-event-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--green)}
.series-event-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(8,43,76,.10);border-color:#cdd9de}
.series-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.62rem;letter-spacing:.12em;font-weight:900;color:#71828e}
.series-card-top .event-status{padding:5px 7px;font-size:.55rem}
.series-card-date{display:flex;gap:9px;align-items:flex-end;margin:24px 0 18px}
.series-card-date strong{font-size:4rem;line-height:.74;letter-spacing:-.075em;color:var(--navy)}
.series-card-date span{font-size:.72rem;line-height:1.15;letter-spacing:.10em;font-weight:900;color:var(--green)}
.series-card-division{display:inline-flex;padding:6px 8px;border-radius:999px;background:#e7f3ef;color:var(--green);font-size:.64rem;letter-spacing:.08em;font-weight:900}
.series-event-card h3{font-size:1.08rem;line-height:1.1;margin:14px 0;color:var(--navy)}
.series-card-meta{display:flex;gap:5px;flex-wrap:wrap}
.series-card-meta span{padding:6px 7px;border:1px solid #e1e7eb;border-radius:999px;font-size:.55rem;letter-spacing:.05em;font-weight:850;color:#6f808b}
.series-card-location{margin-top:18px;padding-top:14px;border-top:1px solid #e4e9ec;font-size:.72rem;font-weight:800;color:#627682;display:flex;justify-content:space-between;gap:8px}
.series-card-location b{color:var(--green)}

.event-series-nav{background:#f5f7f8;border-bottom:1px solid #dfe6ea;padding:18px 0}
.event-series-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.event-series-label{font-size:.65rem;letter-spacing:.15em;font-weight:950;color:var(--green)}
.event-series-scroller{display:grid;grid-template-columns:repeat(6,minmax(126px,1fr));gap:8px;overflow:auto;scrollbar-width:none}
.event-series-chip{border:1px solid #dce4e8;border-radius:14px;background:white;padding:10px 11px;color:#607582;min-width:126px;transition:.2s ease}
.event-series-chip:hover{border-color:#b9cbc3;transform:translateY(-2px)}
.event-series-chip small{display:block;font-size:.54rem;letter-spacing:.10em;font-weight:900;color:#8a989f}
.event-series-chip strong{display:block;font-size:.78rem;color:var(--navy);margin:3px 0 2px}
.event-series-chip span{display:block;font-size:.62rem;font-weight:800;color:var(--green)}
.event-series-chip.active{background:var(--navy);border-color:var(--navy)}
.event-series-chip.active small{color:#8fe4c6}.event-series-chip.active strong{color:white}.event-series-chip.active span{color:#aeeed8}

@media(max-width:1180px){
  .series-event-grid{grid-template-columns:repeat(3,1fr)}
  .series-event-card:nth-child(4),.series-event-card:nth-child(5){grid-column:auto}
  .event-series-wrap{grid-template-columns:1fr}.event-series-label{margin-bottom:-4px}
}
@media(max-width:760px){
  .series-heading{grid-template-columns:1fr;gap:14px;margin-top:34px}.series-heading p{justify-self:start}
  .series-event-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .series-event-grid{grid-template-columns:1fr}
}

/* v1.8 rolling schedule calendar + automatic next-event rendering */
.calendar-shell{
  margin-top:22px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:28px;
  box-shadow:0 18px 54px rgba(8,43,76,.08);
  overflow:hidden;
}
.calendar-toolbar{
  min-height:74px;
  padding:19px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #dfe6ea;
  background:linear-gradient(180deg,#fff,#fbfcfc);
}
.calendar-toolbar>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.calendar-toolbar strong{font-size:.7rem;letter-spacing:.14em;color:var(--navy)}
.calendar-toolbar small{font-size:.72rem;color:#7b8c96;margin-left:4px}
.calendar-live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(0,88,63,.08)}
.calendar-legend{display:flex;align-items:center;gap:18px;font-size:.68rem;font-weight:800;color:#6b7c87}
.calendar-legend span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.calendar-legend i{width:11px;height:11px;border-radius:3px;display:block}
.legend-today{background:var(--yellow)}
.legend-round-robin{background:var(--green)}
.legend-lms{background:var(--yellow)}
.event-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  min-width:980px;
  background:#dfe6ea;
  gap:1px;
}
.calendar-day-head{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f8f8;
  color:#71838d;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.13em;
}
.calendar-cell{
  min-height:98px;
  background:#fff;
  padding:10px 11px;
  color:var(--navy);
  position:relative;
  overflow:hidden;
  transition:.2s ease;
}
a.calendar-cell:hover{z-index:2;background:#fbfdfc;box-shadow:inset 0 0 0 2px rgba(0,88,63,.26)}
.calendar-cell.current-week{background:#fafcfc}
.calendar-cell.today{box-shadow:inset 0 0 0 2px rgba(244,194,27,.75);z-index:1}
.calendar-date-line{display:flex;align-items:baseline;gap:5px;position:relative;z-index:2}
.calendar-date-line strong{font-size:.95rem;line-height:1;color:var(--navy)}
.calendar-date-line span{font-size:.49rem;letter-spacing:.10em;font-weight:900;color:#9aa7ad}
.calendar-today-label{
  position:absolute;
  top:9px;right:9px;
  padding:3px 5px;
  border-radius:999px;
  background:var(--yellow);
  color:#1b3346;
  font-size:.47rem;
  letter-spacing:.08em;
  font-weight:950;
}
.calendar-event-block{
  position:absolute;
  left:8px;right:8px;bottom:8px;
  border-radius:11px;
  padding:8px 9px;
  background:linear-gradient(135deg,var(--navy),#0a4456);
  color:#fff;
  box-shadow:0 7px 16px rgba(8,43,76,.16);
}
.calendar-event-block::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green);border-radius:11px 0 0 11px}
.calendar-event-block.last-man-standing{background:linear-gradient(135deg,#17324a,#214d58);box-shadow:0 7px 18px rgba(8,43,76,.20)}
.calendar-event-block.last-man-standing::after{background:var(--yellow)}
.calendar-event-block.last-man-standing span{color:#ffe07a}
.calendar-event-block span{display:block;color:#aeeed8;font-size:.51rem;font-weight:950;letter-spacing:.10em;margin-bottom:2px}
.calendar-event-block strong{display:block;color:#fff;font-size:.68rem;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event-block small{display:block;color:rgba(255,255,255,.65);font-size:.5rem;font-weight:750;margin-top:3px;white-space:nowrap}
.calendar-open-monday{display:block;margin-top:22px;font-size:.55rem;font-weight:800;color:#a1adb3}
.calendar-cell.past-event .calendar-event-block{filter:grayscale(.65);opacity:.55}
.calendar-cell.past-event::before{content:"COMPLETED";position:absolute;right:8px;top:10px;font-size:.45rem;letter-spacing:.08em;font-weight:900;color:#8a999f}
.next-event-hero-card.no-next-event{cursor:default;pointer-events:none;opacity:.86}

@media(max-width:760px){
  .calendar-shell{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:22px}
  .calendar-toolbar{min-width:980px;padding:17px 18px}
  .calendar-cell{min-height:94px}
  .series-heading{margin-top:38px}
}


/* v1.10 launch hardening — mobile reliability, agenda view, accessible controls */
.btn-disabled{opacity:.58;cursor:not-allowed;pointer-events:none}
.link-pending{opacity:.55;cursor:default}
.event-draft::before{
  content:"DRAFT EVENT — NOT LINKED FROM THE PUBLIC SCHEDULE";
  position:fixed;z-index:100;left:50%;bottom:12px;transform:translateX(-50%);
  padding:8px 12px;border-radius:999px;background:#fff2bd;color:#493d10;
  border:1px solid #e8ca52;font-size:.65rem;font-weight:900;letter-spacing:.06em;
  box-shadow:0 10px 30px rgba(0,0,0,.15);white-space:nowrap;
}

.mobile-event-agenda{display:block;min-width:0;background:#f5f8f8;padding:10px}
.mobile-agenda-event{
  display:grid;grid-template-columns:70px minmax(0,1fr) 20px;gap:13px;align-items:center;
  padding:14px 12px;background:#fff;border:1px solid #dfe6ea;border-radius:16px;margin:0 0 9px;
  color:var(--navy);box-shadow:0 5px 16px rgba(8,43,76,.05)
}
.mobile-agenda-event:last-child{margin-bottom:0}
.mobile-agenda-event.last-man-standing{border-left:5px solid var(--yellow)}
.mobile-agenda-event.round-robin{border-left:5px solid var(--green)}
.mobile-agenda-event.past-event{opacity:.55;filter:grayscale(.45)}
.mobile-agenda-date{display:flex;align-items:center;gap:7px}
.mobile-agenda-date strong{font-size:2.25rem;line-height:.9;letter-spacing:-.06em}
.mobile-agenda-date span{font-size:.58rem;line-height:1.25;font-weight:900;letter-spacing:.08em;color:#71838d}
.mobile-agenda-main{min-width:0}
.mobile-agenda-main>span{display:block;font-size:.57rem;font-weight:950;letter-spacing:.08em;color:var(--green);margin-bottom:2px}
.mobile-agenda-event.last-man-standing .mobile-agenda-main>span{color:#826b00}
.mobile-agenda-main>strong{display:block;font-size:.98rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-agenda-main>small{display:block;margin-top:5px;color:#71838d;font-size:.69rem;white-space:normal}
.mobile-agenda-event>b{font-size:1.05rem;color:var(--green)}
.mobile-agenda-empty{padding:24px 18px;text-align:center;color:#687b87;font-size:.9rem;background:white;border-radius:16px}

@media(max-width:900px){
  /* Never hide primary page content behind scroll-triggered animations on mobile/tablet. */
  .reveal,.reveal.reveal-pending,.reveal.in{opacity:1!important;transform:none!important;transition:none!important}
  .hero-inner,.about-hero-grid,.events-hero-grid,.event-detail-hero-grid{opacity:1!important;transform:none!important}
  .nav-links{max-height:calc(100vh - 92px);overflow-y:auto}
  .event-subnav .container{overflow-x:auto;white-space:nowrap;scrollbar-width:none}
}

@media(max-width:760px){
  .calendar-shell{overflow:visible;border-radius:20px}
  .calendar-toolbar{min-width:0;padding:14px 15px;align-items:flex-start}
  .calendar-toolbar small{display:block;width:100%;margin:3px 0 0}
  .calendar-legend{display:none}
  .event-calendar{min-width:0;display:block;background:transparent}
}

@media(max-width:620px){
  body{overflow-x:hidden}
  .nav{height:64px}
  .site-header.scrolled .nav-links,.nav-links{top:64px;left:13px;right:13px}
  .nav-toggle{font-size:1.35rem;padding:8px 4px;line-height:1}
  .hero-inner{padding-top:86px}
  .hero h1{font-size:clamp(2.85rem,14.5vw,4.4rem);overflow-wrap:anywhere}
  .hero p,.events-hero p,.event-detail-hero p,.about-hero p{font-size:1rem}
  .events-hero-grid,.event-detail-hero-grid{padding-top:86px}
  .events-hero h1,.event-detail-hero h1{font-size:clamp(2.8rem,13.6vw,4rem);overflow-wrap:anywhere}
  .section-title{font-size:clamp(2rem,10vw,3.25rem);overflow-wrap:anywhere}
  .next-event-hero-card{min-height:0;aspect-ratio:auto;padding:22px}
  .next-event-date{margin:24px 0 17px}
  .next-event-date strong{font-size:5.2rem}
  .next-event-meta{gap:8px;flex-wrap:wrap}
  .event-ticket-card{width:100%;max-width:100%;overflow:hidden}
  .ticket-facts{gap:9px}
  .venue-facts div{min-width:0;width:100%}
  .event-register-panel .btn{width:100%;justify-content:center}
  .footer{padding-top:46px}
  .footer-grid{gap:26px}
  .footer-bottom{font-size:.78rem}
  .event-draft::before{max-width:calc(100% - 24px);white-space:normal;text-align:center;border-radius:14px}
}
