
:root{--navy:#061a34;--blue:#0b3d86;--royal:#134fb1;--gold:#ffcc33;--sky:#eaf3ff;--white:#fff;--ink:#17202b;--muted:#617083;--line:#dbe4ef;--max:1180px;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#f6f8fb;line-height:1.65}img{max-width:100%;display:block}a{color:var(--royal)}.container{width:min(calc(100% - 36px),var(--max));margin:auto}
.topbar{background:#020d1d;color:#c7d5e6;font-size:.9rem}.topbar .container{display:flex;justify-content:space-between;padding:8px 0;gap:20px;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}
header{position:sticky;top:0;z-index:50;background:rgba(6,26,52,.97);box-shadow:0 8px 24px rgba(0,0,0,.15)}.navwrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-weight:800}.brand img{width:62px;height:62px;object-fit:contain}.brand small{display:block;color:var(--gold);letter-spacing:.15em;font-size:.68rem}
nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}nav a{display:block;color:#e9f2ff;text-decoration:none;padding:12px 10px;border-radius:9px;font-size:.94rem}nav a:hover,nav a.current{background:#153b70}.menu{display:none;background:transparent;border:1px solid #58769c;color:#fff;padding:9px 12px;border-radius:8px}
.hero{min-height:690px;color:#fff;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(2,13,29,.96) 0%,rgba(6,26,52,.86) 48%,rgba(6,26,52,.25) 100%),var(--hero) center 44%/cover no-repeat}.hero-grid{display:grid;grid-template-columns:1.15fr .65fr;gap:55px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:850;color:var(--gold)}h1,h2,h3{line-height:1.14;margin-top:0}h1{font-size:clamp(2.8rem,6vw,5.4rem);margin:.22em 0}h2{font-size:clamp(2rem,4vw,3.2rem)}.lead{font-size:1.18rem;color:#dbe8f6;max-width:720px}.hero-card{background:rgba(4,20,40,.8);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);border-radius:var(--radius);padding:30px}.hero-card strong{color:var(--gold)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:10px;text-decoration:none;font-weight:800}.btn-primary{background:var(--gold);color:#17202b}.btn-outline{border:1px solid #88a3c4;color:#fff}
.section{padding:78px 0}.white{background:#fff}.dark{background:var(--navy);color:#fff}.section-head{max-width:760px;margin-bottom:34px}.section-head p{color:var(--muted);font-size:1.08rem}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 12px 32px rgba(5,26,52,.07)}.photo-card{padding:0;overflow:hidden}.photo-card img{width:100%;height:260px;object-fit:cover}.photo-card .body{padding:25px}.feature-image{border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.15)}.feature-image img{width:100%;height:520px;object-fit:cover}
.pagehero{padding:74px 0;color:#fff;background:linear-gradient(120deg,#061a34,#0d4283)}.pagehero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.crumb{color:#aec3df}.crumb a{color:#fff}.notice{padding:20px 22px;background:#fff7db;border-left:4px solid var(--gold);border-radius:10px}.tag{display:inline-block;background:#e9f2ff;color:#0b438c;padding:5px 9px;border-radius:99px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.person{padding:0;overflow:hidden}.person img{width:100%;height:260px;object-fit:cover;object-position:center top}.person .body{padding:20px}.role{color:var(--muted);font-size:.93rem}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:16px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:16px}.gallery .tall{grid-row:span 2}.gallery .wide{grid-column:span 2}
.linkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.linktile{background:#fff;border:1px solid var(--line);padding:20px;border-radius:13px;text-decoration:none;color:var(--ink)}.linktile:hover{border-color:var(--royal);transform:translateY(-2px)}
.banner{background:linear-gradient(120deg,#0b3d86,#1558ba);color:#fff;border-radius:24px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:25px}
footer{background:#020d1d;color:#b8c8da;padding:55px 0 24px}.footergrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}footer h3{color:#fff}footer a{color:#e5f0fb;text-decoration:none}.footend{border-top:1px solid #23354b;margin-top:35px;padding-top:22px;font-size:.88rem}
@media(max-width:900px){nav{display:none;position:absolute;left:0;right:0;top:82px;background:#061a34;padding:15px 18px}nav.open{display:block}nav ul{display:block}nav a{padding:13px}.menu{display:block}.hero-grid,.grid3,.grid4,.footergrid{grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .wide{grid-column:span 2}}
@media(max-width:650px){.grid2,.grid3,.grid4,.footergrid,.linkgrid,.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:auto}.gallery .tall{grid-row:auto}.hero{min-height:620px}.section{padding:58px 0}.banner{display:block}.brand span{font-size:.9rem}.brand img{width:54px;height:54px}}


/* Membership enquiry form */
.enquiry-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:30px;align-items:start}
.enquiry-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 12px 32px rgba(5,26,52,.07)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:800;color:var(--navy)}
.form-field .optional{font-weight:500;color:var(--muted);font-size:.9rem}
.form-field input,.form-field textarea{width:100%;border:1px solid #bcc9d9;border-radius:10px;background:#fff;color:var(--ink);font:inherit;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.form-field input:focus,.form-field textarea:focus{border-color:var(--royal);box-shadow:0 0 0 3px rgba(19,79,177,.12)}
.form-field textarea{min-height:170px;resize:vertical}
.captcha-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;background:var(--sky);border:1px solid #cfe0f7;border-radius:12px}
.captcha-question{font-weight:850;color:var(--navy);font-size:1.05rem;white-space:nowrap}
.captcha-box input{max-width:130px}
.form-help{font-size:.9rem;color:var(--muted);margin:.2rem 0 1.1rem}
.form-alert{border-radius:12px;padding:16px 18px;margin-bottom:22px}
.form-alert.error{background:#fff1f0;border:1px solid #e9b7b3;color:#7a1f1b}
.form-alert.success{background:#edf9f0;border:1px solid #b9dfc2;color:#185b2a}
.form-alert ul{margin:.45rem 0 0;padding-left:1.25rem}
.enquiry-side .card+.card{margin-top:20px}
.enquiry-side .btn{margin-top:8px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:820px){.enquiry-layout{grid-template-columns:1fr}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.enquiry-form{padding:22px}.captcha-box{align-items:flex-start;flex-direction:column}.captcha-box input{max-width:100%}}
