/* ============================================================ XTC Fly Service — Global Stylesheet Palette: Ink Navy #0C2340 | Sky Wash #EDF3FA | Horizon Orange #F4732A Jet White #FFFFFF | Slate #4A5A72 | Runway Teal #157A8C Type: Bricolage Grotesque (display) / Inter (body) / IBM Plex Mono (codes) ============================================================ */ @import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap'); :root{ --navy:#0C2340; --navy-2:#123156; --sky:#EDF3FA; --orange:#F4732A; --orange-dark:#D95E1B; --teal:#157A8C; --slate:#4A5A72; --line:#D8E2EF; --white:#FFFFFF; --radius:14px; --shadow:0 10px 30px rgba(12,35,64,.10); --font-display:'Bricolage Grotesque', system-ui, sans-serif; --font-body:'Inter', system-ui, sans-serif; --font-mono:'IBM Plex Mono', ui-monospace, monospace; } *{margin:0;padding:0;box-sizing:border-box} html{scroll-behavior:smooth} body{ font-family:var(--font-body); color:var(--navy); background:var(--sky); line-height:1.65; font-size:16px; } img{max-width:100%;display:block} a{color:var(--teal);text-decoration:none} a:hover{text-decoration:underline} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{ outline:3px solid var(--orange);outline-offset:2px;border-radius:4px; } .container{max-width:1160px;margin:0 auto;padding:0 22px} h1,h2,h3{font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em} h1{font-size:clamp(2rem,4.5vw,3.3rem);font-weight:800} h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700} h3{font-size:1.15rem;font-weight:600} p{color:var(--slate)} .eyebrow{ font-family:var(--font-mono);font-size:.75rem;font-weight:600; text-transform:uppercase;letter-spacing:.18em;color:var(--teal); display:inline-block;margin-bottom:.6rem; } .section{padding:70px 0} .section-head{max-width:640px;margin-bottom:38px} .section-head p{margin-top:.6rem} /* ---------- Top strip ---------- */ .topbar{ background:var(--navy);color:#C9D8EC;font-size:.82rem; padding:7px 0; } .topbar .container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap} .topbar a{color:#fff;font-weight:600} .topbar .mono{font-family:var(--font-mono)} /* ---------- Header / nav ---------- */ .site-header{ background:var(--white);border-bottom:1px solid var(--line); position:sticky;top:0;z-index:60; } .nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px} .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display)} .brand .mark{ width:40px;height:40px;border-radius:10px;background:var(--navy); color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem; font-family:var(--font-mono);letter-spacing:.03em; } .brand .name{font-weight:800;font-size:1.15rem;color:var(--navy);line-height:1.1} .brand .name small{display:block;font-family:var(--font-mono);font-weight:500;font-size:.62rem;color:var(--teal);letter-spacing:.14em;text-transform:uppercase} .main-nav ul{list-style:none;display:flex;gap:6px;align-items:center} .main-nav a{ color:var(--navy);font-weight:600;font-size:.92rem; padding:10px 13px;border-radius:8px;display:block; } .main-nav a:hover{background:var(--sky);text-decoration:none} .main-nav a.active{color:var(--orange)} /* Services dropdown */ .dropdown{position:relative} .dropdown > a::after{content:" ▾";font-size:.7em} .dropdown-menu{ position:absolute;top:100%;left:0;min-width:250px;background:var(--white); border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow); padding:8px;display:none; } .dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu{display:block} .dropdown-menu a{font-weight:500;border-radius:8px;padding:10px 12px} .dropdown-menu a small{display:block;color:var(--slate);font-weight:400;font-size:.78rem} .nav-cta{ background:var(--orange);color:#fff !important;border-radius:999px; padding:10px 18px !important;font-family:var(--font-mono);font-size:.85rem !important; } .nav-cta:hover{background:var(--orange-dark) !important} .nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:1.1rem;cursor:pointer;color:var(--navy)} /* ---------- Hero ---------- */ .hero{ background: radial-gradient(1000px 420px at 85% -10%, rgba(244,115,42,.28), transparent 60%), radial-gradient(800px 500px at -10% 110%, rgba(21,122,140,.35), transparent 60%), linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff;padding:76px 0 96px;position:relative;overflow:hidden; } .hero::before{ /* dotted flight path arc */ content:"";position:absolute;inset:auto -5% -40% -5%;height:120%; border:2px dashed rgba(255,255,255,.14);border-radius:50%; pointer-events:none; } .hero h1{color:#fff;max-width:640px} .hero .lede{color:#C9D8EC;max-width:560px;margin:16px 0 8px;font-size:1.05rem} .hero .mono-note{font-family:var(--font-mono);font-size:.8rem;color:#8FB3D9;letter-spacing:.06em} /* ---------- Search desk (flight query form) ---------- */ .search-desk{ background:var(--white);border-radius:18px;box-shadow:var(--shadow); padding:26px;margin-top:34px;position:relative;color:var(--navy); } .search-desk .desk-tag{ position:absolute;top:-14px;left:26px;background:var(--orange);color:#fff; font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em; text-transform:uppercase;padding:5px 12px;border-radius:999px; } .trip-type{display:flex;gap:18px;margin-bottom:16px;flex-wrap:wrap} .trip-type label{font-weight:600;font-size:.9rem;display:flex;gap:7px;align-items:center;cursor:pointer} .form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px} .field{display:flex;flex-direction:column;gap:5px} .field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--slate)} .field input,.field select{ border:1.5px solid var(--line);border-radius:10px;padding:12px; font:inherit;background:var(--sky);color:var(--navy);width:100%; } .field input::placeholder{color:#93A3BA} .span-2{grid-column:span 2} .span-3{grid-column:span 3} .span-6{grid-column:span 6} .btn{ display:inline-block;background:var(--orange);color:#fff;border:none;cursor:pointer; font:600 .95rem var(--font-body);padding:14px 26px;border-radius:10px; } .btn:hover{background:var(--orange-dark);text-decoration:none;color:#fff} .btn-block{width:100%} .btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--navy)} .btn-ghost:hover{background:var(--sky);color:var(--navy)} .form-note{font-size:.78rem;color:var(--slate);margin-top:12px} .form-note a{font-weight:600} /* ---------- Boarding-pass deal cards (signature element) ---------- */ .deal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px} .pass{ background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow); display:flex;flex-direction:column;overflow:hidden;position:relative; transition:transform .18s ease; } .pass:hover{transform:translateY(-4px)} .pass-scene{height:130px;position:relative} .pass-scene .code{ position:absolute;right:14px;bottom:10px;font-family:var(--font-mono); font-weight:600;font-size:.78rem;color:rgba(255,255,255,.9); letter-spacing:.14em;background:rgba(12,35,64,.35);padding:3px 9px;border-radius:6px; } /* gradient "photo" scenes */ .sc-nyc{background:linear-gradient(160deg,#2E3D6B 10%,#5B6FB0 55%,#F2A65A 100%)} .sc-mia{background:linear-gradient(160deg,#0E7C86 5%,#37BFC7 55%,#FBD1A2 100%)} .sc-lv {background:linear-gradient(160deg,#3A1C58 5%,#8A3F9E 55%,#F4732A 100%)} .sc-den{background:linear-gradient(160deg,#274156 5%,#5C8DA5 55%,#DDEAF2 100%)} .sc-sea{background:linear-gradient(160deg,#1B3A2F 5%,#3E7C63 55%,#BFD9C8 100%)} .sc-mco{background:linear-gradient(160deg,#154C79 5%,#2E86AB 55%,#F9C74F 100%)} .sc-lhr{background:linear-gradient(160deg,#30343F 5%,#5C677D 55%,#C1121F 100%)} .sc-nrt{background:linear-gradient(160deg,#3D0814 5%,#9E2A2B 55%,#FCE5CD 100%)} .sc-del{background:linear-gradient(160deg,#7A3E12 5%,#C9772E 55%,#F7E3C0 100%)} .sc-cdg{background:linear-gradient(160deg,#22333B 5%,#5E7CE2 55%,#EAE0D5 100%)} .sc-dxb{background:linear-gradient(160deg,#5A3E1B 5%,#C89B3C 55%,#FFF3D6 100%)} .sc-cun{background:linear-gradient(160deg,#036666 5%,#14BDEB 55%,#FDF0C2 100%)} .pass-scene::after{ /* skyline silhouette hint */ content:"";position:absolute;left:0;right:0;bottom:0;height:34px; background:linear-gradient(180deg,transparent,rgba(12,35,64,.45)); } .pass-body{padding:18px 18px 14px;flex:1} .route{ display:flex;align-items:center;gap:10px;font-family:var(--font-mono); font-weight:600;font-size:1.35rem;letter-spacing:.02em; } .route .path{flex:1;border-top:2px dashed var(--line);position:relative;height:0} .route .path::after{content:"✈";position:absolute;top:-.75em;left:50%;transform:translateX(-50%);font-size:.8rem;color:var(--orange)} .pass-body .cities{font-size:.83rem;color:var(--slate);margin-top:6px} /* perforated stub */ .pass-stub{ border-top:2px dashed var(--line);padding:12px 18px; display:flex;justify-content:space-between;align-items:center;position:relative; } .pass-stub::before,.pass-stub::after{ content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%; background:var(--sky); } .pass-stub::before{left:-10px} .pass-stub::after{right:-10px} .fare{font-family:var(--font-mono)} .fare .amt{font-size:1.25rem;font-weight:600;color:var(--navy)} .fare .from{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate)} .pass-stub .tag{ font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em; color:var(--teal);background:rgba(21,122,140,.1);padding:4px 9px;border-radius:6px; } /* ---------- Exclusive destinations ---------- */ .dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .dest{ border-radius:var(--radius);overflow:hidden;position:relative;height:230px; display:flex;align-items:flex-end;box-shadow:var(--shadow);color:#fff; } .dest .info{position:relative;padding:16px;width:100%; background:linear-gradient(180deg,transparent,rgba(12,35,64,.75))} .dest .info h3{color:#fff;font-size:1.05rem} .dest .info span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:#FFD9BC} .dest .off{ position:absolute;top:12px;left:12px;background:var(--orange);color:#fff; font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:999px; } /* ---------- Feature strip ---------- */ .features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .feature{background:var(--white);border-radius:var(--radius);padding:22px;border:1px solid var(--line)} .feature .ic{ width:42px;height:42px;border-radius:10px;background:var(--sky); display:grid;place-items:center;font-size:1.2rem;margin-bottom:12px; } .feature p{font-size:.88rem;margin-top:4px} /* ---------- Call banner ---------- */ .call-banner{ background:var(--navy);border-radius:18px;color:#fff;padding:38px; display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap; } .call-banner h2{color:#fff} .call-banner p{color:#C9D8EC;margin-top:6px;max-width:520px} .call-num{ font-family:var(--font-mono);font-size:1.35rem;font-weight:600; background:var(--orange);color:#fff;padding:14px 24px;border-radius:12px;white-space:nowrap; } .call-num:hover{background:var(--orange-dark);text-decoration:none;color:#fff} .call-num small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85} /* ---------- Content / policy pages ---------- */ .page-hero{ background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;padding:56px 0; } .page-hero h1{color:#fff} .page-hero p{color:#C9D8EC;margin-top:10px;max-width:640px} .page-hero .crumb{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;color:#8FB3D9;text-transform:uppercase;margin-bottom:10px} .prose{max-width:820px} .prose h2{margin:36px 0 12px} .prose h3{margin:26px 0 8px} .prose p{margin-bottom:14px} .prose ul,.prose ol{margin:0 0 16px 22px;color:var(--slate)} .prose li{margin-bottom:7px} .prose .updated{font-family:var(--font-mono);font-size:.78rem;color:var(--teal);letter-spacing:.06em} .notice{ background:#FFF4EA;border:1px solid #F8CBA6;border-left:5px solid var(--orange); border-radius:10px;padding:16px 18px;margin:20px 0;font-size:.92rem;color:#6B4A2B; } /* airline deals table */ .deal-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)} .deal-table th,.deal-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem} .deal-table th{background:var(--navy);color:#fff;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em} .deal-table td.mono{font-family:var(--font-mono);font-weight:600} .deal-table tr:last-child td{border-bottom:none} .deal-table .price{color:var(--orange-dark);font-family:var(--font-mono);font-weight:600} /* two-col helper */ .split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start} /* ---------- Footer ---------- */ .site-footer{background:var(--navy);color:#B7C7DC;margin-top:70px;padding:56px 0 0} .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:40px} .site-footer h3{color:#fff;font-size:.95rem;margin-bottom:14px} .site-footer ul{list-style:none} .site-footer li{margin-bottom:9px;font-size:.9rem} .site-footer a{color:#B7C7DC} .site-footer a:hover{color:#fff} .footer-disclaimer{ border-top:1px solid rgba(255,255,255,.12);padding:20px 0;font-size:.78rem; color:#8FA5C2;line-height:1.7; } .footer-bottom{ border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:.8rem; display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap; } .footer-bottom .mono{font-family:var(--font-mono)} /* ---------- Responsive ---------- */ @media (max-width:960px){ .deal-grid{grid-template-columns:repeat(2,1fr)} .dest-grid,.features{grid-template-columns:repeat(2,1fr)} .footer-grid{grid-template-columns:1fr 1fr} .split{grid-template-columns:1fr} .form-grid{grid-template-columns:repeat(2,1fr)} .span-2,.span-3{grid-column:span 1} .span-6{grid-column:span 2} } @media (max-width:720px){ .nav-toggle{display:block} .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--white); border-bottom:1px solid var(--line);padding:10px 18px 18px;box-shadow:var(--shadow)} .main-nav.open{display:block} .main-nav ul{flex-direction:column;align-items:stretch;gap:2px} .dropdown-menu{position:static;box-shadow:none;border:none;padding-left:14px;display:block} .hero{padding:56px 0 72px} } @media (max-width:560px){ .deal-grid,.dest-grid,.features,.form-grid,.footer-grid{grid-template-columns:1fr} .span-6,.span-2,.span-3{grid-column:span 1} .call-banner{padding:26px} } @media (prefers-reduced-motion:reduce){ *{transition:none !important;animation:none !important} html{scroll-behavior:auto} }