:root{--blue:#0d67b5;--ink:#142332;--paper:#f7f3e8;--cream:#f7f3e8;--muted:#53606a;--line:#d7dce0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
button,input,textarea{font:inherit}
.skip-link{position:absolute;z-index:20;left:12px;top:-60px;background:#fff;padding:10px 16px}
.skip-link:focus{top:12px}
.site-header{height:78px;padding:0 max(28px,calc((100vw - 1300px)/2));display:flex;justify-content:space-between;align-items:center;background:var(--cream)}
.wordmark{text-decoration:none;font-size:27px;font-weight:700;letter-spacing:-.06em}
.wordmark-dot{color:var(--blue)}
nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700;letter-spacing:.025em}
nav a{text-decoration:none}
nav a:hover,.contact-email a:hover{text-decoration:underline;text-underline-offset:4px}
.nav-contact{border:1px solid var(--ink);padding:10px 15px}
.nav-contact span{margin-left:12px}
.hero{background:var(--blue);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:600px;overflow:hidden;padding-left:max(28px,calc((100vw - 1300px)/2))}
.hero-copy{position:relative;z-index:1;padding:100px 25px 100px 0;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.eyebrow,.section-kicker{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.18em}
.eyebrow{margin:0 0 34px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(52px,5.6vw,96px);line-height:.99;letter-spacing:-.065em;max-width:850px;margin:0 0 34px;font-weight:700}
h1 em{font-style:normal;font-weight:400}
.hero-intro{font-size:18px;max-width:490px;line-height:1.55;margin-bottom:40px}
.primary-link{text-decoration:none;border-bottom:1px solid var(--cream);font-weight:700;font-size:14px;padding:0 0 10px;display:inline-flex;gap:50px}
.primary-link:hover{gap:64px}
.hero-brand{display:flex;align-items:center;justify-content:center;min-width:0}
.hero-brand img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.hero-index{position:absolute;right:44px;bottom:32px;font-size:11px;letter-spacing:.16em}
.section-wrap{padding-left:max(28px,calc((100vw - 1300px)/2));padding-right:max(28px,calc((100vw - 1300px)/2))}
.section-kicker{display:flex;align-items:center;gap:18px;color:var(--blue);white-space:nowrap}
.section-kicker span{color:#8a9399}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-top:140px;padding-bottom:150px}
.intro-body{max-width:850px}
.intro h2,.services h2,.contact h2{font-size:clamp(42px,4.1vw,67px);line-height:1.08;letter-spacing:-.055em;font-weight:600}
.intro p:not(.section-kicker){font-size:20px;line-height:1.65;max-width:740px;color:#3d4c58;margin-bottom:0}
.services{background:#e8ebeb;padding-top:120px;padding-bottom:130px}
.services-head{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:75px}
.services h2{margin-bottom:0;max-width:650px}
.service-list{border-top:1px solid #b8c1c4}
.service-row{display:grid;grid-template-columns:1fr 1.2fr 1.8fr;gap:50px;align-items:start;padding:39px 0;border-bottom:1px solid #b8c1c4}
.service-number{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.12em}
.service-row h3{font-size:27px;line-height:1.1;letter-spacing:-.04em;margin-bottom:0}
.service-row p{max-width:500px;color:#42515a;margin-bottom:0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:130px;padding-bottom:135px}
.contact-copy>p:not(.section-kicker){max-width:430px;font-size:19px;color:#3d4c58}
.contact-email{padding-top:25px;font-size:15px!important}
.contact-email a{color:var(--blue);font-weight:700}
.enquiry-form{max-width:610px;width:100%}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{margin-bottom:22px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}
.field label>span[aria-hidden]{color:var(--blue)}
.optional{font-weight:400;color:#6c787e;margin-left:5px}
input,textarea{width:100%;border:1px solid #b9c5c9;background:#fff;padding:15px 17px;border-radius:0;outline:0;color:var(--ink)}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}
textarea{resize:vertical;min-height:145px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:12px;color:var(--muted);margin:0 0 28px}
.form-note a{color:var(--blue)}
button[type=submit]{background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;padding:16px 20px;min-width:200px;display:inline-flex;justify-content:space-between;gap:30px;cursor:pointer}
button[type=submit]:hover{background:#08558f}
button[type=submit]:disabled{opacity:.6;cursor:wait}
.form-status{font-size:14px;margin:18px 0 0;min-height:22px;color:#8d2d26}
.form-status.success{color:#176329}
.site-footer{background:var(--ink);color:var(--cream);padding:34px max(28px,calc((100vw - 1300px)/2));display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;letter-spacing:.03em}
.site-footer small{flex-basis:100%;font-size:11px;opacity:.75;line-height:1.5}
@media(max-width:900px){.hero{grid-template-columns:1fr 44%;min-height:580px}.hero-copy{padding-top:65px;padding-bottom:65px}.intro,.services-head{grid-template-columns:1fr 2fr}.contact{gap:6vw}}
@media(max-width:700px){.site-header{height:70px}.site-header nav{gap:16px}.site-header nav a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;padding-right:28px}.hero-copy{padding:80px 0 12px}h1{font-size:clamp(40px,11vw,52px);overflow-wrap:anywhere}.hero-intro{font-size:16px;margin-bottom:32px}.hero-brand{height:280px;justify-content:center}.hero-index{right:30px;bottom:20px}.intro,.services-head,.contact{display:block}.intro{padding-top:85px;padding-bottom:95px}.intro .section-kicker,.services-head .section-kicker,.contact .section-kicker{margin-bottom:40px}.intro p:not(.section-kicker){font-size:17px}.services{padding-top:85px;padding-bottom:95px}.services-head{margin-bottom:48px}.service-row{grid-template-columns:42px 1fr;gap:10px 20px;padding:30px 0}.service-row h3{font-size:24px}.service-row p{grid-column:2}.contact{padding-top:85px;padding-bottom:95px}.contact-copy{margin-bottom:45px}.field-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-link{transition:none}}
