:root{--ink:#172c33;--paper:#fffefa;--accent:#203746;--line:#c1cdcc;--tint:#edf3f0;--muted:#52656c}

*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:4px}
img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
figure{margin:0}
figcaption,small,.small,.eyebrow{font-size:.8rem;color:var(--muted)}
h1,h2,h3{line-height:1.15;margin:0 0 1rem}
h1{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em}
h2{font-size:clamp(1.5rem,2.3vw,2.1rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
dt{font-weight:bold}
dd{margin:0 0 1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.13em}
.lead{font-size:1.1rem}
.cta,button{display:inline-block;background:var(--accent);color:white;padding:.85rem 1.2rem;border:0;font:inherit;text-decoration:none;cursor:pointer}
.cta{margin-top:1rem}
.mast,main,body>footer{width:min(1180px,92%);margin:auto}
.mast{padding:1.5rem 0;border-bottom:1px solid var(--line);margin-bottom:1rem}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;max-width:430px}
.brand img{width:54px;height:54px;object-fit:contain;flex:none}
.brand strong{font-size:1rem;line-height:1.2}
nav a[aria-current]{font-weight:bold;text-decoration-thickness:3px}
main{padding:2.5rem 0 4rem}
main>section,main>article,main>div,main>figure,main>header,main>table,main>ul{margin-bottom:3.5rem}
.pageintro{max-width:900px;padding:1rem 0 2rem}
.entries article,.entries li,.entries details,.entries>div{padding:1.5rem 0;border-bottom:1px solid var(--line)}
.entries li{padding-left:1rem}
.entries li>span{font-size:2rem}
.entries img{height:230px;margin-bottom:1rem}
.entries details>div{margin-top:1rem}
.entries th,.entries td{padding:1rem;text-align:left;border-bottom:1px solid var(--line)}
table{border-collapse:collapse;width:100%}
address{font-style:normal}
.map{width:100%;height:380px;border:0;background:var(--tint)}
.enquiry{display:grid;gap:.8rem}
.enquiry input,.enquiry textarea,.enquiry select{display:block;width:100%;border:1px solid #a5afb5;background:white;color:#182b32;padding:.8rem;font:inherit}
.enquiry textarea{resize:vertical}
.enquiry label{display:block;margin:.4rem 0}
.enquiry fieldset{padding:1rem;border:1px solid var(--line)}
.enquiry button{justify-self:start}
.formrow,.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.formrow>div:last-child,.formgrid>section:last-child{grid-column:1/-1}
.formrecord{display:grid;grid-template-columns:1fr 2fr;gap:1rem}
.formrecord dd{margin:0}
.formsteps{padding-left:1.5rem}
.status{font-size:.85rem}
.record{margin-top:1.5rem}
body>footer{padding:2.5rem 0;border-top:2px solid}
.foot2{display:grid;grid-template-columns:2fr 1fr;gap:3rem}
.foot3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}
.foot4{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.footcenter{text-align:center}
.footcenter .brand{justify-content:center;max-width:none}
.footrecord{display:grid;grid-template-columns:1fr 2fr;gap:3rem}
.footrecord dl{display:grid;grid-template-columns:1fr 3fr;gap:1rem}
.copyright{font-size:.8rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}
footer h2{font-size:1rem}
footer .brand{margin-bottom:1rem}
summary{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b65d13;outline-offset:3px}
.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:1rem}
.skip:focus{top:10px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

.mast{border-bottom:5px solid}
.mast .brand{margin-bottom:1.5rem}
.mast nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

.chapters{display:grid;grid-template-columns:1fr 4fr;gap:3rem}
.chapters figure{grid-column:2}
.chapters img{height:350px}
.chapterbody article{display:grid;grid-template-columns:1fr 2fr;gap:4rem;border-top:2px solid;padding:3rem 0}
.chapterbody span{font-size:4rem}
.chapterbody img{height:280px}

.inner{display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.inner>article{grid-row:span 2;background:var(--tint);padding:2rem}
.inner>section{grid-column:1/-1;border-top:2px solid;padding-top:2rem}

@media(max-width:780px){.chapters,.chapterbody article{display:block}
.chapters img{height:250px}
}

@media(max-width:900px){.inner,.inner>div,.inner>section{display:block}
.inner>figure{position:static;margin-bottom:2rem}
.inner>figure img{height:280px}
.inner>article{margin-top:0;padding:1rem 0}
.inner>.narrative{columns:1}
.inner>aside{margin-top:2rem}
.inner>nav{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.inner>header{margin-bottom:2rem}
}
@media(max-width:700px){.mast{display:flex;flex-wrap:wrap;gap:1rem}
.mast nav,.mast ol{display:flex;flex-wrap:wrap;gap:.8rem}
.mast details nav{display:grid}
.headcontact{text-align:left}
.navbutton{display:block}
.mast #navigation.toggle{display:none;flex-basis:100%}
.mast #navigation.toggle.open{display:flex}
.rail{position:static;width:100%;padding:1.5rem}
.rail .brand{display:flex}
.rail nav{display:flex;gap:1rem;flex-wrap:wrap}
.rail~main,.rail~footer{margin:0 auto;width:92%}
.formrow,.formgrid,.formrecord,.foot2,.foot3,.foot4,.footrecord,.footrecord dl{display:block}
.foot2>section,.foot3>section,.foot4>section{margin-bottom:2rem}
.map{height:300px}
.brand strong{font-size:.95rem}
.entries th,.entries td{padding:.6rem}
.inner .enquiry{margin-bottom:2rem}
}

.brand strong,address,a,dd {overflow-wrap:anywhere} .brand {min-width:0} .brand strong {max-width:40ch}

/* multi-domain safeguards */
main,section,article,.row-2>*{min-width:0}p,a,h1,h2,h3{overflow-wrap:anywhere}.contact-form input,.contact-form textarea{min-width:0}iframe{max-width:100%}
