
:root{--nav-h:92px;
  --bg:#151716;
  --bg-2:#1A1D1B;
  --panel:#1E211F;
  --panel-2:#262926;
  --line:rgba(191,195,192,.20);
  --line-2:rgba(191,195,192,.32);
  --white:#F4F5F3;
  --gray:#B4B8B4;--nav-link:#EAEEEB;
  --gray-2:#7C817D;
  --green:#4E9E62;
  --green-bright:#63B878;
  --green-deep:#2A6137;
  --green-glow:rgba(78,158,98,.42);
  --on-green:#0C1A11;
  --nav-bg:rgba(21,23,22,.82);
  --sep:rgba(191,195,192,.16);
  --display:"Fraunces",Georgia,serif;
  --sans:"Archivo",system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h,92px) + 14px)}
body{font-family:var(--sans);background:var(--bg);color:var(--white);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font-family:inherit}
::selection{background:var(--green);color:var(--on-green)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.consent[hidden]{display:none}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1400;max-width:640px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;padding:16px 20px;background:rgba(16,19,17,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);animation:consentUp .5s var(--ease) both}
.consent p{font-size:13px;line-height:1.6;color:var(--gray);margin:0;flex:1 1 320px}
.consent a{color:var(--green)}
.consent-btn{flex-shrink:0;background:var(--green);color:var(--on-green);border:none;padding:10px 22px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:8px;transition:background .3s ease,transform .3s ease,border-color .3s ease,color .3s ease}
.consent-btn:hover{background:var(--green-bright);transform:translateY(-1px)}
.consent-actions{display:flex;gap:10px;flex-shrink:0}
.consent-btn.ghost{background:transparent;color:var(--white);border:1px solid var(--line-2)}
.consent-btn.ghost:hover{background:transparent;border-color:var(--green);color:var(--green)}
@keyframes consentUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:520px){.consent{flex-direction:column;text-align:center}}
.story-btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:var(--on-green);border:none;padding:13px 22px;font-size:12px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .3s ease,transform .3s ease}
.story-btn:hover{background:var(--green-bright);transform:translateY(-2px)}
.story-btn svg{transition:transform .3s var(--ease)}
.story-btn:hover svg{transform:translateX(4px)}
.sec-sub{text-align:center;max-width:560px;margin:14px auto 0;color:var(--gray);font-size:15.5px}
/* ---- MEDIA TABS ---- */
.media-tabbar{border-bottom:1px solid var(--line);position:sticky;top:var(--nav-h,92px);z-index:40;background:var(--bg);box-shadow:0 10px 22px -16px rgba(0,0,0,.45)}
.media-tabs{display:flex;gap:4px;padding:6px 0}
.mtab{display:inline-flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;color:var(--gray);font-family:inherit;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:16px 20px;border-bottom:2px solid transparent;transition:color .3s ease,border-color .3s ease}
.mtab svg{opacity:.7;transition:opacity .3s}
.mtab:hover{color:var(--white)}
.mtab.active{color:var(--green);border-bottom-color:var(--green)}
.mtab.active svg{opacity:1}
.mpanel{animation:fade .5s var(--ease) both}
.mpanel.hide{display:none}
/* ---- NEWSLETTER PAGE ---- */
.nl-join{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.nl-join-card{border:1px solid var(--line-2);border-radius:16px;padding:clamp(26px,3.5vw,40px);position:relative;overflow:hidden;transition:border-color .3s ease,transform .3s ease}
.nl-join-card:hover{border-color:var(--green);transform:translateY(-3px)}
.nl-subscribe{background:linear-gradient(150deg,rgba(78,158,98,.10),transparent 60%),var(--panel)}
.nl-share{background:var(--panel-2)}
.nl-join-card h3{font-family:var(--display);font-weight:500;font-size:clamp(22px,3vw,28px);margin:12px 0 8px}
.nl-join-card>p{color:var(--gray);font-size:15px;margin-bottom:22px;max-width:42ch}
.nl-form{display:flex;flex-direction:column;gap:12px;max-width:420px}
.nl-form input{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--white);font:inherit;font-size:14.5px;padding:13px 15px;border-radius:10px;outline:none;transition:border-color .2s}
.nl-share .nl-form input,.nl-subscribe .nl-form input{background:var(--bg-2)}
.nl-form input:focus{border-color:var(--green)}
.nl-form .btn{justify-content:center;margin-top:2px}
.nl-done{display:none;color:var(--green);font-size:13.5px;font-weight:600;padding-top:4px}
.nl-done.show{display:block;animation:fade .4s ease both}
.nl-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.nl-value{border:1px solid var(--line);border-radius:14px;padding:30px 26px;background:var(--panel);transition:transform .3s var(--ease),border-color .3s}
.nl-value:hover{transform:translateY(-4px);border-color:var(--green)}
.nl-vic{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(78,158,98,.12);color:var(--green);margin-bottom:18px}
.nl-value h4{font-size:17px;margin-bottom:8px}
.nl-value p{color:var(--gray);font-size:14px;line-height:1.65}
.nl-empty{grid-column:1/-1;text-align:center;color:var(--gray-2);font-size:15px;padding:30px 0}
@media(max-width:820px){.nl-join{grid-template-columns:1fr}.nl-values{grid-template-columns:1fr}}
.story-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:20px}
.story-modal[hidden]{display:none}
.sm-overlay{position:absolute;inset:0;background:rgba(4,7,5,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .3s ease both}
.sm-inner{position:relative;z-index:1;width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:16px;padding:clamp(26px,4vw,40px);animation:heroUp .45s var(--ease) both;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.sm-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--gray);font-size:30px;line-height:1;cursor:pointer;transition:color .2s;padding:4px}
.sm-close:hover{color:var(--white)}
.sm-inner h3{font-family:var(--display);font-weight:500;font-size:clamp(24px,4vw,30px);margin:12px 0 8px}
.sm-lead{color:var(--gray);font-size:14.5px;margin-bottom:8px}
.sm-inner label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);font-weight:600;margin:16px 0 6px}
.sm-inner input,.sm-inner textarea{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--white);font:inherit;font-size:14.5px;padding:12px 14px;border-radius:9px;outline:none;transition:border-color .2s}
.sm-inner input:focus,.sm-inner textarea:focus{border-color:var(--green)}
.sm-inner textarea{min-height:120px;resize:vertical}
.sm-err{color:#E0563B;font-size:13px;margin-top:10px;min-height:16px}
.sm-success{text-align:center;padding:20px 0}
.sm-ic{width:64px;height:64px;border-radius:50%;background:rgba(78,158,98,.14);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.sm-success p{color:var(--gray);margin:8px 0 22px}

.wrap{max-width:none;margin:0;padding:0 max(clamp(24px,4vw,64px),env(safe-area-inset-left)) 0 max(clamp(24px,4vw,64px),env(safe-area-inset-right))}

/* ---- typographic helpers ---- */
.kick{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--green-bright);display:inline-flex;align-items:center;gap:10px}
.kick::before{content:"";width:24px;height:1px;background:var(--green)}
.h-disp{font-family:var(--display);text-transform:uppercase;font-weight:400;letter-spacing:.012em;line-height:.94}
.g{color:var(--green)}
.lead{color:#D8DDD9;font-size:18.5px;line-height:1.72;font-weight:500}

.skip-link{position:fixed;top:-60px;left:16px;z-index:2000;background:var(--green);color:var(--on-green);padding:12px 20px;font-weight:700;font-size:13px;transition:top .3s var(--ease)}
.skip-link:focus{top:0}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  padding-top:env(safe-area-inset-top,0px);
  border-bottom:1px solid var(--line);transition:transform .5s var(--ease)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);max-width:none;padding:0 max(clamp(24px,4vw,64px),env(safe-area-inset-left)) 0 max(clamp(24px,4vw,64px),env(safe-area-inset-right))}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;perspective:640px}
.brand b{font-family:var(--sans);font-weight:800;font-size:15px;letter-spacing:.01em;text-transform:lowercase;transform-style:preserve-3d;transition:transform .5s var(--ease);text-shadow:0 1px 0 rgba(0,0,0,.35),0 2px 4px rgba(0,0,0,.28);animation:wordFloat 6s ease-in-out infinite}
@keyframes wordFloat{0%,100%{transform:rotateY(-7deg)}50%{transform:rotateY(7deg) translateZ(6px)}}
.brand:hover b{animation-play-state:paused;transform:rotateY(0) translateZ(14px) scale(1.04)}
.brand b span{color:var(--green);text-shadow:0 0 12px var(--green-glow)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-link{position:relative;font-size:15px !important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#F2F5F2 !important;opacity:1 !important;visibility:visible !important;
  padding:12px 17px;cursor:pointer;transition:color .3s ease,transform .3s var(--ease);text-shadow:0 1px 4px rgba(0,0,0,.6)}
.nav-link::after{content:"";position:absolute;left:17px;right:17px;bottom:6px;height:2px;background:var(--green-bright);border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .32s var(--ease)}
.nav-link:hover{transform:translateY(-2px)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link:hover{color:var(--white)}
.nav-link.active{color:var(--green-bright) !important}
.nav-link.active::after{transform:scaleX(1);background:var(--green-bright)}
[data-theme="light"] .nav-link{color:#2E7D46 !important;text-shadow:none !important;font-weight:700}
[data-theme="light"] .nav-link:hover{color:#1F5B32 !important}
[data-theme="light"] .nav-link.active{color:#FFFFFF !important;background:var(--green);border-radius:100px;padding:8px 16px}
[data-theme="light"] .nav-link.active::after{display:none}
.nav-cta{margin-left:12px;background:var(--green);color:var(--on-green);padding:11px 20px;font-size:11.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;transition:background .3s ease,transform .3s var(--ease)}
.nav-cta:hover{background:var(--green-bright);transform:translateY(-1px)}
.nav-cta.active{background:var(--green-bright);box-shadow:0 0 0 3px rgba(99,184,120,.32)}
.menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.menu-btn span{width:22px;height:2px;background:var(--white);transition:.3s}

/* ===== PAGES ===== */
.page{display:block}
.page.active{display:block}
.js .page{animation:fade .55s var(--ease) both}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hero-glow{position:absolute;top:-10%;right:-8%;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;
  background:radial-gradient(circle,var(--green-glow),transparent 60%);filter:blur(50px);opacity:.5;z-index:0;animation:breathe 9s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}
.hero-grid{position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:90px 90px;-webkit-mask-image:radial-gradient(circle at 75% 35%,#000,transparent 70%);mask-image:radial-gradient(circle at 75% 35%,#000,transparent 70%)}
.hero-rule{position:absolute;top:96px;left:32px;right:32px;height:1px;background:var(--line);z-index:1}
.hero-rule span{position:absolute;right:0;top:-22px;font-size:10px;letter-spacing:.3em;color:var(--gray-2);text-transform:uppercase}
.hero .wrap{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(24px,4vh,46px);min-height:calc(100vh - 170px);min-height:calc(100dvh - 170px)}
.hero-foot{width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,430px);gap:48px;align-items:end;
  padding-top:clamp(26px,3.4vh,44px);border-top:1px solid var(--line)}
.hero-intro{max-width:440px}
.hero-foot .quote-card{justify-self:end;width:100%;max-width:430px}
.hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(60px,11vw,158px);line-height:.86;letter-spacing:.01em;margin:26px 0 0}
.hero h1 span{display:block}
.hero-sub{margin:0;max-width:460px;color:#D8DDD9;font-size:18.5px;line-height:1.78;font-weight:500}
.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  padding:15px 26px;cursor:pointer;border:none;position:relative;overflow:hidden;transition:transform .3s var(--ease),background .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease}
.btn svg{transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-solid{background:var(--green);color:var(--on-green)}
.btn-solid::after{content:"";position:absolute;top:0;left:-125%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .6s var(--ease)}
.btn-solid:hover::after{left:150%}
.btn-solid:hover::after{animation:btnSheen .75s var(--ease)}
@keyframes btnSheen{from{left:-125%}to{left:150%}}
.btn-solid:hover{background:var(--green-bright);transform:translateY(-2px);box-shadow:0 12px 32px -10px var(--green-glow)}
.btn-outline{background:transparent;color:var(--white);border:1px solid var(--line-2)}
.btn-outline:hover{border-color:var(--green);color:var(--green)}
.quote-card{border:1px solid var(--line);background:var(--panel);padding:28px;position:relative}
/* hero corner quote */
.hero-quote{position:absolute;z-index:6;right:clamp(24px,4vw,64px);bottom:clamp(44px,6vh,72px);width:min(352px,32vw);animation:heroUp 1s var(--ease) .9s both}
.hero-quote .quote-card{background:rgba(8,11,9,.56);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-color:rgba(255,255,255,.15);box-shadow:0 34px 80px -34px rgba(0,0,0,.85)}
.hero-quote .quote-text{font-size:15.5px;min-height:96px}
.scroll-cue{position:absolute;left:50%;bottom:clamp(16px,2.6vh,28px);transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:9px;background:none;border:0;cursor:pointer;padding:8px 14px;color:var(--gray);transition:color .3s ease,opacity .5s ease,transform .5s ease;animation:heroUp 1s var(--ease) 1.15s both}
.scroll-cue:hover{color:var(--white)}
.scroll-cue-label{font-size:10px;letter-spacing:.34em;text-transform:uppercase;font-weight:600}
.scroll-cue-track{position:relative;width:1px;height:44px;background:linear-gradient(var(--green),rgba(255,255,255,.08));overflow:hidden;border-radius:2px}
.scroll-cue-dot{position:absolute;left:50%;top:0;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--green);box-shadow:0 0 12px 1px var(--green);animation:scrollDot 1.9s var(--ease) infinite}
.scroll-cue-chev{margin-top:-3px;color:var(--green);animation:scrollChev 1.9s var(--ease) infinite}
.scroll-cue.hide{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(10px)}
@keyframes scrollDot{0%{top:-6px;opacity:0}18%{opacity:1}82%{opacity:1}100%{top:44px;opacity:0}}
@keyframes scrollChev{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(3px);opacity:1}}
@media(max-width:680px){.scroll-cue{display:none}}
@media(max-width:1080px){.hero-quote{display:none}}
.quote-card::before{content:"";position:absolute;top:0;left:0;width:40px;height:2px;background:var(--green)}
.quote-card .qm{font-family:var(--display);font-size:40px;color:var(--green);line-height:.6}
.quote-text{font-size:16px;line-height:1.55;color:var(--white);min-height:112px;margin-top:6px}
.quote-author{margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.quote-dots{display:flex;gap:7px;margin-top:18px}
.qdot{width:7px;height:7px;background:rgba(255,255,255,.2);cursor:pointer;transition:.3s}
.qdot.on{background:var(--green);width:20px}
.scroll-hint{position:absolute;bottom:28px;left:32px;z-index:2;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gray-2);display:flex;align-items:center;gap:10px}
.scroll-hint::after{content:"";width:30px;height:1px;background:var(--gray-2)}

/* ===== SECTION ===== */
.section{padding:clamp(70px,9vw,130px) 0}
.section.alt{background:var(--bg-2)}
.sec-head{max-width:740px;margin-bottom:54px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,5.4vw,68px);line-height:.96;letter-spacing:.012em;margin-top:20px}
.sec-head .lead{margin-top:20px;max-width:60ch}
.sec-head.center .lead{margin-left:auto;margin-right:auto}

/* ===== STATEMENT ===== */
.statement{text-align:center}
.statement h2{font-family:var(--display);font-size:clamp(28px,4.2vw,54px);line-height:1.16;max-width:none;margin:clamp(18px,2.6vh,28px) auto 0;text-wrap:balance}
.chips{margin-top:clamp(36px,5vh,54px);display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-2);padding:10px 18px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);transition:.3s}
.chip::before{content:"";width:6px;height:6px;background:var(--green);border-radius:50%}
.chip:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 8px 20px -12px var(--green-glow)}
.chip::before{transition:transform .3s var(--ease)}
.chip:hover::before{transform:scale(1.5)}

/* ===== STATS ===== */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.stat{padding:46px 30px;border-right:1px solid var(--line);text-align:center}
.stat:last-child{border-right:none}
.stat .n{font-family:var(--display);font-size:clamp(40px,5vw,64px);line-height:1;color:var(--green);text-transform:uppercase}
.stat .l{margin-top:14px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:clamp(40px,5vw,84px);align-items:center}
.portrait{position:relative;aspect-ratio:4/5;background:linear-gradient(160deg,#11241a,#0a120d);border:1px solid var(--line);
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.portrait::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.6}
.portrait .mono{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);font-size:170px;color:rgba(255,255,255,.05)}
.portrait .tag{position:absolute;top:20px;left:20px;border:1px solid var(--green);color:var(--green);font-family:var(--display);font-size:13px;padding:7px 12px;z-index:2}
.portrait .pcap{position:relative;z-index:2;text-align:center;padding:26px;width:100%;background:linear-gradient(transparent,rgba(5,8,6,.85))}
.portrait .pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;z-index:1}
.portrait.has-photo .mono{display:none}
.portrait.has-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(165deg,rgba(42,97,55,.28) 0%,transparent 34%),linear-gradient(0deg,rgba(8,10,9,.72) 4%,transparent 46%)}
.portrait.has-photo:hover{transform:translateY(-4px);box-shadow:0 26px 60px -30px rgba(0,0,0,.7);border-color:var(--green)}
.fcreds{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.fcred{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--white);border:1px solid var(--line-2);border-radius:100px;padding:9px 16px;background:linear-gradient(150deg,rgba(78,158,98,.12),transparent);transition:border-color .3s ease,transform .3s ease}
.fcred::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green-glow)}
.fcred:hover{border-color:var(--green);transform:translateY(-2px)}
.founder-sec{position:relative;overflow:hidden}
.founder-sec::before{content:"";position:absolute;top:-15%;left:-8%;width:46vw;height:46vw;max-width:600px;border-radius:50%;background:radial-gradient(circle,var(--green-glow),transparent 65%);filter:blur(70px);opacity:.45;z-index:0;pointer-events:none}
.founder-sec>.wrap{position:relative;z-index:1}
.portrait .pcap .nm{font-family:var(--display);font-size:22px;text-transform:uppercase}
.portrait .pcap .rl{font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-bright);margin-top:6px}
.about-body h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,3.8vw,46px);line-height:1;letter-spacing:.01em;margin-top:18px}
.about-body p{margin-top:20px;color:var(--gray);font-size:16px;line-height:1.75;max-width:62ch}
.about-body p b{color:var(--white);font-weight:600}

/* ===== CARDS (purpose / focus) ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;background:var(--panel);border:1px solid var(--line);padding:34px 30px;transition:transform .4s var(--ease),border-color .4s ease,background .4s ease}
.card::after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card:hover{transform:translateY(-6px);border-color:var(--line-2);background:var(--panel-2)}
.card:hover::after{transform:scaleX(1)}
.card .idx{font-family:var(--display);font-size:16px;color:var(--green)}
.card h4{font-family:var(--display);text-transform:uppercase;font-size:22px;letter-spacing:.01em;margin:16px 0 12px;line-height:1.05}
.card p{color:var(--gray);font-size:14.5px;line-height:1.7}
.card ul{list-style:none;margin-top:4px}
.card ul li{position:relative;padding-left:18px;color:var(--gray);font-size:14.5px;line-height:1.55;margin-bottom:9px}
.card ul li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--green);border-radius:50%}
.card .ic{width:42px;height:42px;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:22px}

/* ===== MOVEMENT ===== */
.move-grid{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:clamp(40px,5vw,84px);align-items:center}
.move-vis{position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#11241a,#070b08);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.move-vis svg{width:66%;height:66%}
.move-vis .cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.move-body blockquote{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,3.4vw,40px);line-height:1.02;letter-spacing:.01em;border-left:3px solid var(--green);padding-left:24px}
.move-body p{margin-top:22px;color:var(--gray);font-size:16px;line-height:1.75;max-width:62ch}
.move-body p b{color:var(--white)}
.soon{margin-top:28px;display:inline-flex;align-items:center;gap:11px;border:1px solid var(--line-2);padding:12px 20px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.soon .p{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--green-glow)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ===== CTA ===== */
.cta{position:relative;text-align:center;overflow:hidden}
.cta .glow{position:absolute;bottom:-40%;left:50%;transform:translateX(-50%);width:80vw;height:60vw;max-width:900px;border-radius:50%;background:radial-gradient(circle,var(--green-glow),transparent 60%);filter:blur(60px);opacity:.4;z-index:0}
.cta .wrap{position:relative;z-index:2}
.cta h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,6vw,82px);line-height:.94;letter-spacing:.012em;max-width:16ch;margin:20px auto 30px}

/* ===== PAGE BANNER ===== */
.phead{position:relative;padding:150px 0 64px;overflow:hidden}
.phead .glow{position:absolute;top:-30%;right:-6%;width:50vw;height:50vw;max-width:560px;border-radius:50%;background:radial-gradient(circle,var(--green-glow),transparent 60%);filter:blur(48px);opacity:.35;z-index:0}
.phead .wrap{position:relative;z-index:2}
.phead h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(46px,8.5vw,112px);line-height:.9;letter-spacing:.012em}
.phead .lead{margin-top:18px;max-width:60ch}

/* ===== MEDIA ===== */
.subhead{font-family:var(--display);text-transform:uppercase;font-size:22px;letter-spacing:.02em;color:var(--white);display:flex;align-items:center;gap:14px;margin-bottom:24px}
.subhead::after{content:"";flex:1;height:1px;background:var(--line)}
.subhead .c{color:var(--green)}
.vid-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vcard{background:var(--panel);border:1px solid var(--line);overflow:hidden;cursor:pointer;transition:transform .4s var(--ease),border-color .4s}
.vcard:hover{transform:translateY(-5px);border-color:var(--line-2)}
.vthumb{aspect-ratio:16/10;background:linear-gradient(150deg,#11241a,#070b08);position:relative;display:flex;align-items:center;justify-content:center}
.vthumb::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;opacity:.5}
.play{width:44px;height:44px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;color:var(--on-green);z-index:2;transition:transform .3s var(--ease)}
.vcard:hover .play{transform:scale(1.12)}
.vthumb .badge{position:absolute;top:10px;left:10px;z-index:2;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#E11D2A;color:#fff;padding:4px 8px}
.vthumb .badge.priv{background:rgba(255,255,255,.14)}
.vmeta{padding:16px}
.vmeta h5{font-size:13.5px;font-weight:600;line-height:1.4}
.vmeta .src{margin-top:10px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-weight:700}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.acard{background:var(--panel);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s}
.acard:hover{transform:translateY(-5px);border-color:var(--line-2)}
.acard .tg{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:14px}
.acard h4{font-family:var(--display);text-transform:uppercase;font-size:19px;line-height:1.1;letter-spacing:.01em}
.acard p{margin-top:12px;color:var(--gray);font-size:14px;line-height:1.6;flex:1}
.read-more{margin-top:20px;align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:gap .3s}
.read-more:hover{gap:12px}

/* accordion */
.qa-wrap{max-width:860px;margin:0 auto}
.qa-item{border-bottom:1px solid var(--line)}
.qa-q{width:100%;text-align:left;background:none;border:none;padding:24px 0;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;
  font-size:16px;font-weight:600;color:var(--white);line-height:1.4;transition:color .3s}
.qa-q:hover{color:var(--green)}
.qa-q .plus{flex-shrink:0;width:26px;height:26px;border:1px solid var(--line-2);position:relative;transition:.4s var(--ease);margin-top:2px}
.qa-q .plus::before,.qa-q .plus::after{content:"";position:absolute;background:var(--green);transition:.4s var(--ease)}
.qa-q .plus::before{top:50%;left:7px;right:7px;height:1.5px;transform:translateY(-50%)}
.qa-q .plus::after{left:50%;top:7px;bottom:7px;width:1.5px;transform:translateX(-50%)}
.qa-item.open .plus{background:var(--green);border-color:var(--green);transform:rotate(135deg)}
.qa-item.open .plus::before,.qa-item.open .plus::after{background:#04140B}
.qa-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease),padding .5s var(--ease)}
.qa-item.open .qa-a{max-height:220px;padding-bottom:24px}
.qa-a p{color:var(--gray);font-size:15px;line-height:1.7}

/* ===== GALLERY ===== */
.masonry{columns:4;column-gap:16px}
.gtile{break-inside:avoid;margin-bottom:16px;border:1px solid var(--line);width:100%;text-align:left;font:inherit;color:inherit;padding:0;cursor:pointer;
  position:relative;background:linear-gradient(160deg,#11241a,#070b08);display:flex;align-items:flex-end;transition:transform .4s var(--ease),border-color .4s}
.gtile:hover{transform:scale(1.02);border-color:var(--green)}
.gtile::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:.45}
.gtile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(5,8,6,.8));opacity:0;transition:opacity .4s}
.gtile:hover::after{opacity:1}
.gmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);color:rgba(255,255,255,.08);font-size:46px}
.glabel{position:relative;z-index:2;padding:18px;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.gtile:hover .glabel{opacity:1;transform:none}
.glabel .gt{font-family:var(--display);font-size:16px;text-transform:uppercase}
.glabel .gs{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-top:4px}
.gimg{position:relative;z-index:0;display:block;width:100%;height:auto}
.gtile--photo{display:block;background:#070b08}
.gtile--photo .glabel{position:absolute;left:0;right:0;bottom:0}
.gtile--photo::before{opacity:0}
.lb-img{position:relative;display:block;width:auto;height:auto;max-width:min(92vw,1080px);max-height:82vh;object-fit:contain;z-index:1;opacity:0;transition:opacity .35s ease}
.lb-img.ready{opacity:1}
.lb-stage.has-img::after{z-index:1}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:1300;background:rgba(4,7,5,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s}
.lightbox.open{opacity:1;pointer-events:auto}
.lb-stage{width:auto;max-width:min(92vw,1080px);height:auto;max-height:82vh;border:1px solid var(--line-2);overflow:hidden;position:relative;background:linear-gradient(160deg,#11241a,#070b08);display:flex;align-items:flex-end;justify-content:center;transform:scale(.94);transition:transform .45s var(--ease);border-radius:6px}
.lightbox.open .lb-stage{transform:scale(1)}
.lb-stage:not(.has-img){width:min(86vw,460px);aspect-ratio:3/4}
.lb-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:38px 38px;opacity:.4}
.lb-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(4,7,5,.85))}
.lb-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);color:rgba(255,255,255,.08);font-size:76px;z-index:1}
.lb-stage.has-img .lb-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(4,7,5,.88))}
.lb-cap{position:relative;z-index:2;padding:26px;width:100%}
.lb-cap .t{font-family:var(--display);font-size:22px;text-transform:uppercase}
.lb-cap .s{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-top:6px}
.lb-btn{position:absolute;background:rgba(255,255,255,.07);border:1px solid var(--line-2);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s var(--ease);z-index:5}
.lb-btn:hover{background:var(--green);border-color:var(--green);color:var(--on-green)}
.lb-close{top:26px;right:26px}
.lb-prev{left:max(18px,4vw);top:50%;transform:translateY(-50%)}
.lb-next{right:max(18px,4vw);top:50%;transform:translateY(-50%)}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.06)}
.lb-count{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:var(--gray);font-size:12px;letter-spacing:.12em;z-index:5}

/* ===== EVENTS ===== */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ecard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .4s var(--ease),border-color .4s}
.ecard:hover{transform:translateY(-6px);border-color:var(--line-2)}
.eposter{aspect-ratio:3/4;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;overflow:hidden}
.eposter::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;opacity:.4}
.ep1{background:radial-gradient(circle at 50% 30%,#2a1d4e,#0a0814)}
.ep2{background:radial-gradient(circle at 50% 30%,#5a2a3e,#1a0c12)}
.ep3{background:radial-gradient(circle at 50% 40%,#5a481a,#120e06)}
.eposter .ed{position:relative;z-index:2}
.eposter .ek{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.eposter .en{font-family:var(--display);text-transform:uppercase;font-size:26px;line-height:1.02;margin:12px 0}
.eposter .eq{font-size:12px;color:rgba(255,255,255,.75);font-style:italic}
.einfo{position:relative;z-index:2;padding:24px}
.einfo .eloc{font-size:12px;color:var(--gray);margin-bottom:8px}
.einfo h4{font-family:var(--display);text-transform:uppercase;font-size:18px;letter-spacing:.01em}
.einfo .edate{margin-top:12px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,72px);align-items:start;max-width:1180px}
.cform{background:var(--panel);border:1px solid var(--line);padding:40px}
.field{margin-bottom:22px}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:9px}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);padding:14px 15px;font-size:15px;color:var(--white);transition:border-color .3s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.field textarea{resize:vertical;min-height:128px}
.field input.err,.field textarea.err{border-color:#E0563B}
.field .errmsg{display:none;color:#E0563B;font-size:12px;margin-top:7px}
.field input.err ~ .errmsg,.field textarea.err ~ .errmsg{display:block}
.form-success{display:none;text-align:center;padding:24px 8px}
.form-success.show{display:block;animation:fade .5s var(--ease)}
.form-success .ic{width:60px;height:60px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--green);display:flex;align-items:center;justify-content:center;color:var(--green)}
.form-success h4{font-family:var(--display);text-transform:uppercase;font-size:24px}
.form-success p{color:var(--gray);font-size:14.5px;margin-top:8px}
.cinfo h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(26px,3.4vw,40px);line-height:1}
.cinfo .ld{margin-top:16px;color:var(--gray);font-size:16px;line-height:1.7;max-width:38ch}
.cinfo-row{display:flex;gap:15px;padding:22px 0;border-top:1px solid var(--line);transition:transform .3s var(--ease)}
.cinfo-row:hover{transform:translateX(4px)}
.cinfo-row:hover .ci-ic{border-color:var(--green);box-shadow:0 0 18px -6px var(--green-glow)}
.cinfo-row:first-of-type{margin-top:30px}
.ci-ic{width:42px;height:42px;flex-shrink:0;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--green);transition:border-color .3s ease,box-shadow .3s ease}
.ci-k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2)}
.ci-v{font-size:15.5px;font-weight:600;margin-top:3px}
.cinfo-note{margin-top:22px;font-size:12.5px;color:var(--gray-2)}

/* ===== FOOTER ===== */
.footer{position:relative;background:linear-gradient(170deg,var(--bg-2) 0%,rgba(42,97,55,.16) 46%,rgba(42,97,55,.30) 100%);border-top:1px solid var(--line-2);padding:80px 0 0;overflow:hidden}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-deep),var(--green-bright),var(--green-deep));background-size:200% 100%;animation:footLine 9s linear infinite;z-index:2}
@keyframes footLine{0%{background-position:0 0}100%{background-position:200% 0}}
.footer::after{content:"";position:absolute;bottom:-42%;left:50%;transform:translateX(-50%);width:80vw;max-width:1000px;height:60vw;max-height:520px;border-radius:50%;background:radial-gradient(circle,var(--green-glow),transparent 66%);filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.footer>*{position:relative;z-index:1}
[data-theme="light"] .footer{background:linear-gradient(170deg,#F4F7F3 0%,rgba(42,97,55,.10) 48%,rgba(42,97,55,.20) 100%);border-top:1px solid rgba(21,23,22,.14)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.footer-brand .fb{font-family:var(--display);text-transform:uppercase;font-size:22px}
.footer-brand .fb span{color:var(--green)}
.footer-brand p{margin-top:16px;color:var(--gray);font-size:14px;line-height:1.7;max-width:30ch}
.footer-brand .fsig{margin-top:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.fcol h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:20px}
.fcol a{display:block;color:var(--gray);font-size:14px;margin-bottom:12px;cursor:pointer;transition:.25s}
.fcol a:hover{color:var(--white);padding-left:5px}
.fnews p{color:var(--gray);font-size:14px;margin-bottom:16px}
.fnews input{width:100%;background:var(--bg);border:1px solid var(--line-2);padding:12px 14px;color:var(--white);font-size:13.5px;margin-bottom:9px}
.fnews input:focus{outline:none;border-color:var(--green)}
.fnews button{width:100%;background:var(--green);color:var(--on-green);border:none;padding:12px;font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.3s}
.fnews button:hover{background:var(--green-bright)}
.fnews .done{display:none;color:var(--green);font-size:13px;font-weight:600;margin-top:8px}
.fnews .done.show{display:block;animation:fade .5s var(--ease)}
.footer-bottom{padding:26px 0;text-align:center;color:var(--gray-2);font-size:12.5px;line-height:1.9}
.footer-bottom a{color:var(--green)}

/* ===== REVEAL ===== */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.rd1{transition-delay:.08s}.rd2{transition-delay:.16s}.rd3{transition-delay:.24s}

/* ===== MOTION ===== */
@keyframes heroUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.js .hero-index{animation:heroUp .9s var(--ease) .15s both}
.js .hero h1{animation:heroUp 1.05s var(--ease) .3s both}
.js .hero-sub{animation:heroUp .9s var(--ease) .52s both}
.js .hero-bottom{animation:heroUp .9s var(--ease) .68s both}
.hero h1 .g{position:relative}
.hero h1 .g::after{content:"";position:absolute;left:.02em;right:.04em;bottom:.04em;height:.04em;background:var(--green);transform:scaleX(0);transform-origin:left;animation:drawLine 1s var(--ease) 1.25s both}
@keyframes drawLine{to{transform:scaleX(1)}}
/* eyebrow dash draws in on reveal */
.kick::before{transform-origin:left;transition:transform .7s var(--ease) .12s}
.js .reveal .kick::before{transform:scaleX(0)}
.reveal.in .kick::before{transform:scaleX(1)}
/* cinematic founder glow — slow breathing */
.founder-media::before{animation:glowPulse 7s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
/* scroll progress bar */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:3000;background:linear-gradient(90deg,var(--green),var(--green-bright));box-shadow:0 0 14px rgba(78,158,98,.55);transition:width .12s linear;pointer-events:none}

/* ===== RESPONSIVE ===== */
@media(max-width:1020px){
  .hero-foot{grid-template-columns:1fr;gap:30px}
  .hero-foot .quote-card{justify-self:start;max-width:520px}
  .about-grid,.move-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .portrait{max-width:400px}
  .grid-3{grid-template-columns:1fr 1fr}
  .vid-grid{grid-template-columns:1fr 1fr}
  .art-grid{grid-template-columns:1fr 1fr}
  .ev-grid{grid-template-columns:1fr 1fr}
  .masonry{columns:2}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .wrap,:root{--nav-h:84px}
  .nav-inner{padding:0 20px}
  .hero-rule{left:20px;right:20px}
  .scroll-hint{left:20px}
  .nav-links{position:fixed;top:var(--nav-h,84px);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg-2);
    border-bottom:1px solid var(--line);padding:14px 20px;gap:2px;transform:translateY(-130%);transition:transform .4s var(--ease)}
  .nav-links.open{transform:none}
  .nav-link{padding:13px 14px}
  .nav-cta{margin:8px 0 0}
  .menu-btn{display:flex}
  .stats{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:none}
  .grid-3,.vid-grid,.art-grid,.ev-grid{grid-template-columns:1fr}
  .masonry{columns:1}
  .footer-top{grid-template-columns:1fr}
  .cform{padding:28px 22px}
  .hero{padding-top:110px}
}
/* ===== ELEGANT REFINEMENT (executive brand) ===== */
.hero h1,.sec-head h2,.statement h2,.cta h2,.phead h1,.about-body h3,.card h4,.acard h4,
.move-body blockquote,.einfo h4,.cinfo h3,.form-success h4,.eposter .en,.glabel .gt,.lb-cap .t,
.footer-brand .fb,.portrait .pcap .nm,.stat .n,.subhead{text-transform:none;letter-spacing:-.01em;font-weight:440}
.hero h1{font-weight:360;line-height:1;font-size:clamp(46px,8.2vw,104px);margin:0}
.hero h1 span{margin-left:0}
.hero h1 .g{margin-left:.5em}
.phead h1{font-size:clamp(44px,7.4vw,96px);line-height:1;font-weight:400}
.sec-head h2,.statement h2,.cta h2{font-weight:400}
.statement h2{line-height:1.16}
.move-body blockquote{font-weight:420;line-height:1.2;font-style:italic}
.g{font-style:italic}
.subhead .c{font-style:italic}
.kick{font-weight:600;letter-spacing:.26em}
.card h4,.acard h4{font-weight:500}
.cinfo .ld,.lead,.hero-sub,.about-body p,.move-body p,.card p{line-height:1.78}
/* ===== THEME: LIGHT ===== */
[data-theme="light"]{
  --bg:#F1F2EC;--bg-2:#E9ECE2;--panel:#FFFFFF;--panel-2:#F4F6F0;
  --line:rgba(21,23,22,.22);--line-2:rgba(21,23,22,.34);
  --white:#151716;--gray:#313531;--gray-2:#494D47;--nav-link:#1A1D1B;
  --green:#2A6137;--green-bright:#357A45;--green-deep:#1F4A2B;--green-glow:rgba(42,97,55,.22);
  --on-green:#FFFFFF;
  --nav-bg:rgba(255,255,255,.94);--sep:rgba(21,23,22,.12);
}
/* keep text legible inside the always-dark image tiles, both themes */
.portrait .pcap .nm,.glabel .gt,.lb-cap .t,.eposter .en{color:#F3F6F3}
.move-vis .cap{color:rgba(255,255,255,.66)}
/* theme toggle */
.theme-tog{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--line-2);background:transparent;
  color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:8px;transition:.35s var(--ease)}
.theme-tog:hover{border-color:var(--green);color:var(--green);transform:rotate(18deg)}
.theme-tog .moon{display:none}
[data-theme="light"] .theme-tog .sun{display:none}
[data-theme="light"] .theme-tog .moon{display:block}
/* smooth crossfade only during a theme switch (no clobbering of other transitions) */
html.theming,html.theming *{transition:background-color .5s ease,color .45s ease,border-color .45s ease !important}
@media(max-width:680px){.theme-tog{align-self:flex-start;margin:8px 0 0}}
/* ===== HEADER & BANNERS STAY DARK IN ALL THEMES ===== */
.nav,.hero,.phead{
  --bg:#151716;--bg-2:#0B0E0C;--panel:#101311;--panel-2:#151916;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --white:#F3F6F3;--gray:#9CA29D;--gray-2:#686E69;
  --green:#4E9E62;--green-bright:#63B878;--green-glow:rgba(78,158,98,.45);
  --nav-bg:rgba(8,10,9,.82);--sep:rgba(255,255,255,.07);
  color:var(--white);
}
/* Hero backdrop — paints instantly so there's never a black flash while the
   video streams in. Layers, top to bottom: an optional still frame
   (hero-poster.jpg on Bunny — shows the instant it exists, no code change
   needed), a soft green glow, and an on-brand dark gradient that always works
   even before any poster is uploaded. */
.hero,.phead{
  background:
    url('https://linyathelo.b-cdn.net/hero-poster.jpg') center/cover no-repeat,
    radial-gradient(120% 90% at 72% 0%, rgba(78,158,98,.16), transparent 58%),
    linear-gradient(120deg, #0d1712 0%, #151716 55%, #0a0d0b 100%);
}
/* ===== BACKGROUND VIDEO ===== */
/* starts hidden and fades in over the backdrop once it can actually play */
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.1s ease}
.bg-video.ready{opacity:.95}
.bg-video.failed{opacity:0}
.bg-tint{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero .bg-tint{background:linear-gradient(90deg,rgba(8,10,9,.9) 0%,rgba(8,10,9,.56) 42%,rgba(8,10,9,.3) 100%),linear-gradient(0deg,rgba(8,10,9,.8),transparent 50%)}
.phead .bg-tint{background:linear-gradient(90deg,rgba(8,10,9,.86) 0%,rgba(8,10,9,.5) 56%,rgba(8,10,9,.32) 100%),linear-gradient(0deg,rgba(8,10,9,.55),transparent 70%)}
.hero .hero-grid{opacity:.14}
.hero .hero-glow{opacity:.34;mix-blend-mode:screen}
/* ===== HERO — CENTERED COMPOSITION ===== */
.hero .wrap.hero-wrap{max-width:none;width:100%;margin:0;display:flex;flex-direction:column;min-height:100svh;padding:104px clamp(24px,4vw,64px) 46px}
.hero-center{margin:auto 0;align-self:center;text-align:center;max-width:1060px;width:100%}
.hero-index{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gray);font-weight:600}
.hero-index i{color:var(--green);font-style:normal;font-size:8px}
.hero-center h1{font-family:var(--display);font-weight:380;text-transform:none;font-size:clamp(40px,7.2vw,100px);line-height:1.05;letter-spacing:-.012em;margin:22px 0 0}
.hero-center h1 em,.hero-center h1 .g{font-style:italic;color:var(--green);margin-left:0}
.hero-center .hero-sub{margin:22px auto 0;max-width:580px;text-align:center;color:#D8DDD9;font-size:18px;line-height:1.72;font-weight:500}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-shrink:0}
.hero-list{display:flex;flex-direction:column;gap:13px}
.hero-list a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);cursor:pointer;transition:color .25s,padding-left .25s}
.hero-list a:hover{color:var(--white);padding-left:6px}
.hero-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-2);border-radius:100px;
  padding:13px 24px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--white);background:rgba(255,255,255,.05);cursor:pointer;transition:.3s var(--ease);white-space:nowrap}
.hero-pill:hover{background:var(--green);color:var(--on-green);border-color:var(--green);gap:13px}
@media(max-width:680px){
  .hero .wrap.hero-wrap{padding:96px 22px 36px}
  .hero-bottom{flex-direction:column;align-items:center;gap:22px}
  .hero-list{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px 16px}
}
@media(min-width:1700px){.masonry{columns:5}}
@media(min-width:2200px){.masonry{columns:6}}
/* ===== FOUNDER — CINEMATIC ===== */
.founder-cine{position:relative;padding-block:clamp(80px,10vw,140px);overflow:hidden}
.founder-cine .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.founder-head{max-width:880px}
.founder-head .kick{display:inline-flex;justify-content:center}
.founder-head h3{margin-top:20px}
.founder-media{position:relative;width:100%;max-width:1060px;margin-top:clamp(40px,5.5vw,72px)}
.founder-media::before{content:"";position:absolute;inset:-12% -6% 4%;
  background:radial-gradient(58% 56% at 50% 42%,rgba(78,158,98,.18),transparent 72%);
  filter:blur(46px);z-index:0;pointer-events:none}
.founder-media .video-frame{max-width:none;position:relative;z-index:1;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 90px -28px rgba(0,0,0,.85),0 0 0 1px rgba(78,158,98,.10)}
.fm-cap{position:relative;z-index:1;margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:7px}
.fm-name{font-family:var(--display);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.01em;color:var(--white)}
.fm-role{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green-bright)}
.founder-bio{max-width:62ch;margin-top:clamp(30px,4vw,48px)}
.founder-bio p+p{margin-top:16px}
.video-frame{position:relative;width:100%;max-width:1200px;aspect-ratio:16/9;border:1px solid var(--line);overflow:hidden;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== FOUNDER — CINEMATIC DECOR ===== */
.fc-stage{position:relative;width:100%}
.fc-mark{position:absolute;width:26px;height:26px;z-index:4;pointer-events:none;border:0 solid var(--green);opacity:.9;
  filter:drop-shadow(0 0 6px rgba(78,158,98,.5));animation:fcFade 1.1s var(--ease) .5s both}
.fc-mark.tl{top:-9px;left:-9px;border-top-width:2px;border-left-width:2px}
.fc-mark.tr{top:-9px;right:-9px;border-top-width:2px;border-right-width:2px}
.fc-mark.bl{bottom:-9px;left:-9px;border-bottom-width:2px;border-left-width:2px}
.fc-mark.br{bottom:-9px;right:-9px;border-bottom-width:2px;border-right-width:2px}
.fc-rail{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:2;pointer-events:none;animation:fcFade 1.3s var(--ease) .4s both}
.fc-rail-l{left:clamp(34px,4vw,78px)}
.fc-rail-r{right:clamp(34px,4vw,78px)}
.fc-gem{width:9px;height:9px;background:linear-gradient(135deg,var(--green-bright),var(--green-deep));transform:rotate(45deg);box-shadow:0 0 18px 2px var(--green-glow);animation:fcGem 3.6s ease-in-out infinite}
.fc-laurel{width:clamp(40px,3vw,54px);height:auto;transform-origin:50% 100%;filter:drop-shadow(0 0 9px rgba(78,158,98,.35));animation:fcSway 6.5s ease-in-out infinite}
.fc-rail-r .fc-laurel{animation-delay:-3.25s}
.fc-word{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(13px,1vw,15px);letter-spacing:.16em;color:var(--white);opacity:.92}
.fc-word b{font-style:normal;font-weight:600;color:var(--green)}
.fc-rail-l .fc-word{transform:rotate(180deg)}
@keyframes fcSway{0%,100%{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}
@keyframes fcGem{0%,100%{transform:rotate(45deg) scale(1);opacity:.85}50%{transform:rotate(45deg) scale(1.18);opacity:1}}
@keyframes fcFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1280px){.fc-rail{display:none}}
@media(max-width:560px){.fc-mark{width:18px;height:18px}}

/* ===== INTERACTIVE POLISH ===== */
}
}
.stat{transition:background .3s ease}
.stat .n{transition:transform .4s var(--ease),text-shadow .4s ease}
.stat:hover{background:var(--panel-2)}
.stat:hover .n{transform:translateY(-3px);text-shadow:0 0 28px rgba(78,158,98,.55)}
.founder-media .video-frame{transition:transform .55s var(--ease),box-shadow .55s ease}
.founder-media:hover .video-frame{transform:translateY(-5px) scale(1.008);box-shadow:0 56px 120px -30px rgba(0,0,0,.92),0 0 0 1px rgba(78,158,98,.24)}
.fm-name{transition:color .3s ease}
.founder-media:hover .fm-name{color:var(--green)}
.move-vis{transition:transform .45s var(--ease),border-color .4s ease}
.move-vis:hover{transform:translateY(-5px);border-color:var(--green)}
.move-vis svg{transition:transform .55s var(--ease)}
.move-vis:hover svg{transform:scale(1.06)}
.portrait{transition:transform .45s var(--ease),border-color .4s ease,box-shadow .4s ease}
.portrait:hover{transform:translateY(-5px);border-color:var(--line-2);box-shadow:0 34px 70px -32px rgba(0,0,0,.75)}
.chip:hover{transform:translateY(-2px)}
.einfo a,.cinfo a{transition:color .25s ease}
.einfo a:hover,.cinfo a:hover{color:var(--green)}
/* cursor-tracking glow on cards */
.card::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;
  background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),rgba(78,158,98,.13),transparent 62%);
  transition:opacity .35s ease}
.card:hover::before{opacity:1}
.card>*{position:relative;z-index:1}
/* tactile press feedback */
.card:active,.acard:active,.vcard:active,.ecard:active,.gtile:active,.stat:active{transform:translateY(-2px) scale(.992)}
.btn:active,.nav-cta:active,.hero-pill:active,.lb-btn:active,.fnews button:active,.theme-tog:active{transform:scale(.95)}
.nav-link:active,.hero-list a:active,.fcol a:active{transform:scale(.94)}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .sec-line,.diag-sep .dline,.gdivider .gline,.kick::before{animation:none!important;background-position:50% 0!important}
  .logo-3d,.pre-icon3d,.logo-word,.pre-word-img{animation:none!important;transform:none!important}
  .reveal{opacity:1!important;transform:none!important}}
/* ===================== MOTION LAYER ===================== */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;background:linear-gradient(90deg,var(--green-deep),var(--green-bright));box-shadow:0 0 12px var(--green-glow);pointer-events:none}
.cursor-glow{position:fixed;top:0;left:0;width:26px;height:26px;border-radius:50%;pointer-events:none;z-index:1900;background:radial-gradient(circle,rgba(78,158,98,.55),transparent 70%);mix-blend-mode:screen;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s;opacity:0;will-change:transform}
.cursor-glow.on{opacity:1}
.cursor-glow.big{width:70px;height:70px;background:radial-gradient(circle,rgba(78,158,98,.38),transparent 70%)}
@media (hover:none),(pointer:coarse){.cursor-glow{display:none!important}}
/* richer page entrance */
.js .page{animation:pageIn .7s var(--ease) both}
@keyframes pageIn{0%{opacity:0;transform:translateY(16px) scale(.994)}100%{opacity:1;transform:none}}
/* shimmering accent headline words */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
.hero h1 .g,.phead h1 .g,h2 .g{background:linear-gradient(100deg,var(--green) 32%,var(--green-bright) 50%,var(--green) 68%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{0%{background-position:170% 0}100%{background-position:-70% 0}}
}
/* ambient hero glow drift */
.hero .hero-glow{animation:glowDrift 16s ease-in-out infinite}
@keyframes glowDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4%,3%) scale(1.09)}}
/* tilt + magnetic helpers */
.tilt{transition:transform .5s var(--ease),box-shadow .5s var(--ease);will-change:transform}
.mag{will-change:transform;transition:transform .3s var(--ease)}
.mag:hover{transition:transform .1s linear}
/* gradient polish on cards */
.card{background-image:linear-gradient(155deg,rgba(78,158,98,.06),transparent 44%)}
.acard{background-image:linear-gradient(155deg,rgba(78,158,98,.05),transparent 44%)}
.card:hover{border-color:var(--green);box-shadow:0 20px 50px -34px var(--green-glow)}
/* animated gradient shape dividers */
.gdivider{display:flex;align-items:center;justify-content:center;gap:16px;width:min(300px,56%);margin:24px auto 0}
.sec-head:not(.center) .gdivider,.subhead .gdivider{margin-left:0;margin-right:auto}
.gdivider .gline{flex:1;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(78,158,98,.45),rgba(99,184,120,1),rgba(78,158,98,.45));
  background-size:200% 100%;animation:lineFlow 5.5s linear infinite}
.gdivider .gline.r{animation-direction:reverse}
.gdivider .gshape{position:relative;width:12px;height:12px;flex-shrink:0;background:linear-gradient(135deg,var(--green-bright),var(--green-deep));transform:rotate(45deg);box-shadow:0 0 14px var(--green-glow);animation:gShapePulse 3.2s ease-in-out infinite}
.gdivider .gshape::after{content:"";position:absolute;inset:-6px;border:1px solid var(--green);animation:gShapeRing 3.2s ease-in-out infinite}
100%{left:100%}}
@keyframes gShapePulse{0%,100%{transform:rotate(45deg) scale(1);box-shadow:0 0 10px var(--green-glow)}50%{transform:rotate(45deg) scale(1.18);box-shadow:0 0 22px var(--green-glow)}}
@keyframes gShapeRing{0%{transform:scale(.7);opacity:.5}100%{transform:scale(1.9);opacity:0}}


/* ===== GALLERY: smooth previews, no cropping, elegant placeholders ===== */
.gtile--photo{background:linear-gradient(150deg,#16241c,#0c120e)}
[data-theme="light"] .gtile--photo{background:linear-gradient(150deg,#E7EEE7,#F4F7F3)}
.gtile--photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:1;
  background:linear-gradient(100deg,transparent 20%,rgba(78,158,98,.16) 50%,transparent 80%);
  background-size:220% 100%;animation:gShimmer 1.5s linear infinite;transition:opacity .4s ease}
.gtile--photo.loaded::after{opacity:0;animation:none}
@keyframes gShimmer{0%{background-position:180% 0}100%{background-position:-80% 0}}
.gimg{opacity:0;transition:opacity .55s var(--ease),transform .6s var(--ease)}
.gtile--photo.loaded .gimg{opacity:1}
.gtile--photo:hover .gimg{transform:scale(1.03)}
.gtile--photo{min-height:120px}

/* rounded, clean thumbnails + placeholders */
.gtile{border-radius:12px;overflow:hidden}
.gtile--photo{border-radius:12px}
.gimg{border-radius:12px;display:block}
.gtile--photo::after{border-radius:12px}
.gtile::before{border-radius:12px}
.lb-stage{border-radius:10px}
.lb-img{border-radius:10px}

/* ===== NEWSLETTER PUBLICATION ===== */
.nl-featured{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--panel);cursor:pointer;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.nl-featured:hover{transform:translateY(-5px);border-color:var(--green);box-shadow:0 26px 60px -34px var(--green-glow)}
.nl-fcover{position:relative;min-height:300px;background:linear-gradient(150deg,#16241c,#0b120e);overflow:hidden}
.nl-fcover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nl-fcover .nl-fmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);font-size:74px;color:rgba(78,158,98,.20)}
.nl-fbody{padding:clamp(28px,3.4vw,46px);display:flex;flex-direction:column;justify-content:center}
.nl-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);border-radius:100px;padding:6px 14px;margin-bottom:18px}
.nl-featured h3{font-family:var(--display);font-weight:500;font-size:clamp(23px,2.9vw,34px);line-height:1.18;margin-bottom:14px}
.nl-featured p{color:var(--gray);font-size:15.5px;line-height:1.7;margin-bottom:20px}
.nl-byline{display:flex;align-items:center;gap:11px;font-size:13px;color:var(--gray-2);margin-bottom:22px}
.nl-byline .av{width:34px;height:34px;border-radius:50%;background:rgba(78,158,98,.16);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex-shrink:0}
.nl-byline b{color:var(--white);font-weight:600;display:block;font-size:13.5px}
.nl-read{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;color:var(--green);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.nl-empty-state{text-align:center;padding:60px 20px;border:1px dashed var(--line-2);border-radius:14px;background:var(--panel)}
.nl-empty-ic{width:56px;height:56px;border-radius:14px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:rgba(78,158,98,.12);color:var(--green)}
.nl-empty-state h4{font-size:17px;margin-bottom:7px}
.nl-empty-state p{color:var(--gray);font-size:14.5px}
.nl-card{cursor:pointer}
.nl-card .nl-ctop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nl-card .nl-iss{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.nl-card .nl-date{font-size:12px;color:var(--gray-2)}
@media(max-width:820px){.nl-featured{grid-template-columns:1fr}.nl-fcover{min-height:210px}}

/* ===== READER ===== */
.nl-reader{position:fixed;inset:0;z-index:1600;display:flex;align-items:flex-start;justify-content:center;padding:0}
.nl-reader[hidden]{display:none}
.nr-overlay{position:absolute;inset:0;background:rgba(6,9,7,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nr-inner{position:relative;z-index:2;width:min(760px,100%);max-height:100vh;max-height:100dvh;overflow-y:auto;background:var(--bg);border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);animation:nrIn .5s var(--ease) both}
@keyframes nrIn{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:none}}
.nr-close{position:sticky;top:14px;margin-left:auto;margin-right:14px;display:block;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--panel);color:var(--white);font-size:22px;line-height:1;cursor:pointer;z-index:3;transition:.25s}
.nr-close:hover{border-color:var(--green);color:var(--green)}
.nr-cover{margin-top:-52px}
.nr-cover img{width:100%;height:clamp(190px,32vw,330px);object-fit:cover;display:block}
.nr-body{padding:clamp(26px,4vw,54px)}
.nr-meta{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.nr-inner h2{font-family:var(--display);font-weight:500;font-size:clamp(27px,4.2vw,42px);line-height:1.16;margin-bottom:18px}
.nr-byline{display:flex;align-items:center;gap:12px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.nr-byline .av{width:40px;height:40px;border-radius:50%;background:rgba(78,158,98,.16);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.nr-byline .nm{color:var(--white);font-weight:600;font-size:14px}
.nr-byline .rl{color:var(--gray);font-size:13.5px;font-weight:600}
.nr-content{color:var(--gray);font-size:16.5px;line-height:1.85}
.nr-content p{margin-bottom:20px}
.nr-content h3{font-family:var(--display);color:var(--white);font-size:22px;font-weight:500;margin:34px 0 14px}
.nr-content blockquote{border-left:2px solid var(--green);padding-left:20px;margin:26px 0;font-family:var(--display);font-size:19px;color:var(--white);font-style:italic}
.nr-content ul{margin:0 0 20px 20px}
.nr-content li{margin-bottom:9px}
.nr-foot{margin-top:44px;padding-top:30px;border-top:1px solid var(--line);text-align:center}
.nr-foot p{color:var(--gray);font-size:14.5px;margin:10px 0 18px}
[data-theme="light"] .nr-overlay{background:rgba(21,23,22,.55)}

.fsocial{display:flex;gap:10px;flex-wrap:wrap}
.fsocial a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);color:var(--gray);transition:.3s;margin:0}
.fsocial a:hover{border-color:var(--green);color:var(--green);transform:translateY(-3px);padding-left:0}

/* multi-topic issues */
.nl-topics{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.nl-topics li{position:relative;padding-left:20px;color:var(--gray);font-size:14px;line-height:1.5}
.nl-topics li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--green)}
.nl-topics li.more{color:var(--gray-2);font-style:italic}
.nl-topics li.more::before{background:var(--gray-2)}
.nl-count{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:12px}
.nr-toc{border:1px solid var(--line-2);border-radius:12px;padding:24px 26px;margin:0 0 36px;background:var(--panel)}
.nr-toc-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:16px}
.nr-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.nr-toc li{margin-bottom:11px}
.nr-toc li:last-child{margin-bottom:0}
.nr-toc a{display:flex;gap:13px;align-items:baseline;color:var(--white);font-size:15.5px;line-height:1.45;transition:color .25s;text-decoration:none}
.nr-toc a:hover{color:var(--green)}
.nr-toc a span{color:var(--green);font-size:11.5px;font-weight:700;letter-spacing:.1em;flex-shrink:0}
.nr-content h3{scroll-margin-top:20px}



.vposter{transition:opacity .4s ease;z-index:2}
.vpreview.previewing .vposter{opacity:0}
/* video hover preview */
.vpreview .vthumb{position:relative}
.vprev-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}
.vpreview.previewing .vprev-vid{opacity:1}
.vpreview.previewing .badge{opacity:0}
.vpreview .play{transition:opacity .3s ease,transform .4s var(--ease)}
.vpreview.previewing .play{opacity:.85;transform:scale(.9)}
.vpreview.previewing:hover .play{opacity:1}

.yt-link{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--gray);transition:color .25s}
.yt-link:hover{color:#ff4d4d}
.yt-link svg{flex-shrink:0}

.vp-video{position:absolute;inset:0;width:100%;height:100%;background:#000;z-index:2}
.vp-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.vp-title{flex:1;text-align:center;font-family:var(--display);font-size:15px;color:var(--white);opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vp-nav{background:var(--panel);border:1px solid var(--line-2);color:var(--white);border-radius:100px;padding:9px 18px;font-size:12.5px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:.25s;flex-shrink:0}
.vp-nav:hover{border-color:var(--green);color:var(--green)}
/* inline video player */
.vid-player{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:20px}
.vid-player[hidden]{display:none}
.vp-overlay{position:absolute;inset:0;background:rgba(4,7,5,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vp-inner{position:relative;z-index:2;width:min(1000px,96vw);animation:nrIn .45s var(--ease) both}
.vp-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.vp-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vp-close{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--panel);color:var(--white);font-size:22px;line-height:1;cursor:pointer;transition:.25s;z-index:3}
.vp-close:hover{border-color:var(--green);color:var(--green)}
[data-theme="light"] .vp-overlay{background:rgba(21,23,22,.6)}

.eposter.ehasimg{padding:0;background:#0b120e;position:relative;overflow:hidden;aspect-ratio:auto;height:auto;cursor:zoom-in;border-radius:13px 13px 0 0;z-index:1}
.eposter.ehasimg img{width:100%;height:auto;display:block;object-fit:contain}
.ecard:has(.ehasimg){display:flex;flex-direction:column}
.ecard-link{text-decoration:none;color:inherit;cursor:pointer}
.ecard-link:hover .einfo h4{color:var(--green)}
.einfo-link{display:block;text-decoration:none;color:inherit;cursor:pointer}
.einfo-link:hover h4{color:var(--green)}
.elink-note{margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}

.eposter.ehasimg{position:relative}
.eposter.ehasimg .zoomhint{position:absolute;bottom:10px;right:12px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--white);background:rgba(6,9,7,.65);padding:5px 11px;border-radius:100px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:3}
.eposter.ehasimg:hover .zoomhint{opacity:1}
.plight{position:fixed;inset:0;z-index:1700;display:none;align-items:center;justify-content:center;padding:24px}
.plight.open{display:flex}
.plight-bg{position:absolute;inset:0;background:rgba(5,8,6,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.plight img{position:relative;z-index:2;max-width:min(680px,94vw);max-height:92vh;object-fit:contain;border-radius:10px;box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
.plight-x{position:absolute;top:18px;right:20px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:var(--panel);color:var(--white);font-size:22px;cursor:pointer;transition:.25s}
.plight-x:hover{border-color:var(--green);color:var(--green)}






.speak-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1180px;margin:0 auto 64px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--bg-2))}
.speak-stat{padding:30px 24px;text-align:center;border-right:1px solid var(--line)}
.speak-stat:last-child{border-right:none}
.speak-stat-n{font-family:var(--display);font-weight:500;font-size:26px;color:var(--green-bright);margin-bottom:6px;line-height:1.1}
.speak-stat-l{font-size:13px;color:var(--gray);letter-spacing:.02em;line-height:1.4}
@media(max-width:640px){
  .speak-stats{grid-template-columns:1fr}
  .speak-stat{border-right:none;border-bottom:1px solid var(--line)}
  .speak-stat:last-child{border-bottom:none}
}

/* Speaker profile block */
.speak-profile{display:grid;grid-template-columns:360px 1fr;gap:50px;align-items:center;max-width:1180px;margin:0 auto 72px}
.speak-profile-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 70px -34px rgba(0,0,0,.8);border:1px solid var(--line)}
.speak-profile-media img{width:100%;height:100%;object-fit:cover;display:block}
.speak-profile-badge{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 18px;background:linear-gradient(to top,rgba(6,9,7,.92),transparent);display:flex;flex-direction:column;gap:3px}
.spb-name{font-family:var(--display);font-weight:500;font-size:20px;color:#fff}
.spb-role{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-bright)}
.speak-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.speak-lead-3{font-size:16px;line-height:1.72;color:var(--gray);margin:16px 0 22px}
.speak-descriptors{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.speak-descriptors span{font-size:12.5px;font-weight:600;color:var(--green-bright);background:rgba(78,158,98,.1);border:1px solid rgba(78,158,98,.28);padding:7px 14px;border-radius:100px}
.speak-profile .speak-lead-2{text-align:left;font-size:17.5px}
@media(max-width:820px){
  .speak-profile{grid-template-columns:1fr;gap:28px;text-align:center}
  .speak-profile-media{max-width:300px;margin:0 auto}
  .speak-profile .speak-lead-2{text-align:center}
  .speak-descriptors{justify-content:center}
  .speak-profile .linkedin-btn{margin-left:auto;margin-right:auto}
}

/* ===== PRESENTATIONS ===== */
.pres-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto 64px}
.pres-card{text-align:left;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;padding:0;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;font-family:inherit}
.pres-card:hover{transform:translateY(-5px);border-color:rgba(78,158,98,.4);box-shadow:0 28px 60px -34px rgba(0,0,0,.7)}
.pres-cover{position:relative;aspect-ratio:16/10;background:#0b120e;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pres-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.pres-cover .pres-pdf-canvas{position:absolute;top:0;left:0;width:100%;height:auto;z-index:1;display:block;background:#fff;opacity:0;transition:opacity .45s ease}
.pres-cover .pres-pdf-canvas.loaded{opacity:1}
.pres-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(78,158,98,.18),transparent),linear-gradient(160deg,#12201a,#0a1510)}
.pres-cover-ph span{font-family:var(--display);font-size:20px;color:var(--green-bright);opacity:.8}
.pres-badge{position:absolute;top:12px;left:12px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#08130C;background:var(--gold);padding:4px 10px;border-radius:100px}
.pres-view{position:absolute;bottom:12px;right:14px;font-size:12.5px;font-weight:700;color:#fff;opacity:0;transform:translateX(-6px);transition:.3s;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.pres-card:hover .pres-view{opacity:1;transform:none}
.pres-meta{padding:20px 22px 24px}
.pres-meta h4{font-family:var(--display);font-weight:500;font-size:18.5px;color:var(--white);margin:0 0 8px;line-height:1.3}
.pres-meta p{color:var(--gray);font-size:14px;line-height:1.6;margin:0}
.pres-empty{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--gray);border:1px dashed var(--line-2);border-radius:14px}
/* viewer lightbox */
.pres-viewer{position:fixed;inset:0;z-index:1800;display:none;align-items:center;justify-content:center;padding:3vh 3vw}
.pres-viewer.open{display:flex}
.pres-viewer-bg{position:absolute;inset:0;background:rgba(4,7,5,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pres-viewer-box{position:relative;z-index:2;width:min(1100px,96vw);height:min(90vh,860px);background:var(--panel);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 50px 120px -40px rgba(0,0,0,.9)}
.pres-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.pres-viewer-title{font-family:var(--display);font-size:17px;color:var(--white);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres-viewer-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pres-open{font-size:13px;font-weight:700;color:var(--green-bright);text-decoration:none;border:1px solid rgba(78,158,98,.4);padding:7px 14px;border-radius:100px;transition:.25s}
.pres-open:hover{background:rgba(78,158,98,.15)}
.pres-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--panel);color:var(--white);font-size:20px;cursor:pointer;transition:.25s}
.pres-x:hover{border-color:var(--green);color:var(--green)}
.pres-viewer-frame{flex:1;background:#fff}
.pres-viewer-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:900px){.pres-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .pres-grid{grid-template-columns:1fr}
  .pres-viewer{padding:0}
  .pres-viewer-box{width:100%;height:100vh;height:100dvh;border-radius:0}
}

/* Speaking page — light mode text fixes */
[data-theme="light"] .speak-lead-2,[data-theme="light"] .speak-lead-3{color:#2A2E2B !important}
[data-theme="light"] .speak-note-text{color:#1F2320 !important}
[data-theme="light"] .speak-card p,[data-theme="light"] .pres-meta p{color:#4C514D}
[data-theme="light"] .speak-card h3,[data-theme="light"] .pres-meta h4{color:#151716}
[data-theme="light"] .speak-form-sub,[data-theme="light"] .speak-connect>span{color:#4C514D}
[data-theme="light"] .speak-stat-l{color:#4C514D}
[data-theme="light"] .spb-name{color:#fff}



/* Native PDF thumbnail (first page preview, no CORS needed) */
.pres-pdf-thumb{position:absolute;inset:0;overflow:hidden;background:#fff;z-index:1}
.pres-pdf-thumb iframe{position:absolute;top:0;left:0;width:100%;height:280%;border:0;pointer-events:none;transform-origin:top left}
.pres-pdf-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,transparent 60%,rgba(11,18,14,.06));pointer-events:none}
.pres-card:hover .pres-pdf-thumb iframe{}
.pres-thumb-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s;z-index:1;display:block}
.pres-thumb-canvas.loaded{opacity:1}
.pres-cover-ph-fallback{position:absolute;inset:0;z-index:0}
/* Presentations — interactive polish */
.pres-card{position:relative}
.pres-card::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;box-shadow:inset 0 0 0 0 rgba(78,158,98,0);transition:box-shadow .4s}
.pres-card:hover::after{box-shadow:inset 0 0 0 2px rgba(78,158,98,.5)}
.pres-cover-ph{position:relative}
.pres-cover-ph::before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,106,.18),transparent 70%);top:-30px;right:-30px}
.pres-cover-ph::after{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(78,158,98,.2);border-radius:50%;bottom:-20px;left:-20px}
.pres-cover-ph span{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}
.pres-card .pres-cover-ph span::before{content:"▤";font-size:34px;opacity:.6}
/* subtle float on the doc icon */
@keyframes presFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.pres-card:hover .pres-cover-ph span::before{animation:presFloat 2s ease-in-out infinite}

/* Speaking page — decorative shapes so text isn't floating on plain background */
#page-speaking .section{position:relative;overflow:hidden}
#page-speaking .section::before{content:"";position:absolute;top:8%;right:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(78,158,98,.10),transparent 70%);pointer-events:none;z-index:0}
#page-speaking .section::after{content:"";position:absolute;bottom:12%;left:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,106,.08),transparent 70%);pointer-events:none;z-index:0}
#page-speaking .wrap{position:relative;z-index:1}
/* soft card backing behind the themes + presentations so text sits on a surface */
.speak-h2,.speak-form-sub,.speak-lead-2,.speak-lead-3{position:relative;z-index:1}
[data-theme="light"] #page-speaking .section::before{background:radial-gradient(circle,rgba(42,97,55,.09),transparent 70%)}
[data-theme="light"] #page-speaking .section::after{background:radial-gradient(circle,rgba(201,169,106,.12),transparent 70%)}

/* Speaking form — light mode: make it stand out from the white page */
[data-theme="light"] .speak-form-wrap{
  background:linear-gradient(165deg,#E4EFE3,#D6E6D5) !important;
  border:1.5px solid rgba(42,97,55,.35) !important;
  box-shadow:0 34px 80px -30px rgba(42,97,55,.42) !important;
}
[data-theme="light"] .speak-form-wrap input,[data-theme="light"] .speak-form-wrap textarea{
  background:#FFFFFF !important;border:1px solid rgba(42,97,55,.25) !important;color:#151716 !important;
}
[data-theme="light"] .speak-form-wrap input:focus,[data-theme="light"] .speak-form-wrap textarea:focus{
  border-color:var(--green) !important;box-shadow:0 0 0 3px rgba(42,97,55,.14) !important;
}
[data-theme="light"] .speak-form-wrap label{color:var(--green-deep) !important}
[data-theme="light"] .speak-form-sub{color:#3A403B !important}
/* dark mode: also give it a touch more presence */
.speak-form-wrap{background:linear-gradient(180deg,var(--panel-2),var(--bg-2))}
/* ===== SPEAKING PAGE ===== */
.speak-intro{max-width:820px;margin:0 auto 56px}
.speak-lead-2{font-size:19px;line-height:1.75;color:var(--white);font-weight:400;text-align:center;opacity:.92}
.speak-h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.2vw,34px);text-align:center;margin:0 0 32px;letter-spacing:-.01em}
.speak-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:0 auto 64px}
.speak-card{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:16px;padding:30px 28px;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.speak-card:hover{transform:translateY(-4px);border-color:rgba(78,158,98,.4);box-shadow:0 24px 50px -30px rgba(0,0,0,.7)}
.speak-ic{color:var(--green-bright);font-size:18px;margin-bottom:14px}
.speak-card h3{font-family:var(--display);font-weight:500;font-size:21px;margin:0 0 10px;color:var(--white)}
.speak-card p{color:var(--gray);font-size:15.5px;line-height:1.65;margin:0}
.speak-formats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:820px;margin:0 auto 64px}
.speak-pill{background:rgba(78,158,98,.1);border:1px solid rgba(78,158,98,.35);color:var(--green-bright);padding:11px 22px;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .3s,transform .3s}
.speak-pill:hover{background:rgba(78,158,98,.2);transform:translateY(-2px)}
.speak-note{position:relative;max-width:1180px;margin:0 auto 64px;background:linear-gradient(135deg,rgba(78,158,98,.08),rgba(201,169,106,.06));border:1px solid rgba(78,158,98,.3);border-left:3px solid var(--green-bright);border-radius:14px;padding:36px 40px}
.speak-note-mark{position:absolute;top:8px;left:22px;font-family:var(--display);font-size:70px;color:rgba(78,158,98,.25);line-height:1}
.speak-note-text{position:relative;font-size:17.5px;line-height:1.72;color:#E4E8E4;font-weight:500;margin:0;font-style:normal}
.speak-form-wrap{max-width:900px;margin:0 auto;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:20px;padding:44px 44px 48px;box-shadow:0 30px 70px -40px rgba(0,0,0,.7)}
.speak-form-sub{color:var(--gray);font-size:16px;margin:0 0 28px}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.speak-form-wrap .field{margin-bottom:16px}
.speak-form-wrap label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.speak-form-wrap .opt{color:var(--gray-2);font-weight:500;letter-spacing:.02em;text-transform:none}
.speak-form-wrap input,.speak-form-wrap textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);color:var(--white);padding:13px 15px;font-size:15px;border-radius:10px;font-family:inherit;transition:border-color .25s,box-shadow .25s}
.speak-form-wrap input:focus,.speak-form-wrap textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(78,158,98,.18)}
.speak-form-wrap input.err,.speak-form-wrap textarea.err{border-color:var(--red)}
.speak-form-wrap .errmsg{display:none;color:var(--red);font-size:12.5px;margin-top:5px}
.speak-form-wrap .err~.errmsg{display:block}
.btn-solid{position:relative;overflow:hidden;margin-top:8px;background:linear-gradient(135deg,var(--green-bright),var(--green));color:#08130C;border:none;padding:15px 32px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;cursor:pointer;transition:transform .25s,box-shadow .3s;box-shadow:0 12px 28px -12px var(--green-glow)}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 18px 38px -14px var(--green-glow)}
.btn-solid:disabled{opacity:.6;cursor:default;transform:none}
.speak-success{text-align:center;padding:30px 20px}
.speak-success-ic{width:60px;height:60px;margin:0 auto 20px;border-radius:50%;background:rgba(78,158,98,.15);border:1px solid rgba(78,158,98,.4);color:var(--green-bright);display:flex;align-items:center;justify-content:center;font-size:28px}
.speak-success h3{font-family:var(--display);font-weight:500;font-size:23px;color:var(--white);margin:0 0 12px}
.speak-success p{color:var(--gray);font-size:16px;line-height:1.65;max-width:480px;margin:0 auto}
@media(max-width:820px){
  .speak-grid{grid-template-columns:1fr;gap:16px;margin-bottom:48px}
  .srow{grid-template-columns:1fr;gap:0}
  .speak-form-wrap{padding:32px 22px 36px}
  .speak-note{padding:30px 26px}
  .speak-lead-2{font-size:17px}
}

.linkedin-btn{display:inline-flex;align-items:center;gap:10px;margin-top:20px;background:rgba(78,158,98,.1);border:1px solid rgba(78,158,98,.4);color:var(--green-bright);padding:12px 22px;border-radius:100px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .3s,transform .3s,border-color .3s}
.linkedin-btn:hover{background:rgba(78,158,98,.2);transform:translateY(-2px);border-color:var(--green-bright)}
.linkedin-btn svg{flex-shrink:0}
.speak-connect{text-align:center;max-width:820px;margin:0 auto 40px;display:flex;flex-direction:column;align-items:center;gap:4px}
.speak-connect>span{color:var(--gray);font-size:15px}
.speak-connect .linkedin-btn{margin-top:12px}


/* ===== HOME EXPLORE / PAGE SUMMARIES (redesigned) ===== */
.explore-sec{position:relative;overflow:hidden}
.explore-sec::before{content:"";position:absolute;top:-80px;right:-100px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(78,158,98,.10),transparent 70%);pointer-events:none}
.explore-sec::after{content:"";position:absolute;bottom:-120px;left:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,106,.08),transparent 70%);pointer-events:none}
.explore-sec .wrap{position:relative;z-index:1}
.explore-h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,40px);margin:14px 0 44px;letter-spacing:-.01em}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.xcard{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:34px 30px 30px;cursor:pointer;transition:transform .45s var(--ease),border-color .4s,box-shadow .45s,background .4s;overflow:hidden;display:flex;flex-direction:column}
.xcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-bright),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.xcard:hover::before{transform:scaleX(1)}
.xcard::after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(78,158,98,.14),transparent 70%);opacity:0;transition:opacity .5s}
.xcard:hover::after{opacity:1}
.xcard:hover{transform:translateY(-7px);border-color:rgba(78,158,98,.45);box-shadow:0 30px 60px -30px rgba(20,50,32,.35)}
.xcard-ic{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(78,158,98,.16),rgba(78,158,98,.05));border:1px solid rgba(78,158,98,.25);color:var(--green-bright);margin-bottom:20px;transition:transform .45s var(--ease),background .4s}
.xcard-ic svg{width:24px;height:24px}
.xcard:hover .xcard-ic{transform:scale(1.08) rotate(-4deg);background:linear-gradient(145deg,rgba(78,158,98,.28),rgba(78,158,98,.1))}
.xcard-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.xcard h3{font-family:var(--display);font-weight:500;font-size:22px;color:var(--white);margin:0 0 12px;line-height:1.25}
.xcard p{color:var(--gray);font-size:15px;line-height:1.65;margin:0 0 20px;flex:1}
.xcard-go{font-size:13.5px;font-weight:700;letter-spacing:.02em;color:var(--green-bright);transition:transform .3s;display:inline-flex;align-items:center;gap:4px}
.xcard:hover .xcard-go{transform:translateX(5px)}
/* Featured Speaking card */
.xcard-feat{grid-column:span 3;flex-direction:column;justify-content:center;padding:44px 46px;background:linear-gradient(135deg,rgba(78,158,98,.14),rgba(201,169,106,.07)),var(--panel);border-color:rgba(78,158,98,.4)}
.xcard-feat::before{height:4px}
.xcard-feat .xcard-ic{width:58px;height:58px;margin-bottom:22px}
.xcard-feat .xcard-ic svg{width:28px;height:28px}
.xcard-feat .xcard-tag{color:var(--green-bright)}
.xcard-feat h3{font-size:30px;max-width:660px}
.xcard-feat p{font-size:16.5px;max-width:700px}
.xcard-feat .xcard-go{font-size:15px}

/* decorative shape inside each explore card so text has a surface */
.xcard>*{position:relative;z-index:2}
.xcard .xcard-blob{position:absolute;z-index:0;width:180px;height:180px;border-radius:50%;bottom:-60px;right:-50px;background:radial-gradient(circle,rgba(78,158,98,.12),transparent 70%);pointer-events:none;transition:transform .6s var(--ease),opacity .5s}
.xcard:hover .xcard-blob{transform:scale(1.25) translate(-10px,-10px)}
[data-theme="light"] .xcard .xcard-blob{background:radial-gradient(circle,rgba(42,97,55,.14),transparent 70%)}
.xcard-feat .xcard-blob{width:280px;height:280px;bottom:-90px;right:-70px;background:radial-gradient(circle,rgba(201,169,106,.14),transparent 70%)}
/* staggered entrance */
.xcard{opacity:0;transform:translateY(24px);animation:xcardIn .7s var(--ease) forwards}
.explore-grid .xcard:nth-child(1){animation-delay:.05s}
.explore-grid .xcard:nth-child(2){animation-delay:.12s}
.explore-grid .xcard:nth-child(3){animation-delay:.19s}
.explore-grid .xcard:nth-child(4){animation-delay:.26s}
.explore-grid .xcard:nth-child(5){animation-delay:.33s}
.explore-grid .xcard:nth-child(6){animation-delay:.40s}
@keyframes xcardIn{to{opacity:1;transform:none}}
/* Light mode: give cards a distinct surface so they don't vanish on white */
[data-theme="light"] .xcard{background:linear-gradient(160deg,#EEF4EC 0%,#E2ECDF 100%);border-color:rgba(42,97,55,.2);box-shadow:0 14px 36px -24px rgba(42,97,55,.4)}
[data-theme="light"] .xcard:hover{box-shadow:0 32px 64px -26px rgba(42,97,55,.5);background:linear-gradient(160deg,#F0F6EE 0%,#DCE8D9 100%)}
[data-theme="light"] .xcard-feat{background:linear-gradient(135deg,rgba(42,97,55,.16),rgba(201,169,106,.14)),linear-gradient(160deg,#EEF4EC,#E2ECDF)}
@media(prefers-reduced-motion:reduce){.xcard{animation:none;opacity:1;transform:none}}
@media(max-width:900px){
  .explore-grid{grid-template-columns:1fr 1fr}
  .xcard-feat{grid-column:span 2}
}
@media(max-width:600px){
  .explore-grid{grid-template-columns:1fr}
  .xcard-feat{grid-column:span 1;padding:32px 26px}
  .xcard-feat h3{font-size:24px}
}


/* Contact page — speaking callout */
.contact-speak-callout{display:flex;align-items:center;gap:16px;margin-top:24px;padding:18px 20px;background:linear-gradient(135deg,rgba(78,158,98,.1),rgba(201,169,106,.05));border:1px solid rgba(78,158,98,.3);border-radius:14px;cursor:pointer;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.contact-speak-callout:hover{transform:translateY(-3px);border-color:rgba(78,158,98,.5);box-shadow:0 18px 40px -24px rgba(20,50,32,.4)}
.csc-ic{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(78,158,98,.15);border:1px solid rgba(78,158,98,.3);color:var(--green-bright)}
.csc-ic svg{width:22px;height:22px}
.csc-text{display:flex;flex-direction:column;gap:3px}
.csc-text strong{font-size:15px;color:var(--white);font-weight:600}
.csc-text span{font-size:13.5px;color:var(--green-bright);font-weight:600}
[data-theme="light"] .csc-text strong{color:#151716}

.about-speak-link{display:inline-flex;align-items:center;gap:9px;margin-top:12px;margin-left:12px;background:var(--green);color:#08130C;border:none;padding:12px 22px;border-radius:100px;font-size:14.5px;font-weight:700;cursor:pointer;transition:background .3s,transform .3s;font-family:inherit}
.about-speak-link:hover{background:var(--green-bright);transform:translateY(-2px)}
.about-speak-link svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:600px){.about-speak-link{margin-left:0}}

/* ===== SPEAKING CTA BANNER (Media + Events) ===== */
.speak-cta-sec{padding:clamp(40px,6vw,80px) 0}
.speak-cta-banner{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:40px 46px;border-radius:24px;cursor:pointer;
  background:linear-gradient(120deg,#0E1F15 0%,#14301F 55%,#1C4029 100%);
  border:1px solid rgba(78,158,98,.4);
  box-shadow:0 40px 90px -40px rgba(20,60,35,.8);
  transition:transform .45s var(--ease),box-shadow .45s,border-color .4s}
.speak-cta-banner:hover{transform:translateY(-5px);box-shadow:0 50px 110px -40px rgba(20,60,35,.95);border-color:rgba(78,158,98,.7)}
/* animated decorative shapes */
.scb-shape{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.scb-shape-1{width:340px;height:340px;top:-140px;right:-80px;background:radial-gradient(circle,rgba(78,158,98,.28),transparent 68%);animation:scbFloat1 9s ease-in-out infinite}
.scb-shape-2{width:260px;height:260px;bottom:-150px;left:20%;background:radial-gradient(circle,rgba(201,169,106,.2),transparent 70%);animation:scbFloat2 11s ease-in-out infinite}
@keyframes scbFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(-24px,18px)}}
@keyframes scbFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(22px,-16px)}}
.scb-ic{position:relative;z-index:2;width:72px;height:72px;flex-shrink:0;border-radius:20px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,rgba(78,158,98,.35),rgba(78,158,98,.12));border:1px solid rgba(120,200,140,.4);color:#8FE0A6;transition:transform .5s var(--ease)}
.scb-ic svg{width:34px;height:34px}
.speak-cta-banner:hover .scb-ic{transform:scale(1.08) rotate(-5deg)}
.scb-body{position:relative;z-index:2}
.scb-kick{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.scb-body h3{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.6vw,29px);color:#fff;margin:0 0 10px;line-height:1.2}
.scb-body p{color:rgba(230,240,232,.82);font-size:15.5px;line-height:1.6;margin:0;max-width:620px}
.scb-btn{position:relative;z-index:2;flex-shrink:0;white-space:nowrap;background:linear-gradient(135deg,var(--green-bright),var(--green));color:#08130C;border:none;padding:16px 30px;font-size:13.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:100px;cursor:pointer;
  box-shadow:0 16px 34px -14px rgba(78,158,98,.8);transition:transform .3s,box-shadow .3s;overflow:hidden}
.scb-btn:hover{transform:translateY(-3px);box-shadow:0 22px 44px -14px rgba(78,158,98,.95)}
/* light mode: keep the banner dark (it's a feature moment) — text already light, so it pops on any page */
@media(max-width:900px){
  .speak-cta-banner{grid-template-columns:1fr;text-align:center;gap:20px;padding:34px 28px}
  .scb-ic{margin:0 auto}
  .scb-body p{margin:0 auto}
  .scb-btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.scb-shape{animation:none}}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-pill-speak{background:rgba(78,158,98,.14) !important;border:1px solid rgba(120,200,140,.45) !important;color:#EAF3EC !important}
.hero-pill-speak:hover{background:rgba(78,158,98,.24) !important;border-color:rgba(120,200,140,.7) !important}
.hero-pill-speak svg{flex-shrink:0}
@media(max-width:600px){.hero-actions{width:100%}.hero-actions .hero-pill{flex:1 1 auto;justify-content:center}}

/* Contact form — light mode: green-tinted overlay so it stands out from white */
.cform{border-radius:20px}
[data-theme="light"] .cform{
  background:linear-gradient(165deg,#E4EFE3,#D6E6D5) !important;
  border:1.5px solid rgba(42,97,55,.35) !important;
  box-shadow:0 34px 80px -30px rgba(42,97,55,.42) !important;
}
[data-theme="light"] .cform input,[data-theme="light"] .cform textarea{
  background:#FFFFFF !important;border:1px solid rgba(42,97,55,.25) !important;color:#151716 !important;
}
[data-theme="light"] .cform input:focus,[data-theme="light"] .cform textarea:focus{
  border-color:var(--green) !important;box-shadow:0 0 0 3px rgba(42,97,55,.14) !important;
}
[data-theme="light"] .cform label{color:var(--green-deep) !important}
/* dark mode: give it a touch more presence too */
.cform{background:linear-gradient(180deg,var(--panel-2),var(--bg-2))}
/* ===== HEADER BRAND LOCKUP ===== */
.brand{display:flex;align-items:center;gap:13px;cursor:pointer;perspective:760px}
.logo-3d{position:relative;display:block;height:66px;width:31.2px;flex-shrink:0;transform-style:preserve-3d;
  animation:brandIconSpin 11s linear infinite}
.logo-face{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.logo-face.front{filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}
.logo-face.back{transform:rotateY(180deg) scaleX(-1);filter:brightness(.62) saturate(.85) drop-shadow(0 5px 10px rgba(0,0,0,.45))}
@keyframes brandIconSpin{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
.brand:hover .logo-3d{animation-duration:2.6s}
.logo-word{height:40px;width:auto;flex-shrink:0;display:block;transform-style:preserve-3d;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.4));animation:brandWordSway 7s ease-in-out infinite}
@keyframes brandWordSway{0%,100%{transform:perspective(700px) rotateY(-6deg) translateY(0)}50%{transform:perspective(700px) rotateY(6deg) translateY(-2px)}}
.brand:hover .logo-word{animation-play-state:paused;transform:perspective(700px) rotateY(0deg) translateZ(12px) scale(1.05);transition:transform .5s var(--ease)}
[data-theme="light"] .logo-face,[data-theme="light"] .logo-word{filter:drop-shadow(0 1px 1px rgba(21,23,22,.4)) drop-shadow(0 4px 9px rgba(21,23,22,.2))}
[data-theme="light"] .logo-face.back{filter:brightness(.62) saturate(.85) drop-shadow(0 1px 1px rgba(21,23,22,.4))}
/* ===== INTRO PRELOADER ===== */
.preloader{display:none}
.js .preloader{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#25302a 0%,#161a18 46%,#0c0f0d 100%);perspective:1400px;transition:opacity .55s ease,visibility .55s}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.pre-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:44px;transform-style:preserve-3d;transition:opacity .45s ease,transform .45s ease}
.preloader.done .pre-stage{opacity:0;transform:scale(.97)}
.pre-lockup{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,22px);transform-style:preserve-3d;perspective:1200px}
.pre-icon3d{position:relative;display:block;width:clamp(58px,7vw,92px);height:clamp(122px,14.8vw,194px);flex-shrink:0;transform-style:preserve-3d;
  animation:preIconIn 1.5s cubic-bezier(.16,.84,.3,1) both,preIconSpin 4.6s linear 1.5s infinite}
.pre-face{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pf-front{filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.pf-back{transform:rotateY(180deg) scaleX(-1);filter:brightness(.6) saturate(.85) drop-shadow(0 18px 30px rgba(0,0,0,.6))}
@keyframes preIconIn{0%{opacity:0;transform:rotateY(-200deg) translateZ(-280px) scale(.6)}100%{opacity:1;transform:rotateY(0deg) translateZ(0) scale(1)}}
@keyframes preIconSpin{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
.pre-word-img{width:clamp(200px,29vw,370px);height:auto;display:block;transform-style:preserve-3d;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));
  animation:preWordReveal 1.4s cubic-bezier(.16,.84,.3,1) .55s both,preWordFloat 6s ease-in-out 2.2s infinite}
@keyframes preWordReveal{
  0%{opacity:0;transform:perspective(1000px) rotateY(-52deg) translateX(-46px) scale(.9)}
  100%{opacity:1;transform:perspective(1000px) rotateY(0deg) translateX(0) scale(1)}}
@keyframes preWordFloat{0%,100%{transform:perspective(1000px) rotateY(-4deg) translateY(0)}50%{transform:perspective(1000px) rotateY(4deg) translateY(-6px)}}
.pre-loading{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:min(340px,74vw);opacity:0;animation:preWord .7s var(--ease) .7s forwards}
.pre-bar{width:100%;height:2px;background:rgba(191,195,192,.16);border-radius:2px;overflow:hidden}
.pre-bar>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-deep),var(--green-bright));box-shadow:0 0 12px var(--green-glow);transition:width .35s cubic-bezier(.4,0,.2,1)}
.pre-meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gray)}
.pre-lbl{color:var(--gray-2)}
.pre-pct{color:var(--white);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.18em}
/* diagonal shape section separators (both themes) */
.diag-sep{position:relative;height:clamp(70px,8vw,116px);background:var(--bg);overflow:hidden;pointer-events:none}
.diag-sep::before{content:"";position:absolute;top:-2px;bottom:-2px;left:-4%;width:38%;background:linear-gradient(118deg,var(--green-bright) 0%,var(--green-deep) 92%);transform:skewX(-19deg);box-shadow:0 10px 46px var(--green-glow);opacity:.95;z-index:2}
.diag-sep::after{content:"";position:absolute;top:-2px;bottom:-2px;left:32%;width:7%;background:linear-gradient(118deg,var(--green-bright),var(--green-deep));transform:skewX(-19deg);opacity:.45;z-index:2}
/* two thin animated gradient lines — flush with shape's top & bottom edges */
.diag-sep .dline{position:absolute;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,rgba(78,158,98,.55),rgba(99,184,120,1),rgba(78,158,98,.55));
  background-size:200% 100%;animation:lineFlow 5s linear infinite}
.diag-sep .dline.l2{animation-duration:7s}
.diag-sep .dline.l1{top:0;left:28%}
.diag-sep .dline.l2{bottom:0;left:24%}
.diag-sep .dot{position:absolute;right:0;top:0;width:9px;height:9px;margin-top:-3.5px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 16px var(--green-glow);z-index:3}
}
[data-theme="light"] .diag-sep{background:var(--bg)}
[data-theme="light"] .diag-sep .dline{background:linear-gradient(90deg,rgba(42,97,55,.5),rgba(42,97,55,1),rgba(42,97,55,.5));background-size:200% 100%}
[data-theme="light"] .diag-sep::before{opacity:1}
/* ===== LIVE CARD SHAPES (both themes) ===== */
.card,.acard,.vcard,.ecard,.nl-value,.nl-join-card,.gtile{position:relative;overflow:hidden}
.card::after,.acard::after,.vcard::after,.ecard::after,.nl-value::after,.nl-join-card::after{
  content:"";position:absolute;top:0;right:0;width:0;height:0;pointer-events:none;z-index:3;
  border-top:2px solid var(--green);border-right:2px solid var(--green);opacity:0;
  transition:width .45s var(--ease),height .45s var(--ease),opacity .3s ease}
.card:hover::after,.acard:hover::after,.vcard:hover::after,.ecard:hover::after,.nl-value:hover::after,.nl-join-card:hover::after{width:26px;height:26px;opacity:1}
.card::before,.acard::before,.nl-value::before,.nl-join-card::before{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;z-index:2;opacity:0;
  background:linear-gradient(100deg,transparent,var(--green-glow),transparent);transition:opacity .3s ease}
.card:hover::before,.acard:hover::before,.nl-value:hover::before,.nl-join-card:hover::before{opacity:.55;animation:cardShine 1.1s var(--ease) forwards}
@keyframes cardShine{0%{left:-60%}100%{left:120%}}
.acard:hover,.vcard:hover,.ecard:hover{border-color:var(--green);box-shadow:0 20px 50px -34px var(--green-glow)}
.stat{position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--green-deep),var(--green-bright));transform:translateX(-50%);transition:width .45s var(--ease)}
.stat:hover::after{width:64%}
.gtile::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:2px solid transparent;transition:border-color .4s ease}
.gtile:hover::before{border-color:var(--green)}
[data-theme="light"] .card::before,[data-theme="light"] .acard::before,[data-theme="light"] .nl-value::before,[data-theme="light"] .nl-join-card::before{background:linear-gradient(100deg,transparent,rgba(42,97,55,.20),transparent)}
/* ===== LIGHT MODE FIXES ===== */
[data-theme="light"] .consent{background:rgba(255,255,255,.97);border-color:rgba(21,23,22,.16);box-shadow:0 20px 50px -20px rgba(21,23,22,.28)}
[data-theme="light"] .preloader{background:radial-gradient(circle at 50% 42%,#20302a 0%,#141a17 55%,#0b0e0c 100%)}
[data-theme="light"] .story-modal{background:rgba(21,23,22,.45)}
[data-theme="light"] .cursor-glow{background:radial-gradient(circle,rgba(42,97,55,.34),transparent 70%);mix-blend-mode:multiply}
[data-theme="light"] .footer .fcol a{color:var(--gray)}
[data-theme="light"] .footer .fcol a:hover{color:var(--green)}
[data-theme="light"] .gdivider .gline{background:linear-gradient(90deg,rgba(42,97,55,.45),rgba(42,97,55,1),rgba(42,97,55,.45));background-size:200% 100%}
/* ===== WE LEAD — LIVING VISUAL ===== */
.wl-svg{overflow:visible}
.wl-ring{transform-origin:100px 100px}
.wl-r1{opacity:.3;animation:wlBreathe 7s ease-in-out infinite}
.wl-r2{opacity:.5;animation:wlBreathe 7s ease-in-out infinite .5s}
.wl-r3{opacity:.7;animation:wlBreathe 7s ease-in-out infinite 1s}
@keyframes wlBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.wl-pulse{transform-origin:100px 100px;opacity:0;animation:wlPulse 4.5s ease-out infinite}
.wl-pulse.wl-p2{animation-delay:2.25s}
@keyframes wlPulse{0%{transform:scale(.55);opacity:.75}70%{opacity:.12}100%{transform:scale(2.7);opacity:0}}
.wl-orbit{transform-origin:100px 100px;animation:wlSpin 18s linear infinite}
.wl-orbit2{animation-duration:26s;animation-direction:reverse}
@keyframes wlSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.wl-stem{stroke-dasharray:210;stroke-dashoffset:210;filter:drop-shadow(0 0 6px var(--green-glow));animation:wlDraw 5.5s var(--ease) infinite}
@keyframes wlDraw{0%{stroke-dashoffset:210}45%{stroke-dashoffset:0}85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.75}}
.wl-seed{transform-origin:100px 42px;animation:wlSeed 4s ease-in-out infinite;filter:drop-shadow(0 0 8px var(--green-glow))}
@keyframes wlSeed{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.5);opacity:1}}
.wl-root{transform-origin:100px 158px;animation:wlSeed 4s ease-in-out infinite 2s}
.move-vis:hover .wl-r1,.move-vis:hover .wl-r2,.move-vis:hover .wl-r3{opacity:.95}
@media(prefers-reduced-motion:reduce){.wl-ring,.wl-pulse,.wl-orbit,.wl-stem,.wl-seed,.wl-root{animation:none!important}.wl-stem{stroke-dashoffset:0!important}.wl-pulse{opacity:0!important}}
[data-theme="light"] .move-vis{background:radial-gradient(circle at 50% 35%,#123021,#0a170f);border-color:rgba(21,23,22,.18)}
.move-vis:hover{border-color:var(--green);box-shadow:0 22px 54px -34px var(--green-glow)}
/* ===== LIGHT MODE — DEPTH, TEXTURE & SHAPES ===== */
[data-theme="light"] .section{border-top:none}
[data-theme="light"] .section.alt{background:linear-gradient(180deg,#E9EFE8 0%,#F1F5EF 60%,#E7EEE6 100%)}
[data-theme="light"] .section:not(.alt){background:#FFFFFF}
[data-theme="light"] .section{position:relative;overflow:hidden}
/* soft dot-grid texture */
[data-theme="light"] .section::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(42,97,55,.16) 1px,transparent 1px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 72%);opacity:.22}
/* floating decorative shapes */
[data-theme="light"] .section:not(.cta)::after{content:"";position:absolute;right:-90px;top:12%;width:280px;height:280px;border-radius:50%;pointer-events:none;z-index:0;
  border:1px solid rgba(42,97,55,.16);background:radial-gradient(circle at 35% 35%,rgba(42,97,55,.07),transparent 65%);animation:lightOrb 14s ease-in-out infinite}
[data-theme="light"] .section.alt:not(.cta)::after{right:auto;left:-110px;top:auto;bottom:8%;width:230px;height:230px;animation-duration:18s;animation-direction:reverse}
@keyframes lightOrb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-26px) scale(1.06)}}
[data-theme="light"] .section>.wrap{position:relative;z-index:1}
/* cards get real presence */
[data-theme="light"] .card,[data-theme="light"] .acard,[data-theme="light"] .vcard,[data-theme="light"] .ecard,[data-theme="light"] .nl-value,[data-theme="light"] .nl-join-card{
  background:#FFFFFF;border:1px solid rgba(21,23,22,.12);box-shadow:0 2px 4px rgba(21,23,22,.04),0 12px 30px -18px rgba(21,23,22,.20)}
[data-theme="light"] .card:hover,[data-theme="light"] .acard:hover,[data-theme="light"] .vcard:hover,[data-theme="light"] .ecard:hover,[data-theme="light"] .nl-value:hover,[data-theme="light"] .nl-join-card:hover{
  border-color:var(--green);box-shadow:0 6px 12px rgba(42,97,55,.08),0 26px 54px -26px rgba(42,97,55,.42)}
/* accent bar that grows on top of cards */
[data-theme="light"] .card,[data-theme="light"] .acard,[data-theme="light"] .nl-value{border-top:3px solid rgba(42,97,55,.18)}
[data-theme="light"] .card:hover,[data-theme="light"] .acard:hover,[data-theme="light"] .nl-value:hover{border-top-color:var(--green)}
/* stat row definition */
[data-theme="light"] .stats{background:#FFFFFF;border:1px solid rgba(21,23,22,.12);border-radius:14px;box-shadow:0 12px 30px -20px rgba(21,23,22,.22);overflow:hidden}
[data-theme="light"] .stat{border-right-color:rgba(21,23,22,.10)}
[data-theme="light"] .stat:hover{background:rgba(42,97,55,.05)}
/* eyebrow labels become pills */
[data-theme="light"] .kick{background:rgba(42,97,55,.09);border:1px solid rgba(42,97,55,.20);border-radius:100px;padding:7px 16px;color:var(--green-deep)}
[data-theme="light"] .sec-head .kick::before,[data-theme="light"] .sec-head .kick::after{display:none}
/* section heading underline flourish */
[data-theme="light"] .sec-head h2{position:relative}
[data-theme="light"] .quote-card{box-shadow:0 12px 30px -20px rgba(21,23,22,.22)}
/* ===== UNIFIED LINE SYSTEM — visible + running gradient ===== */
.section{position:relative}
.sec-line{position:absolute;top:0;left:0;right:0;height:2px;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(78,158,98,.42),rgba(99,184,120,.95),rgba(78,158,98,.42));
  background-size:200% 100%;animation:lineFlow 6s linear infinite}
[data-theme="light"] .sec-line{background:linear-gradient(90deg,rgba(42,97,55,.38),rgba(42,97,55,.9),rgba(42,97,55,.38));background-size:200% 100%}
@keyframes lineFlow{0%{background-position:200% 0}100%{background-position:0 0}}
.footer-top{border-bottom-color:var(--line-2)}
.kick::before{width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--green),var(--green-bright),var(--green));
  background-size:200% 100%;animation:lineFlow 4s linear infinite}

/* ============ CROSS-DEVICE SAFETY ============ */
*{-webkit-tap-highlight-color:transparent}
img,video,svg,iframe{max-width:100%}
.eposter.ehasimg img{height:auto}
/* iOS: 16px+ on inputs prevents auto-zoom when focused */
@media(max-width:820px){
  input,textarea,select,.field input,.field textarea{font-size:16px !important}
}
/* comfortable tap targets on touch devices */
@media(hover:none),(pointer:coarse){
  a,button,.nav-link,.tab{min-height:40px}
  .btn,.cta,button[type=submit]{min-height:44px}
}
/* prevent long words/URLs breaking layout */
h1,h2,h3,h4,p,a,li,.einfo,.ci-v{overflow-wrap:break-word}


/* ===== ACCESSIBILITY: skip link + keyboard focus (added by PluggedintribeDev) ===== */
.skip-link{position:absolute;left:12px;top:-56px;z-index:2000;background:var(--green);color:#08130c;padding:11px 20px;border-radius:9px;font-weight:800;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 30px -12px rgba(0,0,0,.6);transition:top .22s var(--ease,ease)}
.skip-link:focus{top:12px;outline:3px solid var(--green-bright);outline-offset:2px}
:focus-visible{outline:3px solid var(--green-bright);outline-offset:2px;border-radius:4px}
#main-content{position:absolute;width:1px;height:1px}

/* ===== EVENTS: Upcoming / Past sections + empty state ===== */
.ev-sec{margin-bottom:clamp(42px,6vw,74px)}
.ev-sec:last-child{margin-bottom:0}
.ev-sec-head{margin-bottom:26px}
.ev-sec-head h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(24px,3.4vw,34px);line-height:1.12;margin-top:8px}
.ev-sec-past{opacity:.92}
.ev-empty{border:1px dashed var(--line-2);border-radius:16px;padding:clamp(30px,5vw,56px);text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.022),transparent)}
.ev-empty-ic{font-size:30px;line-height:1;color:var(--green-bright);opacity:.85;margin-bottom:14px}
.ev-empty p{color:var(--gray);max-width:48ch;margin:0 auto;font-size:15px;line-height:1.65}
.ev-empty a{color:var(--green-bright);text-decoration:none;border-bottom:1px solid rgba(99,184,120,.42)}
.ev-empty a:hover{border-bottom-color:var(--green-bright)}

/* ===== NEWSLETTER: card meta + in-reader share bar ===== */
.nl-cmeta{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;margin:6px 0 2px}
.nl-cmeta .nl-count{color:var(--green-bright)}
.nl-rt{font-size:12.5px;color:var(--gray);letter-spacing:.02em}
.nl-rt::before{content:"\25F7  ";opacity:.7}
.nr-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
.nr-share-l{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);font-weight:800;margin-right:2px}
.nr-sh{font-size:13px;font-weight:600;color:var(--white);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;text-decoration:none;font-family:inherit;transition:border-color .2s ease,color .2s ease,background .2s ease}
.nr-sh:hover{border-color:var(--green);color:var(--green-bright);background:rgba(99,184,120,.08)}
.nr-title{font-family:var(--display);color:var(--white);font-weight:500;font-size:clamp(26px,4vw,40px);line-height:1.14;margin:0 0 8px}
/* video player overlay container (inner .vp-* styles already exist) */
.vplayer{position:fixed;inset:0;z-index:1750;display:flex;align-items:center;justify-content:center;padding:24px}
.vplayer[hidden]{display:none}

/* ===== MOBILE FIT FIXES for viewers & tabs (added by PluggedintribeDev) ===== */
/* Media type tabs contain their own horizontal scroll so they never widen the page
   (page overflow was pushing the fixed lightbox/video controls off-screen on mobile) */
.media-tabs{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.media-tabs::-webkit-scrollbar{display:none}
.mtab{flex:0 0 auto;white-space:nowrap}
@media(max-width:600px){
  .mtab{padding:13px 13px;font-size:11.5px;gap:6px}
  /* Video player fits inside the padded overlay; close/nav stay on-screen */
  .vplayer{padding:12px}
  .vp-inner{width:100%}
  .vp-close{top:8px;right:8px;background:rgba(4,7,5,.72)}
  .vp-bar{gap:8px;margin-top:10px}
  .vp-nav{padding:8px 12px;font-size:11px}
  /* Lightbox controls sit inside the screen */
  .lightbox{overflow:hidden}
  .lb-stage{max-width:94vw}
  .lb-close{top:12px;right:12px;width:42px;height:42px}
  .lb-prev{left:8px;width:42px;height:42px}
  .lb-next{right:8px;width:42px;height:42px}
  .lb-count{bottom:16px}
  /* Poster / presentation viewers fit the screen */
  .plight{padding:14px}
  /* PDF thumbnail: the native iframe is blank on phones — show the clean placeholder */
  .pres-pdf-thumb{display:none}
  .pres-cover-ph-fallback{display:flex!important}
}

/* ===== LIGHT-MODE READABILITY: section subtitles & callouts use adaptive colour ===== */
/* .lead/.speak-note-text were hardcoded light grey (fine on the dark hero, invisible on
   white). Section subtitles sit on the page background, so darken them in light mode.
   .phead .lead stays light because it sits on the always-dark hero. */
[data-theme="light"] .sec-head .lead{color:var(--gray)}
[data-theme="light"] .speak-note-text{color:var(--gray)}

/* ===== LIGHT MODE: stronger secondary text on white (bolder, larger, subtle depth) ===== */
[data-theme="light"] .sec-head .lead,
[data-theme="light"] .about-body p,
[data-theme="light"] .move-body p,
[data-theme="light"] .card p,
[data-theme="light"] .card ul li,
[data-theme="light"] .qa-a p,
[data-theme="light"] .nl-featured p,
[data-theme="light"] .nl-value p,
[data-theme="light"] .nl-card p,
[data-theme="light"] .story-quote{
  color:#363B37;
  font-weight:600;
  text-shadow:0 1px 1.5px rgba(21,23,22,.05);
}
[data-theme="light"] .sec-head .lead{font-size:19.5px;line-height:1.7}

/* ===== LIGHT MODE: give elements definition (shadows + edges) like dark mode has ===== */
/* Cards lift off the page with a soft shadow and a clearer edge */
[data-theme="light"] .card,
[data-theme="light"] .acard,
[data-theme="light"] .ecard,
[data-theme="light"] .vcard,
[data-theme="light"] .nl-card,
[data-theme="light"] .pres-card,
[data-theme="light"] .speak-card,
[data-theme="light"] .nl-featured,
[data-theme="light"] .nl-join-card,
[data-theme="light"] .story-card,
[data-theme="light"] .qa-item,
[data-theme="light"] .press-card{
  background:#FFFFFF;
  border:1px solid rgba(21,23,22,.12);
  box-shadow:0 1px 3px rgba(21,23,22,.05), 0 20px 46px -22px rgba(21,23,22,.20);
}
[data-theme="light"] .card:hover,
[data-theme="light"] .acard:hover,
[data-theme="light"] .ecard:hover,
[data-theme="light"] .vcard:hover,
[data-theme="light"] .nl-card:hover,
[data-theme="light"] .pres-card:hover{
  box-shadow:0 2px 6px rgba(21,23,22,.07), 0 30px 60px -24px rgba(42,97,55,.30);
  border-color:rgba(42,97,55,.30);
}
/* Form fields read as crisp white inputs with a visible edge */
[data-theme="light"] input:not([type=checkbox]):not([type=radio]),
[data-theme="light"] textarea,
[data-theme="light"] select{
  background:#FFFFFF;
  border-color:rgba(21,23,22,.20);
}
[data-theme="light"] input:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] select:focus{
  border-color:var(--green);box-shadow:0 0 0 3px rgba(42,97,55,.13);
}
/* Section dividers / rules are a touch stronger so structure is visible */
[data-theme="light"] .cinfo-row,
[data-theme="light"] .press-row,
[data-theme="light"] .qa-item{border-top-color:rgba(21,23,22,.16)}

/* ===== LIGHT MODE PUNCH: bold/dark text + defined cards & pills across ALL pages ===== */
/* Secondary & body text: darker + bolder so it reads strongly on light (never on the dark hero) */
[data-theme="light"] .sec-head .lead,
[data-theme="light"] .speak-card p,[data-theme="light"] .speak-lead-2,[data-theme="light"] .speak-lead-3,
[data-theme="light"] .speak-stat-l,
[data-theme="light"] .about-body p,[data-theme="light"] .move-body p,
[data-theme="light"] .card p,[data-theme="light"] .acard p,[data-theme="light"] .acard li,
[data-theme="light"] .einfo,[data-theme="light"] .vcard p,[data-theme="light"] .vmeta,
[data-theme="light"] .nl-card p,[data-theme="light"] .nl-featured p,[data-theme="light"] .nl-value p,
[data-theme="light"] .cinfo .ld,[data-theme="light"] .ci-v,[data-theme="light"] .cinfo-note,
[data-theme="light"] .qa-a p,[data-theme="light"] .qa-a,
[data-theme="light"] .pres-meta p,[data-theme="light"] .press-excerpt,
[data-theme="light"] .story-text,[data-theme="light"] .story-quote,[data-theme="light"] .nr-content{
  color:#2C302C !important;
  font-weight:600 !important;
  text-shadow:0 1px 1px rgba(21,23,22,.045);
}
/* Cards & stat panels: crisp white surface, clear edge, soft lift — real definition */
[data-theme="light"] .speak-card,[data-theme="light"] .speak-stat,
[data-theme="light"] .card,[data-theme="light"] .acard,[data-theme="light"] .ecard,
[data-theme="light"] .vcard,[data-theme="light"] .nl-card,[data-theme="light"] .pres-card,
[data-theme="light"] .nl-featured,[data-theme="light"] .nl-join-card,[data-theme="light"] .qa-item{
  background:#FFFFFF !important;
  border:1px solid rgba(21,23,22,.14) !important;
  box-shadow:0 1px 3px rgba(21,23,22,.06), 0 22px 50px -22px rgba(21,23,22,.22) !important;
}
/* Format pills on the light page: readable green with a clear edge (NOT the dark-hero pills) */
[data-theme="light"] .speak-pill{
  background:#E8F2E8 !important;
  border:1px solid rgba(42,97,55,.45) !important;
  color:#1F4E2E !important;
  font-weight:700 !important;
}

/* ===== CARD OUTLINES + ANIMATED HOVER BORDER (all rectangular cards, every page) ===== */
/* Visible green outline so cards read as clear rectangles (esp. on the light background) */
[data-theme="light"] .card,[data-theme="light"] .acard,[data-theme="light"] .vcard,
[data-theme="light"] .ecard,[data-theme="light"] .nl-card,[data-theme="light"] .nl-value,
[data-theme="light"] .nl-join-card,[data-theme="light"] .speak-card,[data-theme="light"] .pres-card,
[data-theme="light"] .xcard,[data-theme="light"] .qa-item{
  border:1px solid rgba(42,97,55,.32) !important;
}
/* Animated medium-stroke green border that travels around the card on hover */
@property --cardBA{syntax:"<angle>";inherits:false;initial-value:0deg}
.card,.acard,.vcard,.ecard,.nl-card,.nl-value,.nl-join-card,.speak-card,.pres-card,.xcard{position:relative}
.card::after,.acard::after,.vcard::after,.ecard::after,.nl-card::after,.nl-value::after,
.nl-join-card::after,.speak-card::after,.pres-card::after,.xcard::after{
  content:"" !important;position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;
  width:auto !important;height:auto !important;border:none !important;transform:none !important;background-color:transparent !important;
  border-radius:inherit;pointer-events:none;z-index:5;padding:2px;
  background-image:conic-gradient(from var(--cardBA),transparent 0deg,var(--green-bright) 70deg,var(--green) 150deg,transparent 250deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:0;transition:opacity .35s ease;
}
.card:hover::after,.acard:hover::after,.vcard:hover::after,.ecard:hover::after,.nl-card:hover::after,
.nl-value:hover::after,.nl-join-card:hover::after,.speak-card:hover::after,.pres-card:hover::after,.xcard:hover::after{
  opacity:1 !important;width:auto !important;height:auto !important;transform:none !important;
  animation:cardBorderSpin 2.6s linear infinite;
}
@keyframes cardBorderSpin{to{--cardBA:360deg}}
/* graceful fallback: if a browser can't animate the angle, show a steady green border on hover */
@supports not (background:conic-gradient(from 0deg,#000,#000)){
  .card:hover,.acard:hover,.vcard:hover,.ecard:hover,.nl-card:hover,.nl-value:hover,
  .nl-join-card:hover,.speak-card:hover,.pres-card:hover,.xcard:hover{border-color:var(--green) !important}
}

/* ===== ICON BOXES: solid green with white icons (all card sections) ===== */
.card .ic,.nl-vic,.xcard-ic{
  background:var(--green) !important;
  border:1px solid var(--green) !important;
  color:#FFFFFF !important;
}
/* keep them solid green on hover (don't revert to the tinted gradient) */
.xcard:hover .xcard-ic{background:var(--green-bright) !important;color:#FFFFFF !important}
.card:hover .ic{background:var(--green-bright) !important;border-color:var(--green-bright) !important}

/* ===== PERSISTENT GREEN CORNER ACCENT (top-left) — stays at rest AND on hover ===== */
.card,.acard,.vcard,.ecard,.nl-card,.nl-value,.nl-join-card,.speak-card,.pres-card,.xcard{
  background-image:linear-gradient(var(--green-bright),var(--green-bright)),linear-gradient(155deg,rgba(78,158,98,.06),transparent 44%);
  background-repeat:no-repeat,no-repeat;
  background-size:18px 18px,auto;
  background-position:top left,top left;
}
[data-theme="light"] .card,[data-theme="light"] .acard,[data-theme="light"] .vcard,
[data-theme="light"] .ecard,[data-theme="light"] .nl-card,[data-theme="light"] .nl-value,
[data-theme="light"] .nl-join-card,[data-theme="light"] .speak-card,[data-theme="light"] .pres-card,
[data-theme="light"] .xcard{
  background-color:#FFFFFF !important;
  background-image:linear-gradient(var(--green),var(--green)) !important;
  background-repeat:no-repeat !important;
  background-size:18px 18px !important;
  background-position:top left !important;
}

/* newsletter reader: numbered lists + italics match the styled bullet lists */
.nr-content ol{margin:16px 0;padding-left:26px;line-height:1.8}
.nr-content ol li{margin:7px 0}
.nr-content em{font-style:italic}

/* Video player title sits directly on the dark overlay in BOTH themes — keep it light
   (nav/close buttons have their own white background, so they're left alone) */
[data-theme="light"] .vp-title{color:#F3F6F3 !important;opacity:.95}

/* Tell browsers we manage our own light/dark — prevents mobile browsers force-darkening light mode */
:root{color-scheme:dark}
[data-theme="light"]{color-scheme:light}
[data-theme="dark"]{color-scheme:dark}
