
:root{
  --cream:#f5f0e6;
  --navy:#0a1830;
  --blue:#2f80ed;
  --sky:#55c7ff;
  --coral:#ff6b57;
  --violet:#7057d8;
  --ink:#131820;
  --line:#16213a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Manrope",sans-serif;overflow-x:hidden}
a{color:inherit}
img{max-width:100%}
.page-noise{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(#111 0.6px,transparent .6px);background-size:5px 5px;mix-blend-mode:multiply;z-index:90}
.side-rail{position:fixed;left:0;top:0;bottom:0;width:150px;background:var(--navy);color:white;border-right:3px solid var(--line);z-index:40;display:flex;flex-direction:column;align-items:center;padding:22px 14px}
.rail-logo{text-decoration:none;text-align:center}.rail-logo span{display:grid;place-items:center;width:64px;height:64px;border:2px solid #fff;border-radius:50%;font:700 22px "Space Mono"}.rail-logo small{display:block;margin-top:10px;font:700 9px/1.25 "Space Mono";letter-spacing:.08em}
.rail-nav{display:grid;gap:22px;margin:auto 0}.rail-nav a{display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;text-decoration:none;color:#b8c4d8;writing-mode:vertical-rl;transform:rotate(180deg);font:700 10px "Space Mono";letter-spacing:.06em}.rail-nav a:hover{color:var(--sky)}
.rail-nav b{color:var(--coral)}.rail-bottom{font:700 8px "Space Mono";writing-mode:vertical-rl;transform:rotate(180deg);color:#8ca0bd}
.mobile-header{display:none}
.site-main,.footer{margin-left:150px}
.intro{min-height:100vh;position:relative;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-bottom:3px solid var(--line)}
.flight-path{position:absolute;inset:0;pointer-events:none}.flight-path svg{width:100%;height:100%}.flight-path path{fill:none;stroke:var(--blue);stroke-width:3;stroke-dasharray:10 14;stroke-linecap:round;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-600}}
.intro-copy{padding:9vw 6vw 7vw;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}
.tiny-label,.ticket-code,.contact-kicker,.services-label{font:700 10px "Space Mono";letter-spacing:.12em}
.intro h1{font:400 clamp(92px,12vw,190px)/.76 "Bebas Neue";letter-spacing:.005em;margin:26px 0 30px;text-transform:uppercase}
.intro h1 span{color:var(--blue);-webkit-text-stroke:2px var(--ink);text-shadow:7px 7px 0 var(--coral)}
.intro-copy p{font-size:22px;line-height:1.45;max-width:640px}
.intro-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.pill{padding:13px 18px;border-radius:999px;border:2px solid var(--ink);font:700 11px "Space Mono";text-decoration:none}.pill.dark{background:var(--ink);color:white}.pill.line:hover{background:var(--sky)}
.intro-object{background:var(--blue);position:relative;display:grid;place-items:center;padding:60px;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%,0 14%)}
.passport{width:min(440px,80%);aspect-ratio:.72;background:var(--navy);color:#fff;border:3px solid #fff;border-radius:26px;padding:22px;box-shadow:16px 16px 0 rgba(10,24,48,.35);transform:rotate(5deg);animation:passportFloat 5.5s ease-in-out infinite}
@keyframes passportFloat{50%{transform:translateY(-10px) rotate(1deg)}}
.passport-top,.passport-meta{display:flex;justify-content:space-between;font:700 9px "Space Mono";letter-spacing:.08em}.passport img{display:block;width:145px;margin:60px auto 35px;border-radius:28px}.passport-title{font:400 72px/.78 "Bebas Neue";letter-spacing:.03em}.passport-meta{margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,.45)}.passport-meta b{color:var(--sky)}
.stamp{position:absolute;border:3px solid var(--ink);background:var(--cream);font:700 12px/1.1 "Space Mono";border-radius:50%;display:grid;place-items:center;text-align:center}.stamp-a{width:120px;height:120px;left:6%;top:14%;transform:rotate(-18deg);background:var(--coral)}.stamp-b{width:92px;height:92px;right:5%;bottom:12%;transform:rotate(14deg);background:var(--cream)}
.about{padding:80px 5vw;border-bottom:3px solid var(--line)}.section-ticket{background:#fff;border:3px solid var(--line);padding:34px;max-width:900px;position:relative;box-shadow:12px 12px 0 var(--blue);clip-path:polygon(0 0,96% 0,100% 18%,100% 100%,4% 100%,0 82%)}.section-ticket h2{font:400 clamp(70px,9vw,135px)/.82 "Bebas Neue";margin:16px 0}.section-ticket p{font-size:20px;max-width:650px;line-height:1.5}
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.note-card{border:3px solid var(--line);background:var(--cream);min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;transform:rotate(-1deg);transition:.35s}.note-card:nth-child(2){transform:rotate(1.6deg)}.note-card:hover{transform:translateY(-8px) rotate(0)}.note-card.accent{background:var(--coral)}.note-kicker{font:700 9px "Space Mono";letter-spacing:.1em}.note-card h3{font:800 30px/1.1 "Manrope";margin:10px 0}.note-card p{font-size:16px;line-height:1.55}
.app-section{padding:85px 5vw;background:#fff;border-bottom:3px solid var(--line)}.app-title-block{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-ticket.mini{box-shadow:8px 8px 0 var(--violet);max-width:none;display:inline-block}.section-ticket.mini h2{font-size:100px;margin:8px 0 0}.store-link{font:700 10px "Space Mono";padding-bottom:5px;border-bottom:2px solid var(--ink);text-decoration:none}
.app-intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;margin-top:45px;align-items:stretch}.app-copy{border:3px solid var(--line);padding:34px;background:var(--cream)}.lead{font:800 34px/1.18 "Manrope";margin:0 0 50px}.app-points{display:grid;gap:0;border-top:2px solid var(--line)}.app-points div{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.app-points b{font:700 10px "Space Mono";color:var(--blue)}.app-points span{font-size:16px;line-height:1.45}
.screen-stage{position:relative;min-height:820px;background:var(--navy);overflow:hidden;border:3px solid var(--line)}.shot{position:absolute;width:245px;margin:0;background:#fff;border:3px solid var(--cream);box-shadow:10px 10px 0 rgba(0,0,0,.35);transition:transform .4s ease}.shot img{display:block;width:100%}.s1{left:8%;top:130px;transform:rotate(-8deg);z-index:2}.s2{left:37%;top:55px;transform:rotate(3deg);z-index:3}.s3{right:5%;top:180px;transform:rotate(9deg);z-index:1}.screen-stage:hover .s1{transform:translate(-10px,10px) rotate(-12deg)}.screen-stage:hover .s2{transform:translateY(-15px) rotate(0deg)}.screen-stage:hover .s3{transform:translate(10px,8px) rotate(13deg)}
.boarding-tag{position:absolute;left:22px;bottom:22px;background:var(--sky);border:3px solid #fff;color:var(--navy);padding:12px 16px;font:700 11px "Space Mono";letter-spacing:.08em;transform:rotate(-2deg)}
.app-banner{margin-top:24px;border:3px solid var(--line);padding:8px;background:var(--cream)}.app-banner img{display:block;width:100%}
.services{padding:90px 5vw;background:var(--cream);border-bottom:3px solid var(--line)}.services-heading h2{font:400 clamp(86px,11vw,165px)/.76 "Bebas Neue";margin:20px 0 50px;text-transform:uppercase}.service-stack{display:grid;gap:16px}.service-ticket{display:grid;grid-template-columns:80px 1fr 130px;gap:26px;align-items:center;padding:28px;border:3px solid var(--line);background:#fff;position:relative}.service-ticket:before,.service-ticket:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--cream);top:50%;transform:translateY(-50%)}.service-ticket:before{left:-14px;border-right:3px solid var(--line)}.service-ticket:after{right:-14px;border-left:3px solid var(--line)}.service-index{font:400 58px "Bebas Neue";color:var(--coral)}.service-ticket h3{font-size:30px;margin:0 0 7px}.service-ticket p{margin:0;font-size:16px;line-height:1.5;color:#4d5561}.service-type{font:700 10px "Space Mono";justify-self:end;border:2px solid var(--ink);padding:8px 10px}
.quote-band{display:grid;grid-template-columns:160px 1fr;background:var(--sky);border-bottom:3px solid var(--line)}.quote-airplane{display:grid;place-items:center;font-size:54px;border-right:3px solid var(--line);animation:planeBob 2.8s ease-in-out infinite}@keyframes planeBob{50%{transform:translate(10px,-6px)}}.quote-band p{font:800 clamp(42px,5.2vw,76px)/1.02 "Manrope";letter-spacing:-.04em;margin:0;padding:55px}
.contact{padding:90px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-bottom:3px solid var(--line)}.contact-left h2{font:400 clamp(90px,11vw,160px)/.75 "Bebas Neue";margin:18px 0 25px;text-transform:uppercase}.contact-left p{font-size:20px;line-height:1.5;max-width:620px}.contact-board{border:3px solid var(--line);background:var(--navy);color:white;padding:30px;box-shadow:14px 14px 0 var(--coral)}.contact-row{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.35)}.contact-row span{font:700 9px "Space Mono";color:var(--sky)}.contact-row strong,.contact-row a{font-size:17px;line-height:1.5;text-decoration:none}.contact-button{display:block;margin-top:26px;background:var(--sky);color:var(--navy);padding:15px;text-align:center;text-decoration:none;font:700 11px "Space Mono";border:2px solid white}
.footer{background:var(--navy);color:white}.footer-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;padding:36px 5vw;border-bottom:1px solid rgba(255,255,255,.25);align-items:end}.footer-brand{font:400 62px/.8 "Bebas Neue"}.footer-route,.footer-links{font:700 9px "Space Mono";letter-spacing:.08em}.footer-links{display:flex;gap:18px}.footer-links a{text-decoration:none}.footer-code{padding:12px 5vw;font:700 8px "Space Mono";color:#8293aa}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

/* Privacy */
.policy-wrap{margin-left:150px;min-height:100vh;background:var(--cream);padding:60px 6vw 100px}
.policy-header{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;border-bottom:3px solid var(--line);padding-bottom:28px}.policy-header h1{font:400 clamp(90px,12vw,170px)/.75 "Bebas Neue";margin:0}.policy-header a{font:700 10px "Space Mono";text-decoration:none;border:2px solid var(--ink);padding:10px 12px}
.policy-lead{font:800 28px/1.35 "Manrope";max-width:850px;margin:42px 0}
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.policy-card{border:3px solid var(--line);background:#fff;padding:26px;min-height:230px}.policy-card h2{font:700 10px "Space Mono";color:var(--blue);letter-spacing:.08em;margin:0 0 15px}.policy-card p{font-size:17px;line-height:1.6;margin:0;color:#414853}.policy-card a{font-weight:800}.policy-card.wide{grid-column:1/-1}
.policy-footer{margin-top:34px;padding-top:18px;border-top:3px solid var(--line);font:700 9px "Space Mono"}

@media(max-width:1000px){
  .side-rail{display:none}.mobile-header{display:flex;position:sticky;top:0;z-index:50;height:66px;background:var(--navy);color:white;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:3px solid var(--line)}.mobile-header a{text-decoration:none;font-weight:800}.menu-button{background:transparent;border:1px solid rgba(255,255,255,.5);color:white;padding:8px 10px;font-size:18px}
  .site-main,.footer,.policy-wrap{margin-left:0}
  .intro{grid-template-columns:1fr}.intro-object{min-height:650px}
  .about-grid{grid-template-columns:1fr}
  .app-intro-grid{grid-template-columns:1fr}.screen-stage{min-height:720px}
  .contact{grid-template-columns:1fr}
}
@media(max-width:650px){
  .intro-copy{padding:70px 20px}.intro h1{font-size:88px}.intro h1 span{text-shadow:4px 4px 0 var(--coral);-webkit-text-stroke:1px var(--ink)}.intro-copy p{font-size:18px}.intro-object{padding:28px;min-height:520px}.passport{width:88%}.passport img{width:105px;margin:40px auto 25px}.passport-title{font-size:54px}.stamp-a{width:90px;height:90px}.stamp-b{width:72px;height:72px}
  .about,.app-section,.services,.contact{padding:55px 20px}.section-ticket{padding:24px}.section-ticket h2{font-size:72px}.section-ticket.mini h2{font-size:70px}.app-title-block{align-items:start;flex-direction:column}.lead{font-size:27px}
  .screen-stage{min-height:610px}.shot{width:180px}.s1{left:0}.s2{left:29%}.s3{right:-10px}.boarding-tag{font-size:8px}
  .services-heading h2{font-size:78px}.service-ticket{grid-template-columns:55px 1fr}.service-type{grid-column:2;justify-self:start}.service-index{font-size:44px}
  .quote-band{grid-template-columns:1fr}.quote-airplane{border-right:0;border-bottom:3px solid var(--line);padding:18px}.quote-band p{padding:30px 20px;font-size:40px}
  .contact-left h2{font-size:84px}.contact-row{grid-template-columns:90px 1fr}.footer-strip{grid-template-columns:1fr}.footer-brand{font-size:52px}
  .policy-wrap{padding:40px 20px 70px}.policy-header{grid-template-columns:1fr}.policy-header h1{font-size:88px}.policy-grid{grid-template-columns:1fr}.policy-card.wide{grid-column:auto}
}
