:root{--navy:#0b1f3b;--navy-2:#142d54;--navy-3:#1d3b69;--red:#ed4054;--ice:#f3f7fb;--white:#fff;--ink:#172238;--muted:#637087;--line:#dbe3ed;--shell:min(1180px,calc(100% - 40px));--shadow:0 24px 70px rgba(11,31,59,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:#fff;color:#000;padding:10px 14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow{margin:0 0 14px;font-size:.75rem;font-weight:800;letter-spacing:.17em;color:#b9c9df}.eyebrow.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}h2{font-family:Oswald,Arial,sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:600;letter-spacing:-.02em}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(11,31,59,.08)}.header-inner{height:84px;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--red);border-radius:50%;font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:700;color:var(--navy);position:relative}.brand-mark:after{content:"";position:absolute;width:62px;border-top:1px solid var(--navy);transform:rotate(-12deg)}.brand-copy{display:grid;line-height:.9;color:var(--navy)}.brand-copy strong{font-family:Oswald,sans-serif;font-size:1.6rem;letter-spacing:.02em}.brand-copy span{font-size:.82rem;font-weight:800;letter-spacing:.07em}.brand-copy small{margin-top:6px;font-size:.43rem;letter-spacing:.11em;color:#6d7890}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:.86rem;font-weight:700;color:#43506a;transition:.2s}.desktop-nav a:hover{color:var(--red)}.header-cta{padding:12px 17px;background:var(--navy);color:#fff;font-size:.79rem;font-weight:800}.menu-toggle,.mobile-menu{display:none}
.hero{min-height:760px;background:var(--navy);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 12%,rgba(60,105,165,.32),transparent 35%),linear-gradient(110deg,transparent 55%,rgba(237,64,84,.1));pointer-events:none}.hero-copy{position:relative;z-index:2;padding:150px max(40px,calc((100vw - 1180px)/2)) 90px;margin:0;width:auto;align-self:center}.hero h1{max-width:760px;font-family:Oswald,sans-serif;font-size:clamp(4.2rem,6.2vw,7.2rem);font-weight:600;letter-spacing:-.035em;margin-bottom:26px}.hero h1 span{color:transparent;-webkit-text-stroke:1.3px #fff}.hero-lead{max-width:700px;font-size:clamp(1.05rem,1.35vw,1.28rem);color:#cfdaea}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;min-height:52px;font-size:.86rem;font-weight:800;letter-spacing:.02em;transition:.25s}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:#ff5e6e;transform:translateY(-2px)}.button.ghost{border:1px solid rgba(255,255,255,.36);color:#fff}.button.ghost:hover{background:#fff;color:var(--navy)}.hero-regions{display:flex;align-items:center;gap:12px;margin-top:46px;font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#aebbd0}.hero-regions i{width:22px;height:1px;background:var(--red)}.hero-visual{position:relative;height:100%;min-width:0;overflow:hidden;clip-path:polygon(19% 0,100% 0,100% 100%,0 100%)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(11,31,59,.25) 32%,rgba(11,31,59,.05) 70%),linear-gradient(0deg,rgba(11,31,59,.5),transparent 55%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:72% 34%;transform:scale(1.04)}.hero-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;mix-blend-mode:overlay}.hero-watermark{position:absolute;right:22px;bottom:20px;z-index:2;text-align:right;font-family:Oswald,sans-serif;font-size:5.5rem;font-weight:700;line-height:.83;color:rgba(255,255,255,.08)}
.quick-region{padding:105px 0;background:var(--ice)}.section-heading.centered{text-align:center;max-width:850px;margin:0 auto 48px}.section-heading h2{color:var(--navy);margin-bottom:18px}.section-heading p{color:var(--muted);font-size:1.04rem}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.region-card{position:relative;display:flex;flex-direction:column;min-height:500px;padding:34px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:.28s}.region-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--red);transform:scaleX(.28);transform-origin:left;transition:.28s}.region-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}.region-card:hover:before{transform:scaleX(1)}.region-number{position:absolute;right:24px;top:18px;font-family:Oswald,sans-serif;font-size:4.5rem;font-weight:700;color:#edf1f7}.region-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:28px;background:var(--navy);color:#fff;border-radius:50%;font-family:Oswald,sans-serif;font-size:1.1rem;position:relative}.region-icon:after{content:"";position:absolute;inset:-5px;border:1px solid var(--red);border-radius:50%}.region-card h3{font-family:Oswald,sans-serif;font-size:2rem;color:var(--navy);margin-bottom:14px}.region-card p{color:var(--muted);min-height:78px}.region-card ul{padding:0;margin:10px 0 32px;list-style:none;color:#33415a;font-size:.9rem}.region-card li{padding:8px 0;border-bottom:1px solid #edf0f4}.region-card li:before{content:"+";color:var(--red);font-weight:800;margin-right:8px}.region-link{margin-top:auto;font-weight:800;color:var(--navy);font-size:.85rem}.region-link b{float:right;color:var(--red);font-size:1.1rem}
.intro{padding:120px 0;background:#fff}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.intro-copy h2{color:var(--navy)}.intro-copy .large{font-size:1.18rem;color:#33415b}.intro-copy>p:not(.eyebrow):not(.large){color:var(--muted)}.text-link{display:inline-block;margin-top:16px;font-weight:800;color:var(--navy);border-bottom:2px solid var(--red);padding-bottom:5px}.text-link span{color:var(--red);margin-left:8px}.stats-panel{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.stat{padding:38px;border:1px solid rgba(255,255,255,.09)}.stat strong{display:block;font-family:Oswald,sans-serif;font-size:3.4rem;line-height:1;color:#fff}.stat span{display:block;margin-top:12px;font-size:.75rem;line-height:1.35;text-transform:uppercase;letter-spacing:.09em;color:#b6c5d9}
.services{padding:120px 0;background:#f7f9fc}.section-heading.split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:50px}.section-heading.split h2{margin:0;color:var(--navy)}.section-heading.split>p{color:var(--muted);padding-bottom:7px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);overflow:hidden;transition:.28s}.service-card.wide{grid-column:1/-1;grid-template-columns:1.08fr .92fr}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-image{height:250px;overflow:hidden;background:var(--navy)}.service-card.wide .service-image{height:100%;min-height:420px}.service-image img{width:100%;height:100%;object-fit:cover;transition:.55s}.service-image.right img{object-position:76% 38%}.service-image.left img{object-position:24% 38%}.service-card:hover img{transform:scale(1.035)}.service-content{padding:34px}.service-card.wide .service-content{padding:58px 48px;display:flex;flex-direction:column;justify-content:center}.service-content>span{font-family:Oswald,sans-serif;font-size:.8rem;font-weight:700;color:var(--red);letter-spacing:.1em}.service-content h3{font-family:Oswald,sans-serif;font-size:2rem;color:var(--navy);margin:10px 0 14px}.service-content p{color:var(--muted);font-size:.92rem}.service-content a{font-weight:800;color:var(--navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.network{padding:120px 0;background:var(--navy);color:#fff;overflow:hidden}.network-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.network-copy h2{margin-bottom:20px}.network-copy>p:not(.eyebrow){color:#b9c6d9}.network-list{margin-top:36px;border-top:1px solid rgba(255,255,255,.14)}.network-list a{display:grid;grid-template-columns:110px 1fr auto;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:center}.network-list b{font-size:.82rem}.network-list span{font-size:.78rem;color:#aebdd1}.network-list i{color:var(--red);font-style:normal}.map-card{position:relative;min-height:520px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 48% 48%,rgba(40,91,145,.6),transparent 45%),#08172d;overflow:hidden}.map-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px}.map-card svg{position:absolute;inset:25px;width:calc(100% - 50px);height:calc(100% - 80px)}.world{fill:rgba(105,139,181,.19);stroke:rgba(185,209,236,.32);stroke-width:1.5}.route{fill:none;stroke:var(--red);stroke-width:2}.route.faint{opacity:.45;stroke-dasharray:7 8}.pin>circle:first-child{fill:rgba(237,64,84,.18);stroke:var(--red);stroke-width:2}.pin>circle:nth-child(2){fill:#fff}.pin text{fill:#fff;text-anchor:middle;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em}.map-caption{position:absolute;bottom:0;left:0;right:0;height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid rgba(255,255,255,.12);font-size:.61rem;letter-spacing:.1em;color:#7f92ac}.map-caption strong{color:#dce6f4}
.proof{padding:120px 0;background:#fff}.proof-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.proof-copy h2{color:var(--navy)}.proof-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.proof-points article{padding:28px 0;border-top:3px solid var(--navy)}.proof-points b{color:var(--red);font-family:Oswald,sans-serif}.proof-points h3{font-family:Oswald,sans-serif;color:var(--navy);font-size:1.45rem;margin:16px 0 10px}.proof-points p{color:var(--muted);font-size:.88rem}.brands{padding:100px 0;background:var(--ice);text-align:center}.brands-inner>p:not(.eyebrow){max-width:760px;margin:0 auto 38px;color:var(--muted)}.brands h2{color:var(--navy)}.brand-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.brand-cloud span{padding:14px 18px;background:#fff;border:1px solid var(--line);color:#32425e;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.035em}.final-cta{min-height:580px;position:relative;display:grid;align-items:center;background:var(--navy);color:#fff;overflow:hidden}.final-visual{position:absolute;inset:0}.final-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(11,31,59,.92) 42%,rgba(11,31,59,.45) 100%)}.final-visual img{width:100%;height:100%;object-fit:cover;object-position:center 26%}.final-content{position:relative;z-index:2}.final-content h2{max-width:700px;font-size:clamp(3rem,5vw,5.6rem);margin-bottom:16px}.final-content p:not(.eyebrow){color:#c7d3e4;font-size:1.12rem}.button.light{margin-top:20px;background:#fff;color:var(--navy)}.button.light:hover{background:var(--red);color:#fff}.site-footer{padding:65px 0 24px;background:#07172c;color:#fff}.footer-top{display:grid;grid-template-columns:auto 1fr auto;gap:60px;align-items:center}.footer-brand .brand-mark{color:#fff;border-color:var(--red)}.footer-brand .brand-mark:after{border-color:#fff}.footer-brand .brand-copy{color:#fff}.footer-top>p{max-width:560px;color:#8fa0b8;font-size:.85rem}.footer-links{display:grid;gap:5px;font-size:.8rem;font-weight:700}.footer-links a:hover{color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:#6f8098;font-size:.66rem;letter-spacing:.07em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:1050px){.desktop-nav{display:none}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:110px 40px 65px;min-height:650px;display:flex;flex-direction:column;justify-content:center}.hero-visual{position:absolute;inset:0;clip-path:none;opacity:.42}.hero-visual:after{background:linear-gradient(90deg,var(--navy) 0%,rgba(11,31,59,.72) 58%,rgba(11,31,59,.3)),linear-gradient(0deg,var(--navy),transparent 65%)}.hero h1{max-width:850px}.region-grid{grid-template-columns:1fr}.region-card{min-height:auto}.region-card p{min-height:auto}.intro-grid,.network-grid,.proof-grid{grid-template-columns:1fr}.section-heading.split{grid-template-columns:1fr;gap:16px}.service-card.wide{grid-template-columns:1fr}.service-card.wide .service-image{min-height:340px}.proof-points{gap:28px}.footer-top{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(3,max-content)}}
@media (max-width:720px){:root{--shell:min(100% - 28px,1180px)}.header-inner{height:72px}.brand-mark{width:43px;height:43px;font-size:.85rem}.brand-copy strong{font-size:1.35rem}.brand-copy span{font-size:.68rem}.brand-copy small{display:none}.header-cta{display:none}.menu-toggle{display:grid;gap:5px;margin-left:auto;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy)}.mobile-menu{position:absolute;left:0;right:0;top:72px;padding:14px 20px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 32px rgba(11,31,59,.12)}.mobile-menu.open{display:grid}.mobile-menu a{padding:11px 0;border-bottom:1px solid #edf0f4;font-weight:700}.hero-copy{padding:94px 24px 54px;min-height:690px}.hero h1{font-size:clamp(3.4rem,17vw,5rem)}.hero-lead{font-size:1rem}.hero-actions{display:grid}.button{width:100%}.hero-regions{gap:7px;flex-wrap:wrap}.hero-regions i{width:11px}.hero-visual img{object-position:73% 38%}.hero-watermark{font-size:3.5rem}.quick-region,.intro,.services,.network,.proof,.brands{padding:80px 0}.section-heading.centered{text-align:left}.region-card{padding:28px}.intro-grid{gap:45px}.stats-panel{grid-template-columns:1fr 1fr}.stat{padding:24px 20px}.stat strong{font-size:2.7rem}.service-grid{grid-template-columns:1fr}.service-card.wide{grid-column:auto}.service-card.wide .service-image{min-height:0;height:250px}.service-card.wide .service-content,.service-content{padding:28px}.network-grid{gap:40px}.map-card{min-height:380px}.map-card svg{inset:10px;width:calc(100% - 20px);height:calc(100% - 65px)}.map-caption{padding:0 12px}.map-caption strong{font-size:.54rem}.network-list a{grid-template-columns:92px 1fr auto}.proof-grid{gap:35px}.proof-points{grid-template-columns:1fr}.proof-points article{padding:22px 0}.final-cta{min-height:520px}.final-visual img{object-position:60% center}.final-content{text-align:center}.footer-top{gap:30px}.footer-links{grid-template-columns:1fr}.footer-bottom{display:grid;gap:8px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card,.region-card,.service-image img{transition:none}}

/* Crop the supplied concept screenshots to their clean photographic areas. */
.hero-visual img{object-position:100% 34%}
.service-image img{transform:scale(2.15)}
.service-image.right img{object-position:100% 42%}
.service-image.left img{object-position:0 42%}
.service-image.right img{transform-origin:100% 50%}
.service-image.left img{transform-origin:0 50%}
.service-card:hover img{transform:scale(2.22)}
@media (max-width:720px){.hero-visual img{object-position:100% 38%}.service-image img{transform:scale(2.3)}.service-card:hover img{transform:scale(2.38)}}

/* Official Titan Marine Air identity. */
.site-header{position:fixed;left:0;right:0;background:rgba(7,23,44,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:rgba(255,255,255,.12)}
.official-logo{width:245px;height:auto}
.header-brand{position:relative;display:block;width:245px;height:84px;min-width:245px;overflow:hidden}
.header-logo-animation{position:absolute;left:0;top:50%;width:245px;height:auto;transform:translateY(-50%)}
.header-logo-static{display:none}
.desktop-nav a{color:#d9e2ef}.desktop-nav a:hover{color:#fff}
.header-cta{background:var(--red)}
.menu-toggle span{background:#fff}
.mobile-menu{background:#07172c;border-bottom-color:rgba(255,255,255,.12)}
.mobile-menu a{color:#fff;border-bottom-color:rgba(255,255,255,.1)}
.footer-brand{display:block;width:260px;min-width:0}
.footer-logo-animation{display:block;width:100%;height:auto;mix-blend-mode:normal}
.footer-brand .official-logo{width:220px}
.footer-logo-static{display:none}
@media (max-width:720px){.official-logo{width:190px}.header-brand{width:190px;height:72px;min-width:190px}.header-logo-animation{width:190px}.footer-brand{width:225px}.footer-brand .official-logo{width:205px}}
@media (prefers-reduced-motion:reduce){.header-logo-animation,.footer-logo-animation{display:none}.header-logo-static,.footer-logo-static{display:block}.header-logo-static{position:absolute;left:0;top:50%;transform:translateY(-50%)}}

/* Original clean banner photography supplied by Titan. */
.service-image img,.service-image.right img,.service-image.left img{object-position:center center;transform:scale(1.01);transform-origin:50% 50%}
.service-card:hover img{transform:scale(1.045)}
@media (max-width:720px){.service-image img,.service-image.right img,.service-image.left img{transform:scale(1.01)}.service-card:hover img{transform:scale(1.045)}}

/* Accurate location directory replaces the earlier decorative map. */
.network-board{min-height:520px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(31,64,105,.72),rgba(5,18,36,.96));box-shadow:0 28px 80px rgba(0,0,0,.22)}
.network-board-head,.network-board-foot{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid rgba(255,255,255,.14);font-size:.63rem;letter-spacing:.15em;color:#8fa2bd}
.network-board-head strong{color:#fff;font-size:.7rem}.network-route-row{display:grid;grid-template-columns:58px 1fr auto;gap:20px;align-items:center;min-height:94px;padding:18px 26px;border-bottom:1px solid rgba(255,255,255,.12)}
.network-code{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--red);border-radius:50%;font-family:Oswald,sans-serif;font-size:.85rem;color:#fff}.network-route-row small{display:block;color:var(--red);font-size:.6rem;font-weight:800;letter-spacing:.14em}.network-route-row h3{margin:4px 0 2px;font-family:Oswald,sans-serif;font-size:1.45rem;color:#fff}.network-route-row p{margin:0;color:#aebed3;font-size:.76rem}.network-route-row b{font-size:.7rem;color:#dce5f2}.network-board-foot{border-bottom:0;border-top:1px solid rgba(255,255,255,.05)}.network-board-foot i{flex:1;height:1px;margin:0 18px;background:linear-gradient(90deg,var(--red),rgba(237,64,84,.08))}
@media (max-width:720px){.network-board{min-height:auto}.network-route-row{grid-template-columns:48px 1fr;padding:16px 18px}.network-route-row b{grid-column:2}.network-board-head,.network-board-foot{padding:16px 18px}}

/* Interactive global map. Location markers animate from the matching name on the left. */
.interactive-map{border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 48% 43%,rgba(34,77,128,.5),transparent 48%),#07172c;box-shadow:0 28px 80px rgba(0,0,0,.22);overflow:hidden}.interactive-map svg{display:block;width:100%;height:auto}.map-topline,.map-bottomline{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.6rem;letter-spacing:.14em;color:#7f93ad}.map-topline strong,.map-bottomline strong{color:#dbe6f5}.map-bottomline{border-top:1px solid rgba(255,255,255,.12);border-bottom:0}.interactive-map .map-grid path{fill:none;stroke:rgba(255,255,255,.045);stroke-width:1}.interactive-map .continents path{fill:rgba(77,112,154,.24);stroke:rgba(176,202,232,.42);stroke-width:1.4;transition:fill .25s}.map-pin{cursor:pointer}.map-pin .pin-ring{fill:rgba(237,64,84,.18);stroke:var(--red);stroke-width:2}.map-pin .pin-core{fill:#fff}.map-pin .pulse{fill:none;stroke:var(--red);stroke-width:2;opacity:0;transform-origin:center;transform:scale(.45)}.map-pin text{fill:#fff;text-anchor:middle;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.06em;transition:fill .2s}.map-pin.active .pin-ring{fill:var(--red);filter:drop-shadow(0 0 10px rgba(237,64,84,.8))}.map-pin.active .pulse{animation:mapPulse 1.15s ease-out infinite}.map-pin.active text{fill:#ff7382}.network-list a.active{color:#fff;background:linear-gradient(90deg,rgba(237,64,84,.12),transparent);padding-left:10px}.network-list a.active i{transform:translateX(4px)}.network-list a,.network-list i{transition:.22s}@keyframes mapPulse{0%{opacity:.8;transform:scale(.45)}100%{opacity:0;transform:scale(1.35)}}
@media (max-width:720px){.map-topline,.map-bottomline{padding:14px 15px}.map-pin text{font-size:10px}.interactive-map svg{min-height:330px}}

/* Fifteenth-anniversary mark and verified Natural Earth geography. */
.anniversary-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:13px;margin-bottom:24px;padding:10px 15px 10px 12px;border:1px solid rgba(255,255,255,.28);background:rgba(7,23,44,.45);backdrop-filter:blur(10px);box-shadow:inset 3px 0 0 var(--red)}.anniversary-badge>span{font-family:Oswald,sans-serif;font-size:2.2rem;font-weight:700;line-height:1;color:#fff}.anniversary-badge p{display:grid;margin:0;font-size:.59rem;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:#b8c7dc}.anniversary-badge strong{font-size:.68rem;color:#fff}.natural-earth-map{opacity:.92}.natural-earth-map path{fill:#203a5c;fill-opacity:.72;stroke:#587493;stroke-opacity:.9;stroke-width:.8;vector-effect:non-scaling-stroke}

.location-directory{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);margin-top:18px;border:1px solid rgba(255,255,255,.14);background:rgba(5,18,36,.62)}.location-directory article{min-width:0;padding:24px 18px;border-right:1px solid rgba(255,255,255,.12)}.location-directory article:last-child{border-right:0}.location-directory small{display:block;color:var(--red);font-size:.57rem;font-weight:800;letter-spacing:.14em}.location-directory h3{margin:5px 0 12px;font-family:Oswald,sans-serif;font-size:1.25rem;color:#fff}.location-directory p{min-height:68px;margin:0 0 10px;color:#9fb0c7;font-size:.69rem;line-height:1.5}.location-directory>a,.location-directory article>a{display:block;color:#dce6f4;font-size:.67rem;line-height:1.65;overflow-wrap:anywhere}.location-directory a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--red)}.location-directory .contact-person{min-height:0;margin-top:5px;color:#dce6f4}.location-directory .contact-person a{color:inherit}
@media (max-width:1050px){.location-directory{grid-template-columns:repeat(3,1fr)}.location-directory article:nth-child(3){border-right:0}.location-directory article:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.12)}}@media (max-width:640px){.location-directory{grid-template-columns:1fr 1fr}.location-directory article,.location-directory article:nth-child(3){border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.location-directory article:nth-child(even){border-right:0}.location-directory article:nth-last-child(-n+2){border-bottom:0}}

/* Fixed cinematic opening image: page content scrolls over the yacht scene. */
.hero{display:block;min-height:calc(100vh - 84px);background-color:var(--navy);background-image:linear-gradient(90deg,rgba(7,23,44,.97) 0%,rgba(7,23,44,.86) 42%,rgba(7,23,44,.18) 72%,rgba(7,23,44,.08) 100%),linear-gradient(0deg,rgba(7,23,44,.55),transparent 58%),url("assets/hero-yacht-full.png");background-size:cover,cover,auto calc(100vh - 84px);background-position:center,center,right 0 top 84px;background-repeat:no-repeat;background-attachment:scroll,scroll,fixed}
.hero-copy{min-height:calc(100vh - 84px);display:flex;flex-direction:column;justify-content:center;max-width:1180px;margin-inline:auto;padding-left:0;padding-right:420px}
.hero-visual{display:none}.quick-region{position:relative;z-index:2;box-shadow:0 -30px 70px rgba(7,23,44,.18)}

/* Genuine manufacturer marks supplied by Titan Marine Air. */
.brand-cloud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}
.brand-cloud figure{margin:0;min-height:112px;padding:20px 18px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.brand-cloud figure:hover{transform:translateY(-4px);border-color:rgba(237,64,84,.4);box-shadow:0 18px 38px rgba(11,31,59,.1)}
.brand-cloud img{width:100%;height:64px;object-fit:contain}
@media (max-width:1050px){.hero{min-height:700px;background-size:cover,cover,auto 700px;background-position:center,center,right 0 top 72px}.hero-copy{min-height:700px;max-width:none;margin:0;padding:110px 40px 65px;padding-right:36%}.brand-cloud{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){.hero{min-height:690px;background-attachment:scroll;background-size:cover;background-position:72% 35%}.hero-copy{min-height:690px;padding:94px 24px 54px}.brand-cloud{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.brand-cloud figure{min-height:88px;padding:14px 12px}.brand-cloud img{height:52px}}

/* Full-width alternating service stories. */
.service-grid{grid-template-columns:1fr;gap:26px}
.service-card,.service-card.wide{grid-column:auto;grid-template-columns:1.08fr .92fr;min-height:420px}
.service-card:nth-child(even){grid-template-columns:.92fr 1.08fr}
.service-card:nth-child(even) .service-image{order:2}
.service-card:nth-child(even) .service-content{order:1}
.service-image,.service-card.wide .service-image{height:100%;min-height:420px}
.service-content,.service-card.wide .service-content{display:flex;flex-direction:column;justify-content:center;padding:58px 50px}
.service-content h3{font-size:clamp(2rem,3vw,3rem)}
.service-content p{max-width:520px;font-size:1rem}
.service-content a{margin-top:8px;align-self:flex-start;border-bottom:2px solid var(--red);padding-bottom:4px}
@media (max-width:760px){.service-card,.service-card.wide,.service-card:nth-child(even){grid-template-columns:1fr;min-height:0}.service-card:nth-child(even) .service-image,.service-card .service-image{order:0;height:270px;min-height:270px}.service-card:nth-child(even) .service-content,.service-card .service-content{order:1;padding:32px 28px}}

/* Keep the yacht fixed in the viewport while the hero content scrolls over it. */
.hero{min-height:100vh;background-size:cover,cover,cover;background-position:center,center,center 48%;background-attachment:scroll,scroll,fixed}
@media (max-width:1050px){.hero{min-height:100vh;background-size:cover,cover,cover;background-position:center,center,64% 42%;background-attachment:scroll,scroll,fixed}}
@media (max-width:720px){.hero{min-height:100vh;background-size:cover,cover,cover;background-position:center,center,70% 40%;background-attachment:scroll,scroll,fixed}}
.hero-wave{position:absolute;z-index:5;left:0;right:0;bottom:-1px;width:100%;height:clamp(46px,5.5vw,78px);display:block;color:var(--ice);pointer-events:none}
.hero-wave path{fill:currentColor}

/* The office directory docks to the viewport after it is reached, then yields to the real footer. */
.contact-dock{position:relative;z-index:30;min-height:231px;padding:0;background:#07172c;border-top:1px solid rgba(255,255,255,.14)}
.contact-dock .location-directory{grid-column:auto;margin:0 auto;border-top:0;background:#07172c}
.contact-dock .location-directory article{display:flex;flex-direction:column;align-items:center;text-align:center!important}
.contact-dock .location-directory article>*{text-align:center!important}
.contact-dock.is-stuck .location-directory{position:fixed;z-index:30;left:50%;bottom:0;width:var(--shell);transform:translateX(-50%);box-shadow:0 -16px 34px rgba(3,14,29,.18)}

/* A restrained echo of the hero wave introduces the footer. */
.site-footer{position:relative;z-index:50;margin-top:0}
.footer-wave{position:absolute;left:0;right:0;top:-77px;width:100%;height:78px;display:block;color:#07172c;pointer-events:none}
.footer-wave path{fill:currentColor}
.location-directory .address-map{min-height:68px;margin:0 0 10px;color:#9fb0c7;font-size:.69rem;line-height:1.5}
.location-directory .address-map:hover,.location-directory .address-map:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}

@media (max-width:1050px){
  .contact-dock{min-height:0;box-shadow:none}
  .contact-dock.is-stuck .location-directory{position:static;width:auto;transform:none;box-shadow:none}
}

@media (max-width:720px){
  .hero{background-attachment:scroll,scroll,scroll}
  .site-footer{margin-top:0}
  .footer-wave{top:-53px;height:54px}
}

/* Regional flip cards: hover on pointer devices, tap or keyboard everywhere. */
.region-flip-card{min-width:0;min-height:500px;perspective:1400px;transition:transform .28s ease,filter .28s ease}
.region-card-inner{position:relative;width:100%;height:100%;min-height:500px;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.72,.2,1)}
.region-card-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.region-card-front{cursor:pointer;text-align:left;font:inherit;color:inherit}
.region-flip-card .region-card:hover{transform:none;box-shadow:none}
.region-card-back{overflow:hidden;background:var(--navy);transform:rotateY(180deg)}
.region-card-back:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,23,44,.06) 30%,rgba(7,23,44,.94) 100%)}
.region-card-back img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s ease}
.region-card-back-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;display:grid;gap:11px;color:#fff}
.region-card-back-content>span{font-family:Oswald,Arial,sans-serif;font-size:1.7rem;font-weight:600}
.region-card-back-content>a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--red);font-size:.78rem;font-weight:800;letter-spacing:.025em}
.region-card-back-content>a:hover,.region-card-back-content>a:focus-visible{background:#fff;color:var(--navy);outline:none}
.region-flip-back{justify-self:start;padding:7px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font:700 .68rem/1.2 Manrope,Arial,sans-serif;cursor:pointer}
.region-flip-card.is-flipped .region-card-inner{transform:rotateY(180deg)}
.region-flip-card.is-flipped{filter:drop-shadow(0 24px 30px rgba(11,31,59,.18))}
.region-flip-card.is-flipped .region-card-back img{transform:scale(1.035)}
@media (hover:hover) and (pointer:fine){.region-flip-card:hover .region-card-inner{transform:rotateY(180deg)}.region-flip-card:hover{transform:translateY(-7px);filter:drop-shadow(0 24px 30px rgba(11,31,59,.18))}.region-flip-card:hover .region-card-back img{transform:scale(1.035)}}
@media (max-width:720px){.region-flip-card,.region-card-inner{min-height:510px}.region-card-back-content{left:20px;right:20px;bottom:20px}}
@media (prefers-reduced-motion:reduce){.region-card-inner,.region-card-back img,.region-flip-card{transition:none}}

/* Manufacturer marks inside the matching service stories. */
.service-brands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;width:min(100%,540px);margin:18px 0 20px;padding:16px;background:#fff;border:1px solid #d7dfeb;box-shadow:0 8px 22px rgba(11,31,59,.06)}
.service-brands img{width:100%;height:32px;object-fit:contain;filter:none}
.service-brands-four{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,370px)}
.service-brands-four img{height:38px}
.service-brands-single{grid-template-columns:1fr;width:min(100%,250px)}
.service-brands-single img{height:48px}
.service-brands-duct{grid-template-columns:repeat(12,minmax(0,1fr));width:min(100%,610px);gap:12px 16px;padding:16px 18px}
.service-brands-duct>span{grid-column:span 4;display:flex;align-items:center;justify-content:center;min-width:0;height:54px;padding:2px 4px;background:transparent;border:0;overflow:visible}
.service-brands-duct>span:nth-child(1){grid-column:1/5;grid-row:1}
.service-brands-duct>span:nth-child(2){grid-column:5/9;grid-row:1}
.service-brands-duct>span:nth-child(3){grid-column:9/13;grid-row:1}
.service-brands-duct>span:nth-child(4){grid-column:1/4;grid-row:2}
.service-brands-duct>span:nth-child(5){grid-column:4/7;grid-row:2}
.service-brands-duct>span:nth-child(6){grid-column:7/10;grid-row:2}
.service-brands-duct>span:nth-child(7){grid-column:10/13;grid-row:2}
.service-brands-duct>span img{width:100%;height:44px;object-fit:contain}
.service-image.duct-cleaning-image img{object-position:22% center}
@media (max-width:520px){.service-brands{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.service-brands img{height:34px}.service-brands-single{grid-template-columns:1fr}}
@media (max-width:520px){.service-brands-duct{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;padding:14px}.service-brands-duct>span,.service-brands-duct>span:nth-child(n){grid-column:span 2;grid-row:auto;height:50px;padding:2px}.service-brands-duct>span:nth-child(7){grid-column:2/span 2}.service-brands-duct>span img{height:42px}.service-image.duct-cleaning-image img{object-position:16% center}}

