:root{--navy:#061b60;--blue:#0648b1;--pale:#edf6fc;--line:#ccdae9}*{box-sizing:border-box}html{scroll-behavior:smooth}body.ym-page{margin:0;background:#fff;color:var(--navy);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7}body.ym-page h1,body.ym-page h2,body.ym-page h3{font-family:inherit;font-style:normal;font-weight:800;color:var(--navy);line-height:1.28;margin:0 0 20px;letter-spacing:.015em}body.ym-page h2{font-size:clamp(28px,3.8vw,42px)}body.ym-page h3{font-size:25px}body.ym-page p{margin:0 0 16px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #598bdd;outline-offset:5px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1120px,90%);margin-inline:auto}.header{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:270px;flex-shrink:0}.header nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.language{border-left:1px solid var(--navy);padding-left:22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:235px;padding:15px 28px;border:1px solid var(--navy);border-radius:2px;background:white;font-family:inherit;font-weight:700;font-size:17px;line-height:1.4;color:var(--navy)}.header .button{min-width:160px;padding:13px 20px;font-size:14px;gap:12px}.primary{color:white;background:linear-gradient(125deg,#0053bf,#001c68);border-color:#164b9c}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:12px;z-index:99999}.eyebrow{font-family:Georgia,"Yu Mincho",serif;font-size:17px;letter-spacing:.2em;display:flex;align-items:center;gap:18px}.eyebrow:after{content:"";height:1px;width:65px;background:currentColor;display:block}.lead{font-size:22px;line-height:1.65}.small{font-size:13px;line-height:1.7}.centered{text-align:center}.home-hero{display:grid;grid-template-columns:44% 56%;align-items:center;padding-block:35px 45px;min-height:510px}.home-hero h1{font-size:clamp(34px,4.7vw,57px);line-height:1.45!important;letter-spacing:.01em!important}.home-hero img{width:100%}.home-services{padding-block:20px 45px}.center-heading{text-align:center;display:flex;align-items:center;justify-content:center;gap:30px;font-size:30px!important;font-family:"Yu Mincho",serif!important}.center-heading:before,.center-heading:after{content:"";width:80px;height:1px;background:var(--navy)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.service-card{border:1px solid var(--line);position:relative}.service-card>img{width:100%;aspect-ratio:1.55;object-fit:cover}.service-card>div{padding:17px 12px 8px}.service-card h3{font-family:"Yu Mincho",serif!important;font-size:21px!important;margin-bottom:5px!important}.service-card p{font:10px Georgia,serif;letter-spacing:.12em}.service-card span{position:absolute;right:13px;bottom:8px}.home-services>.small{margin-top:20px}.home-about{background:linear-gradient(110deg,#edf7ff,#f8fcff);padding:40px 0}.home-about>.wrap{display:grid;grid-template-columns:58% 42%;align-items:center}.home-about h2{font-family:Arial,sans-serif!important;font-size:clamp(30px,4.2vw,48px)!important;letter-spacing:-.02em!important}.home-about img{width:100%}.home-about .lead{font-size:20px}.contact-strip{background:linear-gradient(90deg,rgba(0,28,92,.96),rgba(0,43,113,.5)),url('assets/hd/contact-ocean-v104.jpg') center/cover;color:white;padding:22px 0}.contact-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-strip .eyebrow{font-size:15px;margin-bottom:6px}.contact-strip p:not(.eyebrow){font-size:clamp(20px,2.7vw,31px);margin:0}.contact-strip .button{flex-shrink:0;border:0}.footer{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px}.footer img{width:235px}.footer p{border-left:1px solid var(--navy);padding-left:30px;margin:0!important}.footer>a:last-child{font-family:Georgia,serif}.hero{position:relative;background-repeat:no-repeat;background-position:right center;background-size:auto 100%;min-height:350px;background-color:#f8fcff;overflow:hidden}.hero-company{background-image:linear-gradient(90deg,#f8fcff 0%,transparent 68%),url('assets/hd/globe-v104.jpg')}.hero-about{background-image:linear-gradient(90deg,#f8fcff 0%,transparent 73%),url('assets/hd/globe-v104.jpg');min-height:370px}.hero-services{background-image:linear-gradient(90deg,#fff 0%,transparent 70%),url('assets/hd/port-globe-v104.jpg');min-height:265px}.hero-contact{background-image:linear-gradient(90deg,#fff 0%,transparent 75%),url('assets/hd/globe-v104.jpg');min-height:395px}.breadcrumb{padding-top:15px;font-size:13px}.hero-copy{position:relative;padding-block:30px 45px}.hero h1{font-size:clamp(40px,6vw,65px)!important;margin-bottom:20px}.hero-about h1{font-family:Arial,sans-serif!important;font-size:clamp(36px,5.4vw,60px)!important;letter-spacing:-.035em!important;line-height:1.05!important}.hero .lead{font-size:23px;max-width:65%}.about-intro{display:grid;grid-template-columns:46% 51%;gap:3%;align-items:center;padding-block:40px}.about-intro img{width:100%}.about-intro p{font-size:18px}.about-intro hr{width:65px;margin:0 0 20px;border:0;border-top:1px solid var(--navy)}.approach,.future,.office{background:var(--pale);padding-block:30px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.approach article{background:white;border:1px solid #dce7f1;padding:18px 25px;text-align:center}.number{display:block;text-align:left;font:30px Georgia,serif}.approach img{height:85px;width:auto;object-fit:contain;margin:5px auto 20px}.approach h3{margin-bottom:10px!important}.approach p{margin:0!important;font-size:17px}.service-banner{padding:30px 0;background:url('assets/hd/air-v104.jpg') no-repeat right center;background-size:auto 100%}.service-banner h2{font-size:34px!important}.anchors{display:flex;background:var(--pale);margin-block:18px}.anchors a{flex:1;text-align:center;border-right:1px solid #9cb5d7;padding:8px 6px;font-weight:700;font-size:14px}.anchors a:last-child{border:0}.service-rows{max-width:1245px;margin:auto}.service-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-block:6px;scroll-margin-top:20px}.service-row>img{width:100%;aspect-ratio:2.45;object-fit:cover}.service-row>div{padding:16px 30px}.service-row:nth-child(even)>img{grid-column:2;grid-row:1}.service-row:nth-child(even)>div{grid-column:1;grid-row:1}.service-title{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap}.service-title>span{color:#82a8df;font:42px Georgia,serif;border-right:1px solid;padding-right:15px}.service-title h2{font-size:26px!important;margin:0!important}.service-title small{font:700 11px Georgia,serif;letter-spacing:.08em}.service-row p{font-size:14px;margin-bottom:12px!important}.tags{display:flex;gap:10px;margin-bottom:10px}.tags span{background:#edf6fc;padding:3px 16px;font-size:13px}.text-link{font-size:14px;border-bottom:1px solid #7e98bc;padding-bottom:5px}.future{margin-top:20px}.future .lead{font-size:20px}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.future article{background:white;border:1px solid #dce7f1;text-align:center}.future article>img{width:100%;aspect-ratio:2.4;object-fit:cover}.future article>div{padding:20px 35px 5px}.future h3{font-size:24px!important;margin-bottom:12px!important}.future .small{margin:12px 0 0}.company-info{padding-block:35px 25px}table{width:100%;border-collapse:collapse;margin:20px 0 12px}th,td{padding:14px 25px;border-block:1px solid var(--line);text-align:left;font-size:18px}th{background:#e7f3fc;width:26%;white-space:nowrap}td{overflow-wrap:anywhere}.office-card{background:white;display:flex;align-items:center;gap:30px;padding:25px;border:1px solid #dce7f1;max-width:650px}.office-card img{width:110px}.office-card h3{margin-bottom:8px!important}.office-card p{margin:0!important}.port-panorama{width:100%;max-height:170px;object-fit:cover}.contact-content{display:grid;grid-template-columns:29% 68%;gap:3%;padding-block:30px;background:url('assets/hd/globe-v104.jpg') no-repeat left bottom;background-size:27% auto}.contact-content aside{padding-top:35px}.contact-content aside h2{font-size:28px}.contact-content aside>img{width:60px;margin-top:40px;margin-bottom:18px}.email{font-family:Georgia,serif;font-size:18px;overflow-wrap:anywhere}.contact-content aside>p:not(.eyebrow){margin-top:20px}.contact-content hr{border:0;border-top:1px solid var(--line);margin-block:35px}.form-panel{padding:30px;border:1px solid #dce7f1;border-radius:4px;background:white}.form-note{background:var(--pale);font-size:13px;padding:14px}.form-note a{text-decoration:underline}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset label{display:block;font-weight:700;margin-bottom:22px}input:not([type=checkbox]),select,textarea{width:100%;margin-top:8px;padding:12px 15px;border:1px solid #b9cce0;background:#f1f6fc;border-radius:3px;font:inherit;color:#657894;opacity:1}textarea{resize:vertical}label small,label b{display:inline-block;font-size:11px;line-height:1.5;padding:2px 8px;margin-left:7px;border-radius:3px;background:#dce7f1}label b{background:#1b58a7;color:white}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.consent{font-size:14px;text-align:center}.consent input{vertical-align:middle;width:20px;height:20px;margin-right:8px}.form-panel button{display:flex;margin:25px auto;opacity:.72}.preview-banner{padding:8px 20px;background:#fff3d3;color:#333;text-align:center;font-size:13px}.preview-banner a{text-decoration:underline}
@media(min-width:1400px){.hero{background-position:calc(50% + 290px) center}.hero-copy{padding-top:45px}}
@media(max-width:1000px){.header nav{gap:16px;font-size:12px}.logo{width:220px}.language{padding-left:12px}.header .button{min-width:140px;padding:12px}.footer{gap:15px;font-size:12px}.footer img{width:195px}.footer p{padding-left:16px}.service-title{gap:10px}.service-title small{display:none}.service-row>div{padding:16px 22px}}
@media(max-width:700px){body.ym-page{font-size:15px}.wrap{width:90%}.header{flex-wrap:wrap;gap:12px;padding-block:16px}.logo{width:190px}.header nav{width:100%;justify-content:space-between;gap:10px;font-size:12px;flex-wrap:wrap}.header .button{font-size:12px;min-width:125px;padding:10px}.language{display:none}.home-hero{grid-template-columns:1fr;gap:15px;padding-block:20px 25px;min-height:0}.home-hero h1{font-size:clamp(33px,8vw,48px);margin:0!important}.home-hero>img{max-width:520px;margin:auto}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card h3{font-size:18px!important}.center-heading{font-size:27px!important;gap:15px}.center-heading:before,.center-heading:after{width:35px}.home-services{padding-block:15px 25px}.home-about>.wrap{grid-template-columns:1fr}.home-about img{max-width:420px;margin:20px auto 0}.home-about h2{font-size:34px!important}.contact-strip>.wrap{align-items:stretch;flex-direction:column;gap:15px}.contact-strip .button{align-self:flex-start}.contact-strip p:not(.eyebrow){font-size:21px}.footer{flex-wrap:wrap;justify-content:flex-start;padding-block:20px;gap:15px}.footer p{font-size:12px}.footer img{width:170px}.footer>a:last-child{width:100%;font-size:13px}.hero{min-height:310px;background-size:auto 85%;background-position:right bottom}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.1))}.hero-copy{padding-block:20px 30px}.hero h1{font-size:44px!important}.hero-about h1{font-size:38px!important}.hero .lead{max-width:100%;font-size:18px}.eyebrow{font-size:13px;gap:14px}.breadcrumb{font-size:11px}.about-intro{grid-template-columns:1fr;padding-block:28px;gap:20px}.about-intro p{font-size:16px}.approach-grid{grid-template-columns:1fr;gap:14px}.approach article{padding:20px}.approach img{height:72px}.approach h3{font-size:23px!important}.service-banner{background-size:auto 100%;background-position:right;position:relative}.service-banner:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6)}.service-banner>.wrap{position:relative}.service-banner h2{font-size:27px!important}.anchors{display:grid;grid-template-columns:1fr 1fr;gap:5px}.anchors a{font-size:13px}.anchors a:nth-child(2){border:0}.service-row{grid-template-columns:1fr;margin-bottom:25px}.service-row:nth-child(even)>img,.service-row:nth-child(even)>div{grid-column:auto;grid-row:auto}.service-row>div{padding:20px 5%}.service-title h2{font-size:25px!important}.service-title>span{font-size:36px}.service-row>img{aspect-ratio:2.2}.future-grid{grid-template-columns:1fr;gap:18px}.future .lead{font-size:17px}.future h3{font-size:22px!important}.future article>div{padding:20px}.company-info{padding-block:25px}th,td{padding:12px;font-size:14px}th{width:29%;white-space:normal}.office-card{padding:20px;gap:18px}.office-card img{width:75px}.office-card h3{font-size:23px!important}.contact-content{grid-template-columns:1fr;background:none;padding-block:15px 25px}.contact-content aside{padding-top:15px}.contact-content aside>img{margin-top:20px;width:45px}.contact-content aside>p:not(.eyebrow){margin-top:12px}.contact-content hr{margin-block:20px}.form-panel{padding:20px}.form-two{grid-template-columns:1fr;gap:0}.form-panel .button{width:100%;min-width:0;font-size:15px}.lead{font-size:19px}.button{font-size:15px;min-width:215px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.office-grid .office-card{max-width:none;gap:24px;padding:24px}.office-grid .office-card img{width:110px;flex-shrink:0}.office-grid .office-card h3{font-size:27px;margin-bottom:8px!important}.office-card .office-status{color:#1855a9;margin-bottom:7px!important;font-size:19px}@media(max-width:700px){.office-grid{grid-template-columns:1fr}.office-grid .office-card{gap:18px;padding:20px}.office-grid .office-card img{width:80px}.office-grid .office-card h3{font-size:24px}}

/* Service hero: separate text and image columns; no background behind copy. */
.hero.hero-services{background:#f8fcff;min-height:0}
.hero.hero-services:before{display:none}
.hero-services>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:center;padding-bottom:25px}
.hero-services .breadcrumb{grid-column:1 / -1;margin-bottom:0}
.hero-services .hero-copy{min-width:0;padding-block:30px 20px}
.hero-services .hero-copy h1{font-size:clamp(34px,5vw,60px)!important;overflow-wrap:anywhere}
.hero-services .hero-copy .lead{max-width:none;font-size:clamp(17px,1.8vw,22px);margin-bottom:0;overflow-wrap:anywhere}
.hero-services .services-hero-image{grid-column:2;grid-row:2;width:100%;height:100%;max-height:300px;object-fit:cover;object-position:right center;align-self:stretch}
@media(max-width:700px){.hero-services>.wrap{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:20px}.hero-services .breadcrumb{grid-column:1}.hero-services .hero-copy{padding-block:22px}.hero-services .hero-copy h1{font-size:40px!important}.hero-services .hero-copy .lead{font-size:18px}.hero-services .services-hero-image{grid-column:1;grid-row:3;aspect-ratio:2.2;height:auto;max-height:220px;object-fit:cover}}

/* High resolution photographic originals; retain separate service hero columns. */
.hero-company,.hero-about,.hero-contact{background-image:url('assets/hd/globe-v104.jpg');background-size:cover;background-position:center}
.home-about img{aspect-ratio:1.35;object-fit:cover;object-position:right center}
.service-banner{background-image:linear-gradient(90deg,#fff 0%,#ffffffed 38%,#ffffff00 72%),url('assets/hd/air-v104.jpg');background-size:cover;background-position:center 58%}
.about-intro>img{aspect-ratio:1.84;object-fit:cover;object-position:right center}
.port-panorama{aspect-ratio:8 / 1;object-fit:cover;object-position:center 57%}
.contact-content{background-image:none}
@media(max-width:700px){.hero-company,.hero-about,.hero-contact{background-size:cover;background-position:60% center}.service-banner{background-position:right center}.port-panorama{aspect-ratio:4 / 1}.home-about img{max-width:420px}}

/* Original supplied square logo: preserve all artwork and aspect ratio. */
.header{min-height:170px;padding-block:6px}
.header .logo{width:160px;flex:0 0 160px}
.header .logo img{display:block;width:160px;height:160px;object-fit:contain;aspect-ratio:1}
.footer{min-height:150px;padding-block:8px}
.footer>a:first-child{flex:0 0 135px}
.footer>a:first-child img{width:135px;height:135px;object-fit:contain;aspect-ratio:1}
@media(max-width:700px){.header{min-height:0;justify-content:center;gap:4px;padding-block:4px 16px}.header .logo{width:140px;flex:0 0 140px}.header .logo img{width:140px;height:140px}.header nav{justify-content:center;gap:12px 16px}.footer{min-height:0;gap:14px}.footer>a:first-child{flex:0 0 115px}.footer>a:first-child img{width:115px;height:115px}.footer p{max-width:calc(100% - 130px);padding-left:14px}.footer p span{display:block}}

/* Copyright on the final footer row, aligned to the right. */
.footer{display:grid;grid-template-columns:135px minmax(0,1fr);column-gap:30px;row-gap:0;padding-block:8px 18px}
.footer .footer-copyright{grid-column:1 / -1;display:block;justify-self:end;text-align:right;font-family:Arial,sans-serif;font-size:12px;line-height:1.6;font-weight:400;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.footer{grid-template-columns:115px minmax(0,1fr);column-gap:14px;row-gap:8px}.footer p{max-width:none}.footer .footer-copyright{font-size:11px}}

/* Larger shared header navigation, with space between logo and menu. */
.header{gap:clamp(40px,5vw,80px)}
.header nav{margin-left:auto;gap:clamp(26px,2.7vw,38px);font-size:20px;line-height:1.5;letter-spacing:.025em;flex-wrap:nowrap}
.header nav>a{white-space:nowrap}
.header .language{font-size:19px;padding-left:28px;margin-left:2px}
.header nav .button{font-size:19px;min-width:200px;padding:17px 25px;gap:24px;letter-spacing:.025em}
@media(max-width:1050px) and (min-width:701px){.header{gap:35px}.header nav{gap:20px;font-size:16px;letter-spacing:.01em}.header .language{font-size:16px;padding-left:18px;margin-left:0}.header nav .button{font-size:16px;min-width:158px;padding:14px 18px;gap:16px}}
@media(max-width:700px){.header{gap:12px;padding-bottom:20px}.header nav{margin-left:0;width:100%;gap:18px 24px;font-size:16px;justify-content:center;flex-wrap:wrap;letter-spacing:.02em}.header nav .button{font-size:16px;min-width:180px;padding:14px 22px;gap:20px}}

.ym-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-panel .ym-contact-form button{opacity:1;cursor:pointer}.form-status{padding:18px;background:#e7f4ec;border-left:4px solid #3a8060}.ym-contact-form input,.ym-contact-form textarea,.ym-contact-form select{color:var(--navy)}

.privacy-heading{background:var(--pale);padding-block:0 30px}.privacy-heading .eyebrow{margin-top:35px}.privacy-heading h1{font-size:clamp(30px,4vw,46px)}.privacy-content{max-width:900px;padding-block:40px 55px}.privacy-content section{margin-top:32px}.privacy-content h2{font-size:24px}.privacy-content ul{padding-left:1.5em}.privacy-content li{margin-bottom:8px}.privacy-content a:not(.button),.ym-contact-form .consent a{text-decoration:underline;text-underline-offset:3px}.privacy-date{margin-block:30px!important}.footer .footer-privacy{grid-column:1 / -1;justify-self:end;font-size:12px;font-family:inherit;width:auto;margin-bottom:10px;text-decoration:underline}.footer .footer-copyright{grid-column:1 / -1}.consent{line-height:1.9}@media(max-width:700px){.privacy-content h2{font-size:21px}.privacy-content{padding-block:25px 40px}.privacy-heading h1{font-size:30px}.consent{font-size:13px}}

/* 1.1.0: compact mobile header; native expandable menu needs no JavaScript. */
.mobile-menu{display:none}
@media(max-width:700px){
 .header{position:relative;min-height:100px;padding-block:6px;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:20px;z-index:20}
 .header .logo{width:88px;flex:0 0 88px}
 .header .logo img{width:88px;height:88px}
 .header>nav{display:none}
 .header .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{display:flex;align-items:center;justify-content:center;gap:9px;list-style:none;cursor:pointer;min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:3px;font-size:14px;font-weight:700;background:#fff;color:var(--navy)}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary:focus-visible{outline:3px solid #598bdd;outline-offset:4px}
 .menu-icon{font-size:23px;line-height:1}
 .mobile-menu[open] summary{background:var(--pale)}
 .header .mobile-menu nav{position:absolute;top:100%;left:0;right:0;width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 16px 16px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 22px #061b601a;font-size:16px;z-index:21}
 .header .mobile-menu nav>a:not(.button){display:block;padding:13px 6px;border-bottom:1px solid var(--line);white-space:normal}
 .header .mobile-menu nav .button{margin-top:12px;min-width:0;width:100%;font-size:16px;padding:14px 18px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .service-card{min-width:0}
 .service-card>div{padding:13px 10px 27px}
 .service-card h3{font-size:clamp(15px,4vw,18px)!important;overflow-wrap:anywhere}
 .service-card p{font-size:9px;letter-spacing:.05em;overflow-wrap:anywhere}
}
