/* page-supper-club-landing: ported from the handoff's supper-club/page.css.
   The handoff's "labels-title" tweak (Title Case sans labels) is folded into the base rules.
   TT Hoves Pro comes from web3-nav.css; the two accent faces are self-hosted from fonts/. */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;src:url("fonts/instrument-serif-italic-400.woff2") format("woff2");font-display:swap}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;src:url("fonts/jetbrains-mono-normal-400.woff2") format("woff2");font-display:swap}

/* Base, scoped so the site nav/footer keep their own styles. :where() keeps these at element
   specificity, so every single-class design rule below still wins (as it did over the preflight). */
body.sc-landing-page{margin:0;background:#03261f;-webkit-font-smoothing:antialiased}
:where(.scPage),:where(.scPage) *,:where(.scPage) ::before,:where(.scPage) ::after{box-sizing:border-box}
:where(.scPage) :where(h1,h2,h3,h4,p,figure,fieldset){margin:0;font-size:inherit;font-weight:inherit}
:where(.scPage) a{color:inherit;text-decoration:inherit}
:where(.scPage) button{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;line-height:inherit;text-transform:none;letter-spacing:inherit}
:where(.scPage) :where(ul,ol){list-style:none;margin:0;padding:0}
:where(.scPage) :where(img,svg,iframe){display:block;vertical-align:middle}
:where(.scPage) img{max-width:100%;height:auto}
.scPage [hidden]{display:none!important}

/* ============ Supper Club page ============ */
.scPage{--st-ocean:#03261f;--st-deep:#02201a;--st-forest:#124036;--st-emerald:#147d5c;--st-ink:#02271f;--st-lime:#96f782;--st-pastel:#c2f5c4;--st-line:rgba(255,255,255,.10);--mono:'JetBrains Mono',ui-monospace,monospace;--serif:'Instrument Serif',serif;--sans:'TT Hoves Pro',-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow:hidden;background:var(--st-ocean);color:#e4eae6;font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
.scPage .italic{font-family:var(--serif);font-style:italic;font-weight:400}
.scPage a:not(.stBtn):not(.btn){color:var(--st-lime)}
.scPage a:not(.stBtn):not(.btn):hover{color:#fff}

/* Hero */
.scHero{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:26px;padding:156px max(80px,calc((100% - 1200px)/2)) 104px;text-align:center;overflow:hidden;background:radial-gradient(ellipse 70% 50% at 50% 110%,rgba(0,167,92,.22),transparent 65%),radial-gradient(circle 600px at 92% 8%,rgba(150,247,130,.08),transparent 70%),radial-gradient(circle 720px at 6% 28%,rgba(20,112,84,.18),transparent 75%),var(--st-ocean)}
.heroBgVideo{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.heroBgVideo iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,177.7778vh);height:max(100vh,56.25vw);max-width:none;border:0;pointer-events:none}
.heroBgVideo::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 85% 65% at 50% 42%,rgba(3,38,31,.50),rgba(2,32,26,.82) 72%),linear-gradient(180deg,rgba(2,32,26,.78) 0%,rgba(3,38,31,.68) 45%,rgba(2,32,26,.93) 100%)}
.heroPill{display:inline-flex;align-items:center;gap:10px;padding:7px 18px 8px;border-radius:999px;background:rgba(150,247,130,.08);border:1px solid rgba(150,247,130,.38);font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--st-lime)}
.heroTitle{max-width:900px;font-size:clamp(40px,4.6vw,64px);font-weight:600;line-height:1.02;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.heroTitle .italic{color:var(--st-pastel);letter-spacing:-.02em}
.heroDek{max-width:780px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.7);text-wrap:balance}
.heroNextLabel{margin-bottom:12px;font-size:15px;font-weight:500;letter-spacing:-.005em;color:var(--st-lime)}
.heroMetaRow{font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:capitalize;color:rgba(255,255,255,.55)}
.heroMetaCard{display:inline-flex;align-items:center;gap:16px;max-width:100%;padding:12px 26px 12px 12px;border-radius:20px;background:rgba(2,32,26,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(150,247,130,.22);text-align:left}
.heroDate{width:64px;height:68px;border-radius:13px}
.heroDate .dateTileMon{font-size:12px}
.heroDate .dateTileDay{margin-top:4px;font-size:28px}
.heroCardText{display:flex;flex-direction:column;gap:3px;min-width:0}
.heroCardText strong{font-size:17px;font-weight:600;line-height:1.25;color:#fff}
.heroCardText>span{font-size:15px;line-height:1.3;color:rgba(255,255,255,.62)}
/* Date tile (hero card on phones + Next Gathering photo), after the event artwork's badge */
.dateTile{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;background:var(--st-lime);color:var(--st-ink);line-height:1;text-transform:none}
.dateTileMon{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dateTileDay{margin-top:5px;font-size:34px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.heroActions{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 28px}
.scPage .heroActions .stBtn{margin-top:0}
.scPage .heroLink{font-size:15px;color:rgba(255,255,255,.72);border-bottom:1px solid rgba(150,247,130,.4);padding-bottom:2px;transition:color .2s,border-color .2s}
.scPage .heroLink:hover{color:#fff;border-color:var(--st-lime)}
.heroOrnament{margin-top:36px;display:flex;align-items:center;justify-content:center;gap:20px;color:rgba(150,247,130,.55);font-family:var(--serif);font-style:italic;font-size:19px}
.heroOrnamentLine{width:140px;height:1px;background:linear-gradient(to right,transparent,rgba(150,247,130,.4),transparent)}

/* Section shell */
.scSec{position:relative;padding:136px max(80px,calc((100% - 1200px)/2))}
.scSec.tone-deep{background:var(--st-deep)}
.scSec.tone-forest{background:radial-gradient(ellipse 60% 60% at 80% 20%,rgba(0,167,92,.10),transparent 60%),linear-gradient(180deg,var(--st-deep) 0%,#06322a 100%)}
.scSec.tone-frost{background:radial-gradient(ellipse 60% 50% at 100% 0%,rgba(150,247,130,.18),transparent 60%),linear-gradient(180deg,#fff 0%,#ebf5eb 100%);color:var(--st-ink)}
.scSec.tone-white{background:#fff;color:var(--st-ink)}
.scSec.tone-frost a:not(.stBtn):not(.btn),.scSec.tone-white a:not(.stBtn):not(.btn){color:var(--st-emerald)}
.scSec.tone-frost a:not(.stBtn):not(.btn):hover,.scSec.tone-white a:not(.stBtn):not(.btn):hover{color:var(--st-ocean)}
.scKicker{display:flex;align-items:center;gap:12px;min-height:22px;font-size:15px;font-weight:500;letter-spacing:-.005em;color:var(--st-lime)}
.scKicker.is-center{justify-content:center}
.tone-frost .scKicker,.tone-white .scKicker{color:var(--st-emerald)}
.scTitle{margin-top:14px;font-size:clamp(32px,3vw,42px);font-weight:600;line-height:1.08;letter-spacing:-.028em;color:#fff;text-wrap:balance}
.scTitle .italic{color:var(--st-lime)}
.tone-frost .scTitle,.tone-white .scTitle{color:var(--st-ink)}
.tone-frost .scTitle .italic,.tone-white .scTitle .italic{color:var(--st-emerald)}
.scDek{font-size:17px;line-height:1.6;color:rgba(255,255,255,.68)}

/* About */
.aboutGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:80px;align-items:center}
.aboutCopy{max-width:560px}
.aboutBody{margin-top:28px;display:flex;flex-direction:column;gap:22px}
.aboutBody p{font-size:16px;line-height:1.7;color:#545452}
.aboutBody p.lede{font-size:18px;line-height:1.6;color:var(--st-ink)}
.aboutPullQuote{margin-top:32px;padding-left:22px;border-left:1px solid var(--st-emerald);font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;letter-spacing:-.005em;color:var(--st-ink)}
.aboutMedia{position:relative;aspect-ratio:4/5;max-height:620px;border-radius:14px;overflow:hidden;border:1px solid rgba(2,39,31,.10)}
.aboutMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* What to expect */
.expectHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:64px;margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid var(--st-line)}
.expectGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.expectCard{position:relative;display:flex;flex-direction:column;min-height:0;padding:30px 28px 26px;background:linear-gradient(180deg,rgba(20,112,84,.18),rgba(3,38,31,.4));border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.expectCardNum{line-height:22px;font-size:14px;font-weight:500;color:var(--st-lime)}
.expectCardMedia{position:relative;margin:-30px -28px 24px;aspect-ratio:4/3;overflow:hidden;background:#0b2f27}
.expectCardMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,.61,.36,1)}
.expectCard:hover .expectCardMedia img{transform:scale(1.03)}
.expectCardNum+.expectCardTitle{margin-top:8px}
.expectCardTitle{font-size:23px;font-weight:600;line-height:1.1;letter-spacing:-.015em;color:#fff}
.expectCardTitle .italic{margin-left:4px;color:var(--st-pastel)}
.expectCardBody{margin-top:12px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.68)}
.expectCardFoot{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:capitalize;color:rgba(255,255,255,.5)}

/* A look back */
.lookHead{text-align:center;margin-bottom:56px}
.lookHead .scDek{margin:18px auto 0;max-width:540px}
.lookGrid{display:grid;grid-template-columns:1fr 1.4fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:clamp(600px,61vw,880px);margin-inline:calc(50% - min(50vw - 80px,800px))}
.lookCell{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.lookCell.tall{grid-row:span 2}
.lookCell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lookCellTag{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:rgba(2,39,31,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:capitalize;color:#fff}

/* Who attends */
.whoGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.whoCopy{max-width:540px}
.whoBody{margin-top:28px;display:flex;flex-direction:column;gap:22px}
.whoBody p{font-size:16px;line-height:1.7;color:#545452}
.scPage .whoTagRow{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.whoTag{padding:7px 14px;border-radius:999px;border:1px solid rgba(20,125,92,.28);background:#fff;color:var(--st-emerald);font-size:13px;font-weight:500;letter-spacing:-.005em}
.whoStats{border-top:1px solid rgba(2,39,31,.10)}
.whoStat{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(2,39,31,.10)}
.whoStat:last-child{border-bottom:0}
.whoStatNum{font-size:clamp(34px,3vw,42px);font-weight:600;letter-spacing:-.04em;line-height:.9;color:var(--st-emerald);font-variant-numeric:tabular-nums}
.whoStatNum .unit{margin-left:2px;font-size:20px;color:rgba(20,125,92,.55)}
.whoStatBody{display:flex;flex-direction:column;gap:4px}
.whoStatLabel{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--st-ink)}
.whoStatHint{font-size:13.5px;color:#545452}
.whoStatIcon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:rgba(20,125,92,.7)}

/* CTA */
.scCta{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:168px max(80px,calc((100% - 1200px)/2)) 96px;text-align:center;overflow:hidden;background:radial-gradient(ellipse 80% 55% at 50% 0%,rgba(0,167,92,.32),transparent 65%),linear-gradient(180deg,#02201a 0%,#06322a 100%)}
.scCta::before,.scCta::after{content:"";position:absolute;left:50%;transform:translateX(-50%);border-radius:50%;pointer-events:none}
.scCta::before{top:14%;width:1200px;height:1200px;border:1px solid rgba(150,247,130,.06)}
.scCta::after{top:22%;width:840px;height:840px;border:1px solid rgba(150,247,130,.10)}
.scCta>*{position:relative;z-index:1}
.ctaTitle{margin-top:18px;max-width:900px;font-size:clamp(36px,3.8vw,52px);font-weight:600;line-height:1.04;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.ctaTitle .italic{color:var(--st-lime)}
.ctaDek{max-width:540px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.7)}
.scPage .stBtn{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:10px 22px;border-radius:24px;background:#97f881;color:#02271f;font-size:16px;font-weight:500;line-height:1.4;transition:background-color .3s}
.scPage .stBtn:hover{background:#88ff00;color:#02271f}
.scPage .stBtn:focus-visible{outline:2px solid var(--st-lime);outline-offset:3px}
.stArrow{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center}
.stArrow svg{transition:transform .3s ease-in-out}
.stBtn:hover .stArrow svg{transform:rotate(-45deg)}
.ctaFinePrint{margin-top:6px;font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:capitalize;color:rgba(255,255,255,.4)}

/* Gatherings (upcoming / past) */
.evHead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px;margin-bottom:40px}
.evToggle{display:inline-flex;padding:4px;border-radius:999px;background:#fff;border:1px solid rgba(2,39,31,.12)}
.scPage .evTab{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;font-size:15px;font-weight:500;color:#545452;transition:background-color .25s,color .25s}
.scPage .evTab:hover{color:var(--st-ink)}
.scPage .evTab[aria-selected="true"]{background:var(--st-ocean);color:#fff}
.evTab:focus-visible{outline:2px solid #00a75c;outline-offset:2px}
.evCount{min-width:24px;height:24px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;background:rgba(2,39,31,.07);color:inherit}
.evTab[aria-selected="true"] .evCount{background:var(--st-lime);color:var(--st-ink)}
.evPanel{animation:evIn .45s cubic-bezier(.22,.61,.36,1)}
.evPanel:focus-visible{outline:2px solid #00a75c;outline-offset:6px;border-radius:8px}
@keyframes evIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.evMedia{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfeee2}
/* Next Gathering: the event artwork rebuilt in HTML - copy left, venue photo right, date tile on the seam */
.evFeature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);border-radius:20px;overflow:hidden;background:radial-gradient(ellipse 80% 90% at 0% 0%,rgba(0,167,92,.22),transparent 60%),var(--st-ocean);color:#fff}
.evFeatureBody{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:56px 64px 52px 56px}
.evFeatureTitle{margin-top:14px;font-size:clamp(36px,3.6vw,50px);font-weight:600;line-height:1.02;letter-spacing:-.035em;color:#fff}
.evFeatureAccent{display:block;color:var(--st-lime)}
.evFeatureDek{margin-top:18px;max-width:420px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.7)}
.evFeatureWhen{width:100%;max-width:420px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.evFeatureVenue{font-size:16px;font-weight:600;letter-spacing:-.01em;color:#fff}
.evFeature .evMeta{margin-top:4px;font-size:15px;color:rgba(255,255,255,.66)}
.evFeature .btn{margin-top:26px}
.evFeaturePhoto{position:relative;min-height:540px;background:#0b2f27}
.evFeaturePhoto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.evFeatureTag{position:absolute;top:18px;left:18px;z-index:1;display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:rgba(2,39,31,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:500;color:#fff}
.evDateTile{position:absolute;z-index:1;left:0;bottom:48px;width:94px;height:100px;transform:translateX(-50%);box-shadow:0 18px 40px -14px rgba(0,0,0,.55)}
.evYear{display:flex;align-items:center;gap:16px;margin:40px 0 20px;font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:0;color:var(--st-emerald)}
.evYear::after{content:"";flex:1;height:1px;background:rgba(20,125,92,.25)}
.evGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.evCard{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid rgba(2,39,31,.10);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s}
.evCard:hover{transform:translateY(-3px);box-shadow:0 24px 48px -28px rgba(2,39,31,.35)}
.evBody{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px 18px}
.evBody .btn{margin-top:auto}
.evBody .evMeta{margin-bottom:14px;font-size:14px}
.evBody .evCity{font-size:21px}
.evBody .evStatus{font-size:13px}
.evStatus{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--st-emerald)}
.evFeature .evStatus{color:var(--st-lime)}
.evCity{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.025em}
.evMeta{font-size:16px;line-height:1.5;color:#545452}
.evCard .evMedia{aspect-ratio:1200/630}
.evMedia>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evCard.is-past .evBody .evMeta{margin-bottom:0}
.evCard.is-past .btn{margin-top:14px}
.evEmpty{font-size:17px;line-height:1.6;color:#545452}

/* Buttons: mirror of the nav "Book an Intro" button (web3-nav lime CTA) */
.scPage .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.4375rem 1rem;border-radius:1.5rem;font-family:"TT Hoves Pro","TT Hoves Pro Fallback",-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;font-weight:500;line-height:144.44%;letter-spacing:normal;white-space:nowrap;cursor:pointer;transition:.2s ease-in-out}
.scPage .btn .arrow{display:inline-block;flex:none;width:.875rem;height:.875rem;font-size:0;line-height:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2013'%3E%3Cpath%20fill-rule%3D'evenodd'%20d%3D'M12.5%206.5C12.5%206.60667%2012.4574%206.70892%2012.3817%206.78402L6.7346%2012.384C6.57774%2012.5396%206.32447%2012.5385%206.16892%2012.3817C6.01336%2012.2248%206.01442%2011.9715%206.17128%2011.816L11.1286%206.9L0.900001%206.9C0.679087%206.9%200.500002%206.72091%200.500002%206.5C0.500002%206.27909%200.679087%206.1%200.900001%206.1L11.1286%206.1L6.17129%201.18402C6.01442%201.02847%206.01336%200.775205%206.16892%200.618343C6.32447%200.461481%206.57774%200.460421%206.7346%200.615976L12.3817%206.21598C12.4574%206.29108%2012.5%206.39333%2012.5%206.5Z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2013'%3E%3Cpath%20fill-rule%3D'evenodd'%20d%3D'M12.5%206.5C12.5%206.60667%2012.4574%206.70892%2012.3817%206.78402L6.7346%2012.384C6.57774%2012.5396%206.32447%2012.5385%206.16892%2012.3817C6.01336%2012.2248%206.01442%2011.9715%206.17128%2011.816L11.1286%206.9L0.900001%206.9C0.679087%206.9%200.500002%206.72091%200.500002%206.5C0.500002%206.27909%200.679087%206.1%200.900001%206.1L11.1286%206.1L6.17129%201.18402C6.01442%201.02847%206.01336%200.775205%206.16892%200.618343C6.32447%200.461481%206.57774%200.460421%206.7346%200.615976L12.3817%206.21598C12.4574%206.29108%2012.5%206.39333%2012.5%206.5Z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;transition:transform .2s ease-in-out}
.scPage .btn:hover .arrow{transform:rotate(-45deg)}
.scPage .btn .arrow--down,.scPage .btn:hover .arrow--down{transform:rotate(90deg)}
.scPage .btn:focus-visible{outline:2px solid #00a75c;outline-offset:3px}
.scPage .btn--accent{background:#97f881;border:1px solid #97f881;color:#02271f}
.scPage .btn--accent:hover{background:#88ff00;border-color:#88ff00;color:#02271f}
.scPage .btn--outline{background:transparent;border:1px solid rgba(20,125,92,.45);color:var(--st-emerald)}
.scPage .btn--outline:hover{background:var(--st-ocean);border-color:var(--st-ocean);color:#fff}
@media (max-width:1100px){.evGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.evFeatureBody{padding:44px 56px 44px 40px}.evFeaturePhoto{min-height:480px}}

/* Register-your-interest modal */
.scModal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.scModal.is-open{display:flex}
.scModalBackdrop{position:absolute;inset:0;background:rgba(2,32,26,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.scModalCard{position:relative;z-index:1;width:100%;max-width:640px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:48px 44px 40px;border-radius:20px;background:#fff;color:#02271f;box-shadow:0 30px 80px rgba(2,39,31,.35)}
.scPage .scModalClose{position:absolute;top:14px;right:18px;padding:4px 8px;font-size:30px;line-height:1;color:#02271f}
.scPage .scModalClose:hover{color:#147d5c}
.scModal.is-open .scModalCard{animation:riIn .4s cubic-bezier(.22,.61,.36,1)}
@keyframes riIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.riTitle{margin-top:0;font-size:40px;font-weight:600;line-height:1.06;letter-spacing:-.03em;color:var(--st-ink)}
.riTitle .italic{color:var(--st-emerald)}
.riLede{margin-top:12px;font-size:17px;line-height:1.5;color:#545452}
.riLede strong{color:var(--st-ink);font-weight:600}
.scPage .riEvents{margin:24px 0 0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.riEvents legend{padding:0;margin-bottom:12px;font-size:15px;font-weight:600;color:var(--st-ink)}
.riEvents legend span{margin-left:6px;font-weight:400;color:#545452}
.riYears{display:flex;flex-direction:column;gap:10px}
.riYearRow{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start}
.riYear{padding-top:9px;font-size:13px;font-weight:600;color:var(--st-emerald)}
.riChips{display:flex;flex-wrap:wrap;gap:6px}
.riEvent{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px 0 10px;border-radius:999px;border:1px solid #d6e5da;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.riEvent:hover{border-color:rgba(20,125,92,.55)}
.riEvent input{position:absolute;opacity:0;pointer-events:none;margin:0}
.riTick{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid #b9cfc1;background:#fff center/10px no-repeat;transition:background-color .2s,border-color .2s}
.riEventName{font-size:14px;font-weight:600;color:var(--st-ink)}
.riEventDate{font-size:13px;color:#5a6b63}
.riEvent:has(input:checked){background:var(--st-ocean);border-color:var(--st-ocean)}
.riEvent:has(input:checked) .riEventName{color:#fff}
.riEvent:has(input:checked) .riEventDate{color:var(--st-lime)}
.riEvent:has(input:checked) .riTick{border-color:var(--st-lime);background-color:var(--st-lime);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2302271f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.riEvent:has(input:focus-visible){outline:2px solid #00a75c;outline-offset:2px}
.riGrid{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.riField{display:flex;flex-direction:column;gap:6px}
.riField.is-full{grid-column:1/-1}
.riField label{font-size:14px;font-weight:500;color:var(--st-ink)}
.scPage .riField input{height:48px;margin:0;padding:0 14px;border-radius:12px;border:1px solid #b9cfc1;background:#fff;font:inherit;font-size:16px;color:var(--st-ink);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.scPage .riField input:focus{outline:none;border-color:#00a75c;box-shadow:0 0 0 3px rgba(0,167,92,.18)}
.scPage .riField input[aria-invalid="true"]{border-color:#b4341f;box-shadow:0 0 0 3px rgba(180,52,31,.12)}
.riErr{grid-column:1/-1;margin-top:4px;font-size:14px;color:#b4341f}
.riFormErr{margin-top:16px}
.riActions{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.scPage .riActions .stBtn{margin-top:0}
.riSubmit[aria-busy="true"]{opacity:.7;pointer-events:none}
.riFine{font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:capitalize;color:#5a6b63}
.riPrivacy{margin-top:18px;font-size:12.5px;line-height:1.5;color:#5a6b63}
.scPage .riPrivacy a:not(.btn){color:var(--st-emerald);text-decoration:underline;text-underline-offset:2px}
.scPage .riPrivacy a:not(.btn):hover{color:var(--st-ocean)}
.riDone{text-align:center;padding:12px 0 4px}
.riDone:focus{outline:none}
.riDoneMark{margin:0 auto 8px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--st-lime);color:var(--st-ink)}
.riDone .btn{margin-top:24px}

@media (max-width:1200px){.whoStat{grid-template-columns:auto minmax(0,1fr) auto;gap:20px}.aboutGrid,.whoGrid{gap:56px}}
/* Phone */
@media (max-width:900px){
.scHero{padding:92px 24px 72px}
.evHead{margin-bottom:32px}
.evToggle{width:100%}
.scPage .evTab{flex:1;justify-content:center}
/* Next Gathering: big photo on top, date tile on the seam, copy below */
.evFeature{grid-template-columns:minmax(0,1fr);border-radius:18px}
.evFeaturePhoto{order:-1;min-height:0;aspect-ratio:4/3}
.evFeatureTag{top:14px;left:14px}
.evDateTile{left:20px;bottom:0;width:74px;height:78px;border-radius:14px;transform:translateY(50%)}
.evDateTile .dateTileMon{font-size:12px}
.evDateTile .dateTileDay{margin-top:4px;font-size:28px}
.evFeatureBody{padding:56px 22px 26px}
.evFeatureTitle{margin-top:10px;font-size:36px}
.evFeatureDek{margin-top:14px;font-size:16px}
.evFeatureWhen{margin-top:20px;padding-top:16px}
.evFeature .btn{margin-top:20px;width:100%}
/* Event lists become one swipeable row per year; the next card peeks in */
.evGrid{display:flex;align-items:stretch;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:-24px;padding:2px 24px 10px;scroll-padding-inline:24px;scrollbar-width:none}
.evGrid::-webkit-scrollbar{display:none}
#evPast .evGrid{align-items:flex-start}
.evCard{position:relative;flex:0 0 min(80%,340px);scroll-snap-align:start}
.evCard:hover{transform:none;box-shadow:none}
.evBody{gap:2px;padding:14px 16px 16px}
.evBody .evCity{font-size:20px}
.evBody .evMeta{margin-bottom:12px;font-size:14px}
.scPage .evBody .btn{width:100%;padding:.5rem .75rem}
.evYear{margin:32px 0 14px}
.scModal{padding:12px;align-items:flex-end}
.scModalCard{padding:40px 22px 28px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
.riTitle{font-size:32px}
.riGrid{grid-template-columns:minmax(0,1fr)}
.heroTitle .italic{display:block}
.heroOrnament{display:none}
.scSec{padding:80px 24px}
.scTitle{font-size:36px}
.aboutMedia{aspect-ratio:4/3}
.aboutGrid,.whoGrid{grid-template-columns:minmax(0,1fr);gap:40px}
.expectHead{grid-template-columns:minmax(0,1fr);gap:24px}
.expectGrid{grid-template-columns:minmax(0,1fr);gap:16px}
.lookGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,240px);height:auto;margin-inline:0}
.lookCell.tall{grid-row:span 1}
.whoStat{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px 0}
.whoStatIcon{display:none}
.scCta{padding:104px 24px 56px}
}
/* Narrow phones: a slightly smaller hero date card */
@media (max-width:600px){
.heroMetaCard{gap:14px;padding:10px 20px 10px 10px;border-radius:18px}
.heroDate{width:58px;height:62px;border-radius:12px}
.heroDate .dateTileMon{font-size:11px}
.heroDate .dateTileDay{margin-top:3px;font-size:25px}
.heroCardText strong{font-size:16px}
.heroCardText>span{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
.evPanel,.scModal.is-open .scModalCard{animation:none}
.expectCardMedia img,.evCard,.stArrow svg,.scPage .btn .arrow{transition:none}
}
