:root{--n:#0b1d36;--n2:#16345f;--a:#ffb400;--ink:#1d2733;--mute:#566274;--soft:#f4f6fa;--line:#dde3ee}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:400 17px/1.7 "Source Sans 3",system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
h1,h2,h3{font-family:Archivo,"Arial Black",sans-serif;line-height:1.15;letter-spacing:-.01em}a{color:inherit}img{max-width:100%}
.wrap{max-width:1180px;margin:auto;padding:0 20px}section{padding:84px 0}
h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:22px;color:var(--n)}h2:after{content:"";display:block;width:64px;height:5px;background:var(--a);margin-top:12px;border-radius:3px}
.dk{background:linear-gradient(135deg,var(--n),var(--n2));color:#fff}.dk h2{color:#fff}.lead{color:var(--mute);max-width:66ch;margin:-6px 0 34px;font-size:18px}.dk .lead{color:#cfd9ee}.alt{background:var(--soft)}
:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.btn{display:inline-block;padding:14px 26px;border-radius:8px;font:700 16px Archivo,sans-serif;text-decoration:none;border:2px solid transparent;position:relative;overflow:hidden;cursor:pointer}
.btn.y{background:var(--a);color:var(--n)}.btn.o{border-color:#fff;color:#fff}.btn.n{background:var(--n);color:#fff}
.btn.y:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:sh 3.4s infinite}@keyframes sh{to{left:140%}}
#pg{position:fixed;top:0;left:0;height:4px;width:0;z-index:60;background:var(--a)}
header{position:sticky;top:0;z-index:50;background:var(--n);color:#fff;border-bottom:4px solid var(--a)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:14px}
.logo{display:flex;align-items:center;gap:10px;font:800 18px Archivo,sans-serif;text-decoration:none;line-height:1.1}.logo img{height:52px;width:auto;background:#fff;border-radius:6px;padding:3px}
.logo small{display:block;font:600 10.5px "Source Sans 3";color:var(--a);margin-top:3px;letter-spacing:.05em}
nav>ul{display:flex;gap:4px;list-style:none;font-weight:600;font-size:15px}nav li{position:relative}nav li>a{display:block;padding:24px 11px;text-decoration:none;opacity:.92}nav li:hover>a,nav li>a.on{color:var(--a);opacity:1}
nav li ul{display:none;position:absolute;top:100%;left:0;min-width:250px;list-style:none;background:var(--n2);padding:8px;border-radius:0 0 12px 12px;border-top:3px solid var(--a);box-shadow:0 20px 40px rgba(0,0,0,.35)}
nav li:hover>ul,nav li:focus-within>ul{display:block}nav li ul a{padding:9px 12px;border-radius:6px;font-weight:600;font-size:14.5px}nav li ul a:hover{background:var(--n)}
.call{padding:10px 16px;font-size:15px;animation:pul 2.4s infinite;white-space:nowrap}@keyframes pul{0%{box-shadow:0 0 0 0 rgba(255,180,0,.6)}70%,100%{box-shadow:0 0 0 14px rgba(255,180,0,0)}}
.mb{display:none;background:none;border:2px solid #fff;color:#fff;border-radius:6px;font-size:22px;width:44px;height:40px;cursor:pointer}
main{animation:pe .9s cubic-bezier(.2,.8,.2,1) both}@keyframes pe{from{opacity:0;transform:perspective(1100px) rotateX(7deg) translateY(36px)}}
.hero{position:relative;min-height:calc(100vh - 76px);min-height:calc(100svh - 76px);display:flex;align-items:center;overflow:hidden;color:#fff;padding:40px 0;background:linear-gradient(180deg,#0b1d36 0%,#16345f 50%,#e0a020 100%)}
#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%}
.sun{position:absolute;right:14%;top:20%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#fff6d6,#ffd06b 50%,rgba(255,180,0,0) 70%)}
.hero .txt{position:relative;z-index:2;max-width:640px;pointer-events:none}.hero .txt a{pointer-events:auto}
.hero h1{font-size:clamp(34px,5.6vw,66px);font-weight:800;text-shadow:0 6px 30px rgba(0,0,0,.4)}
.rot{display:inline-block;color:var(--a);transform-origin:50% 100%;transition:transform .32s,opacity .32s}.rot.out{transform:rotateX(-90deg);opacity:0}
.tag{display:inline-block;margin:18px 0 8px;padding:9px 18px;border-radius:40px;font:800 clamp(15px,2.2vw,20px) Archivo,sans-serif;background:var(--a);color:var(--n);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.hero p{font-size:19px;color:#e6ecf8;margin:10px 0 26px;text-shadow:0 2px 14px rgba(0,0,0,.45)}.cta{display:flex;gap:12px;flex-wrap:wrap}
.ph{position:relative;color:#fff;overflow:hidden;padding:72px 0 64px;background:linear-gradient(120deg,var(--n),var(--n2));border-bottom:6px solid var(--a)}
.ph .g{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;position:relative;z-index:2}
.ph h1{font-size:clamp(30px,4.8vw,54px);font-weight:800}.ph p{color:#d5def0;margin-top:14px;max-width:56ch}.ph .cta{margin-top:24px}
.crumb{font-size:14px;color:#aebbd6;margin-bottom:12px}.crumb a{text-decoration:none;color:var(--a)}
.cubes{position:absolute;inset:0;perspective:900px;pointer-events:none;z-index:1;overflow:hidden}
.cube{position:absolute;width:var(--s);height:var(--s);transform-style:preserve-3d;animation:cs var(--d) linear infinite,flo 5s ease-in-out infinite alternate}
.cube i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 42%,rgba(11,29,54,.55) 42% 58%,transparent 58%),var(--a);border:2px solid #c98a00;opacity:.9}
.cube i:nth-child(1){transform:translateZ(calc(var(--s)/2))}.cube i:nth-child(2){transform:rotateY(90deg) translateZ(calc(var(--s)/2))}.cube i:nth-child(3){transform:rotateY(180deg) translateZ(calc(var(--s)/2))}.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--s)/2))}.cube i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--s)/2))}.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--s)/2))}
@keyframes cs{from{transform:rotateX(-22deg) rotateY(0)}to{transform:rotateX(338deg) rotateY(360deg)}}@keyframes flo{to{translate:0 -12px}}
.pic{border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 30px 60px rgba(11,29,54,.35)}.pic img{display:block;width:100%;height:auto;aspect-ratio:1024/559;object-fit:cover}
.band{background:var(--a);color:var(--n);overflow:hidden;white-space:nowrap;padding:14px 0;font:800 18px Archivo,sans-serif}.band div{display:inline-block;animation:mq 32s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}.band span{margin:0 26px}
[data-tilt]{position:relative;transition:transform .25s ease-out,box-shadow .25s;transform-style:preserve-3d;will-change:transform}
[data-tilt]:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 55%)}[data-tilt]:hover:after{opacity:1}
.js .rv{opacity:0;transform:perspective(900px) rotateX(18deg) translateY(50px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}.js .rv.in{opacity:1;transform:none}.dp{perspective:1200px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:24px}
.tile{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;margin-bottom:14px;background:var(--a);color:var(--n);font:800 20px Archivo;box-shadow:0 10px 18px rgba(255,180,0,.4)}
.flip{display:block;height:250px;perspective:1100px;text-decoration:none}.flip>div{position:relative;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.flip:hover>div,.flip:focus>div{transform:rotateY(180deg)}
.flip .f,.flip .b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;padding:26px;display:flex;flex-direction:column;justify-content:center}
.flip .f{background:#fff;border-top:5px solid var(--a);box-shadow:0 14px 30px rgba(11,29,54,.14);color:var(--n)}.flip .f h3{font-size:21px}
.flip .b{background:linear-gradient(145deg,var(--n),var(--n2));color:#fff;transform:rotateY(180deg)}.flip .b h3{color:var(--a);font-size:19px;margin-bottom:6px}.flip .b p{color:#d4def0;font-size:15.5px;line-height:1.5}.flip .b b{color:var(--a);margin-top:10px;font-family:Archivo;font-size:15px}
.card{display:block;text-decoration:none;padding:26px;border-radius:14px;border-top:5px solid var(--a);background:#fff;box-shadow:0 12px 28px rgba(11,29,54,.12)}.card h3{font-size:20px;margin-bottom:8px;color:var(--n)}.card p{color:var(--mute);font-size:16px}.card b{display:block;margin-top:10px;color:var(--n);font-family:Archivo}
.feat{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding:34px 0}.feat.rev .dp{order:2}.feat h3{font-size:clamp(24px,3vw,34px);margin-bottom:12px;color:var(--n)}.feat p{color:var(--mute);margin-bottom:12px}
.ul{list-style:none;margin:12px 0 18px}.ul li{padding:6px 0 6px 30px;position:relative}.ul li:before{content:"";position:absolute;left:2px;top:13px;width:14px;height:14px;background:var(--a);transform:rotate(45deg);border-radius:3px}
.chips{display:flex;flex-wrap:wrap;gap:12px}.chip{padding:11px 20px;border-radius:40px;font:700 15px Archivo;background:var(--a);color:var(--n);box-shadow:0 8px 20px rgba(0,0,0,.25);text-decoration:none}.chip.n{background:var(--n);color:#fff}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;list-style:none}
.steps li{counter-increment:s;padding:24px;border-radius:14px;background:#fff;color:var(--ink);border-top:5px solid var(--n);box-shadow:0 12px 26px rgba(11,29,54,.1)}
.steps li:before{content:counter(s);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--a);color:var(--n);font:800 18px Archivo;margin-bottom:10px}.steps b{display:block;font-family:Archivo;margin-bottom:4px;color:var(--n)}
.prom{perspective:1200px;display:grid;place-items:center;height:250px}.prism{--w:min(340px,78vw);width:var(--w);height:200px;position:relative;transform-style:preserve-3d;animation:pr 16s ease-in-out infinite}
.prism div{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;font:800 clamp(22px,3vw,30px) Archivo;background:linear-gradient(135deg,var(--n),var(--n2));color:var(--a);border:3px solid var(--a);border-radius:14px;backface-visibility:hidden;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.prism div:nth-child(1){transform:translateZ(calc(var(--w)/2))}.prism div:nth-child(2){transform:rotateY(90deg) translateZ(calc(var(--w)/2))}.prism div:nth-child(3){transform:rotateY(180deg) translateZ(calc(var(--w)/2))}.prism div:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--w)/2))}
@keyframes pr{0%,20%{transform:rotateY(0)}25%,45%{transform:rotateY(-90deg)}50%,70%{transform:rotateY(-180deg)}75%,95%{transform:rotateY(-270deg)}100%{transform:rotateY(-360deg)}}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:30px}figure{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(11,29,54,.18)}figure img{display:block;width:100%;height:auto;aspect-ratio:1024/559;object-fit:cover;transition:transform .6s}figure:hover img{transform:scale(1.07)}
figcaption{padding:18px 20px;border-top:5px solid var(--a)}figcaption h3{font-size:19px;margin-bottom:6px;color:var(--n)}figcaption p{color:var(--mute);font-size:15.5px}
details{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}summary{padding:16px 18px;font:700 17px Archivo;cursor:pointer;color:var(--n)}details p{padding:0 18px 16px;color:var(--mute)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.box{background:#fff;border-radius:14px;padding:26px;border-top:5px solid var(--a);box-shadow:0 12px 28px rgba(11,29,54,.1)}.box.d{border-top-color:var(--n)}.box h3{margin-bottom:10px;color:var(--n)}
.chk{list-style:none}.chk li{padding:7px 0 7px 34px;position:relative}.chk li:before{content:"";position:absolute;left:2px;top:11px;width:18px;height:18px;border:2px solid var(--n);border-radius:4px}
.cta2{text-align:center;background:var(--a);color:var(--n)}.cta2 h2{color:var(--n)}.cta2 h2:after{margin:12px auto 0;background:var(--n)}.cta2 .cta{justify-content:center}
.fm{background:#fff;color:var(--ink);padding:28px;border-radius:14px;box-shadow:0 20px 44px rgba(11,29,54,.25)}.fm h3{color:var(--n);margin-bottom:6px}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 4px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}.fm .btn{width:100%;margin-top:18px}
.map ul{columns:2;list-style:none}.map a{text-decoration:none;color:var(--n);font-weight:600}.map h3{margin:20px 0 6px;color:var(--n)}
footer{background:#071326;color:#a5b4c9;font-size:15px;padding:54px 0 100px;border-top:6px solid var(--a)}footer .cols{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px}footer h4{color:var(--a);font-family:Archivo;margin-bottom:10px}footer a{display:block;text-decoration:none;padding:3px 0}footer a:hover{color:var(--a)}footer small{display:block;margin-top:28px}
.float{position:fixed;right:14px;bottom:14px;display:flex;flex-direction:column;gap:10px;z-index:45}.float a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:800 14px Archivo;text-decoration:none;box-shadow:0 8px 18px rgba(0,0,0,.4)}
@media(max-width:1200px){.mb{display:block}nav{position:absolute;top:72px;left:0;right:0;background:var(--n);display:none;padding:6px 20px 20px;max-height:80vh;overflow:auto}nav.open{display:block}nav>ul{flex-direction:column}nav li>a{padding:11px 4px}nav li ul{display:block;position:static;background:none;box-shadow:none;border:0;padding:0 0 4px 14px}.call{display:none}}
@media(max-width:860px){.ph .g,.feat,.two{grid-template-columns:1fr}.feat.rev .dp{order:0}section{padding:60px 0}.sun{width:110px;height:110px}.map ul{columns:1}}
@media(hover:none){.flip{height:auto}.flip>div{transform:none!important;transform-style:flat}.flip .f{display:none}.flip .b{position:relative;transform:none;backface-visibility:visible}}
@media(prefers-reduced-motion:reduce){.band div,.btn.y:after,.call,main,.prism{animation:none}[data-tilt]{transform:none!important}}
.rate{overflow-x:auto;border-radius:14px;box-shadow:0 14px 34px rgba(11,29,54,.14);background:#fff}.rate table{width:100%;border-collapse:collapse;min-width:560px}.rate th{background:var(--n);color:var(--a);text-align:left;padding:16px 18px;font-family:Archivo}.rate td{padding:15px 18px;border-top:1px solid var(--line)}.rate tr:nth-child(even) td{background:var(--soft)}.rate td.r{font:800 17px Archivo;color:var(--n);white-space:nowrap}.rate tbody tr:hover td{background:#fff6dd}

.hero{background:linear-gradient(135deg,#0b1d36,#16345f 60%,#1f4a85)}.hg{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center;position:relative;z-index:2}.hero .txt{pointer-events:auto;max-width:none}
.hp{perspective:1400px}.hp3{position:relative;transform-style:preserve-3d}.hp3 .pic{border-width:5px}
.fl{position:absolute;padding:10px 18px;border-radius:30px;font:800 15px Archivo;background:var(--a);color:var(--n);box-shadow:0 12px 26px rgba(0,0,0,.4);transform:translateZ(70px);animation:flo 3.6s ease-in-out infinite alternate}.fl.a{top:-16px;left:-14px}.fl.b{bottom:-16px;right:-14px;background:#fff;animation-delay:-1.8s}
.lg{padding:10px 16px;font-size:15px;border-color:var(--a);color:var(--a)}.lg:hover{background:var(--a);color:var(--n)}
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.vc video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#000}
.tn{position:fixed;left:14px;bottom:14px;z-index:45;background:var(--n);color:var(--a);border:2px solid var(--a);border-radius:30px;padding:10px 16px;font:800 14px Archivo;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.4)}
@media(max-width:940px){.hg{grid-template-columns:1fr}.hero{padding:50px 0}.lg{display:none}}

.gb{text-align:left}.r5{font:800 44px Archivo;color:var(--n)}.r5 span{margin-right:8px}.r5,.r5s{letter-spacing:2px}.r5s{color:var(--a);font-size:20px;margin-bottom:6px}.r5{color:var(--n)}.r5 {text-shadow:0 0 0 var(--a)}
.gmap iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:14px;box-shadow:0 14px 34px rgba(11,29,54,.18)}

/* ===== more 3D ===== */
.hero h1{text-shadow:0 1px 0 #c98a00,0 2px 0 #b57c00,0 3px 0 #a06d00,0 4px 0 #8b5f00,0 5px 0 #765000,0 16px 26px rgba(0,0,0,.55)}.ph h1{text-shadow:0 1px 0 #0a1428,0 2px 0 #08101f,0 3px 0 #060c18,0 10px 18px rgba(0,0,0,.45)}
.hero .txt{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out;transform-style:preserve-3d}.hero .tag{transform:translateZ(40px)}.hero .cta{transform:translateZ(60px)}
.hero .cubes.big{transform:translate3d(calc(var(--px,0px)*-1),calc(var(--py,0px)*-1),0);transition:transform .3s ease-out}.hero .hp3{transform:perspective(1200px) rotateX(calc(var(--rx,0deg)*.6)) rotateY(calc(var(--ry,0deg)*.6))}
.btn{transition:transform .2s,box-shadow .2s}.btn:hover{transform:perspective(500px) translateY(-3px) rotateX(10deg);box-shadow:0 14px 24px rgba(0,0,0,.35)}
.card h3,.card p,.card b{transform:translateZ(26px)}.flip .f .tile{transform:translateZ(46px)}.box h3{transform:translateZ(18px)}
.rate{perspective:900px}.rate tbody tr{transition:transform .25s}.rate tbody tr:hover{transform:rotateX(-5deg) translateZ(12px)}
.js .feat.rv{transform:perspective(1100px) rotateY(-16deg) translateX(-50px)}.js .feat.rev.rv{transform:perspective(1100px) rotateY(16deg) translateX(50px)}.js .feat.rv.in{transform:none}
.obox{perspective:1100px;height:340px;display:grid;place-items:center}
.bx{--s:170px;position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;transform:rotateX(-26deg) rotateY(-28deg);animation:bxr 16s linear infinite}
@keyframes bxr{to{transform:rotateX(-26deg) rotateY(332deg)}}
.bx>i,.bx>b{position:absolute;left:0;top:0;width:var(--s);height:var(--s);background:linear-gradient(90deg,transparent 44%,rgba(11,29,54,.5) 44% 56%,transparent 56%),#e7a600;border:2px solid #b47d00;display:block}
.bx .fc{transform:translateZ(calc(var(--s)/2))}.bx .bk{transform:rotateY(180deg) translateZ(calc(var(--s)/2))}.bx .lf{transform:rotateY(-90deg) translateZ(calc(var(--s)/2))}.bx .rt{transform:rotateY(90deg) translateZ(calc(var(--s)/2))}.bx .bt{transform:rotateX(-90deg) translateZ(calc(var(--s)/2));background:#c98a00}
.bx .fp{height:calc(var(--s)/2);top:calc(var(--s)/-2);transform-origin:50% 100%;background:linear-gradient(90deg,transparent 44%,rgba(11,29,54,.4) 44% 56%,transparent 56%),#f2b700;transition:transform 1.4s cubic-bezier(.3,.8,.2,1)}
.bx .f1{transform:translateZ(calc(var(--s)/2)) rotateX(90deg)}.bx .f2{transform:rotateY(180deg) translateZ(calc(var(--s)/2)) rotateX(90deg)}.bx .f3{transform:rotateY(-90deg) translateZ(calc(var(--s)/2)) rotateX(90deg)}.bx .f4{transform:rotateY(90deg) translateZ(calc(var(--s)/2)) rotateX(90deg)}
.obox.open .f1{transform:translateZ(calc(var(--s)/2)) rotateX(-112deg)}.obox.open .f2{transform:rotateY(180deg) translateZ(calc(var(--s)/2)) rotateX(-112deg)}.obox.open .f3{transform:rotateY(-90deg) translateZ(calc(var(--s)/2)) rotateX(-112deg)}.obox.open .f4{transform:rotateY(90deg) translateZ(calc(var(--s)/2)) rotateX(-112deg)}
.bx .gem{position:absolute;left:calc(var(--s)*.32);top:calc(var(--s)*.5);width:calc(var(--s)*.36);height:calc(var(--s)*.36);background:var(--n);border:3px solid #fff;border-radius:8px;transform:translateZ(0) translateY(0);transition:transform 1.4s .5s cubic-bezier(.3,.8,.2,1)}.obox.open .gem{transform:translateY(calc(var(--s)*-.9)) rotateY(360deg)}
@media(prefers-reduced-motion:reduce){.bx{animation:none}.hero .txt,.hero .cubes.big{transform:none!important}}

nav li>a{white-space:nowrap;padding:24px 9px;font-size:14.5px}.logo{white-space:nowrap}.logo small{white-space:nowrap}
header .wrap{max-width:1360px}.nav{gap:10px}.logo{font-size:16.5px}nav li>a{padding:24px 7px;font-size:14px}.call,.lg{padding:9px 13px;font-size:14px}nav>ul{gap:0}
