@font-face{font-family:Inter;src:url('homepage-assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#004a6c;--ink:#202124;--muted:#667177;--line:#d5dee2;--sun:#f2b230;--water:#1f8fe0;--deep:#0e3a57;--foam:#f2f9fd;--alert:#b3261e;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,p,ul,fieldset{margin:0}
.shell{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.11em;font-weight:550;text-transform:uppercase;color:var(--muted)}
h1 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:var(--blue)}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.skip-link{position:fixed;z-index:50;top:10px;left:10px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{width:auto;height:auto;clip-path:none;background:#fff;padding:12px}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:560 15px Inter,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.pill:hover{background:#000}
.text-link{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--blue);font:inherit;font-size:14px;cursor:pointer}

.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);align-items:start;padding-block:clamp(56px,7vw,104px) clamp(80px,8vw,120px)}
.contact-intro{position:sticky;top:120px}
.contact-mark{width:68px;height:68px;margin-bottom:26px;transform-origin:50% 90%}
/* The shared shell greets once with the raised arm on first appearance. */
.contact h1{margin-top:16px;font-size:clamp(42px,4.6vw,76px);line-height:.98;letter-spacing:-.056em;font-weight:620}
.lead{margin-top:24px;max-width:40ch;font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:#46525a}
.tips{margin-top:28px;padding:0;list-style:none;display:grid;gap:12px;max-width:40ch}
.tips li{display:flex;gap:12px;align-items:baseline;font-size:14px;line-height:1.55;color:#4b565c}
.tips li:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--sun);transform:translateY(-1px)}
.tips a{color:var(--blue)}

.enquiry-card{padding:clamp(24px,3vw,44px);border-radius:32px;background:var(--foam)}
.enquiry{display:grid;gap:20px}
.enquiry[hidden]{display:none}
.via-note{margin:0 0 22px;padding:12px 16px;border-radius:14px;background:#fff;color:var(--deep);font-size:14px;line-height:1.5;box-shadow:inset 0 0 0 1px var(--line)}
.via-note[hidden]{display:none}
.roles{display:flex;flex-wrap:wrap;gap:10px;padding:0;border:0}
.roles legend{width:100%;margin-bottom:12px;font-size:13px;font-weight:560;color:var(--deep)}
.roles label{position:relative;cursor:pointer}
.roles input{position:absolute;opacity:0;pointer-events:none}
.roles span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;transition:background .2s,color .2s,border-color .2s}
.roles input:checked+span{background:var(--deep);border-color:var(--deep);color:#fff}
.roles input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:8px;align-content:start}
.field>label{font-size:13px;font-weight:560;color:var(--deep)}
.field>label span{margin-left:6px;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:16px/1.4 Inter,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:150px;resize:vertical}
.field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23667177' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding-right:44px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #004a6c26}
.field [aria-invalid="true"]{border-color:var(--alert)}
.error{min-height:0;font-size:13px;color:var(--alert)}
.error:empty{display:none}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent label{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding-block:10px;font-size:14px;line-height:1.5;color:#3f6278;cursor:pointer}
.consent label span{margin-left:0;color:inherit}
.consent input{flex:none;width:20px;height:20px;min-height:20px;padding:0;margin:1px 0 0;accent-color:var(--deep)}
.send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:4px}
.note{max-width:44ch;font-size:13px;line-height:1.5;color:var(--muted)}
.status{font-size:14px;color:var(--alert)}
.status:empty{display:none}
.enquiry.is-sending .pill{opacity:.6;pointer-events:none}
.thanks{display:grid;gap:14px;padding:24px 0}
.thanks[hidden]{display:none}
.thanks h2{font-size:clamp(32px,3vw,48px);letter-spacing:-.05em;font-weight:620}
.thanks p{max-width:44ch;font-size:16px;line-height:1.6;color:#3f6278}
.thanks .text-link{justify-self:start}

@media (max-width:900px){
 .contact{grid-template-columns:1fr}
 .contact-intro{position:static}
}
@media (max-width:560px){
 .pair{grid-template-columns:1fr}
 .enquiry-card{border-radius:24px}
}
@media (prefers-reduced-motion:reduce){.js .contact-mark{animation:none}}
