@font-face{font-family:Caslon;src:url('assets/fonts/libre-caslon-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}

:root{--paper:#fafaf7;--ink:#082644;--muted:#53616d;--line:#d9ddd9;--serif:Caslon,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}
::selection{background:#cfdbdf;color:var(--ink)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--ink);outline-offset:7px}
button,a{-webkit-tap-highlight-color:transparent}
.page-shell{max-width:1760px;margin:auto;padding:0 clamp(24px,5vw,88px)}
.skip-link{position:absolute;top:12px;left:12px;z-index:5;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 25px;border-bottom:1px solid var(--line)}
.brand{display:block;width:350px;max-width:100%;min-width:0;flex:0 1 auto}
.brand-lockup{display:block;width:100%;height:auto}
.header-location{font-size:11px;letter-spacing:.16em;color:var(--muted);margin-left:auto}
.introduction{display:grid;grid-template-columns:1.7fr 1fr;gap:30px;padding:66px 0 56px;align-items:end}
.eyebrow{display:flex;gap:13px;align-items:center;font-size:12px;line-height:1.5;letter-spacing:.16em;margin:0 0 25px;font-weight:500}
.eyebrow-rule{width:28px;height:1px;background:currentColor}
h1,h2,p{margin-top:0}
h1{font-family:var(--serif);font-size:clamp(72px,7.7vw,124px);font-weight:400;letter-spacing:-.045em;line-height:.98;margin-bottom:0}
.intro-aside{padding:0 0 7px 8px;max-width:390px;justify-self:end;width:100%}
.intro-service{font-family:var(--serif);font-size:clamp(25px,2.25vw,36px);font-weight:400;line-height:1.18;letter-spacing:-.015em;margin:0 0 13px}
.intro-coverage{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.maritime-image{position:relative;margin:0;background:var(--paper);isolation:isolate}
.maritime-art{width:100%;height:clamp(300px,29vw,435px);display:block;overflow:hidden;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 76%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.maritime-image figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:5px;padding:0 30px;color:var(--muted);font-size:10px;letter-spacing:.16em;line-height:1.6}
.approach{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:72px 0 54px}
.section-label{display:flex;gap:21px;align-items:baseline}
.section-index{font-size:10px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.section-label h2{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.015em;margin:0}
.approach-content{max-width:580px}
.statement{font-family:var(--serif);font-size:31px;line-height:1.18;letter-spacing:-.01em;margin:0 0 23px}
.body-copy{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 16px;max-width:520px}
.body-copy.coverage{margin-bottom:0}
.contact{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;padding:65px 0 62px;scroll-margin-top:35px}
.contact .eyebrow{font-size:11px;margin-bottom:19px;color:var(--muted)}
.contact h2{font-family:var(--serif);font-size:clamp(42px,4.2vw,66px);line-height:1.03;font-weight:400;letter-spacing:-.025em;margin:0}
.contact-details{justify-self:end;min-width:260px;padding-bottom:3px}
.contact-company{font-size:14px;line-height:1.7;margin-bottom:18px}
.contact-enquiry-label{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 6px}
.contact-location{font-size:11px;color:var(--muted);margin-bottom:0}
.contact-channel{display:block;width:fit-content;font-size:18px;margin-top:0;border-bottom:1px solid var(--line);padding-bottom:4px;transition:border-color .2s}
.contact-channel+.contact-channel{margin-top:8px}
.contact-channel:hover{border-color:var(--ink)}
.contact-channel>span{margin-left:20px;font-size:18px}
.contact-address{font-size:14px;font-style:normal;line-height:1.8;color:var(--muted);margin-top:21px}
.site-footer{border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}
.portal-access{display:grid;grid-template-columns:1fr 1.2fr;align-items:start;gap:70px;padding:36px 0 28px;border-block:1px solid var(--line);color:var(--muted)}
.portal-label{margin:0;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.portal-content{max-width:580px;min-width:0}
.portal-description{font-size:16px;line-height:1.8;margin:0 0 12px}
.footer-details{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 25px;padding:20px 0 25px}
.footer-established{font-size:10px;letter-spacing:.14em;white-space:nowrap}
.portal-links{display:flex;flex-wrap:wrap;gap:4px 36px}
.portal-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:12px;font-weight:500;color:var(--ink);white-space:nowrap;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .2s,text-decoration-color .2s}
.portal-links a:hover{color:var(--ink);text-decoration-color:currentColor}
.portal-links a>span{font-size:14px;font-weight:400}

@media(min-width:1600px){.introduction{padding-block:84px 64px}.intro-aside{max-width:390px}}
@media(max-width:1000px){.header-location{display:none}.introduction{grid-template-columns:1.7fr 1fr;padding-top:55px}.intro-aside{max-width:245px}.approach,.portal-access{gap:35px;grid-template-columns:1fr 1.3fr}.section-label{gap:12px}.section-label h2{font-size:25px}.statement{font-size:28px}}
@media(max-width:700px){
  .site-header{padding:20px 0;gap:15px}
  .brand{width:280px}
  .introduction{grid-template-columns:1fr;gap:30px;padding:44px 0 33px}.eyebrow{font-size:10px;letter-spacing:.14em;gap:10px;margin-bottom:23px}.eyebrow-rule{width:20px}
  h1{font-size:clamp(59px,11.4vw,80px);letter-spacing:-.045em;line-height:1.02}
  .intro-aside{justify-self:start;max-width:none;padding:0}.intro-service{font-size:25px;line-height:1.2;margin-bottom:10px}.intro-coverage{font-size:14px}
  .maritime-image{margin-inline:-24px}.maritime-art{height:clamp(185px,47vw,310px)}.maritime-image figcaption{padding-inline:24px;font-size:10px;letter-spacing:.1em}
  .maritime-image figcaption span:last-child{display:none}
  .approach{grid-template-columns:1fr;gap:30px;padding:41px 0 34px}.section-label{gap:15px}.section-label h2{font-size:26px}.statement{font-size:30px;line-height:1.18;margin-bottom:20px}.body-copy{max-width:500px}
  .contact{grid-template-columns:1fr;gap:35px;padding:43px 0 35px}.contact h2{font-size:48px}.contact-details{justify-self:start;min-width:0}.contact .eyebrow{font-size:10px;margin-bottom:18px}
  .portal-access{grid-template-columns:1fr;gap:14px;padding:30px 0 22px}.portal-label{font-size:26px}.footer-details{flex-direction:column;gap:5px;padding:18px 0 22px}.portal-links{gap:0 20px}.portal-links a{font-size:12px;gap:5px}.portal-links a>span{font-size:13px}
}
@media(max-width:370px){.page-shell{padding-inline:20px}h1{font-size:57px}.maritime-image{margin-inline:-20px}.maritime-image figcaption{padding-inline:20px}.statement{font-size:27px}.portal-links{gap:0 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}
