:root{--night:#050b24;--night2:#0a1640;--ocean:#00c8ff;--neon:#2f8cff;--red:#e8132b;--white:#f4f8ff;--gold:#ffc23d;--green:#2bd47d;--glass:rgba(8,20,60,.55);--line:rgba(80,170,255,.55)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--white);font:16px/1.55 Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}
a{color:#7fd0ff}img{max-width:100%;display:block}
.disp{font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.orb{font-family:Orbitron,Montserrat,sans-serif}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;color:#000;padding:8px}
/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:18px;padding:10px 26px;background:linear-gradient(180deg,rgba(3,8,30,.85),rgba(3,8,30,.35) 80%,transparent);transition:background .3s}
.nav.solid{background:rgba(4,10,36,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav .brand img{height:54px;width:auto}
.nav ul{list-style:none;display:flex;gap:4px;margin:0 auto;padding:0;align-items:center}
.nav li{position:relative}
.nav ul a,.nav ul button{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:600;font-size:.86rem;padding:9px 12px;border-radius:8px;background:none;border:0;cursor:pointer;font-family:inherit}
.nav ul a:hover,.nav ul button:hover{background:rgba(47,140,255,.18)}
.nav .dd{position:absolute;top:100%;left:0;min-width:220px;background:rgba(5,14,48,.97);border:1px solid var(--line);border-radius:12px;padding:8px;display:none;box-shadow:0 10px 40px rgba(0,0,0,.5),0 0 20px rgba(47,140,255,.25)}
.nav li:hover>.dd,.nav li:focus-within>.dd{display:block}
.nav .dd a{padding:8px 10px;font-weight:500}
.nav .cta{display:flex;gap:10px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:700;font-size:.85rem;color:#fff;text-decoration:none;border:2px solid var(--neon);box-shadow:0 0 14px rgba(47,140,255,.6),inset 0 0 12px rgba(47,140,255,.3);background:rgba(10,30,90,.5);white-space:nowrap;cursor:pointer;font-family:inherit}
.pill.red{border-color:#ff3b54;box-shadow:0 0 14px rgba(255,40,70,.7),inset 0 0 12px rgba(255,40,70,.35);background:linear-gradient(90deg,#b0001c,#e8132b)}
.icon-btn{background:none;border:0;color:#fff;cursor:pointer;padding:8px;border-radius:8px}
.burger{display:none}
/* HERO */
.hero{position:relative;min-height:100vh;padding:86px 20px 18px;overflow:hidden;isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:-3;background:#06102e url(hero.webp) center/cover no-repeat;transform:scale(1.04);animation:drift 30s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.1) translate(-1%,-1%)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 55% 60% at 50% 48%,rgba(3,10,40,.55),transparent 70%),linear-gradient(180deg,transparent 60%,rgba(5,11,36,.9) 92%,var(--night))}
#fx{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-in{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.logo-big{width:min(640px,92vw);height:auto;filter:drop-shadow(0 0 22px rgba(47,140,255,.55)) drop-shadow(0 8px 30px rgba(0,0,0,.6));animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-6px)}}
h1.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tag{margin:6px 0 2px;font-weight:800;letter-spacing:.32em;font-size:clamp(.72rem,1.6vw,1.12rem);text-shadow:0 0 12px rgba(0,0,0,.9),0 0 18px rgba(47,140,255,.6)}
.pillars{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-weight:800;letter-spacing:.14em;font-size:clamp(.72rem,1.4vw,.98rem);color:#ff4d63;text-shadow:0 0 10px rgba(255,40,70,.6)}
.pillars span+span::before{content:"\2022";color:#fff;margin-right:12px}
.row-cd{display:grid;grid-template-columns:auto minmax(0,320px);gap:30px;align-items:center;margin:16px auto 0}
.cd{position:relative;padding:12px 22px 16px;border-radius:18px;background:rgba(4,14,52,.62);backdrop-filter:blur(6px);border:2px solid transparent;background-clip:padding-box}
.cd::before{content:"";position:absolute;inset:-2px;border-radius:20px;padding:2px;background:linear-gradient(90deg,#ff2848,#2f8cff 35%,#00c8ff 65%,#ff2848);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 8px #2f8cff);animation:pulse 3s ease-in-out infinite}
@keyframes pulse{50%{filter:drop-shadow(0 0 16px #00c8ff)}}
.cd h2{margin:0 0 8px;font-size:clamp(.8rem,1.5vw,1.05rem);letter-spacing:.14em;color:#7fd0ff;text-shadow:0 0 10px #2f8cff}
.cells{display:flex;gap:10px;justify-content:center}
.cell{min-width:84px;padding:6px 8px 6px;border:2px solid rgba(120,190,255,.75);border-radius:10px;background:rgba(2,8,34,.75);box-shadow:inset 0 0 14px rgba(47,140,255,.35),0 0 10px rgba(47,140,255,.35)}
.cell b{display:block;font-family:Orbitron,sans-serif;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.1;transition:transform .25s}
.cell b.tick{animation:tick .35s}@keyframes tick{0%{transform:translateY(-6px);opacity:.3}}
.cell small{font-size:.66rem;letter-spacing:.14em;color:#cfe4ff;font-weight:700}
.cd .live{font-family:Orbitron,sans-serif;font-size:clamp(1.1rem,2.6vw,1.8rem);padding:16px 10px;color:#fff;text-shadow:0 0 14px #ff2848}
.cd .note{margin:6px 0 0;font-size:.78rem;color:#cfe4ff;max-width:440px}
.info{display:grid;gap:14px;text-align:left}
.info .it{display:flex;gap:14px;align-items:center}
.info .ic{flex:0 0 44px;height:44px;border-radius:10px;display:grid;place-items:center;border:2px solid #ff3b54;box-shadow:0 0 12px rgba(255,40,70,.6);color:#ff6b80;background:rgba(40,0,10,.4)}
.info b{display:block;font-size:clamp(1rem,1.9vw,1.4rem);font-weight:800;letter-spacing:.04em;line-height:1.15;text-shadow:0 0 10px rgba(0,0,0,.9)}
.info span{font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#e6f0ff}
.btns{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:20px 0 6px}
.bigbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:260px;padding:14px 22px;border-radius:12px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.06em;font-size:.95rem;text-transform:uppercase;transition:transform .2s,box-shadow .2s}
.bigbtn:hover{transform:translateY(-3px) scale(1.02)}
.bigbtn.r{background:linear-gradient(90deg,#9c0019,#e8132b);border:2px solid #ff4d63;box-shadow:0 0 18px rgba(255,40,70,.7)}
.bigbtn.b{background:rgba(8,30,100,.7);border:2px solid #4aa3ff;box-shadow:0 0 18px rgba(47,140,255,.7)}
.bigbtn.g{background:linear-gradient(90deg,#8a5a00,#c98b0b);border:2px solid var(--gold);box-shadow:0 0 18px rgba(255,194,61,.6)}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;width:100%;margin-top:16px}
.card{position:relative;display:block;aspect-ratio:1/0.82;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;border:2px solid rgba(90,170,255,.8);box-shadow:0 0 16px rgba(47,140,255,.55),inset 0 0 18px rgba(47,140,255,.25);background:#061238;transition:transform .25s,box-shadow .25s}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,8,34,.92) 85%)}
.card span{position:absolute;left:6px;right:6px;bottom:10px;z-index:1;font-weight:900;font-size:clamp(.68rem,1vw,.86rem);letter-spacing:.05em;text-transform:uppercase;line-height:1.2;text-shadow:0 2px 8px #000}
.card span i{display:block;font-style:normal;font-size:.72em;color:#9fd6ff}
.card:hover{transform:translateY(-6px) rotateX(6deg);box-shadow:0 0 28px rgba(0,200,255,.9),inset 0 0 18px rgba(47,140,255,.35)}
.card:hover img{transform:scale(1.1)}
.sig{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:22px;font-weight:700}
.sig small{font-size:.85rem;color:#dbe8ff;font-weight:600}
.sa-word{font-weight:900;font-size:1.6rem;letter-spacing:.04em;display:flex;align-items:flex-end;gap:6px}
.sa-word svg{height:26px}.sa-word em{font-style:normal;color:#7fd0ff}
.vbar{width:2px;height:44px;background:linear-gradient(#fff0,#fff,#fff0)}
.pcc{display:flex;gap:10px;align-items:center;text-align:left;line-height:1.1}
.pcc b{font-size:1rem;font-weight:900;letter-spacing:.02em;display:block}.pcc small{letter-spacing:.2em;font-size:.68rem}
.flagtri{width:44px;height:30px;border-radius:3px;background:repeating-linear-gradient(#e8132b 0 6px,#fff 6px 12px);position:relative;overflow:hidden}
.flagtri::before{content:"";position:absolute;left:0;top:0;border-left:26px solid #1c4fd8;border-top:15px solid transparent;border-bottom:15px solid transparent}
.flagtri::after{content:"\2605";position:absolute;left:4px;top:6px;font-size:13px;color:#fff}
.domain{font-weight:800;color:#bfe3ff;text-shadow:0 0 10px #2f8cff}
/* SECTIONS */
main section{position:relative;padding:90px 22px;scroll-margin-top:70px}
.wrap{max-width:1180px;margin:0 auto}
.kicker{font-family:Orbitron,sans-serif;color:var(--ocean);letter-spacing:.24em;font-size:.78rem;font-weight:700}
.h2{font-size:clamp(1.8rem,4.4vw,3.2rem);margin:.2em 0 .3em;line-height:1.05;background:linear-gradient(180deg,#fff 30%,#9fc6ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(47,140,255,.4))}
.h2 em{font-style:normal;background:linear-gradient(90deg,#ff3b54,#ff8a5b);-webkit-background-clip:text;background-clip:text}
.lead{font-size:1.08rem;color:#cfe0ff;max-width:760px}
.panel{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:22px;backdrop-filter:blur(10px);box-shadow:0 0 24px rgba(47,140,255,.15)}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.panel h3{margin:0 0 6px;font-size:1.12rem}
.panel p{margin:.3em 0;color:#d6e4ff}
.chip{display:inline-block;padding:5px 11px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;margin:3px 4px 3px 0;color:#cfe8ff;background:rgba(47,140,255,.12)}
.empty{color:#a9bde6;font-style:italic}
.sec-alt{background:linear-gradient(180deg,var(--night),#071a52 50%,var(--night))}
.sec-red::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(232,19,43,.18),transparent 60%);pointer-events:none}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(47,140,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(47,140,255,.08) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at center,#000,transparent 75%);pointer-events:none}
/* island */
.island{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:stretch}
#isle{position:relative;min-height:460px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 60%,#0a3a7a,#030a26 70%)}
#isle canvas{display:block;width:100%;height:100%;cursor:grab}
#isle .hint{position:absolute;left:12px;bottom:10px;font-size:.78rem;color:#9fd6ff;pointer-events:none}
.dest-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.dest-list button{padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(10,30,90,.6);color:#fff;font:600 .85rem Montserrat,sans-serif;cursor:pointer}
.dest-list button.on{border-color:#ff3b54;box-shadow:0 0 12px rgba(255,40,70,.6)}
#dpanel h3{font-size:1.5rem;margin:.1em 0}
/* forms */
form.f{display:grid;gap:12px}
.f label{display:grid;gap:5px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bcd6ff}
.f input,.f textarea,.f select{width:100%;padding:12px 13px;border-radius:10px;border:1px solid rgba(110,170,255,.45);background:rgba(2,8,34,.75);color:#fff;font:15px Montserrat,sans-serif}
.f input:focus,.f textarea:focus,.f select:focus{outline:2px solid var(--ocean);border-color:transparent}
.hp{position:absolute;left:-5000px}
.msg{font-size:.9rem;min-height:1.2em}.msg.ok{color:#58f0a0}.msg.err{color:#ff8a9a}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;border:2px solid #4aa3ff;color:#fff;background:rgba(8,30,100,.7);box-shadow:0 0 12px rgba(47,140,255,.5);cursor:pointer;text-decoration:none;font-family:inherit}
.btn.p{border-color:#ff4d63;background:linear-gradient(90deg,#9c0019,#e8132b);box-shadow:0 0 12px rgba(255,40,70,.6)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tabs button{padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:#fff;font:700 .82rem Montserrat,sans-serif;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.tabs button.on{background:linear-gradient(90deg,#9c0019,#e8132b);border-color:#ff4d63}
/* passport */
.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.stamp{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:14px;font-weight:800;font-size:.8rem;border:2px dashed rgba(140,190,255,.5);color:#8aa6d8}
.stamp.got{border:3px solid #ff3b54;color:#fff;background:radial-gradient(circle,rgba(232,19,43,.35),rgba(10,30,90,.6));box-shadow:0 0 18px rgba(255,40,70,.6);transform:rotate(-8deg)}
/* map */
.grounds{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#0a3d2a,#0b5236 40%,#0a3d2a);}
.grounds .pt{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;color:#fff;cursor:pointer;font:700 .72rem Montserrat,sans-serif;text-shadow:0 1px 4px #000}
.grounds .pt i{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e8132b;box-shadow:0 0 12px #ff3b54;display:block}
.mapframe{width:100%;height:340px;border:0;border-radius:16px;filter:saturate(1.1) contrast(1.05)}
.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
/* faq */
details.q{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0;background:rgba(5,14,48,.5)}
details.q summary{cursor:pointer;font-weight:700}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
/* chat */
#ask{position:fixed;right:18px;bottom:18px;z-index:60;width:62px;height:62px;border-radius:50%;border:2px solid #4aa3ff;background:radial-gradient(circle at 30% 30%,#2a7bff,#0a1a5a);box-shadow:0 0 20px rgba(47,140,255,.8);color:#fff;font-size:1.6rem;cursor:pointer}
#chat{position:fixed;right:18px;bottom:92px;z-index:61;width:min(380px,calc(100vw - 36px));max-height:70vh;display:none;flex-direction:column;border-radius:18px;overflow:hidden;border:1px solid #4aa3ff;background:rgba(4,12,44,.97);box-shadow:0 10px 50px rgba(0,0,0,.6),0 0 30px rgba(47,140,255,.4)}
#chat.on{display:flex}
#chat header{padding:12px 16px;background:linear-gradient(90deg,#0b2a7a,#7a0016);font-weight:800;display:flex;justify-content:space-between;align-items:center}
#chat .log{padding:12px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
#chat .m{padding:9px 12px;border-radius:12px;background:rgba(47,140,255,.16);max-width:88%}
#chat .m.me{align-self:flex-end;background:rgba(232,19,43,.35)}
#chat form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line)}
#chat input{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:#020820;color:#fff;font:14px Montserrat,sans-serif}
#chat .sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
#chat .sugg button{font:600 .74rem Montserrat,sans-serif;padding:6px 9px;border-radius:999px;border:1px solid var(--line);background:none;color:#cfe8ff;cursor:pointer}
/* search */
#srch{position:fixed;inset:0;z-index:70;background:rgba(2,6,24,.92);backdrop-filter:blur(8px);display:none;padding:90px 20px}
#srch.on{display:block}
#srch input{width:min(720px,100%);display:block;margin:0 auto;padding:16px 18px;font:600 1.1rem Montserrat,sans-serif;border-radius:14px;border:2px solid #4aa3ff;background:#030b30;color:#fff}
#sres{max-width:720px;margin:14px auto;display:grid;gap:8px}
#sres a{display:block;padding:12px 14px;border-radius:12px;border:1px solid var(--line);color:#fff;text-decoration:none;background:rgba(10,30,90,.5)}
/* footer */
footer{padding:50px 22px 110px;border-top:1px solid var(--line);background:#030820;font-size:.9rem;color:#b8c9ee}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:26px}
footer h4{color:#fff;margin:0 0 8px;letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}
footer a{color:#b8c9ee;text-decoration:none;display:block;padding:3px 0}footer a:hover{color:#fff}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none}.reveal{opacity:1;transform:none}.hero .bg{animation:none}html{scroll-behavior:auto}}
@media (max-width:1100px){.nav ul{display:none}.burger{display:block}.nav .cta .pill span{display:none}.nav.open ul{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:rgba(4,10,36,.98);padding:12px;margin:0;border-bottom:1px solid var(--line);max-height:80vh;overflow:auto}.nav.open .dd{position:static;display:block;border:0;box-shadow:none;background:none;padding:0 0 0 14px}.cards{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.hero .bg{background-image:url(hero-m.webp)}.nav{padding:8px 12px}.nav .brand img{height:42px}.row-cd{grid-template-columns:1fr;gap:14px}.info{justify-items:center;text-align:left}.cell{min-width:64px}.btns{gap:10px}.bigbtn{min-width:0;width:100%}.cards{grid-template-columns:repeat(2,1fr);gap:10px}.g2,.g3,.g4,.island{grid-template-columns:1fr}#isle{min-height:340px}.sig{gap:14px}.vbar{display:none}.tag{letter-spacing:.16em}main section{padding:64px 16px}footer .cols{grid-template-columns:1fr}.nav .cta .pill.blue{display:none}}

@media (max-width:760px){.pillars{gap:6px;letter-spacing:.06em;font-size:.68rem}.pillars span+span::before{margin-right:6px}.info{justify-items:stretch;padding:0 6px}.info b{font-size:1rem}.info span{font-size:.78rem;letter-spacing:.06em}.cd{padding:10px 10px 12px}.cells{gap:6px}}

@media (max-width:900px),(pointer:coarse){.hero .bg{animation:none;transform:none}.logo-big{animation:none;filter:none}.cd{backdrop-filter:none;background:rgba(4,14,52,.85)}.cd::before{animation:none;filter:none}.panel{backdrop-filter:none;background:rgba(8,20,60,.85)}.nav.solid{backdrop-filter:none}#srch{backdrop-filter:none}.card:hover{transform:none}}

.spgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.spgrid.big{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.sp{margin:0;background:rgba(255,255,255,.96);border-radius:16px;padding:16px 12px 12px;border:1px solid var(--line);box-shadow:0 0 18px rgba(47,140,255,.2);text-align:center;transition:transform .2s,box-shadow .2s}.sp:hover{transform:translateY(-4px);box-shadow:0 0 24px rgba(0,200,255,.5)}.sp a{text-decoration:none;color:inherit;display:block}.sp img{height:90px;width:100%;object-fit:contain}.sp.big img{height:130px}.sp figcaption{margin-top:10px;color:#0a1640;line-height:1.2}.sp figcaption b{display:block;font-size:.88rem}.sp figcaption span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#b0001c;font-weight:700}
