/* Shared transport layout, with a distinct illustration and accent for each mode. */
.tp { --tp-accent:#b8efd5; --tp-blue:#a7c8ed; }
.tp--windeniz { --tp-accent:#a8dfea; }
.tp--winhava { --tp-accent:#bfd9f3; }
.mp:has(.tp) { padding-top:26px; }
.tp *, .tp *::before, .tp *::after { box-sizing:border-box; }
.tp-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:11px; color:#9dafc7; padding:8px 0 30px; }
.tp-breadcrumb [aria-current] { color:var(--tp-accent); }
.tp-breadcrumb a:hover { color:#fff; }
.tp h1 em,.tp h2 em { font:inherit; color:var(--tp-accent); }
.tp h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.18; font-weight:600; text-wrap:balance; }
.tp .mp-eyebrow { font-size:10px; letter-spacing:.13em; }
.tp .mp-textlink { color:var(--tp-accent) !important; font-size:12px; }
.tp .mp-button { font-size:12px; border-radius:12px; padding:15px 22px; }
.tp .mp-button--solid { background:var(--tp-accent); border-color:var(--tp-accent); color:#102838; }
.tp-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(32px,5vw,76px); align-items:center; padding:12px 0 60px; position:relative; }
.tp-hero::before { content:''; position:absolute; inset:-60px -50px 0 35%; background:radial-gradient(ellipse,#238fba13,transparent 65%); pointer-events:none; }
.tp-hero__copy { min-width:0; position:relative; }
.tp-hero .mp-eyebrow { display:flex; gap:12px; flex-wrap:wrap; }
.tp-hero .mp-eyebrow > span { opacity:.4; }
.tp h1 { font-size:clamp(68px,7vw,98px); font-weight:600; line-height:1.1; letter-spacing:-.04em; margin:0 0 26px; }
.tp h1 > span { color:var(--tp-accent); }
.tp .tp-hero__subtitle { font-size:clamp(32px,3.2vw,46px); line-height:1.15; letter-spacing:-.045em; margin:0 0 22px; }
.tp-hero__subtitle > span { display:block; color:var(--tp-accent); }
.tp .tp-promise { color:var(--tp-accent); font-size:17px; line-height:1.6; margin:0 0 18px; }
.tp .tp-intro { font-size:14px; line-height:1.85; margin:0; color:#b8c6dc; }
.tp .mp-actions { gap:22px; }
.tp-tags { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:28px; color:#adbed2; font-size:10px; }
.tp-tags > span { display:flex; align-items:center; gap:8px; border:1px solid #a6c8ef26; border-radius:7px; padding:7px 10px; }
.tp-scene { position:relative; margin:0; padding:26px; border:1px solid #94bdd038; border-radius:24px; background:radial-gradient(ellipse at 40% 40%,#4aafba1c,transparent 65%),linear-gradient(150deg,#1e3850,#14223e 75%); box-shadow:0 30px 70px #050a211f; }
.tp-scene__heading { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-bottom:24px; border-bottom:1px solid #a6c8ef26; }
.tp-scene__heading div > span { display:block; color:#a5bdcf; font-size:8px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:11px; }
.tp-scene__heading strong { display:block; font-size:clamp(22px,2.2vw,30px); line-height:1.3; font-weight:500; letter-spacing:-.035em; color:var(--tp-accent); max-width:370px; }
.tp-scene__heading > span { font-size:24px; color:var(--tp-accent); }
.tp-scene__drawing { display:block; width:100%; height:auto; max-height:320px; margin:25px 0 21px; overflow:visible; }
.tp-route { stroke-dasharray:850; stroke-dashoffset:0; animation:tp-draw 2.6s .35s both; }
.tp-illustration { animation:tp-enter 1.2s .2s both; }
.tp-aircraft { animation:tp-takeoff 1.5s .25s cubic-bezier(.2,.65,.3,1) both; }
.tp-waves { animation:tp-water 2s .2s ease-out both; }
.tp-scene__steps { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.tp-scene__steps > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; border:1px solid #a6c8ef26; background:#a1c8db08; border-radius:10px; padding:15px 12px; }
.tp-scene__steps span { font-size:8px; color:#91afc5; }
.tp-scene__steps strong { font-size:11px; font-weight:500; color:#d5e4ee; }
.tp-scene__steps > div:last-child strong { color:var(--tp-accent); }
.tp-scene figcaption { margin-top:24px; text-align:right; font-size:8px; color:#99adc5; }
.tp-nav { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--mp-line); }
.tp-nav a { display:flex; gap:12px; align-items:center; padding:23px 18px; color:#e5edf5; font-size:12px; transition:background .25s; }
.tp-nav a + a { border-left:1px solid var(--mp-line); }
.tp-nav span { color:var(--tp-accent); font-size:9px; }
.tp-nav i { font-style:normal; color:var(--tp-accent); margin-left:auto; transition:transform .25s; }
.tp-nav a:hover { background:#b8efd507; }
.tp-nav a:hover i { transform:translateY(3px); }
.tp section { scroll-margin-top:110px; }
.tp-section { padding:78px 0; border-bottom:1px solid var(--mp-line); }
.tp-section__heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:65px; margin-bottom:42px; }
.tp-section__heading h2 { margin:0; }
.tp-section__heading > p { margin:0 0 3px; max-width:390px; font-size:14px; }
.tp-operations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tp-operations article { padding:30px; border:1px solid #a6c8ef26; border-radius:16px; background:linear-gradient(145deg,#233b4c77,#16244055); }
.tp-number { display:flex; justify-content:space-between; font-size:10px; color:var(--tp-accent); }
.tp-number i { font-size:16px; font-style:normal; }
.tp-operations h3 { font-size:21px; font-weight:500; margin:23px 0 15px; }
.tp-operations p { margin:0; font-size:13px; }
.tp-focus { display:grid; grid-template-columns:1fr 1.05fr; gap:95px; align-items:center; }
.tp-focus h2 { margin:0 0 24px; max-width:470px; }
.tp-focus p { max-width:425px; font-size:14px; }
.tp-focus .mp-textlink { margin-top:16px; }
.tp .tp-focus__promise { font-size:17px; color:var(--tp-accent); line-height:1.5; }
.tp-focus__list { list-style:none; margin:0; padding:8px 26px; border:1px solid #a6c8ef26; border-radius:18px; background:#182b4266; }
.tp-focus__list li { display:flex; align-items:center; gap:18px; padding:21px 0; border-bottom:1px solid var(--mp-line); font-size:14px; color:#d4e0ee; }
.tp-focus__list li:last-child { border-bottom:0; }
.tp-focus__list span { font-size:9px; color:#99b5cd; }
.tp-focus__list i { color:var(--tp-accent); margin-left:auto; font-size:16px; font-style:normal; }
.tp-sectors { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:48px 40px; margin-top:65px; border:1px solid #b8efd52b; border-radius:20px; background:linear-gradient(120deg,#b8efd509,transparent); }
.tp-sectors h2 { margin:0; font-size:clamp(28px,2.9vw,38px); }
.tp-sectors ul { display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:0; list-style:none; }
.tp-sectors li { border:1px solid #b8efd52b; padding:11px 16px; border-radius:30px; font-size:11px; color:#bed4da; }
.tp-reports { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tp-reports article { padding:29px 25px; border:1px solid var(--mp-line); border-radius:18px; background:linear-gradient(150deg,#243e4b88,#16213b66); transition:border-color .3s; }
.tp-reports article:hover { border-color:#a8d5d760; }
.tp-report-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #a8cde730; border-radius:11px; font-size:23px; color:var(--tp-accent); }
.tp-reports h3 { font-size:22px; font-weight:500; margin:25px 0 16px; }
.tp-reports p { font-size:13px; margin:0; }
.tp-customers { display:grid; grid-template-columns:1fr .65fr; align-items:center; gap:60px; padding-top:42px; margin-top:42px; border-top:1px solid var(--mp-line); }
.tp-customers .mp-eyebrow { font-size:9px; margin-bottom:14px; }
.tp-customers h3 { font-size:26px; font-weight:500; margin:0 0 15px; }
.tp-customers p { font-size:13px; max-width:600px; margin:0; }
.tp-customers__labels { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.tp-customers__labels span { font-size:11px; color:#bed3e4; border-bottom:1px solid #a8cde735; padding:10px 0; margin-left:15px; }
.tp-digital { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.tp-digital h2 { margin:0 0 24px; }
.tp-digital p { font-size:14px; max-width:400px; }
.tp-digital .mp-textlink { margin-top:16px; }
.tp-documents { padding:35px; border:1px solid #a8cde730; border-radius:20px; background:linear-gradient(140deg,#a8cde70b,#b8efd503); }
.tp-documents > div { display:flex; align-items:center; gap:27px; }
.tp-documents svg { width:52px; height:61px; color:var(--tp-accent); flex-shrink:0; }
.tp-documents > div > span { color:#cedceb; font-size:25px; line-height:1.4; letter-spacing:-.035em; }
.tp-documents strong { font-weight:500; color:var(--tp-accent); }
.tp-documents ul { display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:25px 0 0; margin:30px 0 0; border-top:1px solid var(--mp-line); }
.tp-documents li { padding:10px 16px; border:1px solid #a8cde735; border-radius:30px; color:#c4dce5; font-size:11px; }
.tp-faq { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; }
.tp-faq details { border:1px solid var(--mp-line); border-radius:14px; background:#16244055; padding-inline:22px; margin-bottom:12px; }
.tp-faq details[open] { background:linear-gradient(135deg,#203d4a,#17273e); border-color:#b8f0d84a; }
.tp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 0; list-style:none; cursor:pointer; color:#e3edf7; font-size:14px; }
.tp-faq summary h3 { font-size:14px; font-weight:500; line-height:1.5; letter-spacing:0; margin:0; }
.tp-faq summary::-webkit-details-marker { display:none; }
.tp-faq summary > span { flex-shrink:0; font-size:22px; color:var(--tp-accent); transition:transform .25s; }
.tp-faq details[open] summary > span { transform:rotate(45deg); }
.tp-faq details p { font-size:13px; margin:0 30px 25px 0; }
.tp-faq summary:focus-visible { outline:2px solid var(--tp-accent); outline-offset:5px; }
.tp-cta { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:48px; margin-top:60px; border:1px solid #b8f0d842; border-radius:24px; background:radial-gradient(ellipse at 10% 10%,#b8f0d813,transparent 70%),#182f42; }
.tp .tp-cta__title { color:#fff; font-size:clamp(32px,3.6vw,48px); font-weight:600; line-height:1.2; letter-spacing:-.04em; margin:0 0 22px; }
.tp-cta__title span { color:var(--tp-accent); }
.tp-cta p:not(.tp-cta__title) { font-size:13px; margin:0; }
.tp-related { padding-top:28px; font-size:12px; color:#aebed3; }
.tp-cta .mp-button { flex-shrink:0; }
@keyframes tp-enter { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
@keyframes tp-draw { from { stroke-dashoffset:850; } to { stroke-dashoffset:0; } }
@keyframes tp-takeoff { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes tp-water { from { opacity:0; transform:translateX(-12px); } to { opacity:1; transform:translateX(0); } }
@media (min-width:1001px) and (max-width:1150px) { .tp-hero { gap:30px; } .tp h1 { font-size:76px; } .tp-scene { padding:23px 18px 18px; } .tp-scene__heading strong { font-size:24px; } }
@media (max-width:1000px) { .tp-hero { grid-template-columns:1fr; gap:36px; padding-top:14px; } .tp-hero__copy { max-width:650px; } .tp h1 { font-size:clamp(68px,9vw,98px); } .tp-scene { width:100%; max-width:660px; box-sizing:border-box; justify-self:center; } .tp-operations { grid-template-columns:1fr 1fr; gap:32px; } .tp-nav a { font-size:11px; padding-inline:12px; gap:8px; } .tp-focus,.tp-digital { gap:45px; } .tp-reports article { padding:23px 18px; } .tp-reports h3 { font-size:19px; } .tp-sectors { gap:35px; padding:32px; } .tp-faq { gap:40px; } }
@media (max-width:600px) { .mp:has(.tp) { padding-top:22px; } .tp-hero { padding:12px 0 36px; gap:32px; } .tp h1 { font-size:clamp(48px,14.5vw,76px); margin-bottom:24px; } .tp .tp-hero__subtitle { font-size:clamp(28px,7.7vw,42px); } .tp-hero .mp-eyebrow { font-size:8px; gap:9px; } .tp .tp-intro { font-size:14px; } .tp .tp-promise { font-size:16px; } .tp .mp-actions { gap:18px; } .tp-tags { font-size:9px; gap:12px 16px; margin-top:25px; } .tp-scene { padding:22px 16px 18px; border-radius:18px; } .tp-scene__heading strong { font-size:24px; } .tp-scene__heading div > span { font-size:7px; } .tp-scene__drawing { margin:22px 0 17px; } .tp-scene__steps { gap:10px; } .tp-scene__steps > div { gap:7px; padding-top:13px; } .tp-scene__steps strong { font-size:10px; } .tp-scene__steps span { font-size:7px; } .tp-scene figcaption { margin-top:19px; font-size:7px; } .tp-nav { grid-template-columns:1fr 1fr; } .tp-nav a { padding:19px 12px; font-size:11px; } .tp-nav a:nth-child(3) { border-left:0; } .tp-nav a:nth-child(n+3) { border-top:1px solid var(--mp-line); } .tp-section { padding:50px 0; } .tp-section__heading { grid-template-columns:1fr; gap:20px; margin-bottom:30px; } .tp-section__heading > p { font-size:13px; } .tp-operations { grid-template-columns:1fr; gap:14px; } .tp-operations article { padding:24px; } .tp-operations h3 { font-size:19px; margin-top:20px; } .tp-operations p { font-size:13px; } .tp-focus,.tp-digital,.tp-faq { grid-template-columns:1fr; gap:30px; } .tp-focus h2 { max-width:350px; } .tp-focus__list li { font-size:13px; padding:19px 0; gap:14px; } .tp-sectors { grid-template-columns:1fr; margin-top:45px; padding:28px 23px; gap:25px; } .tp-sectors ul { gap:10px; } .tp-sectors li { font-size:10px; padding:10px 13px; } .tp-reports { grid-template-columns:1fr; gap:16px; } .tp-reports article { padding:26px; } .tp-report-icon { float:right; margin-left:12px; } .tp-reports h3 { margin:10px 0 18px; font-size:22px; } .tp-reports p { clear:both; } .tp-customers { grid-template-columns:1fr; gap:20px; padding-top:30px; margin-top:30px; } .tp-customers__labels { justify-content:flex-start; } .tp-customers__labels span { margin:0 8px 0 0; font-size:10px; } .tp-documents { padding:27px; } .tp-documents > div { gap:23px; } .tp-documents > div > span { font-size:23px; } .tp-documents ul { gap:9px; } .tp-documents li { padding:10px 13px; } .tp-faq h2 { margin:0; } .tp-faq summary { font-size:13px; } .tp-cta { flex-direction:column; align-items:flex-start; gap:28px; padding:28px 24px; margin-top:40px; } }
@media (max-width:360px) { .tp-operations { grid-template-columns:1fr; } .tp-scene__steps { gap:8px; } .tp-scene__steps strong { font-size:9px; } }
@media (prefers-reduced-motion:reduce) { .tp *, .tp *::before { animation:none !important; transition:none !important; } }

