@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--primary:#193d64;--accent:#dca740;--ink:#172b3e;--muted:#5d6c7b;--paper:#f5f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif;background:#fff}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,5vw,5.2rem)}h2{font-size:clamp(1.8rem,3vw,3.1rem)}h3{font-size:1.3rem}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.topline{background:var(--primary);color:white;font-size:.8rem;padding:7px 0}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.topline span{opacity:.8}header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 5px 24px #172b3e10}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand img{width:56px;height:56px;object-fit:contain}.brand strong{display:block;font:800 1rem/1.2 Manrope}.brand small{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:5px}.monogram{display:grid;place-items:center;background:var(--primary);color:white;border:3px solid var(--accent);border-radius:14px;width:56px;height:56px;font:800 2rem Manrope}.links{display:flex;align-items:center;gap:clamp(9px,1.5vw,23px);font-size:.83rem;font-weight:700;white-space:nowrap}.links a:hover,.links button:hover{color:var(--accent)}.links button{border:0;background:transparent;font-weight:700;color:inherit;padding:15px 0}.dropdown{position:relative}.dropdown>div{display:none;position:absolute;background:white;min-width:135px;box-shadow:0 12px 30px #0002;border-radius:5px;padding:10px}.dropdown:hover>div,.dropdown:focus-within>div{display:grid}.dropdown a{padding:5px 10px}.hamburger{display:none;background:none;border:0;font-size:1.6rem}.hero{height:min(650px,73vh);min-height:490px;position:relative;background:#123455;color:#fff}.hero-slide,.hero-fallback{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .65s;background-size:cover;background-position:center}.hero-slide.active,.hero-fallback{opacity:1}.hero-fallback{background:radial-gradient(circle at 85% 20%,#486d8a,transparent 32%),linear-gradient(115deg,#0a2845,#264e72)}.hero-inner{position:relative;z-index:1}.hero h1{max-width:760px;margin:15px 0}.hero p:not(.eyebrow){font-size:1.2rem;max-width:600px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.77rem;font-weight:800;color:var(--accent)}.btn{display:inline-block;background:var(--accent);color:#1d2830;border:0;border-radius:5px;padding:12px 23px;font-weight:800;margin-top:15px}.btn:hover{filter:brightness(.95)}.hero-dots{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px}.hero-dots button{width:12px;height:12px;background:#fff9;border:0;border-radius:50%;padding:0}.hero-dots .selected{background:var(--accent)}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:12%;padding:110px 0}.intro h2{max-width:640px}.intro p,.content-panel p,.lead{color:var(--muted)}.intro-card{background:var(--primary);padding:48px;color:white;border-top:6px solid var(--accent);align-self:center;min-height:280px}.intro-card span{color:var(--accent);font-size:.8rem;font-weight:800}.intro-card p{color:#e5edf6}.text-link{color:var(--primary);font-weight:800}.band{background:var(--paper);padding:85px 0 100px}.band h2{margin:0 0 32px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;padding:30px;box-shadow:0 12px 35px #172b3e0b;border-radius:7px;border-bottom:3px solid transparent}.card:hover{border-color:var(--accent)}.card>span{color:var(--accent);font-weight:800}.card p{color:var(--muted)}.card b{color:var(--primary)}.page-banner{background:linear-gradient(110deg,#0b2845,#2d5b7e);padding:60px 0;color:white}.page-banner h1{font-size:clamp(2.2rem,4vw,4rem);margin:6px 0}.page-banner p:last-child{color:#c5d5e4}.page-content{min-height:390px;padding:75px 0 110px}.content-panel{max-width:850px}.content-panel p{white-space:normal;font-size:1.06rem}.lead{max-width:800px;font-size:1.1rem;margin-bottom:34px}.feature-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid figure{margin:0;background:var(--paper);border-radius:6px;overflow:hidden}.gallery-grid img{width:100%;height:245px;object-fit:cover;display:block}.gallery-grid figcaption{padding:12px 17px;font-weight:700}.doc-list{max-width:840px}.doc{display:flex;align-items:center;text-align:left;gap:18px;width:100%;background:white;border:1px solid #dce5eb;margin-bottom:12px;padding:17px 20px;border-radius:6px;color:var(--ink);font-weight:700}.doc:hover{border-color:var(--accent);background:#fffcf6}.doc span{color:var(--primary);background:#e9f0f5;padding:6px 10px;border-radius:4px;font-size:.75rem}.doc b{margin-left:auto;color:var(--primary)}dialog{width:min(1000px,95vw);height:min(800px,90vh);border:0;padding:0;border-radius:8px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#081b30c9}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:15px}.dialog-head>div{display:flex;align-items:center;gap:14px}.dialog-head a{color:var(--primary);font-size:.8rem}.dialog-head button{border:0;background:transparent;font-size:1.7rem}dialog iframe{width:100%;height:calc(100% - 62px);border:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid h3{margin-bottom:0}.contact-form,.admin-panel{background:var(--paper);padding:30px;border-radius:8px}label{display:block;font-weight:700;font-size:.88rem;margin-bottom:14px}input,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #cbd5df;border-radius:5px;background:white;margin-top:6px;color:var(--ink)}.trap{position:absolute;left:-10000px}.contact-form .btn{margin-top:0}footer{background:#102b46;color:white;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid p{color:#bdcbd8;max-width:400px}.footer-grid a{display:block;color:#bdcbd8;padding:3px 0}.copyright{border-top:1px solid #ffffff24;padding-top:20px;margin-top:45px;color:#a9bbcb;font-size:.8rem}.admin{background:#eef3f7}.admin-wrap{padding:35px 0 90px}.admin-heading,.admin-actions{display:flex;justify-content:space-between;align-items:center}.admin-heading h1{font-size:2.5rem;margin:0 0 25px}.admin-panel{background:white;margin:18px 0;box-shadow:0 5px 18px #0000000b}.admin-panel summary{font-size:1.3rem;font-weight:800;cursor:pointer;margin-bottom:16px}.admin-panel h2{font-size:1.3rem}.field-grid,.admin-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field-grid .wide{grid-column:1/-1}.narrow{max-width:440px}.admin-item,.enquiry{padding:12px 0;border-top:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;gap:15px}.enquiry{display:block}.enquiry p{white-space:pre-wrap}.admin-item button,.enquiry button,.admin-actions button{border:0;color:#a33;background:transparent}.alert,.success{padding:12px;background:#fbe8e5}.success{background:#e5f5e8}@media(max-width:1050px){.hamburger{display:block}.links{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:18px 25px;box-shadow:0 14px 25px #0002;white-space:normal}.links.open{display:grid}.dropdown>div{display:grid;position:static;box-shadow:none;padding:0 15px}.dropdown button{display:none}}@media(max-width:680px){.topline span{display:none}.nav{min-height:73px}.brand strong{font-size:.8rem}.brand img,.monogram{width:46px;height:46px}.intro,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:30px}.intro{padding:60px 0}.band{padding:60px 0}.cards,.gallery-grid,.field-grid,.admin-two{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.page-content{padding:50px 0}.gallery-grid img{height:220px}.hero{min-height:450px;height:65vh}.dialog-head{font-size:.75rem}}
