:root{--snow:#FFFFFF;--graphite:#22252A;--emerald:#0F8A5F;--lemon:#F2D543;--mint:#E3F4EC;--font-head:'Space Grotesk',sans-serif;--font-mono:'JetBrains Mono',monospace;--font-body:'Nunito Sans',sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--mint);color:var(--graphite);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-head);margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--lemon);outline-offset:2px}[data-ely-line][hidden],[hidden]{display:none!important}.site-header{position:sticky;top:0;z-index:50;background:var(--graphite);color:var(--snow)}.header-inner{max-width:1180px;margin:0 auto;padding:.7rem 1.2rem;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.brand-mark img{width:40px;height:40px;border-radius:50%;object-fit:cover}.brand-mono{font-family:var(--font-mono);background:var(--emerald);color:var(--snow);padding:.3rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{font-family:var(--font-head);font-weight:700;font-size:1.05rem;overflow-wrap:anywhere}.brand-sub{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--lemon)}.nav-toggle{display:none;background:none;border:2px solid var(--snow);border-radius:8px;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-toggle span{width:20px;height:2px;background:var(--snow)}.flap-board{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}.flap-board a{display:block;background:#1a1d21;color:var(--mint);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;padding:.6rem .9rem;border-radius:6px;border:1px solid #33373d;transition:transform .25s ease,background .25s ease}.flap-board a:hover{background:var(--emerald);color:var(--snow);transform:rotateX(8deg) translateY(-2px)}a[aria-current='page']{background:var(--emerald)!important;color:var(--snow)!important}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.hero{position:relative;max-width:1180px;margin:0 auto;padding:2.5rem 1.2rem 1rem}.flight-path{width:100%;max-width:800px;margin:0 auto;opacity:.8}.flight-path svg{width:100%;height:80px}.plane{animation:fly 7s ease-in-out infinite}@keyframes fly{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(380px,-110px) rotate(8deg)}100%{transform:translate(770px,0) rotate(0)}}.boarding-pass{display:flex;background:var(--snow);border-radius:18px;box-shadow:0 20px 50px rgba(34,37,42,.18);overflow:hidden;position:relative}.bp-main{flex:1;padding:2rem 1.8rem;min-width:0}.bp-kicker{font-family:var(--font-mono);color:var(--emerald);letter-spacing:.14em;font-size:.75rem;margin:0 0 .4rem}.bp-name{font-size:clamp(1.8rem,5vw,2.8rem);overflow-wrap:anywhere}.bp-note p{color:#4b4f55;max-width:52ch}.bp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.bp-field{display:flex;flex-direction:column;gap:.2rem}.bp-label{font-family:var(--font-mono);font-size:.65rem;color:#8a8f95;letter-spacing:.1em}.bp-value{font-family:var(--font-mono);font-weight:700;font-size:1rem;overflow-wrap:anywhere}.bp-tear{width:0;border-left:3px dashed transparent;background-image:radial-gradient(circle,#c9cdd2 2.5px,transparent 2.6px);background-size:14px 14px;background-position:center}.bp-stub{width:190px;flex-shrink:0;background:var(--graphite);color:var(--snow);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}.stub-logo img{width:56px;height:56px;border-radius:50%;object-fit:cover}.stub-mono{width:56px;height:56px;border-radius:50%;background:var(--emerald);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:1.3rem}.stub-scope{font-family:var(--font-mono);font-size:.7rem;color:var(--lemon);letter-spacing:.08em}.barcode{width:100%;height:46px;background:repeating-linear-gradient(90deg,var(--snow) 0 2px,transparent 2px 5px,var(--snow) 5px 7px,transparent 7px 12px)}.section{max-width:1180px;margin:0 auto;padding:3rem 1.2rem}.board-title{font-size:1.5rem;margin-bottom:1rem}.board-title span{font-family:var(--font-mono);font-weight:400;color:var(--emerald);font-size:1rem}.board-toolbar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1rem}.board-toolbar input{flex:1;min-width:200px;padding:.7rem .9rem;border:2px solid var(--graphite);border-radius:8px;font-family:var(--font-mono);font-size:.95rem;background:var(--snow)}.board-count{font-family:var(--font-mono);background:var(--graphite);color:var(--lemon);padding:.4rem .8rem;border-radius:6px;font-size:.8rem}.board{display:flex;flex-direction:column;border:2px solid var(--graphite);border-radius:10px;overflow:hidden;background:var(--snow)}.board-row{display:grid;grid-template-columns:1fr 2fr auto;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid var(--mint);font-family:var(--font-mono);align-items:center}.board-row:last-child{border-bottom:none}.board-row .city{font-weight:700;color:var(--emerald)}.board-row .status{background:var(--lemon);padding:.2rem .6rem;border-radius:5px;font-size:.72rem;white-space:nowrap}.board-row a{text-decoration:underline}.empty-state{font-family:var(--font-mono);color:#6a6f75;padding:1rem;background:var(--snow);border-radius:8px;text-align:center}.passport-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.2rem}.passport-card{background:var(--snow);border:2px solid var(--graphite);border-radius:10px;padding:1rem;text-align:center}.photo-frame{width:84px;height:100px;margin:0 auto .7rem;border:2px solid var(--graphite);border-radius:4px;overflow:hidden;background:var(--mint);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:1.6rem;color:var(--emerald)}.photo-frame img{width:100%;height:100%;object-fit:cover}.passport-card h3{font-size:1rem}.passport-card p{font-family:var(--font-mono);font-size:.8rem;color:#55595f;margin:.2rem 0 0}.luggage-row{display:flex;flex-wrap:wrap;gap:1.2rem}.luggage-tag{background:var(--lemon);border:2px solid var(--graphite);border-radius:10px;padding:1rem 1.2rem;position:relative;min-width:160px;display:flex;align-items:center;gap:.7rem}.luggage-tag::before{content:'';position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:3px;height:16px;background:var(--graphite)}.tag-logo{width:42px;height:42px;border-radius:50%;background:var(--snow);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-head);overflow:hidden}.tag-logo img{width:100%;height:100%;object-fit:cover}.passport-page{max-width:900px;margin:2rem auto;padding:0 1.2rem}.passport-cover{background:var(--graphite);color:var(--snow);padding:2.5rem 1.8rem;border-radius:16px 16px 0 0;text-align:center}.passport-kicker{font-family:var(--font-mono);color:var(--lemon);letter-spacing:.2em}.passport-cover h1{font-size:clamp(1.6rem,5vw,2.4rem);overflow-wrap:anywhere}.passport-meta{font-family:var(--font-mono);color:var(--mint)}.passport-leaf{background:var(--snow);border:2px solid var(--graphite);border-top:none;border-radius:0 0 16px 16px;padding:2rem 1.8rem;position:relative}.stamp{position:absolute;top:1.5rem;right:1.5rem;width:110px;height:110px;border-radius:50%;border:3px dashed var(--emerald);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-18deg);color:var(--emerald);font-family:var(--font-mono);font-size:.7rem;text-align:center;letter-spacing:.05em}.passport-text p{max-width:60ch}.passport-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.flap-label{font-family:var(--font-mono);background:var(--graphite);color:var(--lemon);display:inline-block;padding:.3rem .7rem;border-radius:5px;font-size:.85rem;margin-bottom:.5rem}.contact-hero{max-width:1180px;margin:0 auto;padding:2.5rem 1.2rem 1rem}.contact-hero h1{font-size:clamp(1.6rem,5vw,2.4rem);overflow-wrap:anywhere}.contact-grid{max-width:1180px;margin:0 auto;padding:1rem 1.2rem 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}.contact-card{background:var(--snow);border:2px solid var(--graphite);border-radius:12px;padding:1.3rem;display:flex;flex-direction:column;gap:.5rem;overflow-wrap:anywhere}.contact-card a{font-family:var(--font-mono);color:var(--emerald);font-weight:700}.ticket-stub{background:var(--graphite);color:var(--snow)}.foot-label{font-family:var(--font-mono);font-size:.7rem;color:#8a8f95;letter-spacing:.1em}.site-footer{background:var(--graphite);color:var(--mint);margin-top:2rem}.runway{display:flex;justify-content:space-around;padding:.6rem 0;background:var(--emerald)}.runway span{width:36px;height:4px;background:var(--lemon);border-radius:2px}.footer-inner{max-width:1180px;margin:0 auto;padding:2rem 1.2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.footer-col p{margin:.3rem 0}.site-footer a{color:var(--mint)}.footer-social{display:flex;gap:.6rem;align-items:flex-start}.footer-social a{width:40px;height:40px;border-radius:50%;background:var(--emerald);color:var(--snow);display:flex;align-items:center;justify-content:center}.footer-social a:hover{background:var(--lemon);color:var(--graphite)}.footer-menu{display:flex;flex-direction:column;gap:.4rem}.copyright{text-align:center;font-family:var(--font-mono);font-size:.75rem;padding:1rem;border-top:1px solid #383c42}@media(max-width:860px){.nav-toggle{display:flex}.main-nav{position:fixed;inset:64px 0 0 0;background:var(--graphite);transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;padding:1.5rem}body.nav-open .main-nav{transform:translateX(0)}.flap-board{flex-direction:column}}@media(max-width:640px){.boarding-pass{flex-direction:column}.bp-stub{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center}.bp-grid{grid-template-columns:repeat(2,1fr)}.bp-tear{display:none}.passport-split{grid-template-columns:1fr}.stamp{position:static;transform:rotate(-8deg);margin-bottom:1rem}}
