:root{--navy:#081f43;--ink:#132747;--blue:#113469;--green:#c9eb8a;--muted:#475b71;--line:#dce5e8;--surface:#f2f6f4;--white:#fff;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:1em}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(2.75rem,5.8vw,5.2rem)}h2{font-size:clamp(2.1rem,4vw,3.65rem)}h3{font-size:1.32rem;line-height:1.22;letter-spacing:-.02em}section[id],article[id]{scroll-margin-top:2rem}.wrap{width:min(1140px,calc(100% - 3rem));margin-inline:auto}.skip{position:absolute;left:.5rem;top:.5rem;transform:translateY(-160%);background:#fff;padding:.5rem;z-index:2}.skip:focus{transform:none}:focus-visible{outline:3px solid #43832c;outline-offset:4px}
.header{background:#fff}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.header-inner{min-height:96px}.brand img{width:106px}.header nav{display:flex;align-items:center;gap:clamp(.65rem,3vw,2rem);font-size:.9rem;font-weight:700}.header nav a{text-decoration:none}.header nav a:hover,.text-link:hover{text-decoration:underline}.nav-contact{background:var(--navy);color:#fff;padding:.55rem .9rem;border-radius:4px;white-space:nowrap}
.hero,.contact{color:#fff;background:var(--navy)}.hero{background:radial-gradient(ellipse at 96% 10%,#245782 0%,transparent 55%),var(--navy)}.hero-inner{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(245px,1fr);align-items:end;gap:clamp(2rem,5vw,5rem);padding-block:clamp(4.4rem,8vw,8rem)}.eyebrow{color:#306322;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.105em;margin-bottom:.9rem}.light{color:var(--green)}h1 em{color:var(--green);font-style:normal}.hero-copy{color:#dbe6f1;max-width:34rem;font-size:1.12rem;margin-top:1.3rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font:700 .9rem/1.35 var(--sans);text-decoration:none;min-height:45px;padding:.7rem 1rem;border-radius:4px;border:1px solid transparent;cursor:pointer}.primary{color:var(--navy);background:var(--green)}.primary:hover{background:#dbf5aa}.outline{color:#fff;border-color:#a8bed4;background:transparent}.outline:hover{background:#ffffff14}.button:disabled{opacity:.65;cursor:wait}.hero-side{padding:1rem 0 0;border-top:1px solid #7793af;color:#e9f2fc;font-size:.91rem}.hero-side ul{list-style:none;padding:0;margin:.65rem 0 0}.hero-side li a{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid #527397;padding:.55rem 0;text-decoration:none}.hero-side li a:hover{color:var(--green)}
.section{padding-block:clamp(3.6rem,7vw,6.2rem)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.service-grid article{border:1px solid var(--line);border-top:3px solid #78a34a;padding:1.4rem 1.55rem;background:#fbfdfb;border-radius:4px}.service-grid ul{padding-left:1.15rem;margin:.85rem 0 0;color:var(--muted)}.service-grid li+li{margin-top:.25rem}.about{background:var(--surface);border-block:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem)}.about-grid,.accountant{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(1rem,5vw,5rem);align-items:start}.about-grid>div+div,.director-copy>p:not(.eyebrow),.accountant>div+div{color:var(--muted)}
.director{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr);gap:clamp(1.4rem,5vw,4.5rem);margin-top:2rem;align-items:start}.portrait img{width:100%;border-radius:5px}.director-copy h3,.accountant h3{font-size:clamp(1.55rem,3vw,2.2rem);margin-bottom:.75rem}.graduation{margin-top:1.3rem;display:flex;align-items:end;gap:.9rem}.graduation img{width:110px;border-radius:3px}.graduation figcaption{font-size:.8rem;color:var(--muted)}.accountant{margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.7rem}.text-link{display:inline-block;margin-top:.6rem;color:#22512a;font-weight:700}
.contact{padding-block:clamp(3.5rem,7vw,6rem)}.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.75rem,6vw,5rem);align-items:start}.contact-copy>p:not(.eyebrow){color:#dce8f4;margin-top:.8rem}.contact dl{margin:1.4rem 0}.contact dt{color:var(--green);font-size:.77rem;font-weight:800}.contact dd{margin:0 0 .65rem;overflow-wrap:anywhere}.enquiry{background:#fff;color:var(--ink);padding:clamp(1rem,3vw,2rem);border-radius:6px;position:relative}.enquiry h3{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.enquiry label{display:block;font-size:.85rem;font-weight:750;margin-bottom:.85rem}.enquiry label span,.form-note{color:var(--muted);font-weight:400}.enquiry input,.enquiry select,.enquiry textarea{display:block;width:100%;margin-top:.25rem;font:inherit;font-weight:400;color:var(--ink);background:#f9fbfb;border:1px solid #a9b9c6;border-radius:3px;padding:.55rem;min-height:44px}.enquiry textarea{resize:vertical}.honey{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-note,.form-status{font-size:.82rem;margin:.25rem 0 .8rem}.form-status{margin:.7rem 0 0;font-weight:700}.form-status:empty{display:none}.form-status[data-error=true]{color:#9a2727}
footer{padding-block:1.4rem;background:#eef3f1}.footer-inner{font-size:.85rem}.footer-inner p{color:var(--muted);margin-top:.2rem}.footer-inner>a{flex-shrink:0}
@media(max-width:800px){.hero-inner{grid-template-columns:1fr}.hero-side{max-width:29rem}.contact-grid{grid-template-columns:1fr}.director{gap:1.4rem}.about-grid,.accountant{gap:1.5rem}}
@media(max-width:560px){.wrap{width:calc(100% - 2rem)}.header-inner{min-height:75px;gap:.5rem}.brand img{width:72px}.header nav{gap:.55rem;font-size:.72rem}.nav-contact{padding:.45rem .5rem}.service-grid,.about-grid,.director,.accountant,.form-row{grid-template-columns:1fr}.form-row{gap:0}.portrait{max-width:350px}.footer-inner{align-items:start;flex-direction:column;gap:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:1050px){.hero h1{font-size:clamp(3.6rem,5vw,4.5rem)}.hero-inner{padding-block:clamp(4.5rem,7vw,6rem)}}
