:root{--bg:#f5f7f2;--sf:#fff;--tx:#10261b;--mu:#4a5d52;--ln:#d9e2d6;--ac:#1c6b3b;--rd:#c8281e;--gd:#f0b429;--dk:#0c2218;--gl:rgba(255,255,255,.84);--sh:0 12px 32px rgba(16,38,27,.16)}
[data-theme=dark]{--bg:#09140e;--sf:#12241a;--tx:#e9f2ec;--mu:#9db4a5;--ln:#21392b;--ac:#5fd38d;--rd:#d83a2e;--gd:#f0b429;--dk:#050d09;--gl:rgba(18,36,26,.86);--sh:0 12px 32px rgba(0,0,0,.5)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 'IBM Plex Sans',system-ui,sans-serif;color:var(--tx);background:var(--bg);transition:background .3s,color .3s}
h1,h2,h3,.logo{font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,6.4vw,4.8rem);font-weight:800;letter-spacing:-.025em}h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.01em}h3{font-size:1.25rem;font-weight:500}
a{color:var(--ac)}:focus-visible{outline:3px solid var(--gd);outline-offset:2px}img{max-width:100%;display:block}
.prog{position:fixed;z-index:80;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--rd),var(--gd))}
.top{position:fixed;z-index:50;top:14px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 24px));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.55rem .9rem .55rem 1.1rem;background:var(--gl);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--ln);border-radius:999px;box-shadow:var(--sh);transition:top .3s}.top.scrolled{top:8px}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--tx);font-weight:800;font-size:1.3rem;margin:0}.logo small{display:block;font:400 .64rem/1.1 'IBM Plex Sans',sans-serif;color:var(--mu)}
.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ac);color:#fff;font:800 1.25rem 'Bricolage Grotesque',sans-serif;position:relative;flex:none}.mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:var(--rd);border:2px solid var(--sf)}
[data-theme=dark] .mark{color:#06210f}
.dnav{display:flex;gap:.3rem;justify-content:center}.dnav a{color:var(--tx);text-decoration:none;padding:.4rem .95rem;border-radius:99px;font-weight:500;transition:background .2s}.dnav a:hover{background:var(--ln)}.dnav a[aria-current]{background:var(--ac);color:#fff}[data-theme=dark] .dnav a[aria-current]{color:#06210f}
.acts{display:flex;gap:.4rem;justify-content:flex-end}.ic{width:40px;height:40px;border-radius:50%;border:1px solid var(--ln);background:var(--sf);color:var(--tx);cursor:pointer;display:grid;place-items:center;padding:0;font-size:1rem}.ic:hover{border-color:var(--gd)}.menu-btn{display:none}
.t-sun{display:none}[data-theme=dark] .t-sun{display:inline}[data-theme=dark] .t-moon{display:none}
.side,.veil,.bnav{display:none}
.wrap{max-width:1120px;margin:auto;padding:4rem 5vw}.page{padding-top:8rem}.narrow{max-width:760px}
.lead{font-size:1.2rem;color:var(--mu);max-width:62ch}.big{font-size:1.3rem;line-height:1.45;color:var(--tx)!important}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.95rem;color:var(--rd);margin:0 0 .6rem}.eyebrow:before{content:"";width:26px;height:3px;border-radius:3px;background:var(--rd)}
.hero{position:relative;background:var(--dk) center/cover;color:#fff;overflow:hidden;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,22,14,.5),rgba(5,22,14,.9));animation:zoom 24s ease-in-out infinite alternate}@keyframes zoom{to{transform:scale(1.06)}}
.hwrap{position:relative;max-width:1120px;margin:0 auto;width:100%;padding:9rem 5vw 3rem}.hwrap h1{max-width:14ch}.hwrap .lead{color:#dbe8df}
.hwrap>*{animation:up .8s both}.hwrap>*:nth-child(2){animation-delay:.12s}.hwrap>*:nth-child(3){animation-delay:.24s}.hwrap>*:nth-child(n+4){animation-delay:.36s}@keyframes up{from{opacity:0;transform:translateY(22px)}}
.chip{display:inline-block;border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:.3rem .95rem;font-size:.9rem;margin:0 0 1.2rem}.chip i{color:var(--gd);margin-right:.3rem}
.btn,button.btn{display:inline-block;background:var(--rd);color:#fff;border:0;padding:.8rem 1.5rem;font:500 1rem 'IBM Plex Sans',sans-serif;border-radius:99px;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(200,40,30,.35)}
.btn.alt{background:transparent;box-shadow:inset 0 0 0 2px #fff}.btn.dark{background:var(--dk);color:#fff}
.ticker{position:relative;overflow:hidden;background:var(--ac);color:#fff;padding:.9rem 0;margin-top:1rem}[data-theme=dark] .ticker{color:#06210f}
.track{display:flex;gap:3rem;width:max-content;animation:tick 38s linear infinite;white-space:nowrap}.ticker:hover .track{animation-play-state:paused}@keyframes tick{to{transform:translateX(-50%)}}.ticker i{font-style:normal;font-weight:500}.ticker i i{color:var(--gd);margin-right:.3rem}[data-theme=dark] .ticker i i{color:#06210f}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.split img{border-radius:28px;aspect-ratio:4/3;object-fit:cover;background:var(--ln);box-shadow:var(--sh)}.split.rev img{order:-1}
.grid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.pill{background:var(--sf);border:1px solid var(--ln);border-top:5px solid var(--rd);border-radius:22px;padding:1.6rem}.pill p{color:var(--mu);margin:0}.pill h3 i{color:var(--ac);margin-right:.4rem}.mkt{border-top-color:var(--gd)}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:1rem;margin-top:1.4rem}.role{background:var(--sf);border:1px solid var(--ln);border-radius:20px;padding:1.2rem;text-align:center;transition:transform .3s,box-shadow .3s}.role:hover{transform:translateY(-5px);box-shadow:var(--sh)}.role i{display:grid;place-items:center;width:50px;height:50px;margin:0 auto .6rem;border-radius:15px;background:var(--ac);color:#fff;font-size:1.2rem}[data-theme=dark] .role i{color:#06210f}.role b{font-weight:500;display:block}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}.pt{position:relative;display:flex;flex-direction:column;gap:.5rem;background:var(--sf);border:1px solid var(--ln);border-radius:20px;padding:1.2rem;color:var(--tx);text-decoration:none;overflow:hidden;transition:transform .3s,border-color .3s}.pt:hover{transform:translateY(-5px);border-color:var(--rd)}.pt i{color:var(--ac);font-size:1.4rem}.pt b{font-weight:500}.num{font:800 2.2rem/1 'Bricolage Grotesque',sans-serif;color:var(--rd);opacity:.9}
.plist{display:grid;gap:1rem;margin-top:1.4rem}.prow{display:grid;grid-template-columns:70px 56px 1fr;gap:1rem;align-items:center;background:var(--sf);border:1px solid var(--ln);border-left:6px solid var(--ac);border-radius:20px;padding:1.2rem 1.4rem;scroll-margin-top:7rem}.prow h2{font-size:1.4rem;margin:0 0 .2rem}.prow p{margin:0;color:var(--mu)}.ib{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--ac);color:#fff;font-size:1.3rem}[data-theme=dark] .ib{color:#06210f}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.strip img{border-radius:22px;aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s;background:var(--ln)}.strip a{overflow:hidden;border-radius:22px;display:block}.strip a:hover img{transform:scale(1.05)}
.band{position:relative;background:var(--dk) center/cover;color:#fff;text-align:center;padding:9rem 5vw 4.2rem;border-bottom-left-radius:50% 34px;border-bottom-right-radius:50% 34px;overflow:hidden}.band:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,22,14,.6),rgba(5,22,14,.88))}.band>*{position:relative}.band h1{margin:0 auto;font-size:clamp(2rem,5vw,3.4rem)}
.cta{background:var(--gd);color:#10261b}.cta .wrap{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-top:2.4rem;padding-bottom:2.4rem}.cta h2{margin:0}
.gal{columns:3 260px;column-gap:1rem}.gal figure{margin:0 0 1rem;break-inside:avoid;border-radius:20px;overflow:hidden;background:var(--sf);border:1px solid var(--ln)}.gal img{width:100%;cursor:zoom-in;transition:transform .5s;background:var(--ln)}.gal figure:hover img{transform:scale(1.04)}.gal figcaption{padding:.7rem 1rem;color:var(--mu);font-size:.9rem}
dialog{border:0;border-radius:20px;padding:1rem;max-width:min(1000px,94vw);background:var(--sf);color:var(--tx)}dialog::backdrop{background:rgba(0,0,0,.75)}dialog img{max-height:76vh;margin:auto;border-radius:12px}
.two{display:grid;gap:3rem;grid-template-columns:1fr 1fr;align-items:start}.clines{display:grid;gap:.5rem;margin-top:1rem}.clines a,.clines span{color:var(--tx);text-decoration:none}.clines i{color:var(--ac);width:1.4rem}
form{display:grid;gap:1rem;background:var(--sf);border:1px solid var(--ln);border-radius:24px;padding:1.6rem;box-shadow:var(--sh)}label{display:grid;gap:.3rem;font-weight:500}form small{color:var(--mu)}
input,textarea,select{font:inherit;color:var(--tx);padding:.7rem .9rem;border:1px solid var(--ln);border-radius:12px;background:var(--bg);width:100%}
.flash{background:var(--sf);border-left:5px solid var(--ac);padding:.8rem 1rem;border-radius:8px;margin-bottom:1.4rem}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
.foot{background:var(--dk);color:#c9d8cc;padding:2.4rem 5vw}.fwrap{max-width:1120px;margin:auto;display:flex;flex-wrap:wrap;gap:1.5rem 3rem;justify-content:space-between;align-items:flex-start}.foot p{margin:.2rem 0;max-width:42ch}.foot a{color:#c9d8cc;margin-right:1.1rem;text-decoration:none}.foot a:hover{color:var(--gd)}.fr{display:grid;gap:.3rem}.fr a{margin:0}.soc{display:flex;gap:.6rem;margin-top:.6rem}.soc a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);margin:0}
.wafloat{position:fixed;z-index:55;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.9rem;text-decoration:none;box-shadow:0 8px 24px rgba(37,211,102,.45)}
@media(max-width:1100px){.logo small{display:none}.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:899px){
 body{font-size:15px;line-height:1.55;padding-bottom:calc(78px + env(safe-area-inset-bottom))}h1{font-size:2.2rem}h2{font-size:1.4rem}h3{font-size:1.02rem}.lead{font-size:1rem}.big{font-size:1.05rem}
 .top{grid-template-columns:1fr auto;top:8px;width:calc(100% - 16px);padding:.35rem .5rem .35rem .8rem}.dnav,.foot{display:none}.menu-btn{display:grid}.logo{font-size:1.1rem}.mark{width:34px;height:34px}.ic{width:36px;height:36px}
 .wrap{padding:2rem 4vw}.hero{min-height:88svh}.hwrap{padding:6.5rem 4vw 1.6rem}.chip{font-size:.78rem;margin-bottom:.8rem}.btn,button.btn{padding:.6rem 1.1rem;font-size:.9rem}.ticker{padding:.6rem 0;font-size:.85rem}
 .split,.two{grid-template-columns:1fr;gap:1.2rem}.split.rev img{order:0}.split img{aspect-ratio:16/9;border-radius:18px}
 .grid.two{grid-template-columns:1fr 1fr;gap:.7rem}.pill{padding:.9rem;border-radius:16px;border-top-width:4px}.pill p{font-size:.85rem}.big{font-size:.9rem!important}
 .roles{grid-template-columns:repeat(2,1fr);gap:.6rem}.roles>:last-child:nth-child(odd){grid-column:1/-1}.pgrid>:last-child:nth-child(odd){grid-column:1/-1}.role{padding:.8rem;border-radius:16px}.role i{width:40px;height:40px;font-size:1rem}.role b{font-size:.85rem}
 .pgrid{grid-template-columns:repeat(2,1fr);gap:.6rem}.pt{padding:.8rem;border-radius:16px}.pt b{font-size:.85rem}.num{font-size:1.6rem}
 .prow{grid-template-columns:44px 1fr;gap:.2rem .8rem;padding:.9rem;border-radius:16px}.prow .ib{display:none}.prow h2{font-size:1.02rem}.prow p{font-size:.85rem}.prow .num{font-size:1.6rem}
 .strip{gap:.5rem}.strip img,.strip a{border-radius:14px}.band{padding:6.5rem 4vw 2.4rem;border-bottom-left-radius:50% 20px;border-bottom-right-radius:50% 20px}.page{padding-top:5.5rem}
 .gal{columns:2 130px;column-gap:.6rem}.gal figure{margin-bottom:.6rem;border-radius:14px}.gal figcaption{padding:.4rem .6rem;font-size:.75rem}
 form{padding:1rem;border-radius:18px;gap:.7rem}input,textarea,select{padding:.55rem .7rem}.cta .wrap{padding:1.4rem 4vw}.wafloat{display:none}
 .veil{display:block;position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s}
 .side{display:flex;flex-direction:column;gap:.3rem;position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(320px,84vw);background:var(--sf);padding:1rem;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:var(--sh);overflow-y:auto}
 .open .veil{opacity:1;pointer-events:auto}.open .side{transform:none}.sidehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font:800 1.4rem 'Bricolage Grotesque',sans-serif}
 .side a{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border-radius:14px;color:var(--tx);text-decoration:none;font-weight:500}.side a span{width:1.4rem;text-align:center;color:var(--ac)}.side a[aria-current]{background:var(--ac);color:#fff}.side a[aria-current] span{color:inherit}[data-theme=dark] .side a[aria-current]{color:#06210f}
 .wide{margin-top:1rem;padding:.8rem;border-radius:14px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);font:inherit;cursor:pointer}.sidenote{margin-top:auto;color:var(--mu);font-size:.9rem}
 .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:50;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--gl);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--ln);border-radius:24px;box-shadow:var(--sh);padding:.25rem}
 .bnav a{display:flex;flex-direction:column;align-items:center;font-size:.66rem;color:var(--mu);text-decoration:none;padding:.3rem 0;border-radius:18px}.bnav span{font-size:1.1rem}.bnav a[aria-current]{background:var(--rd);color:#fff;font-weight:500}
}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
