:root{--navy:#001F3F;--deep:#000E1F;--tq:#55D8BE;--tq2:#1F8F7C;--gold:#D4B26A;--ink:#EAF6F3;--ser:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--deep);color:var(--ink);font:400 1.05rem/1.65 var(--sans);hyphens:none;-webkit-hyphens:none;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.06;background:repeating-radial-gradient(circle at 30% 20%,#fff 0 1px,transparent 1px 3px)}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100}.progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--tq2),var(--tq),var(--gold))}
.top{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,3rem);transition:background .4s,backdrop-filter .4s}
.top.solid{background:rgba(0,20,40,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(85,216,190,.15)}
.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;font:700 1.35rem/1 var(--ser);letter-spacing:.18em}
.brand small{display:block;font:500 .62rem var(--sans);letter-spacing:.2em;color:var(--tq);margin-top:.3rem;text-transform:uppercase}
.bmini{width:42px;height:auto;transform:rotate(var(--rot,0deg));transition:transform .2s linear}
.links{display:flex;gap:1.6rem}.links a{text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8;position:relative}
.links a:after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transition:.35s}.links a:hover:after,.links a.on:after{transform:scaleX(1)}
.rosebtn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(212,178,106,.6);background:rgba(0,31,63,.5);cursor:pointer;display:grid;place-items:center;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.rosebtn span{width:0;height:0;border:7px solid transparent;border-bottom:18px solid var(--gold);transform:translateY(-6px);filter:drop-shadow(0 18px 0 var(--tq))}
.rosebtn[aria-expanded=true]{transform:rotate(180deg)}
.rose{position:fixed;inset:0;z-index:70;background:radial-gradient(circle,rgba(0,31,63,.97),rgba(0,10,22,.99));display:grid;place-items:center;animation:fade .5s}
.rose[hidden]{display:none}.rosering{position:relative;width:min(78vw,560px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(85,216,190,.3);animation:spinin .9s cubic-bezier(.2,.8,.2,1)}
.rosestar{position:absolute;inset:18%;background:conic-gradient(from 0deg,transparent 0 40deg,rgba(212,178,106,.25) 45deg,transparent 50deg 130deg,rgba(85,216,190,.25) 135deg,transparent 140deg 220deg,rgba(212,178,106,.25) 225deg,transparent 230deg 310deg,rgba(85,216,190,.25) 315deg,transparent 320deg);border-radius:50%}
.rp{position:absolute;text-decoration:none;text-align:center;transform:translate(-50%,-50%);transition:color .3s,transform .3s}.rp b{display:block;font:700 2.2rem var(--ser);color:var(--gold)}.rp span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.rp:hover{color:var(--tq);transform:translate(-50%,-50%) scale(1.1)}
.rp0{top:6%;left:50%}.rp1{top:50%;left:90%}.rp2{top:94%;left:50%}.rp3{top:50%;left:10%}.rp4{top:50%;left:50%}.rp4 b{font-size:3rem}
@media(min-width:900px){.rosebtn{display:none}}@media(max-width:899px){.links{display:none}}
section{position:relative}
.eyebrow{font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;color:var(--tq);margin-bottom:1rem}
.mega{font:400 clamp(2.8rem,8.5vw,8.2rem)/.95 var(--ser);letter-spacing:-.02em}.mega em,.big em{display:block;font-style:italic;background:linear-gradient(100deg,var(--tq),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.mega.small{font-size:clamp(2.2rem,6vw,5.5rem)}
.big{font:400 clamp(2.2rem,5.5vw,4.6rem)/1 var(--ser);margin-bottom:1.5rem}
.w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(4deg);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*.09s + .2s)}
em .w{animation-delay:calc(var(--i)*.09s + .55s)}
.lead{max-width:36rem;font-size:clamp(1rem,1.4vw,1.2rem);opacity:.85;margin:1.8rem 0}
.hero,.subhero{min-height:100vh;display:grid;align-items:center;padding:7rem clamp(1.2rem,6vw,6rem) 5rem;overflow:hidden;background:radial-gradient(120% 90% at 75% 40%,#063a5c 0,var(--navy) 40%,var(--deep) 80%)}
.subhero{min-height:78vh}
.aurora{position:absolute;inset:-20%;background:radial-gradient(40% 30% at 20% 30%,rgba(85,216,190,.22),transparent 70%),radial-gradient(35% 30% at 80% 70%,rgba(31,143,124,.3),transparent 70%),radial-gradient(25% 20% at 60% 20%,rgba(212,178,106,.12),transparent 70%);filter:blur(30px);animation:drift 18s ease-in-out infinite alternate}
.stars{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.htext{position:relative;z-index:2;max-width:62rem}
.compass{position:absolute;right:-6vw;top:50%;width:min(62vw,720px);aspect-ratio:1;transform:translateY(-50%);z-index:1;display:grid;place-items:center}
.compass.sm{width:min(46vw,520px);right:-4vw;opacity:.8}
.compass img{width:58%;transform:rotate(var(--rot,0deg));filter:drop-shadow(0 0 40px rgba(85,216,190,.45));transition:transform .15s linear}
.ticks{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(212,178,106,.55) 0 .4deg,transparent .4deg 5deg);-webkit-mask:radial-gradient(circle,transparent 63%,#000 63.5% 66%,transparent 66.5%);mask:radial-gradient(circle,transparent 63%,#000 63.5% 66%,transparent 66.5%);animation:spin 120s linear infinite}
.ticks:after{content:"";position:absolute;inset:6%;border-radius:50%;border:1px dashed rgba(85,216,190,.3)}
.needle{position:absolute;inset:0;transform:rotate(var(--needle,0deg));transition:transform 1.4s cubic-bezier(.3,1.6,.4,1)}
.needle i{position:absolute;left:50%;top:3%;width:14px;height:14px;margin-left:-7px;background:var(--gold);clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 0 8px var(--gold))}
.tri{position:absolute;left:clamp(1.2rem,6vw,6rem);bottom:2rem;display:flex;gap:2rem;font:italic 1rem var(--ser);color:var(--gold);z-index:2}.tri span:not(:last-child):after{content:"◆";margin-left:2rem;font-size:.5rem;color:var(--tq);vertical-align:middle}
.scrollcue{position:absolute;right:2rem;bottom:2rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;writing-mode:vertical-rl;z-index:2}.scrollcue i{display:block;width:1px;height:60px;margin:1rem auto 0;background:linear-gradient(var(--tq),transparent);animation:cue 2s infinite}
.btn{display:inline-block;padding:1rem 1.8rem;border-radius:999px;text-decoration:none;font-weight:600;letter-spacing:.04em;border:1px solid transparent;cursor:pointer;font-size:1rem;transition:box-shadow .3s,background .3s}
.gold{background:linear-gradient(120deg,var(--gold),#f0d79a);color:var(--navy)}.gold:hover{box-shadow:0 10px 40px rgba(212,178,106,.45)}
.ghost{border-color:rgba(85,216,190,.6);color:var(--ink)}.ghost:hover{background:rgba(85,216,190,.12)}
.cta{display:flex;flex-wrap:wrap;gap:1rem}.center{justify-content:center}
.rv{opacity:0;transform:translateY(50px);transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.arms,.diasp,.infl,.founder,.contact{padding:clamp(5rem,12vw,10rem) clamp(1.2rem,6vw,6rem)}
.arms{background:linear-gradient(180deg,var(--deep),var(--navy))}.awrap{max-width:1200px;margin:auto}
.armgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}
.arm{padding:2.5rem;border-radius:28px;background:linear-gradient(160deg,rgba(85,216,190,.1),rgba(0,31,63,.3));border:1px solid rgba(85,216,190,.2);position:relative;overflow:hidden}
.arm:before{content:"";position:absolute;inset:-1px;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(212,178,106,.18),transparent 40%);pointer-events:none}
.arm h3{font:400 1.8rem/1.15 var(--ser);margin:1rem 0}.deg{font:600 .8rem var(--sans);color:var(--gold);letter-spacing:.2em}
.hscroll{height:300vh;background:var(--navy)}.htrack{position:sticky;top:0;height:100vh;display:flex;align-items:center;gap:3vw;padding:0 6vw;transform:translateX(var(--hx,0));will-change:transform}
.hcard{flex:0 0 min(70vw,440px);min-height:52vh;padding:3rem;border-radius:32px;background:linear-gradient(150deg,#06345a,#001a33);border:1px solid rgba(212,178,106,.25);display:flex;flex-direction:column;justify-content:flex-end}
.hcard.intro{background:none;border:none;flex-basis:min(80vw,560px)}.num{font:italic 6rem/1 var(--ser);color:transparent;-webkit-text-stroke:1px var(--gold);margin-bottom:auto}.hcard h3{font:400 2rem/1.1 var(--ser);margin:1rem 0}
.diasp{background:radial-gradient(80% 60% at 80% 50%,rgba(31,143,124,.35),transparent),var(--deep)}
.dwrap{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.ticket{display:flex;margin:2rem 0;border-radius:20px;overflow:hidden;border:1px solid rgba(212,178,106,.4)}.tday{background:linear-gradient(160deg,var(--gold),#f3dda4);color:var(--navy);padding:1.4rem;display:flex;gap:.8rem;align-items:center}.tday b{font:700 3.6rem/1 var(--ser)}.tday span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.tplace{padding:1.4rem;display:flex;flex-direction:column;border-left:2px dashed rgba(212,178,106,.5)}.tplace b{font:400 1.4rem var(--ser)}.tplace small{color:var(--tq);margin-top:.4rem}
.note{color:var(--gold);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem}
.poster,.post{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(212,178,106,.3);transform:perspective(900px) rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg));transition:transform .2s}
.glare{position:absolute;inset:0;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.22),transparent 40%);pointer-events:none;mix-blend-mode:overlay}
.infl{background:linear-gradient(180deg,var(--deep),#00284a 50%,var(--deep))}.iwrap{max-width:1250px;margin:auto}.ihead{text-align:center}.ilogo{width:120px;margin:0 auto 1.5rem}
.igrid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:start;margin:3rem 0}.vid video{width:100%;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.6);background:#000}.cap{font-size:.85rem;opacity:.7;margin-top:.8rem}
.quote{text-align:center;max-width:900px;margin:4rem auto}.quote p{font:italic 400 clamp(1.6rem,3.4vw,2.8rem)/1.25 var(--ser);margin-bottom:1rem}.quote span{color:var(--tq);font-size:.85rem;letter-spacing:.08em}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:3rem 0}.pl{padding:2rem;border-top:2px solid var(--gold);background:rgba(85,216,190,.06);border-radius:0 0 20px 20px}.pl b{font:400 1.8rem var(--ser);color:var(--tq)}
.facts{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem}.facts h3{font:400 1.6rem var(--ser);color:var(--gold);margin-bottom:.8rem}
.counters{display:flex;gap:2.5rem;margin-top:2rem}.counters b{font:400 4rem/1 var(--ser);color:var(--gold);display:block}.counters span{font-size:.8rem;opacity:.8}
.close{padding:12rem 1.5rem;text-align:center;overflow:hidden;background:radial-gradient(circle,var(--navy),var(--deep) 70%)}.close .ring{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px;border-radius:50%;border:1px solid rgba(212,178,106,.2);box-shadow:0 0 0 80px rgba(85,216,190,.03),0 0 0 160px rgba(85,216,190,.02);animation:pulse 6s ease-in-out infinite}.close p{margin:1.5rem 0 2rem;opacity:.85}
.founder{background:var(--navy)}.fwrap2{max-width:1100px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center}.ph{aspect-ratio:4/5;border-radius:30px;border:1px dashed var(--gold);display:grid;place-items:center;text-align:center;color:var(--gold);padding:1rem}
.contact{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}.cgrid{display:grid;gap:1.2rem}.cc{padding:2rem;border-radius:24px;border:1px solid rgba(85,216,190,.25);text-decoration:none;background:rgba(0,31,63,.5);transition:transform .3s,border-color .3s}.cc:hover{transform:translateX(10px);border-color:var(--gold)}.cc span{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tq)}.cc b{font:400 1.5rem var(--ser);word-break:break-word}
.cform{padding:2.5rem;border-radius:28px;background:linear-gradient(160deg,#06345a,#001a33);display:grid;gap:1rem}.cform h3{font:400 1.8rem var(--ser)}.cform label{display:grid;gap:.3rem;font-size:.85rem}.cform input,.cform select,.cform textarea{background:rgba(0,0,0,.25);border:1px solid rgba(85,216,190,.3);border-radius:12px;padding:.8rem;color:var(--ink);font:inherit}
.foot{background:#000a16;padding:5rem clamp(1.2rem,6vw,6rem) 2rem;border-top:1px solid rgba(212,178,106,.2)}.fwrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;max-width:1200px;margin:auto}.foot h4{color:var(--gold);font:400 1.2rem var(--ser);margin-bottom:1rem}.foot a,.foot span{display:block;text-decoration:none;opacity:.8;margin-bottom:.4rem;font-size:.9rem}.fcomp{width:90px;animation:spin 60s linear infinite}.ftag{font:italic 1rem var(--ser);color:var(--tq);margin-top:1rem}.legal{text-align:center;font-size:.75rem;opacity:.5;margin-top:3rem}
.wa{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;background:#25D366;color:#002b14;font-weight:700;padding:.8rem 1.2rem;border-radius:999px;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.4)}
@keyframes rise{to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translate(5%,-4%) rotate(8deg)}}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}@keyframes pulse{50%{transform:scale(1.08);opacity:.6}}@keyframes fade{from{opacity:0}}@keyframes spinin{from{transform:rotate(-120deg) scale(.6);opacity:0}}
@media(max-width:899px){.compass{right:50%;top:9rem;width:110vw;transform:translateX(50%);opacity:.35}.compass.sm{width:90vw;top:8rem}.hero,.subhero{align-items:end}.dwrap,.igrid,.facts,.fwrap2,.contact,.fwrap{grid-template-columns:1fr}.pillars{grid-template-columns:1fr}.tri{position:static;flex-wrap:wrap;gap:1rem;margin-top:2rem;font-size:.9rem}.tri span:not(:last-child):after{margin-left:1rem}.hero{display:flex;flex-direction:column;justify-content:flex-end}.scrollcue{display:none}.hscroll{height:auto}.htrack{position:static;height:auto;flex-direction:column;transform:none!important;padding:5rem 1.2rem}.hcard{flex:auto;width:100%;min-height:0}.num{font-size:4rem}.ticket{flex-direction:column}.tplace{border-left:none;border-top:2px dashed rgba(212,178,106,.5)}.close .ring{width:600px;height:600px;margin:-300px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.w,.rv{opacity:1;transform:none}.hscroll{height:auto}.htrack{position:static;height:auto;flex-wrap:wrap;transform:none!important;padding:5rem 6vw}}
.mega em .w,.big em .w{background:linear-gradient(100deg,var(--tq),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:899px){.compass,.compass.sm{left:50%;right:auto;width:110vw;margin-left:-55vw;transform:none;top:5rem}}
.shot .w{animation:none;opacity:1;transform:none}.shot .rv{transition:none}
.ilogo{width:min(420px,78vw);margin:0 auto 1.8rem;padding:1.1rem 1.6rem;box-sizing:content-box;background:linear-gradient(160deg,#ffffff,#eef7f5);border-radius:22px;border:1px solid rgba(212,178,106,.55);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.compass img.flecha{position:absolute;width:40%;left:2%;bottom:14%;transform:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));opacity:.95;clip-path:inset(0 100% 0 0);animation:flecha 1.6s cubic-bezier(.2,.8,.2,1) .9s forwards}
@keyframes flecha{to{clip-path:inset(0 0 0 0)}}
.shot .compass img.flecha{animation:none;clip-path:none}
@media(prefers-reduced-motion:reduce){.compass img.flecha{clip-path:none}}
