*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#0a0b0d}
html{scroll-behavior:smooth;scroll-padding-top:84px}
a,button{-webkit-tap-highlight-color:transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:8px;border:3px solid #0a0b0d}
::-webkit-scrollbar-track{background:#0a0b0d}
img{display:block;max-width:100%}
::selection{background:#E0B66B;color:#0a0b0d}
input,textarea{font-family:inherit}
.ct-rail{scrollbar-width:none;-ms-overflow-style:none}
.ct-rail::-webkit-scrollbar{display:none}
@keyframes ctrise{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes ctdrift{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.1) translate(-1.4%,-1%)}}
@keyframes ctglow{0%,100%{opacity:.5}50%{opacity:.9}}
@keyframes ctpip{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.12);opacity:1}}
@keyframes ctscroll{0%{transform:translateY(-2px);opacity:0}30%{opacity:1}100%{transform:translateY(14px);opacity:0}}
@keyframes ctring{0%{transform:scale(.5);opacity:.8}100%{transform:scale(2.6);opacity:0}}
@keyframes ctsheen{0%{background-position:-160% 0}55%,100%{background-position:260% 0}}
@keyframes ctmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ctken{from{transform:scale(1.12)}to{transform:scale(1.2)}}
.ctbtn{transition:transform .25s ease,box-shadow .25s ease!important}
.ctbtn:hover{transform:translateY(-3px)!important;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 16px 38px rgba(0,0,0,.6)!important}
#contact input:focus,#contact textarea:focus{box-shadow:inset 0 0 0 2px var(--accent,#E0B66B)!important;background:rgba(255,255,255,.1)!important;outline:none}
.ctnav{transition:color .25s ease}
.ctnav:hover{color:var(--accent,#E0B66B)!important}
.ctget{transition:transform .25s ease,box-shadow .25s ease}
.ctget:hover{transform:translateY(-3px)!important;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 16px 38px rgba(0,0,0,.6)!important}
.ctcard{background:#101218;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}
.ctcard:hover{transform:translateY(-10px)!important;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 42px 88px rgba(0,0,0,.62)!important}
.ctcard img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.ctcard:hover img{transform:scale(1.08)}
@media (max-width:820px){
.ct-stack{grid-template-columns:1fr!important;gap:26px!important}
#app{justify-content:flex-start!important}
.ct-navget{display:none!important}
/* Mobile dropdown sheet — always laid out (position:fixed) but hidden until .ct-open, so it can fade/slide in */
.ct-navlinks{display:flex!important;flex-direction:column;align-items:stretch!important;gap:3px!important;position:fixed;top:64px;left:0;right:0;z-index:95;padding:10px 14px 16px;background:rgba(12,13,16,.96);backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 26px 50px -12px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .26s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility .3s}
.ct-navlinks.ct-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.ct-navlinks a{display:flex!important;align-items:center;width:100%;padding:12px 14px!important;font-size:15px!important;font-weight:500!important;letter-spacing:-.01em;color:rgba(255,255,255,.82)!important;text-decoration:none!important;border-radius:12px;transition:background .2s ease,color .2s ease}
.ct-navlinks a:hover,.ct-navlinks a:active{background:rgba(255,255,255,.06)!important;color:#fff!important}
.ct-navlinks .ct-menuget{justify-content:center;gap:8px;margin-top:9px;padding:14px!important;font-size:14.5px!important;font-weight:700!important;color:#0a0b0d!important;background:var(--accent,#E0B66B)!important;border-radius:999px;box-shadow:0 12px 28px rgba(224,182,107,.26);transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s ease}
.ct-navlinks .ct-menuget:hover,.ct-navlinks .ct-menuget:active{color:#0a0b0d!important;background:#e9c585!important;transform:translateY(-1px)}
.ct-burger{display:inline-flex!important}
nav{padding-left:22px!important;padding-right:22px!important}
#contact .ct-stack>div{position:static!important}
}

/* social icon hover (footer) */
footer a[aria-label]:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.6)!important}
/* contact input/textarea hover */
#contact input:hover,#contact textarea:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.34)}
/* ===================================================================
   Brand lockup — pixel-matched to the tour splash (#intro-screen .brand)
   =================================================================== */
.ct-brand{display:flex;align-items:center;gap:12px}
.ct-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}
.ct-logo__mark{height:18.5px;width:auto;display:block;flex:none}
.ct-logo__wm{font-size:19px;letter-spacing:-.022em;line-height:1;white-space:nowrap}
.ct-brand__beta{font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:3px 4px 3px 7px;border-radius:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26)}

/* Reveal-on-scroll: hide the pre-animation baseline ONLY when JS is active, so
   content never stays invisible if JS fails — and never "pops" (flash to 0). */
.ct-js [data-reveal]:not([data-shown]){opacity:0}
@media (prefers-reduced-motion:reduce){.ct-js [data-reveal]{opacity:1!important;animation:none!important;transform:none!important}}

/* Mobile: tighter side margins (matches tour --mx:18px) + splash logo sizing */
@media (max-width:600px){
.ct-logo__mark{height:17px!important}
.ct-logo__wm{font-size:17px!important}
.ct-brand__beta{display:none!important}
.ct-sec{padding-left:18px!important;padding-right:18px!important}
.ct-railpad{padding-left:18px!important;padding-right:18px!important}
.ct-hero{padding-left:18px!important;padding-right:18px!important}
.ct-social{width:100%!important;justify-content:center!important}
}

/* Skip-to-content link — visible only on keyboard focus */
.ct-skip{position:absolute;left:-9999px;top:8px;z-index:1100;background:var(--accent,#E0B66B);color:#0a0b0d;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;text-decoration:none}
.ct-skip:focus{left:8px}
