/* Build: neo-brutalism uses heavy borders, hard offset shadows, raw type and coral accents. The home .index-rows has five numbered rows with title, two detail columns and a right-hand link; it stacks below 768px. Lead imagery: six images, one on home and each service page; rows have no media slots. */
:root{--petrol:#0d2a33;--deep:#081d24;--panel:#153b45;--aqua:#e0f2f1;--coral:#ff6f59;--ink:#091f27;--muted:#bed5d8;--muted-dark:#c4dadc;--line:#779ba2;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--max:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--petrol);color:var(--aqua);font-family:system-ui,"Segoe UI",Roboto,sans-serif;font-size:1rem;line-height:1.7}
[hidden]{display:none}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:2px}
a:hover{text-decoration-style:double}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default}
:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}
h1,h2,h3,p,li,dd,dt,address{overflow-wrap:anywhere}
h1,h2,h3{font-weight:800;letter-spacing:-.045em;line-height:1.08}
h1{font-size:clamp(2.5rem,7vw,5.75rem);margin:0 0 var(--s24)}
h2{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 var(--s24)}
h3{font-size:1.4rem;margin:0 0 var(--s16)}
p{margin:0 0 var(--s24)}
p:last-child{margin-bottom:0}
ul,ol{padding-left:var(--s24);margin:0 0 var(--s24)}
li+li{margin-top:var(--s8)}
img{display:block;max-width:100%;height:auto}
svg{display:block}
.container{width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:var(--s16);top:var(--s8);z-index:50;padding:var(--s12) var(--s16);background-color:var(--coral);color:var(--ink);border:3px solid var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:64px;background-color:var(--petrol);color:var(--aqua);border-bottom:3px solid var(--aqua);position:relative;z-index:20}
.header-row{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s16)}
.header-row>*{min-width:0}
.brand{display:flex;align-items:center;gap:var(--s8);font-size:.875rem;line-height:1.15;font-weight:800;text-decoration:none;flex-shrink:1;min-width:0;overflow-wrap:anywhere}
.brand svg{width:25px;height:25px;flex-shrink:0;color:var(--coral)}
.desktop-nav{display:none}
.header-cta{display:none}
.menu-toggle{flex-shrink:0;width:44px;height:40px;border:2px solid var(--aqua);background-color:var(--coral);color:var(--ink);display:grid;place-items:center;padding:var(--s8)}
.menu-toggle svg{width:22px;height:22px}
.mobile-menu{position:fixed;inset:64px 0 0;background-color:var(--deep);color:var(--aqua);overflow-y:auto;padding:var(--s24) var(--s16);border-top:3px solid var(--coral)}
.mobile-menu ul{list-style:none;max-width:var(--max);margin:0 auto;padding:0}
.mobile-menu li+li{margin-top:var(--s16)}
.mobile-menu a{display:block;padding:var(--s12) var(--s16);border:2px solid var(--line);font-size:1.15rem;overflow-wrap:anywhere}
.mobile-menu .button{display:inline-flex}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s8);padding:var(--s12) var(--s24);border:3px solid var(--ink);background-color:var(--coral);color:var(--ink);font-weight:800;text-decoration:none;line-height:1.3;box-shadow:4px 4px 0 var(--aqua);transition:box-shadow .15s,transform .15s}
.button:hover{box-shadow:0 0 0 var(--aqua);transform:translate(2px,2px);text-decoration:none}
.button.secondary{background-color:var(--aqua);color:var(--ink);box-shadow:4px 4px 0 var(--coral)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s16);align-items:center}
.actions>*{min-width:0}
.band{padding-block:var(--s64)}
.band.alt{background-color:var(--deep);color:var(--aqua);border-block:3px solid var(--aqua)}
.hero{padding-block:var(--s64)}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--s40);align-items:center}
.hero-grid>*{min-width:0}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 var(--s12);color:var(--coral)}
.lede{font-size:clamp(1.1rem,2vw,1.35rem);max-width:55ch;line-height:1.65}
.lead-image{width:100%;aspect-ratio:4/3;object-fit:cover;border:3px solid var(--aqua);box-shadow:8px 8px 0 var(--coral);background-color:var(--panel);color:var(--aqua)}
figure{margin:0}
figcaption{font-size:.875rem;color:var(--muted);margin-top:var(--s12)}
.section-heading{max-width:72ch;margin-bottom:var(--s32)}
.index-rows{border-top:3px solid var(--aqua)}
.index-row{display:grid;grid-template-columns:48px minmax(0,1fr) 135px 140px auto;gap:var(--s24);align-items:center;padding:var(--s32) 0;border-bottom:3px solid var(--aqua)}
.index-row>*{min-width:0}
.index-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.5rem;font-weight:800;color:var(--coral)}
.index-row h3{margin-bottom:var(--s12)}
.index-row p{font-size:.95rem}
.detail-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s12)}
.detail-value{font-weight:700;font-size:.9375rem}
.row-link{font-weight:800;text-decoration:none;border-bottom:3px solid var(--coral);padding-block:var(--s8);white-space:nowrap}
.row-link:hover{color:var(--coral)}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s40);align-items:start}
.support-grid>*{min-width:0}
.panel{padding:var(--s24);border:3px solid var(--aqua);box-shadow:8px 8px 0 var(--coral);background-color:var(--panel);color:var(--aqua)}
.panel h3{margin-bottom:var(--s16)}
.callout{padding:var(--s24);border:3px solid var(--ink);background-color:var(--coral);color:var(--ink);box-shadow:8px 8px 0 var(--aqua)}
.callout .eyebrow{color:var(--ink)}
.callout a:focus-visible,.callout button:focus-visible{outline-color:var(--ink)}
.page-intro{padding-block:var(--s64);border-bottom:3px solid var(--aqua)}
.page-intro h1{max-width:16ch}
.page-intro .lead-image{aspect-ratio:16/10}
.article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(0,1fr);gap:var(--s40);padding-block:var(--s64)}
.article-layout>*{min-width:0}
.article-body section+section{margin-top:var(--s64)}
.article-body h2{font-size:clamp(1.65rem,3vw,2.25rem)}
.article-body h3{font-size:1.2rem}
.article-body p,.article-body li{font-size:1.0625rem}
.article-aside{border-left:3px solid var(--coral);padding-left:var(--s24)}
.article-aside h2{font-size:1.4rem}
.article-aside ul{list-style:none;padding:0}
.article-aside li+li{margin-top:var(--s16)}
.article-aside p{font-size:.9375rem;color:var(--muted)}
.text-link{font-weight:800}
.table-wrap{overflow-x:auto;max-width:100%;border:3px solid var(--aqua);margin-block:var(--s24)}
table{border-collapse:collapse;width:100%;font-size:.9375rem}
th,td{text-align:left;vertical-align:top;padding:var(--s16);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
th{background-color:var(--panel);color:var(--aqua);font-weight:800}
tr:last-child td{border-bottom:0}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s40);padding-block:var(--s64)}
.contact-grid>*{min-width:0}
form{padding:var(--s24);border:3px solid var(--aqua);background-color:var(--panel);color:var(--aqua);box-shadow:8px 8px 0 var(--coral)}
.field{margin-bottom:var(--s24)}
label{display:block;font-weight:700;margin-bottom:var(--s8)}
input,select,textarea{display:block;width:100%;max-width:100%;border:3px solid var(--ink);border-radius:0;padding:var(--s12);background-color:var(--aqua);color:var(--ink)}
textarea{min-height:180px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--coral)}
.help{display:block;margin-top:var(--s8);font-size:.875rem;color:var(--muted)}
.form-result{margin-top:var(--s32);padding:var(--s24);border:3px solid var(--aqua);background-color:var(--deep);color:var(--aqua)}
.form-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:var(--s24) 0}
address{font-style:normal}
.contact-details section+section{margin-top:var(--s40)}
.legal{max-width:800px;padding-block:var(--s64)}
.legal section+section{margin-top:var(--s40)}
.legal h2{font-size:1.7rem}
.legal h1{font-size:clamp(2.4rem,6vw,4.5rem)}
.site-footer{background-color:var(--deep);color:var(--aqua);border-top:3px solid var(--aqua);padding-block:var(--s64)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--s32)}
.footer-grid>*{min-width:0}
.site-footer h2{font-size:1.1rem;letter-spacing:0;margin-bottom:var(--s16)}
.site-footer p,.site-footer address,.site-footer li{font-size:.875rem}
.site-footer address{margin-bottom:var(--s16);color:var(--muted-dark)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer a{overflow-wrap:anywhere}
.footer-bottom{border-top:1px solid var(--line);margin-top:var(--s40);padding-top:var(--s24);color:var(--muted-dark)}
.footer-bottom p+p{margin-top:var(--s12)}
.site-footer :focus-visible,.mobile-menu :focus-visible,.band.alt :focus-visible,.form-result :focus-visible{outline-color:var(--aqua)}
.panel :focus-visible,form :focus-visible{outline-color:var(--coral)}
.panel .button:focus-visible,form .button:focus-visible{outline-color:var(--aqua)}
@media(min-width:1024px){.brand{flex-shrink:0;white-space:nowrap;font-size:.875rem}.desktop-nav{display:block;flex-shrink:1;min-width:0}.desktop-nav ul{display:flex;align-items:center;gap:var(--s12);list-style:none;padding:0;margin:0}.desktop-nav li+li{margin:0}.desktop-nav a{font-size:.875rem;white-space:nowrap;text-decoration:none;font-weight:700}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--coral)}.header-cta{display:inline-flex;flex-shrink:0;white-space:nowrap;font-size:.875rem;padding:var(--s8) var(--s12)}.menu-toggle{display:none}.hero-grid{grid-template-columns:1.2fr 1fr}.hero h1{font-size:4.75rem}.page-intro h1{font-size:4.1rem}}
@media(max-width:1023px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-aside{padding:var(--s24);border:3px solid var(--aqua)}.hero-grid figure{max-width:740px}.page-intro .hero-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.3fr 1fr}.footer-grid>section:first-child{grid-column:1/-1}}
@media(max-width:767px){.site-header{height:52px}.mobile-menu{inset:52px 0 0}.index-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s24)}.index-number,.entry-copy{grid-column:1/-1}.row-link{grid-column:1/-1;justify-self:start}.support-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.lead-image,.panel,.callout,form,.button,.button.secondary{box-shadow:none}.button:hover{transform:translate(0,0)}.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-grid>section:first-child{grid-column:auto}.hero h1{font-size:clamp(2.5rem,10vw,4rem)}}
@media(max-width:479px){.actions{align-items:stretch;flex-direction:column}.actions .button{width:100%}.index-row{grid-template-columns:minmax(0,1fr)}.index-row>*{grid-column:1}.form-result{padding:var(--s16)}th,td{padding:var(--s12)}}
@media(max-width:399px){.brand{font-size:.8rem}.header-row{gap:var(--s8)}.brand svg{width:20px;height:20px}.panel,.callout,form{padding:var(--s24)}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}