:root{--paper:#f3f1eb;--ink:#172b33;--navy:#102630;--muted:#65747a;--orange:#ef653c;--line:#d7d8d1;--mint:#b4d9c8;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:78px;padding:0 6.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,43,51,.12);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;font:800 15px var(--display);letter-spacing:.075em}.brand-light{font-weight:500;color:#718087}.brand-mark{width:25px;height:26px;display:flex;align-items:flex-end;gap:3px;transform:skew(-28deg)}.brand-mark i{display:block;width:5px;background:var(--orange);height:14px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:26px}.main-nav{display:flex;align-items:center;gap:39px;font-size:12px;font-weight:600}.main-nav>a:not(.nav-cta){color:#506168;transition:color .2s}.main-nav>a:hover{color:var(--orange)}.nav-cta{background:var(--ink);color:white;padding:13px 17px}.nav-cta span{margin-left:17px;color:var(--mint)}.menu-toggle{display:none}.hero{padding:72px 6.2vw 76px;min-height:640px;display:grid;grid-template-columns:.92fr 1.08fr;gap:5vw;align-items:center}.hero-copy{max-width:590px}.eyebrow{font:500 10px var(--mono);letter-spacing:.12em;color:#62737a;margin:0 0 26px}.status-dot{display:inline-block;background:var(--orange);width:7px;height:7px;border-radius:50%;margin-right:9px;vertical-align:1px}.hero h1{font:600 clamp(56px,6.15vw,88px)/.99 var(--display);letter-spacing:-.07em;margin:0 0 25px}.hero h1 em,.section-head h2 em,.approach h2 em,.contact h2 em{font-style:normal;color:var(--orange)}.hero-intro{max-width:440px;color:#647178;line-height:1.7;font-size:14px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 19px;border:0;cursor:pointer;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark span{color:var(--mint)}.text-link{font-size:11px;font-weight:700;border-bottom:1px solid #adb8b4;padding-bottom:5px}.text-link span{margin-left:9px;color:var(--orange)}.hero-proof{display:flex;align-items:center;gap:13px;margin-top:54px;font-size:10px;color:#738086;max-width:300px;line-height:1.6}.proof-rule{width:28px;height:1px;background:var(--orange);flex:none}.hero-proof strong{color:var(--ink)}.route-visual{max-width:680px;width:100%;justify-self:end;background:var(--navy);padding:16px 16px 12px;box-shadow:14px 16px 0 rgba(16,38,48,.06)}.visual-top,.visual-caption{display:flex;justify-content:space-between;color:#b5c7c4;font:9px var(--mono);letter-spacing:.08em;padding:3px 4px}.route-map{width:100%;height:auto;display:block;margin:11px 0}.land{fill:#30464d;stroke:#50646a;stroke-width:1}.route-halo{fill:none;stroke:#ef653c;stroke-width:8;opacity:.13}.route-line{fill:none;stroke:#ef7958;stroke-width:1.6;stroke-dasharray:5 6}.route-pulse{fill:#ef653c;opacity:.8}.route-point{fill:#f4b28d;stroke:#ef653c;stroke-width:5;stroke-opacity:.35}.destination{fill:#b4d9c8;stroke:#b4d9c8;stroke-opacity:.28}.map-label rect{fill:#172e38;stroke:#52666d;stroke-width:.7}.map-label text,.map-coord{fill:#d1ded8;font:8px var(--mono);letter-spacing:.06em}.map-coord{opacity:.7}.plane path{fill:#ffc5a5}.legend-dot{display:inline-block;width:5px;height:5px;background:var(--mint);border-radius:50%;margin:0 7px 1px 0}.ticker{overflow:hidden;background:var(--orange);color:#fff7ed;padding:12px 0}.ticker-track{white-space:nowrap;font:500 10px var(--mono);letter-spacing:.12em;animation:marquee 36s linear infinite}.ticker-track span{display:block;width:max-content}.ticker-track b{font-size:9px;margin:0 27px;color:#ffd2bd}@keyframes marquee{to{transform:translateX(-50%)}}.section-pad{padding:110px 9vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:54px}.section-head .eyebrow,.approach .eyebrow,.contact .eyebrow{margin-bottom:21px}.section-head h2,.approach h2,.contact h2{font:600 clamp(38px,4.4vw,59px)/1.07 var(--display);letter-spacing:-.06em;margin:0}.section-aside{max-width:290px;font-size:12px;line-height:1.7;color:#6b787c;margin:0 4% 5px 30px}.service-row{display:grid;grid-template-columns:37px 53px 1.03fr 1.1fr 22px;gap:22px;align-items:center;border-top:1px solid var(--line);padding:20px 4px;transition:padding .25s,background .25s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.32)}.service-index{font:10px var(--mono);color:#8b9695}.service-icon{width:42px;height:42px;border:1px solid #cbd0ca;display:grid;place-items:center;font-size:20px;color:var(--orange);transition:background .2s,color .2s,border .2s}.service-row:hover .service-icon{background:var(--ink);color:var(--mint);border-color:var(--ink)}.service-name h3{margin:0;font:600 17px var(--display);letter-spacing:-.03em}.service-name p{margin:6px 0 0;color:#778386;font-size:10px}.service-desc{font-size:11px;line-height:1.6;color:#718086;max-width:290px}.service-arrow{color:#a0aaa7;font-size:16px}.service-row:hover .service-arrow{color:var(--orange)}.approach{background:#e8e9e1;display:grid;grid-template-columns:1fr 1fr;min-height:500px}.approach-art{position:relative;overflow:hidden;background:#18323c;min-height:430px;display:grid;place-items:center}.approach-art:before,.approach-art:after{content:"";position:absolute;background:rgba(180,217,200,.07)}.approach-art:before{width:1px;height:100%;left:50%}.approach-art:after{height:1px;width:100%;top:50%}.orbit{position:absolute;border:1px solid rgba(180,217,200,.18);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:360px;height:210px}.orbit-two{width:460px;height:280px;transform:rotate(36deg)}.orbit-core{width:104px;height:104px;border:1px solid rgba(180,217,200,.54);border-radius:50%;display:grid;place-items:center;position:relative;background:#203e46;color:#e1eee6;font:700 18px var(--display);box-shadow:0 0 0 12px rgba(180,217,200,.04),0 0 48px rgba(180,217,200,.08)}.brand-mark.large{position:absolute;opacity:.28;transform:skew(-28deg) scale(1.7)}.orbit-core>span:last-child{z-index:1}.art-tag{position:absolute;color:#b3c8c1;font:9px var(--mono);letter-spacing:.12em}.tag-top{top:34px;left:38px}.tag-bottom{bottom:32px;right:38px}.approach-copy{padding:85px 9vw 70px 7vw;align-self:center}.approach-copy>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#667579;max-width:430px;margin:25px 0}.approach-copy>p+p{margin-top:-12px!important}.dark-link{display:inline-block;margin-top:16px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;background:var(--navy);color:#f5f3ed;padding-top:105px;padding-bottom:105px}.contact .eyebrow{color:#93aaa9}.contact h2 em{color:#f27b56}.contact-intro>p:not(.eyebrow){color:#b5c3c1;max-width:350px;font-size:13px;line-height:1.75;margin:26px 0 39px}.contact-meta{display:flex;gap:56px}.contact-meta span,.form-top{font:9px var(--mono);letter-spacing:.1em;color:#8da3a3}.contact-meta p{font-size:11px;line-height:1.6;color:#e2e6e0}.contact-meta small{color:#8da3a3}.contact-form{background:#f3f1eb;color:var(--ink);padding:28px 34px 25px}.form-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:23px;color:#768589}.contact-form label{display:block;font-size:10px;font-weight:700;margin-bottom:15px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #c9ceca;background:transparent;padding:11px 0 9px;color:var(--ink);font-size:12px;outline:none;border-radius:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--orange)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1aaa7}.contact-form select{color:#89938e}.contact-form textarea{resize:vertical}.button-orange{width:100%;background:var(--orange);color:white;margin-top:6px}.button-orange:hover{background:#dc5731}.button-orange span{font-size:16px}.form-note{font-size:9px;line-height:1.5;color:#838d89;margin:11px 0 0}.footer{padding:28px 6.2vw;display:grid;grid-template-columns:1.2fr 1.5fr .7fr auto;gap:20px;align-items:center;background:#0c1e26;color:#9dadaa;font:9px var(--mono);letter-spacing:.06em}.footer-brand{color:#f2f1e9;font:800 13px var(--display)}.footer-brand .brand-light{color:#869590}.footer>a:nth-of-type(2){text-align:right}.copyright{color:#647570}.menu-toggle{border:0;background:none}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:3vw;padding-top:58px}.hero h1{font-size:clamp(54px,7vw,72px)}.section-pad{padding-left:7vw;padding-right:7vw}.approach-copy{padding:65px 6vw}.contact{gap:5vw}.service-row{grid-template-columns:25px 42px 1fr 1fr 18px;gap:13px}.footer{grid-template-columns:1fr 1.5fr auto}.copyright{display:none}}@media(max-width:680px){html{scroll-padding-top:68px}.site-header{height:66px;padding:0 6vw}.menu-toggle{display:flex;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span{width:19px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:65px;left:0;right:0;padding:22px 6vw 26px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:0}.main-nav.open{display:flex;flex-direction:column}.main-nav>a{padding:13px 0!important}.main-nav .nav-cta{padding:14px!important;margin-top:8px;text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding:58px 6vw 48px;gap:39px}.hero h1{font-size:clamp(56px,14vw,78px)}.hero-intro{font-size:13px}.hero-proof{margin-top:33px}.route-visual{width:100%;padding:12px 10px 10px}.route-map{margin:7px 0}.visual-top,.visual-caption{font-size:8px}.ticker{padding:11px 0}.section-pad{padding:75px 6vw}.section-head{display:block;margin-bottom:37px}.section-aside{margin:19px 0 0;max-width:360px}.section-head h2,.approach h2,.contact h2{font-size:43px}.service-row{grid-template-columns:24px 42px 1fr 20px;gap:12px;padding:17px 0}.service-name h3{font-size:14px}.service-desc{grid-column:3/5;grid-row:2;margin:-7px 0 0;font-size:10px}.service-index{grid-row:1/3;align-self:start;padding-top:14px}.service-icon{grid-row:1/3;align-self:start;margin-top:4px;width:37px;height:37px}.service-arrow{grid-column:4;grid-row:1}.approach{grid-template-columns:1fr}.approach-art{min-height:310px}.orbit-one{width:300px;height:175px}.orbit-two{width:370px;height:230px}.approach-copy{padding:55px 7vw 62px}.approach-copy>p:not(.eyebrow){font-size:12px}.contact{display:block;padding-top:71px;padding-bottom:70px}.contact-intro>p:not(.eyebrow){margin:20px 0 29px}.contact-meta{gap:36px;margin-bottom:36px}.contact-form{padding:23px 20px}.footer{padding:24px 6vw;grid-template-columns:1fr auto;gap:17px}.footer>span:nth-child(2){grid-column:1/3;grid-row:2}.footer>a:nth-of-type(2){grid-column:2;grid-row:1}.footer .copyright{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Star Shipping navigation: a visible route system that adapts before it crowds. */
.site-header{position:sticky;top:0;z-index:50;height:82px;padding:0 clamp(22px,5.2vw,82px);gap:clamp(16px,2.5vw,38px);background:rgba(243,241,235,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,43,51,.13)}
.brand{flex:none}
.header-coordinate{display:flex;align-items:center;gap:9px;margin-left:auto;color:#718087;font:9px var(--mono);letter-spacing:.075em;white-space:nowrap}
.header-coordinate>span:last-child{padding-left:9px;border-left:1px solid #cbd0ca;color:#9a6b58}
.coordinate-pulse{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(239,101,60,.34);animation:coordinate-ping 2.6s ease-out infinite}
@keyframes coordinate-ping{0%{box-shadow:0 0 0 0 rgba(239,101,60,.34)}70%,100%{box-shadow:0 0 0 7px rgba(239,101,60,0)}}
.main-nav{flex:none;gap:clamp(2px,.5vw,8px);font-size:inherit}
.main-nav .nav-panel-heading{display:none}
.main-nav .nav-link{position:relative;display:grid;grid-template-columns:15px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:91px;padding:10px 10px 12px;color:#58686e;transition:color .24s,background .24s}
.nav-link::after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:1px;background:#d6d9d2;transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s}
.nav-link[aria-current="location"]::after,.nav-link:hover::after,.nav-link:focus-visible::after{background:var(--orange);transform:scaleX(1)}
.nav-number{font:9px var(--mono);color:#9ca7a2;grid-column:1;grid-row:1;align-self:end}
.nav-link-title{grid-column:2;grid-row:1;font:600 11px var(--display);color:var(--ink);align-self:end}
.nav-link-detail{display:none}
.nav-link-icon{width:23px;height:23px;grid-column:1;grid-row:2;align-self:center;overflow:visible;fill:none;stroke:#8e9b97;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s,transform .4s cubic-bezier(.2,.8,.2,1)}
.nav-link-icon circle{fill:var(--paper)}
.nav-link-icon .icon-spark{stroke:var(--orange)}
.nav-link:hover .nav-link-icon,.nav-link[aria-current="location"] .nav-link-icon,.nav-link:focus-visible .nav-link-icon{stroke:var(--orange);transform:translate(1px,-1px)}
.orbit-satellite{fill:var(--orange)!important;stroke:var(--orange)}
.icon-orbit{animation:orbit-breathe 5s ease-in-out infinite alternate;animation-play-state:paused}
.nav-link:hover .icon-orbit,.nav-link[aria-current="location"] .icon-orbit{animation-play-state:running}
@keyframes orbit-breathe{to{transform:rotate(13deg) scale(1.05)}}
.nav-arrow{position:absolute;right:11px;top:13px;width:9px;height:9px;border-top:1px solid var(--orange);transform:scale(.7) rotate(45deg);opacity:0;transition:opacity .2s,transform .25s}
.nav-arrow::after{content:"";position:absolute;right:0;top:-1px;width:1px;height:9px;background:var(--orange);transform:rotate(-45deg);transform-origin:top}
.nav-link:hover .nav-arrow,.nav-link:focus-visible .nav-arrow,.nav-link[aria-current="location"] .nav-arrow{opacity:1;transform:scale(1) rotate(45deg)}
.main-nav .nav-cta{display:flex;align-items:center;gap:10px;margin-left:clamp(5px,1vw,16px);padding:8px 14px 8px 8px;background:var(--ink);color:white;font:600 10px var(--display);white-space:nowrap;transition:background .22s,transform .22s}
.main-nav .nav-cta:hover{background:#25434a;transform:translateY(-1px)}
.cta-orbit{width:29px;height:29px;border:1px solid rgba(180,217,200,.42);border-radius:50%;display:grid;place-items:center;transition:transform .35s,border-color .25s}
.cta-orbit svg{width:13px;height:13px;fill:none;stroke:var(--mint);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nav-cta:hover .cta-orbit{transform:rotate(45deg);border-color:var(--mint)}
.menu-toggle{display:none}
.site-header :focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:1120px) and (min-width:861px){.site-header{padding-inline:24px;gap:12px}.header-coordinate{display:none}.main-nav{margin-left:auto}.main-nav .nav-link{min-width:81px;padding-inline:7px}.nav-link::after{left:7px;right:7px}.main-nav .nav-cta{margin-left:4px;padding-right:10px}}
@media(max-width:860px){
  .site-header{height:70px;padding-inline:clamp(18px,5vw,32px);gap:12px}
  .header-coordinate{display:none}
  .menu-toggle{display:flex;align-items:center;gap:11px;min-height:44px;padding:7px 3px 7px 13px;border:0;border-left:1px solid #d8d9d2;background:transparent;color:var(--ink);cursor:pointer}
  .menu-toggle-label{font:500 9px var(--mono);letter-spacing:.13em}
  .menu-toggle-icon{position:relative;width:30px;height:30px;border:1px solid #bec8c1;border-radius:50%;display:grid;align-content:center;justify-items:center;gap:4px;transition:background .25s,border-color .25s,transform .3s}
  .menu-toggle-icon i{width:10px;height:1px;background:var(--ink);transition:transform .3s,width .25s,background .25s}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon{background:var(--orange);border-color:var(--orange);transform:rotate(90deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon i{background:white}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon i:first-child{transform:translateY(2.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon i:last-child{transform:translateY(-2.5px) rotate(-45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-label{color:var(--orange)}
  .main-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-9px) scale(.99);transform-origin:top center;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - 71px);overflow:auto;padding:20px clamp(20px,6vw,42px) 24px;background:rgba(243,241,235,.985);border-bottom:1px solid rgba(23,43,51,.16);box-shadow:0 22px 35px rgba(16,38,48,.12);transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}
  .main-nav.open{display:flex;visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1);transition:opacity .22s,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s}
  .main-nav .nav-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:0 1px 13px;border-bottom:1px solid #d7dbd4;color:#84918c;font:9px var(--mono);letter-spacing:.1em}
  .nav-panel-heading span:last-child{color:#b16a50}
  .main-nav .nav-link{grid-template-columns:48px 29px minmax(0,1fr) 16px;grid-template-rows:22px 19px;column-gap:10px;min-width:0;min-height:75px;padding:12px 7px;border-bottom:1px solid #d7dbd4}
  .main-nav .nav-link::after{display:none}
  .nav-link-icon{width:30px;height:30px;grid-column:1;grid-row:1/3;justify-self:center}
  .nav-number{grid-column:2;grid-row:1/3;align-self:center;font-size:9px}
  .nav-link-title{grid-column:3;grid-row:1;align-self:end;font-size:14px}
  .nav-link-detail{display:block;grid-column:3;grid-row:2;align-self:start;color:#74817e;font-size:10px}
  .nav-arrow{grid-column:4;grid-row:1/3;position:relative;top:auto;right:auto;justify-self:center;align-self:center;width:10px;height:10px;opacity:.3;transform:scale(.8) rotate(45deg)}
  .nav-link:hover .nav-arrow,.nav-link:focus-visible .nav-arrow,.nav-link[aria-current="location"] .nav-arrow{opacity:1}
  .main-nav .nav-cta{justify-content:space-between;min-height:51px;margin:15px 0 0;padding:9px 13px;background:var(--orange);font-size:11px}
  .main-nav .nav-cta:hover{background:#dc5731}
  .cta-orbit{width:32px;height:32px;border-color:rgba(255,255,255,.5)}
  .cta-orbit svg{stroke:white}
}
@media(max-width:390px){.site-header{padding-inline:15px}.brand{font-size:13px;gap:9px}.brand-mark{transform:skew(-28deg) scale(.9);transform-origin:left center}.menu-toggle{gap:8px;padding-left:10px}.main-nav{padding-inline:18px}.main-nav .nav-link{grid-template-columns:40px 27px minmax(0,1fr) 14px;column-gap:8px}}
@media(prefers-reduced-motion:reduce){.coordinate-pulse,.icon-orbit{animation:none!important}.menu-toggle-icon,.menu-toggle-icon i,.main-nav,.nav-link-icon,.nav-arrow,.nav-cta,.cta-orbit,.nav-link::after{transition:none!important}}

@media(min-width:861px){.main-nav .nav-link{min-width:96px}.nav-link-title{font-size:12px}.nav-number{font-size:10px}.nav-link-icon{width:25px;height:25px}.main-nav .nav-cta{font-size:11px}}


/* Icon-library sizing and scroll-compressed navigation states. */
.site-header{transition:height .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,background .28s,padding .28s}
.site-header.is-scrolled{height:66px;padding-block:0;box-shadow:0 8px 24px rgba(16,38,48,.085);background:rgba(243,241,235,.97)}
.site-header.is-scrolled .brand{transform:scale(.91);transform-origin:left center}
.site-header.is-scrolled .main-nav .nav-link{min-height:45px;padding-top:7px;padding-bottom:9px}
.site-header.is-scrolled .nav-link-icon{width:21px;height:21px}
.site-header.is-scrolled .main-nav .nav-cta{padding-block:6px}
.main-nav .nav-link{grid-template-columns:30px minmax(0,1fr);grid-template-rows:1fr;column-gap:8px;min-width:102px;min-height:54px;padding:9px 10px 11px}
.nav-number{display:none!important}
.nav-link-title{grid-column:2;grid-row:1;align-self:center;font-size:12px}
.nav-link-icon{grid-column:1;grid-row:1;justify-self:start;align-self:center;width:25px;height:25px;fill:none;stroke:#82928d;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s,transform .38s cubic-bezier(.2,.8,.2,1)}
.nav-link:hover .nav-link-icon,.nav-link[aria-current="location"] .nav-link-icon,.nav-link:focus-visible .nav-link-icon{stroke:var(--orange);transform:translateY(-2px) rotate(-4deg)}
.menu-toggle-icon{position:relative;overflow:hidden}
.menu-toggle-icon .lucide{position:absolute;width:15px;height:15px;stroke-width:1.6;transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.2,1)}
.menu-icon-open{opacity:1;transform:rotate(0) scale(1)}
.menu-icon-close{opacity:0;transform:rotate(-90deg) scale(.65)}
.menu-toggle[aria-expanded="true"] .menu-icon-open{opacity:0;transform:rotate(90deg) scale(.65)}
.menu-toggle[aria-expanded="true"] .menu-icon-close{opacity:1;transform:rotate(0) scale(1)}
@media(max-width:860px){
  .site-header.is-scrolled{height:60px;padding-inline:clamp(18px,5vw,32px)}
  .site-header.is-scrolled .brand{transform:scale(.88);transform-origin:left center}
  .site-header.is-scrolled .menu-toggle{transform:scale(.94);transform-origin:right center}
  .main-nav{max-height:calc(100svh - 61px)}
  .main-nav .nav-link{grid-template-columns:48px minmax(0,1fr) 16px;grid-template-rows:22px 19px;column-gap:10px;min-width:0;min-height:75px;padding:12px 7px}
  .nav-link-icon{grid-column:1;grid-row:1/3;justify-self:center;width:30px;height:30px}
  .nav-link-title{grid-column:2;grid-row:1;align-self:end;font-size:14px}
  .nav-link-detail{grid-column:2;grid-row:2}
  .nav-arrow{grid-column:3;grid-row:1/3}
  .site-header.is-scrolled .main-nav{max-height:calc(100svh - 61px)}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand,.nav-link-icon,.menu-toggle-icon .lucide{transition:none!important}}
@media(max-width:860px){body.nav-open::before{content:"";position:fixed;z-index:45;inset:70px 0 0;background:rgba(16,38,48,.18);backdrop-filter:blur(2px);animation:nav-scrim-in .24s ease-out both}.site-header.is-scrolled~main::before{content:none}}
@keyframes nav-scrim-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body.nav-open::before{animation:none}}

.menu-toggle[aria-expanded='true'] .menu-toggle-icon .lucide{color:#fff}


.menu-toggle .menu-toggle-icon{display:grid;width:30px;height:30px;min-width:30px;flex:none;border:1px solid #bec8c1;border-radius:50%;place-items:center;background:transparent}
.menu-toggle[aria-expanded='true'] .menu-toggle-icon{background:var(--orange);border-color:var(--orange)}



/* Hero: one cartographic canvas, with route information embedded in the map. */
.route-hero{display:block;min-height:0;padding:0;background:#0d222b;color:#f0f1e9}
.route-stage{position:relative;isolation:isolate;width:100%;height:max(680px,calc(100svh - 58px));min-height:680px;overflow:hidden;background:radial-gradient(ellipse at 53% 43%,#193640 0%,#102630 56%,#0c2028 100%)}
.route-stage::after{content:"";position:absolute;z-index:0;inset:35% 0 0;pointer-events:none;background:linear-gradient(180deg,transparent 10%,rgba(10,28,35,.35) 48%,#0c2028 100%)}
.route-topline{position:absolute;z-index:3;top:24px;left:clamp(22px,5.5vw,84px);right:clamp(22px,5.5vw,84px);display:flex;align-items:center;color:#d8e1d9;font:600 10px var(--mono);letter-spacing:.16em}
.route-brandline{display:flex;align-items:center;gap:10px;white-space:nowrap}.route-brandline .status-dot{margin:0;box-shadow:0 0 13px rgba(239,101,60,.55)}
.world-map{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;display:block}.map-ocean,.map-dot-field{pointer-events:none}.map-graticule{fill:none;stroke:#77938e;stroke-width:.65;stroke-dasharray:1 6;opacity:.29;vector-effect:non-scaling-stroke}.map-land{fill:#29434a;stroke:none;opacity:.96}.map-country-borders{fill:none;stroke:#496169;stroke-width:.65;opacity:.58;vector-effect:non-scaling-stroke}.map-coastline{fill:none;stroke:#75918b;stroke-width:.85;opacity:.8;vector-effect:non-scaling-stroke}
.flight-route-glow{fill:none;stroke:#f17c55;stroke-width:9;stroke-linecap:round;opacity:.5;filter:url(#route-blur);vector-effect:non-scaling-stroke}.flight-route-base{fill:none;stroke:#8bafa4;stroke-width:1.15;stroke-dasharray:2 7;stroke-linecap:round;opacity:.67;vector-effect:non-scaling-stroke}.flight-route-progress{fill:none;stroke:#ff9871;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}.route-stage[data-mode="sea"] .flight-route-glow{stroke:#83d9bc;opacity:.36}.route-stage[data-mode="sea"] .flight-route-base{stroke:#b6ddcd}.route-stage[data-mode="sea"] .flight-route-progress{stroke:#8de2c3}
.airport-marker{pointer-events:none}.marker-pulse{fill:#b4d9c8;opacity:.21;transform-box:fill-box;transform-origin:center;animation:airport-pulse 2.7s ease-out infinite}.destination-marker .marker-pulse{animation-delay:1.35s}.marker-core{fill:#eff3e9;stroke:#b5dcc9;stroke-width:1.7;vector-effect:non-scaling-stroke}.destination-marker .marker-core{fill:#ffc09d;stroke:#ff9b72}.marker-leader,.marker-label{display:none}.marker-leader{fill:none;stroke:#90aaa1;stroke-width:.75;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.destination-marker .marker-leader{stroke:#d5987d}.marker-label rect{fill:#102a33;fill-opacity:.94;stroke:#627d7c;stroke-width:.8;vector-effect:non-scaling-stroke}.marker-code,.marker-city{font-family:var(--mono);letter-spacing:.08em}.marker-code{fill:#eb9a78;font-size:8px}.marker-city{fill:#dce6dc;font-size:8px}.destination-marker .marker-code{fill:#f2a07c}.flight-plane{pointer-events:none;transform-box:fill-box;transform-origin:center}.plane-halo{fill:#f27853;opacity:.14;filter:url(#route-blur)}.plane-shape{fill:#ffe4cf;stroke:#ee855f;stroke-width:.75;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(255,139,96,.75))}.ship-shape{display:none;fill:#e1fff2;stroke:#73d4b3;stroke-width:.85;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(115,212,179,.7))}.route-stage[data-mode="sea"] .plane-shape{display:none}.route-stage[data-mode="sea"] .ship-shape{display:block}.route-stage[data-mode="sea"] .plane-halo{fill:#73d4b3}
@keyframes airport-pulse{0%{transform:scale(.55);opacity:.4}80%,100%{transform:scale(2.2);opacity:0}}
.hero-content-grid{position:absolute;z-index:2;inset:106px clamp(22px,5.5vw,84px) 66px;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(34px,5vw,72px);transform:translateY(clamp(36px,9vh,76px))}
.hero-slogan{position:relative;isolation:isolate;padding:clamp(12px,2vw,28px) 0}.hero-slogan::before{content:"";position:absolute;z-index:-1;inset:-20px -30px -20px -24px;pointer-events:none;background:linear-gradient(90deg,rgba(10,30,38,.5),rgba(10,30,38,.25) 55%,rgba(10,30,38,0))}.hero-slogan-eyebrow{margin:0 0 20px;color:#a7beb4;font:9px var(--mono);letter-spacing:.16em}.hero-slogan h1{margin:0;color:#f1f0e8;font:600 clamp(40px,4.8vw,66px)/.97 var(--display);letter-spacing:-.065em;text-shadow:0 2px 18px rgba(3,16,21,.72)}.hero-slogan-copy{max-width:440px;margin:23px 0 0;color:#d0dcd4;font:400 clamp(13px,1.1vw,15px)/1.65 var(--sans);text-shadow:0 1px 12px rgba(3,16,21,.85)}
.hero-route-content{min-width:0;padding:clamp(16px,2.2vw,28px);border-left:1px solid rgba(168,204,189,.32);background:linear-gradient(105deg,rgba(10,30,38,.18),rgba(10,30,38,.34));backdrop-filter:none;box-shadow:none;transition:opacity .42s ease,filter .42s ease,transform .42s ease}.hero-route-heading-row{display:block}.route-heading{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.route-heading>p{margin:0 0 5px;color:#9cb2ac;font:9px var(--mono);letter-spacing:.13em}.route-heading>p span{padding:0 7px;color:var(--orange)}.route-heading h2{display:flex;align-items:center;gap:clamp(10px,2vw,28px);margin:0;color:#f1f0e8;font:600 clamp(34px,3.8vw,52px)/.98 var(--display);letter-spacing:-.065em;text-shadow:0 2px 16px rgba(3,16,21,.78)}.route-heading-arrow{color:#f07d58;font:400 .72em var(--sans);animation:arrow-drift 1.8s ease-in-out infinite alternate}.route-heading-caption{color:#b0c2ba;font:11px var(--mono);letter-spacing:.04em;text-shadow:0 1px 10px rgba(3,16,21,.8)}#route-graphics{transition:opacity .42s ease,filter .42s ease}.route-stage.is-route-transitioning .hero-route-content,.route-stage.is-route-transitioning #route-graphics{opacity:0;filter:blur(5px)}.route-stage.is-route-transitioning .hero-route-content{transform:translateY(6px)}
@keyframes arrow-drift{to{transform:translateX(7px)}}
.route-data-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px clamp(12px,2vw,24px);margin-top:24px;padding:17px 0 0;background:transparent;border-top:1px solid rgba(172,203,188,.35);border-bottom:0;backdrop-filter:none}
.route-endpoint{display:flex;flex-direction:column;gap:5px;min-width:0}.route-endpoint>span{color:#8eaaa3;font:8px var(--mono);letter-spacing:.14em}.route-endpoint strong{color:#eef1e9;font:600 12px/1.3 var(--display);white-space:normal;overflow-wrap:anywhere}.route-endpoint small{color:#91a6a0;font:9px var(--mono)}.route-endpoint-destination{grid-column:2;grid-row:1;padding-left:0}
.route-rail-track{grid-column:1/3;grid-row:2;height:1px;position:relative;margin:4px 0;background:linear-gradient(90deg,rgba(180,217,200,.25),rgba(180,217,200,.68),rgba(180,217,200,.25))}.route-rail-track::after{content:"";position:absolute;inset:-4px 0;background:radial-gradient(circle at center,#ee7955 0 2px,transparent 3px);animation:rail-travel 3.2s ease-in-out infinite alternate}.rail-start,.rail-finish{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:#b8d9c8}.rail-start{left:0}.rail-finish{right:0;background:#f19873}@keyframes rail-travel{from{background-position:0 0;opacity:.5}to{background-position:42px 0;opacity:1}}
.route-action{grid-column:1/3;grid-row:3;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid rgba(180,217,200,.43);color:#dce9e0;font-size:10px;font-weight:600;white-space:nowrap;transition:background .22s,color .22s,border-color .22s}.route-action:hover{background:var(--mint);border-color:var(--mint);color:var(--navy)}.route-action .lucide{width:13px;height:13px;color:#ef8a66;transition:transform .25s}.route-action:hover .lucide{transform:translate(2px,-2px);color:var(--navy)}
.route-disclaimer{margin:14px 0 0;color:#718f8c;font:7px var(--mono);letter-spacing:.08em}.route-stage .status-dot{width:6px;height:6px}
@media(max-width:1180px){.route-data-rail{gap:12px 18px}.route-action{min-height:38px}}
@media(max-width:900px){.route-stage{height:max(900px,calc(100svh - 70px));min-height:900px}.route-topline{left:24px;right:24px}.hero-content-grid{inset:100px 6vw 54px;grid-template-columns:minmax(0,1fr);align-content:start;gap:24px;transform:translateY(38px)}.hero-slogan{padding:12px 0}.hero-slogan::before{inset:-12px -24px;background:linear-gradient(90deg,rgba(10,30,38,.42),rgba(10,30,38,.18) 78%,transparent)}.hero-slogan-eyebrow{margin-bottom:13px}.hero-slogan h1{font-size:clamp(44px,6.3vw,60px)}.hero-slogan-copy{max-width:570px;margin-top:14px}.hero-route-content{padding:22px 24px;background:linear-gradient(110deg,rgba(10,30,38,.18),rgba(10,30,38,.36))}.route-heading h2{font-size:clamp(36px,5vw,48px)}}
@media(max-width:560px){.route-stage{height:max(980px,calc(100svh - 60px));min-height:980px}.route-topline{top:17px;left:18px;right:18px}.route-brandline{font-size:8px;letter-spacing:.13em}.hero-content-grid{inset:76px 16px 44px;gap:18px;transform:translateY(24px)}.hero-slogan{padding:10px 4px}.hero-slogan-eyebrow{margin-bottom:12px;font-size:8px}.hero-slogan h1{font-size:clamp(40px,11vw,52px)}.hero-slogan-copy{max-width:420px;margin-top:14px;font-size:12px;line-height:1.55}.hero-route-content{padding:17px 14px 14px;border-left:0;border-top:1px solid rgba(168,204,189,.32);background:linear-gradient(110deg,rgba(10,30,38,.2),rgba(10,30,38,.38))}.hero-route-heading-row{align-items:center;gap:8px}.route-heading>p{font-size:7px}.route-heading h2{gap:10px;font-size:clamp(34px,9vw,40px)}.route-heading-caption{font-size:8px}.flight-toggle{flex:none;min-height:34px;padding:0 9px;gap:7px;font-size:0;letter-spacing:0}.flight-toggle span{display:none}.flight-toggle .lucide{width:12px;height:12px}.route-data-rail{gap:10px 12px;margin-top:17px;padding-top:13px}.route-endpoint>span{font-size:7px}.route-endpoint strong{font-size:9px}.route-endpoint small{font-size:7px;white-space:normal;overflow-wrap:anywhere}.route-rail-track{margin:2px}.route-action{min-height:36px}.route-disclaimer{margin-top:11px;text-align:left;font-size:6px;letter-spacing:.04em}.marker-label rect{fill-opacity:.97}.marker-code,.marker-city{font-size:8px}}
@media(prefers-reduced-motion:reduce){.marker-pulse,.route-heading-arrow,.route-rail-track::after{animation:none!important}.flight-plane{transition:none!important}}

.route-stage:not(.is-map-ready) .airport-marker,.route-stage:not(.is-map-ready) .flight-plane{visibility:hidden}
.world-map{transition:opacity .42s ease,filter .42s ease}.route-stage.is-route-transitioning .world-map{opacity:.08;filter:blur(3px)}

/* Simultaneous air corridors stay on the original Pacific-centered map. */
.route-stage.is-route-transitioning .world-map,.route-stage.is-route-transitioning #route-graphics{opacity:1;filter:none}
.hero-route-content{transition:opacity .68s cubic-bezier(.22,.61,.36,1),filter .68s cubic-bezier(.22,.61,.36,1),transform .68s cubic-bezier(.22,.61,.36,1)}
.hero-route-content.is-copy-transitioning{opacity:0;filter:blur(6px);transform:translateY(5px)}
.corridor-glow,.corridor-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.corridor-glow{stroke:#ef7958;stroke-width:4.5;opacity:.09;filter:url(#route-blur)}
.corridor-line{stroke:#b4d9c8;stroke-width:1.25;stroke-dasharray:2 6;opacity:.7;animation:corridor-drift 9s linear infinite}
.air-corridor:nth-of-type(2) .corridor-line{stroke:#ffc09d;animation-delay:-1.5s}
.air-corridor:nth-of-type(3) .corridor-line{animation-delay:-3s}
.air-corridor:nth-of-type(4) .corridor-line{stroke:#d7c8a0;animation-delay:-4.5s}
.air-corridor:nth-of-type(5) .corridor-line{animation-delay:-6s}
.air-corridor:nth-of-type(6) .corridor-line{stroke:#ffc09d;animation-delay:-7.5s}
.air-corridor:nth-of-type(7) .corridor-line{animation-delay:-2.25s}
.air-corridor .airport-marker .marker-core{fill:#ffc09d;stroke:#ff9b72}
.air-corridor .marker-pulse{fill:#ffc09d;opacity:.18}
.air-corridor .flight-plane{pointer-events:none}
.air-corridor .plane-halo{fill:#f27853;opacity:.2}
@keyframes corridor-drift{to{stroke-dashoffset:-48}}
@media(prefers-reduced-motion:reduce){.hero-route-content{transition:none}.corridor-line{animation:none}}
@media(max-width:560px){
  .route-stage{height:max(760px,calc(100svh - 60px));min-height:760px}
  .hero-content-grid{inset:76px 16px 28px;align-content:center;gap:13px;transform:none}
  .hero-slogan{padding:8px 4px}
  .hero-slogan h1{font-size:clamp(36px,9.6vw,42px);line-height:1.02}
  .hero-slogan-copy{margin-top:11px;font-size:11.5px;line-height:1.48}
  .hero-route-content{padding:13px 12px 11px;background:rgba(10,30,38,.68)}
  .route-heading h2{gap:9px;font-size:clamp(31px,8.4vw,35px)}
  .route-heading-caption{font-size:8px}
  .route-data-rail{gap:8px 10px;margin-top:13px;padding-top:11px}
  .route-endpoint strong{font-size:9.5px}
  .route-action{min-height:34px}
  .route-disclaimer{margin-top:9px;font-size:6.5px}
  .corridor-line{opacity:.48}
}

/* Three.js globe experiment: a rotatable, cropped Earth with simultaneous air traffic. */
.three-globe-world{overflow:hidden;isolation:isolate;background:transparent}
.three-globe-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.three-globe-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 47%,rgba(7,24,32,.38) 100%)}
.three-globe-fallback::after{content:"Vista 3D no disponible en este dispositivo";position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);padding:9px 13px;background:rgba(10,30,38,.72);color:#c7d9d2;font:10px var(--mono);letter-spacing:.07em}

/* Three.js hero: a single headline leads while the globe carries the route story. */
.typing-hero .hero-content-grid{inset:100px clamp(24px,7vw,112px) 68px;display:flex;align-items:center;transform:translateY(42px);pointer-events:none}
.typing-hero .hero-slogan{width:fit-content;max-width:100%;padding:20px 0}
.typing-hero .hero-slogan::before{content:none}
.typing-hero .hero-slogan-eyebrow{margin-bottom:22px}
.typing-hero .hero-slogan h1{font-size:clamp(58px,7.1vw,96px);line-height:.99;letter-spacing:-.075em}
.typing-highlight{position:relative;display:inline-grid;grid-template-columns:calc(4.75em - .08em);align-items:baseline;box-sizing:border-box;width:4.75em;margin-left:.04em;padding:0 0 0 .08em;background:transparent;color:var(--orange);text-shadow:none;vertical-align:baseline;line-height:inherit;white-space:nowrap}
.typing-word{position:relative;grid-area:1/1;display:block;width:100%;min-width:0;line-height:inherit;white-space:pre}
.typing-caret{position:absolute;top:50%;left:0;width:2px;height:.72em;transform:translateY(-50%);background:var(--orange);animation:typing-blink .8s steps(2,start) infinite}
@keyframes typing-blink{to{opacity:0}}
.typing-hero .hero-slogan-copy{max-width:500px;margin-top:36px;font-size:clamp(14px,1.25vw,17px);line-height:1.65}
@media(max-width:900px){.typing-hero .hero-content-grid{inset:90px 6vw 54px;justify-content:center;transform:translateY(28px)}.typing-hero .hero-slogan{width:fit-content;max-width:100%}.typing-hero .hero-slogan h1{font-size:clamp(54px,9vw,78px)}.typing-hero .hero-slogan-copy{max-width:450px;margin-top:29px;font-size:14px}}
@media(max-width:560px){.typing-hero .hero-content-grid{inset:76px 18px 36px;align-items:center;justify-content:flex-start;transform:translateY(30px)}.typing-hero .hero-slogan{padding:12px 0}.typing-hero .hero-slogan::before{inset:-24px -18px;background:linear-gradient(90deg,rgba(8,25,33,.66),rgba(8,25,33,.35) 78%,transparent)}.typing-hero .hero-slogan-eyebrow{margin-bottom:16px;font-size:8px}.typing-hero .hero-slogan h1{font-size:clamp(42px,10.2vw,56px);line-height:1.02}.typing-highlight{padding-inline:.13em}.typing-hero .hero-slogan-copy{max-width:370px;margin-top:25px;font-size:12px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.typing-caret{animation:none;opacity:1}}

/* Wide screens use an editorial split: compact message on the left, live globe on the right. */
@media(min-width:1181px){
  .typing-hero .three-globe-world{inset:0 0 0 36%;width:auto;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%);mask-image:linear-gradient(90deg,transparent 0%,#000 34%)}
  .typing-hero .hero-content-grid{inset:98px clamp(38px,6.2vw,112px) 64px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(18px,2.6vw,48px);transform:none}
  .typing-hero .hero-slogan{grid-column:1;width:max-content;max-width:100%;padding:0}
  .typing-hero .hero-slogan::before{content:none}
  .typing-hero .hero-slogan-eyebrow{margin-bottom:19px}
  .typing-hero .hero-slogan h1{font-size:clamp(52px,4.65vw,82px);line-height:1.01}
  .typing-hero .hero-slogan-copy{max-width:440px;margin-top:30px;font-size:clamp(14px,1.1vw,16px)}
}
@media(max-width:560px){.typing-hero .hero-slogan::before{content:none}}

/* Minimal brand-only masthead. */
.site-header{height:58px;min-height:58px;padding:0 clamp(18px,5.2vw,82px);justify-content:center;gap:0}
.site-header.is-scrolled{height:58px;min-height:58px;padding-block:0}
.site-header.is-scrolled .brand{transform:none}
@media(max-width:860px){.site-header{height:56px;min-height:56px;padding-inline:clamp(18px,5vw,32px)}.site-header.is-scrolled{height:56px;min-height:56px;padding-inline:clamp(18px,5vw,32px)}}
@media(max-width:390px){.site-header{padding-inline:15px}}

.ticker-track{display:flex;width:max-content;animation:ticker-continuous var(--ticker-duration,20s) linear infinite;will-change:transform}
.ticker-track>.ticker-sequence{display:block;flex:none;width:max-content;padding:0;white-space:nowrap}
@keyframes ticker-continuous{to{transform:translateX(var(--ticker-end,-50%))}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;will-change:auto}}

.section-float-nav{position:fixed;z-index:45;top:50%;right:clamp(14px,2.1vw,30px);display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px;background:rgba(16,38,48,.94);border:1px solid rgba(180,217,200,.2);border-radius:28px;box-shadow:0 14px 36px rgba(5,20,26,.24);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;filter:blur(7px);transform:translate(12px,-50%);transition:opacity .34s ease,filter .4s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s linear .4s}
.section-float-nav.is-visible{opacity:1;visibility:visible;pointer-events:auto;filter:blur(0);transform:translate(0,-50%);transition:opacity .34s ease,filter .4s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s}
.section-float-nav.chat-open{opacity:0;visibility:hidden;pointer-events:none;filter:blur(7px);transform:translate(12px,-50%);transition:opacity .24s ease,filter .28s ease,transform .28s ease,visibility 0s linear .3s}
.section-float-nav a{position:relative;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#b4d9c8;transition:background .2s,color .2s,transform .2s}
.section-float-nav a:hover,.section-float-nav a:focus-visible{background:rgba(180,217,200,.12);color:#fff;transform:scale(1.06)}
.section-float-nav .fa-solid,.section-float-nav .fa-brands{display:block;font-size:19px;line-height:1}
.section-float-nav a[aria-current="location"]{color:var(--orange)}
.section-float-nav a[aria-current="location"]::before{content:"";position:absolute;left:-9px;width:4px;height:16px;border-radius:4px;background:var(--orange);box-shadow:0 0 12px rgba(239,101,60,.45)}
.section-float-divider{width:23px;height:1px;margin:3px 0;background:rgba(180,217,200,.28)}
.section-float-nav .section-float-whatsapp{color:#b4d9c8}
.section-float-nav .section-float-whatsapp:hover,.section-float-nav .section-float-whatsapp:focus-visible{color:#fff;background:rgba(180,217,200,.12)}
.section-float-nav a[aria-label]::after{content:attr(aria-label);position:absolute;right:calc(100% + 13px);padding:8px 10px;border:1px solid rgba(180,217,200,.16);border-radius:4px;background:#102630;color:#eff1e9;font:10px var(--sans);white-space:nowrap;opacity:0;visibility:hidden;filter:blur(4px);transform:translateX(5px);transition:opacity .2s,filter .2s,transform .2s,visibility 0s linear .2s}
.section-float-nav a:hover::after,.section-float-nav a:focus-visible::after{opacity:1;visibility:visible;filter:blur(0);transform:none;transition-delay:0s}
@media(max-width:560px){.section-float-nav{right:10px;gap:3px;padding:7px}.section-float-nav a{width:38px;height:38px}.section-float-nav .fa-solid,.section-float-nav .fa-brands{font-size:17px}}
@media(prefers-reduced-motion:reduce){.section-float-nav,.section-float-nav a,.section-float-nav a::after{transition:none!important;filter:none!important}}

/* Service list presented as animated service cards. */
.service-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.service-row{position:relative;grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;min-height:290px;padding:25px 24px 48px;overflow:hidden;border:1px solid #daddd5;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,248,242,.8));box-shadow:0 8px 24px rgba(23,43,51,.035);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s,background .28s}
.service-row::before{position:absolute;inset:auto -38px -76px auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(239,101,60,.11),rgba(239,101,60,0) 68%);content:"";opacity:.55;transition:transform .5s,opacity .35s}
.service-row.reveal{opacity:0;transform:translateY(22px) scale(.98)}
.service-row.reveal.is-visible{opacity:1;transform:none}
.service-row:nth-child(2){transition-delay:.08s}.service-row:nth-child(3){transition-delay:.16s}.service-row:nth-child(4){transition-delay:.08s}.service-row:nth-child(5){transition-delay:.16s}
.service-row:nth-child(4){grid-column:2/span 2}.service-row:nth-child(5){grid-column:4/span 2}
.service-row:hover{padding:25px 24px 48px;border-color:rgba(239,101,60,.55);background:#fff;box-shadow:0 20px 42px rgba(23,43,51,.1);transform:translateY(-5px)}
.service-row:hover::before{transform:scale(1.35);opacity:1}
.service-card-top{display:flex;width:100%;align-items:flex-start;justify-content:space-between;margin-bottom:28px}
.service-index{color:#9aa6a1;font:10px var(--mono);letter-spacing:.1em}
.service-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid rgba(239,101,60,.27);border-radius:15px;background:#fff4ee;color:var(--orange);font-size:21px;box-shadow:0 5px 15px rgba(239,101,60,.08);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s,color .3s,border-color .3s,box-shadow .3s}
.service-row:hover .service-icon{transform:translateY(-3px) rotate(-6deg) scale(1.06);border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 9px 20px rgba(239,101,60,.24)}
.service-name h3{margin:0;color:var(--ink);font:650 17px/1.3 var(--display);letter-spacing:-.035em}
.service-name p{margin:8px 0 0;color:#bd6349;font:9px var(--mono);letter-spacing:.035em}
.service-desc{max-width:290px;margin:17px 0 0;color:#6f7e7f;font-size:11px;line-height:1.7}
.service-arrow{position:absolute;right:22px;bottom:20px;display:grid;width:28px;height:28px;place-items:center;border:1px solid #e0e3dc;border-radius:50%;color:#9aa6a1;font-size:14px;transition:transform .28s,border-color .28s,background .28s,color .28s}
.service-row:hover .service-arrow{transform:translate(2px,-2px);border-color:var(--orange);background:var(--orange);color:#fff}
@media(max-width:900px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-row,.service-row:nth-child(4),.service-row:nth-child(5){grid-column:auto;min-height:270px}.service-row:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 7px);justify-self:center}}
@media(max-width:560px){.service-list{grid-template-columns:1fr;gap:12px}.service-row,.service-row:nth-child(4),.service-row:nth-child(5),.service-row:last-child:nth-child(odd){grid-column:1;min-height:0;width:100%;padding:20px 20px 44px}.service-row:hover{padding:20px 20px 44px}.service-card-top{margin-bottom:20px}.service-icon{width:47px;height:47px;border-radius:13px;font-size:18px}.service-name h3{font-size:16px}.service-desc{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.service-row,.service-row.reveal,.service-row.reveal.is-visible,.service-row::before,.service-icon,.service-arrow{opacity:1;transform:none;transition:none!important}}

/* Editorial service overview: compact capabilities beside a featured route visual. */
.services.section-pad{padding-top:118px;padding-bottom:122px;background:#f8f8f3}
.services-showcase{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);align-items:center;gap:clamp(42px,7vw,104px);max-width:1320px;margin:0 auto}
.services-content>.eyebrow{margin-bottom:20px;color:#72817d}
.services-content>h2{margin:0;color:var(--ink);font:650 clamp(42px,4.6vw,62px)/1.04 var(--display);letter-spacing:-.065em}
.services-content>h2 em{color:var(--orange);font-style:normal}
.services-content>.section-aside{max-width:450px;margin:19px 0 0;color:#6f7c7c;font-size:13px;line-height:1.75}
.services-cta{display:inline-flex;align-items:center;gap:24px;margin-top:23px;padding:12px 16px;background:var(--ink);color:#f4f1e8;font-size:10px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}
.services-cta span{color:var(--mint);font-size:15px;transition:transform .2s}
.services-cta:hover{transform:translateY(-2px);background:#0c2028;box-shadow:0 8px 18px rgba(16,38,48,.14)}
.services-cta:hover span{transform:translate(2px,-2px)}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px;margin-top:35px}
.service-item{display:flex;align-items:center;gap:13px;min-width:0;padding:3px 0}
.service-item.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.service-item.reveal.is-visible{opacity:1;transform:none}
.service-item:nth-child(2){transition-delay:.07s}.service-item:nth-child(3){transition-delay:.14s}.service-item:nth-child(4){transition-delay:.21s}
.service-item-icon{display:grid;flex:none;width:42px;height:42px;place-items:center;border:1px solid #e0e5dd;border-radius:12px;background:#fff;color:#77977f;font-size:16px;box-shadow:0 4px 12px rgba(23,43,51,.04);transition:transform .25s,background .25s,border-color .25s,color .25s,box-shadow .25s}
.service-item:hover .service-item-icon{transform:translateY(-2px) rotate(-5deg);border-color:#efb49f;background:#fff2ec;color:var(--orange);box-shadow:0 7px 16px rgba(239,101,60,.12)}
.service-item h3{margin:0;color:var(--ink);font:650 12px/1.4 var(--display);letter-spacing:-.015em}
.service-item p{margin:4px 0 0;color:#81908b;font-size:9px;line-height:1.45}
.transport-feature{position:relative;isolation:isolate;min-width:0;padding:9px;border:1px solid rgba(16,38,48,.08);border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(23,43,51,.1);transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.transport-feature::before{position:absolute;z-index:-1;inset:14px -15px -13px 33px;border-radius:18px;background:var(--orange);content:"";transform:rotate(3.5deg);transition:transform .4s}
.transport-feature:hover{transform:translateY(-5px);box-shadow:0 27px 64px rgba(23,43,51,.15)}
.transport-feature:hover::before{transform:rotate(1deg) translateY(3px)}
.transport-feature.reveal{opacity:0;transform:translateY(20px) rotate(1deg);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.transport-feature.reveal.is-visible{opacity:1;transform:none}
.transport-feature-visual{position:relative;min-height:365px;overflow:hidden;border-radius:10px;background:#142c35}
.transport-port-image{display:block;width:100%;height:100%;min-height:365px;object-fit:cover;object-position:center 54%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s}
.transport-feature:hover .transport-port-image{transform:scale(1.045);filter:saturate(1.08)}
.approach-globe{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 52% 42%,#24444c 0,#15323b 58%,#102630 100%)}
.approach-globe .three-globe-vignette{background:radial-gradient(ellipse at center,transparent 42%,rgba(7,24,32,.42) 100%)}
.approach-art .art-tag{z-index:2}
@media(max-width:980px){.services.section-pad{padding-top:90px;padding-bottom:100px}.services-showcase{grid-template-columns:1fr;gap:48px}.services-content{max-width:720px}.transport-feature{width:min(100%,620px);justify-self:center}.transport-feature-visual{min-height:400px}}
@media(max-width:560px){.services.section-pad{padding-top:75px;padding-bottom:80px}.services-showcase{gap:37px}.services-content>h2{font-size:clamp(39px,10vw,48px)}.services-content>.section-aside{font-size:12px}.services-cta{margin-top:18px}.service-list{gap:17px 10px;margin-top:29px}.service-item{align-items:flex-start;gap:9px}.service-item-icon{width:35px;height:35px;border-radius:10px;font-size:14px}.service-item h3{font-size:10px}.service-item p{font-size:8px}.transport-feature{padding:6px;border-radius:12px}.transport-feature::before{inset:12px -8px -10px 20px}.transport-feature-visual,.transport-port-image{min-height:300px}}
@media(prefers-reduced-motion:reduce){.service-item.reveal,.transport-feature.reveal,.service-item-icon,.transport-feature,.transport-feature::before{opacity:1;transform:none;transition:none!important;animation:none!important}}

.transport-feature{padding:0;border:0;background:transparent;box-shadow:none}
.transport-feature:hover{box-shadow:none}
.transport-feature-visual{border:2px solid var(--orange);box-shadow:0 16px 36px rgba(23,43,51,.14)}
@media(max-width:560px){.transport-feature{padding:0}}
.route-logo{display:block;width:clamp(160px,16vw,220px);max-height:68px;object-fit:contain;padding:6px 11px;border-radius:4px;background:#f3f1eb;box-shadow:0 5px 16px rgba(5,20,26,.14)}
@media(max-width:560px){.route-logo{width:150px;max-height:62px;padding:5px 9px}}
.site-header .site-brand-logo{display:block;width:clamp(142px,15vw,176px);height:auto;max-height:54px;object-fit:contain}
.site-header{background:#0c1e26;border-bottom-color:rgba(180,217,200,.16)}
.site-header.is-scrolled{background:rgba(12,30,38,.97);border-bottom-color:rgba(180,217,200,.16)}
.site-header .brand{padding:4px 14px;border-radius:6px}
.site-header .site-brand-logo{width:clamp(150px,15vw,180px);max-height:42px}
.hero-carousel{position:absolute;z-index:0;inset:0;overflow:hidden;background:#102630}
.hero-carousel-slide{position:absolute;inset:0;overflow:hidden;opacity:0;transform:scale(1.025);transition:opacity 1.25s ease,transform 7s cubic-bezier(.2,.7,.2,1)}
.hero-carousel-slide.is-active{opacity:1;transform:scale(1)}
.hero-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.94)}
.typing-hero .route-stage::after{inset:0;background:linear-gradient(90deg,rgba(7,20,27,.78) 0%,rgba(7,20,27,.55) 34%,rgba(7,20,27,.12) 68%,rgba(7,20,27,.05) 100%),linear-gradient(0deg,rgba(7,20,27,.56),transparent 48%)}
@media(max-width:560px){.hero-carousel-slide img{object-position:59% center}.typing-hero .route-stage::after{background:linear-gradient(90deg,rgba(7,20,27,.72),rgba(7,20,27,.38) 76%,rgba(7,20,27,.18)),linear-gradient(0deg,rgba(7,20,27,.48),transparent 62%)}}
@media(prefers-reduced-motion:reduce){.hero-carousel-slide{transition:none}.hero-carousel-slide:not(.is-active){display:none}}

.approach-art{overflow:visible;background:transparent;isolation:isolate}
.approach-art::before{inset:34px 25px 28px 42px;width:auto;height:auto;z-index:0;border-radius:16px;background:#244f67;box-shadow:0 18px 42px rgba(25,59,76,.18);transform:rotate(3.5deg);transition:transform .4s ease,box-shadow .4s ease}
.approach-art::after{display:none}
.approach-art:hover::before{transform:rotate(1.5deg) translateY(2px);box-shadow:0 23px 48px rgba(25,59,76,.22)}
.approach-globe{z-index:1;inset:20px 42px 24px 22px;width:auto;height:auto;border:0;border-radius:14px;background:var(--paper);box-shadow:0 16px 40px rgba(23,43,51,.12)}
.approach-globe .three-globe-vignette{background:radial-gradient(ellipse at center,transparent 52%,rgba(26,76,96,.11) 100%)}
.approach-art .art-tag{z-index:2;color:#385560;text-shadow:none;font-weight:600}
@media(max-width:560px){.approach-art{min-height:310px}.approach-art::before{inset:24px 20px 22px 30px}.approach-globe{inset:15px 30px 18px 15px;border-radius:12px}}
.port-operations{padding:clamp(26px,5vw,68px) 6vw 0;background:var(--paper)}
.port-scene-stage{position:relative;isolation:isolate;width:100%;height:clamp(360px,48vw,600px);overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 53% 42%,#254650 0,#16333d 58%,#102630 100%);box-shadow:0 24px 60px rgba(16,38,48,.18)}
.port-scene-stage::after{position:absolute;z-index:1;inset:0;pointer-events:none;border:1px solid rgba(239,101,60,.32);border-radius:inherit;content:"";background:linear-gradient(0deg,rgba(7,20,27,.2),transparent 36%)}
.port-scene-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:none}
.port-scene-fallback::before{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#254650,#102630);content:""}
@media(max-width:560px){.port-operations{padding:30px 5vw 0}.port-scene-stage{height:360px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.port-scene-canvas{animation:none}}
.approach{min-height:0;padding:clamp(42px,6vw,82px) 6vw;column-gap:clamp(24px,4vw,64px);align-items:center}
.approach-art{align-self:center;width:100%;height:auto;min-height:0;aspect-ratio:1.3 / 1}
.approach-copy{padding:0 clamp(14px,2.5vw,38px)}
.port-operations{padding-bottom:clamp(48px,7vw,92px)}
@media(max-width:680px){.approach{padding:42px 6vw 50px;row-gap:8px}.approach-art{aspect-ratio:1.18 / 1;min-height:0}.approach-copy{padding:26px 1vw 0}}

/* AI chat attached to the floating section navigation. */
.section-float-nav .section-float-chat{position:relative;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:transparent;color:#ef8a66;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.section-float-nav .section-float-chat:hover,.section-float-nav .section-float-chat:focus-visible{background:rgba(180,217,200,.12);color:#fff;transform:scale(1.06)}
.section-float-nav .section-float-chat .fa-solid{font-size:19px;line-height:1}
.section-float-nav .section-float-chat::after{content:attr(aria-label);position:absolute;right:calc(100% + 13px);padding:8px 10px;border:1px solid rgba(180,217,200,.16);border-radius:4px;background:#102630;color:#eff1e9;font:10px var(--sans);white-space:nowrap;opacity:0;visibility:hidden;filter:blur(4px);transform:translateX(5px);transition:opacity .2s,filter .2s,transform .2s,visibility 0s linear .2s}
.section-float-nav .section-float-chat:hover::after,.section-float-nav .section-float-chat:focus-visible::after{opacity:1;visibility:visible;filter:blur(0);transform:none;transition-delay:0s}
.ai-chat-panel{position:fixed;z-index:44;top:50%;right:calc(clamp(14px,2.1vw,30px) + 68px);display:flex;flex-direction:column;width:min(370px,calc(100vw - 96px));height:min(520px,calc(100svh - 32px));overflow:hidden;border:1px solid rgba(180,217,200,.22);border-radius:16px;background:#f3f1eb;color:var(--ink);box-shadow:0 22px 65px rgba(5,20,26,.35);opacity:0;visibility:hidden;pointer-events:none;filter:blur(7px);transform:translate(10px,-50%);transition:opacity .24s ease,filter .28s ease,transform .28s ease,visibility 0s linear .3s}
.ai-chat-panel.is-open{right:clamp(14px,2.1vw,30px);opacity:1;visibility:visible;pointer-events:auto;filter:blur(0);transform:translate(0,-50%);transition:right .28s ease,opacity .24s ease,filter .28s ease,transform .28s ease,visibility 0s}
.ai-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;background:#102630;color:#f3f1eb}
.ai-chat-heading>div{display:grid;grid-template-columns:8px 1fr;column-gap:9px;align-items:center}
.ai-chat-heading strong{font:600 12px var(--display)}
.ai-chat-heading small{grid-column:2;color:#9bb1aa;font:9px var(--mono);letter-spacing:.04em;margin-top:4px}
.ai-chat-status{width:7px;height:7px;border-radius:50%;background:#88d4aa;box-shadow:0 0 10px rgba(136,212,170,.48)}
.ai-chat-close{width:30px;height:30px;border:0;border-radius:50%;background:rgba(180,217,200,.1);color:#dfe9e2;font-size:23px;line-height:1;cursor:pointer}
.ai-chat-close:hover,.ai-chat-close:focus-visible{background:rgba(180,217,200,.2)}
.ai-chat-messages{display:flex;flex:1;flex-direction:column;gap:11px;overflow-y:auto;padding:18px 15px;scrollbar-color:#b5c6bf transparent;scrollbar-width:thin}
.ai-chat-message{max-width:88%;margin:0;padding:11px 13px;border-radius:13px;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-chat-message-assistant{align-self:flex-start;border:1px solid #e0e2da;background:#fff;color:#34474b;border-bottom-left-radius:4px}
.ai-chat-message-user{align-self:flex-end;background:#18323c;color:#f4f1e9;border-bottom-right-radius:4px}
.ai-chat-message.is-pending{color:#74827e;font-style:italic}
.ai-chat-message.is-error{border-color:#f0c2b4;color:#934a35}
.ai-chat-quick-area{flex:none;margin:0 15px 9px;color:#62736e}
.ai-chat-quick-area summary{width:max-content;max-width:100%;padding:4px 0;color:#62736e;font-size:9px;font-weight:600;cursor:pointer;list-style:none}
.ai-chat-quick-area summary::-webkit-details-marker{display:none}
.ai-chat-quick-area summary::after{content:"＋";display:inline-block;margin-left:7px;color:#ef7958;transition:transform .18s}
.ai-chat-quick-area[open] summary::after{transform:rotate(45deg)}
.ai-chat-quick-prompts{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.ai-chat-pill{padding:7px 11px;border:1px solid #cbd8d0;border-radius:999px;background:#fff;color:#315c4a;font-size:10px;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.ai-chat-pill:hover,.ai-chat-pill:focus-visible{transform:translateY(-1px);border-color:#ef9a7a;background:#fff5ef;color:#a94e32}
.ai-chat-form{display:flex;align-items:flex-end;gap:9px;margin:0 12px;padding:8px 8px 8px 13px;border:1px solid #d4d9d2;border-radius:14px;background:#fff}
.ai-chat-form:focus-within{border-color:#ef8a66;box-shadow:0 0 0 2px rgba(239,101,60,.1)}
.ai-chat-form textarea{flex:1;max-height:112px;min-height:24px;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px;line-height:1.5}
.ai-chat-form textarea::placeholder{color:#8c9995}
.ai-chat-form button{display:grid;flex:none;width:31px;height:31px;place-items:center;border:0;border-radius:50%;background:var(--orange);color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.ai-chat-form button:hover:not(:disabled){background:#dc5731;transform:translateY(-1px)}
.ai-chat-form button:disabled{opacity:.55;cursor:wait}
.ai-chat-whatsapp{display:flex;align-items:center;justify-content:center;gap:9px;margin:10px 12px 0;padding:9px 12px;border:1px solid #b8d8c6;border-radius:10px;background:#e9f4ed;color:#245a42;font-size:10px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.ai-chat-whatsapp:hover,.ai-chat-whatsapp:focus-visible{transform:translateY(-1px);border-color:#86c69e;background:#dff0e5}
.ai-chat-whatsapp .fa-whatsapp{font-size:16px}
.ai-chat-whatsapp span:last-child{margin-left:auto;color:#5e9073;font-size:14px}
.ai-chat-disclaimer{margin:8px 15px 12px;color:#7a8883;font:8px/1.4 var(--mono);text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.section-float-nav .section-float-chat{width:38px;height:38px}.section-float-nav .section-float-chat .fa-solid{font-size:17px}.ai-chat-panel{right:58px;width:min(370px,calc(100vw - 78px));height:min(500px,calc(100svh - 24px))}.ai-chat-panel.is-open{right:10px;width:min(370px,calc(100vw - 20px))}.ai-chat-heading{padding:14px 13px}.ai-chat-messages{padding:13px 11px}.ai-chat-form{margin-inline:8px}}
@media(prefers-reduced-motion:reduce){.ai-chat-panel,.section-float-nav .section-float-chat{transition:none!important;filter:none!important}}

/* Persistent header navigation with the same section icons as the floating rail. */
.site-header{justify-content:space-between;gap:clamp(12px,3vw,36px)}
.site-header .primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(8px,2vw,28px);margin-left:auto}
.primary-nav a{display:flex;align-items:center;gap:9px;padding:10px 4px;color:#dce7df;font:600 11px var(--display);transition:color .2s,transform .2s}
.primary-nav a .fa-solid{font-size:17px;color:#b4d9c8;transition:color .2s,transform .2s}
.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current="location"]{color:#fff}
.primary-nav a:hover .fa-solid,.primary-nav a:focus-visible .fa-solid,.primary-nav a[aria-current="location"] .fa-solid{color:#ef653c;transform:translateY(-2px)}
.primary-nav a[aria-current="location"]{box-shadow:inset 0 -2px #ef653c}
@media(max-width:560px){.site-header{padding-inline:14px;gap:10px}.site-header .site-brand-logo{width:clamp(96px,31vw,132px);max-height:34px}.site-header .brand{padding:0}.site-header .primary-nav{gap:clamp(5px,2vw,12px)}.primary-nav a{flex-direction:column;justify-content:center;gap:4px;min-width:48px;padding:5px 2px;font-size:8px}.primary-nav a .fa-solid{font-size:15px}}
/* Larger brand mark with enough header height to show its full proportions. */
.site-header{height:128px;min-height:128px}
.site-header.is-scrolled{height:120px;min-height:120px}
.site-header .site-brand-logo{width:clamp(190px,22vw,260px);max-height:none}
@media(max-width:860px){.site-header{height:92px;min-height:92px}.site-header.is-scrolled{height:88px;min-height:88px}}
@media(max-width:560px){.site-header{height:82px;min-height:82px}.site-header.is-scrolled{height:78px;min-height:78px}.site-header .site-brand-logo{width:clamp(130px,36vw,170px);max-height:none}}
/* Breathing room around the logo inside the header. */
.site-header .brand{padding:16px 22px;margin-left:-22px;border-radius:8px}
.site-header .site-brand-logo{width:clamp(175px,20vw,238px)}
@media(max-width:560px){.site-header .brand{padding:10px 12px;margin-left:-12px}.site-header .site-brand-logo{width:clamp(126px,34vw,158px)}}
/* Collapse the main navigation to a centered brand when the floating rail appears. */
.site-header{transition:height .3s cubic-bezier(.2,.8,.2,1),width .3s,margin .3s,padding .3s,box-shadow .28s,background .28s,border-radius .3s}
.site-header .primary-nav{transition:opacity .2s,transform .3s,width .3s,gap .3s,margin .3s;overflow:hidden;white-space:nowrap}
.site-header.is-nav-collapsed{width:fit-content;height:96px;min-height:96px;margin-inline:auto;padding:0 14px;justify-content:center;border-radius:0 0 12px 12px}
.site-header.is-nav-collapsed .brand{margin:0;padding:4px 8px;transform:none}
.site-header.is-nav-collapsed .site-brand-logo{width:180px;max-height:none}
.site-header.is-nav-collapsed .primary-nav{width:0;gap:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(12px)}
@media(max-width:860px){.site-header.is-nav-collapsed{height:82px;min-height:82px}}
@media(max-width:560px){.site-header.is-nav-collapsed{height:68px;min-height:68px;padding-inline:8px}.site-header.is-nav-collapsed .brand{padding:3px 6px}.site-header.is-nav-collapsed .site-brand-logo{width:126px}}
/* Tighten the collapsed header to the logo footprint. */
.site-header.is-nav-collapsed{width:max-content;height:78px;min-height:78px;padding:0 10px}
.site-header.is-nav-collapsed .brand{padding:2px 6px}
.site-header.is-nav-collapsed .site-brand-logo{width:150px}
.site-header.is-nav-collapsed .primary-nav{display:none}
@media(max-width:860px){.site-header.is-nav-collapsed{height:68px;min-height:68px}}
@media(max-width:560px){.site-header.is-nav-collapsed{height:58px;min-height:58px;padding-inline:6px}.site-header.is-nav-collapsed .brand{padding:2px 4px}.site-header.is-nav-collapsed .site-brand-logo{width:112px}}
.footer-logo{display:flex;align-items:center;width:max-content;max-width:100%}.footer-logo img{display:block;width:clamp(150px,16vw,210px);height:auto;max-height:94px;object-fit:contain}
@media(max-width:680px){.footer-logo img{width:clamp(136px,42vw,180px);max-height:78px}}

.site-header{background:rgba(12,30,38,.84);backdrop-filter:blur(14px)}.site-header.is-scrolled{background:rgba(12,30,38,.78)}

/* Overlay the header on the hero so it no longer reserves vertical space. */
.site-header{position:fixed;top:0;left:0;right:0}
.route-stage{height:max(680px,100svh)}
.typing-hero .hero-content-grid{inset:150px clamp(24px,7vw,112px) 68px}
@media(max-width:900px){.route-stage{height:max(900px,100svh);min-height:900px}.typing-hero .hero-content-grid{inset:116px 6vw 54px}}
@media(max-width:560px){.route-stage{height:max(980px,100svh);min-height:980px}.typing-hero .hero-content-grid{inset:98px 18px 36px}}
/* First small reduction to the logo and header proportions. */
.site-header{height:116px;min-height:116px}
.site-header.is-scrolled{height:108px;min-height:108px}
.site-header .brand{padding:12px 16px;margin-left:-16px}
.site-header .site-brand-logo{width:clamp(158px,18vw,214px)}
.site-header.is-nav-collapsed{height:70px;min-height:70px}
.site-header.is-nav-collapsed .site-brand-logo{width:135px}
@media(max-width:860px){.site-header{height:84px;min-height:84px}.site-header.is-scrolled{height:80px;min-height:80px}.site-header.is-nav-collapsed{height:62px;min-height:62px}}
@media(max-width:560px){.site-header{height:74px;min-height:74px}.site-header.is-scrolled{height:70px;min-height:70px}.site-header .brand{padding:8px 10px;margin-left:-10px}.site-header .site-brand-logo{width:clamp(114px,31vw,142px)}.site-header.is-nav-collapsed{height:54px;min-height:54px}.site-header.is-nav-collapsed .site-brand-logo{width:102px}}
/* Second reduction applies only while the full primary navigation is visible. */
.site-header{height:108px;min-height:108px}
.site-header.is-scrolled{height:108px;min-height:108px}
.site-header .brand{padding:8px 14px;margin-left:-14px}
.site-header .site-brand-logo{width:clamp(144px,16.2vw,194px)}
@media(max-width:860px){.site-header{height:80px;min-height:80px}.site-header.is-scrolled{height:80px;min-height:80px}}
@media(max-width:560px){.site-header{height:70px;min-height:70px}.site-header.is-scrolled{height:70px;min-height:70px}.site-header .brand{padding:6px 8px;margin-left:-8px}.site-header .site-brand-logo{width:clamp(102px,28vw,128px)}}
.site-header.is-nav-collapsed{height:70px;min-height:70px}
@media(max-width:860px){.site-header.is-nav-collapsed{height:62px;min-height:62px}}
@media(max-width:560px){.site-header.is-nav-collapsed{height:54px;min-height:54px}}
