:root{--bg:#FFFFFF;--page:#FFFFFF;--ink:#252D35;--soft:rgba(37,45,53,.76);--gold:#123B5D;--gold2:#55A6C8;--sand:#E8D5B7;--sd:rgba(18,59,93,.2);--sl:#FFFFFF;--glass:rgba(255,255,255,.55);--gb:rgba(85,166,200,.35);--b1:rgba(85,166,200,.55);--b2:rgba(232,213,183,.9);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;min-height:100vh;color:var(--ink);font:400 16px/1.65 "Plus Jakarta Sans",system-ui,sans-serif;background:radial-gradient(circle at 12% 8%,var(--b1),transparent 38%),radial-gradient(circle at 90% 85%,var(--b2),transparent 36%),var(--page);background-attachment:fixed}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:20;background:var(--bg)}
h1,h2,h3,h4{color:var(--gold);font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.2;margin:0 0 .4em}
a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.glass{background:var(--glass);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--gb);box-shadow:0 10px 36px rgba(22,36,63,.14);border-radius:24px}
.neu{border:1px solid rgba(85,166,200,.22);background:var(--bg);box-shadow:9px 9px 20px var(--sd),-9px -9px 20px var(--sl);border-radius:20px}
.inset{background:var(--bg);box-shadow:inset 5px 5px 11px var(--sd),inset -5px -5px 11px var(--sl)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;padding:14px 0}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 24px;border-radius:999px}
.brand{display:flex;align-items:center;gap:12px;font:600 19px Fraunces,serif;text-decoration:none;color:var(--ink)}.brand img{height:48px;width:auto;object-fit:contain;display:block}
.links{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.links a{display:block;padding:8px 16px;border-radius:999px;text-decoration:none;font-size:14.5px;color:var(--soft)}
.links a[aria-current=page]{color:var(--gold);font-weight:500;background:var(--bg);box-shadow:inset 3px 3px 7px var(--sd),inset -3px -3px 7px var(--sl)}
.burger{display:none;width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;color:var(--ink);font-size:18px}
.btn{border:1px solid var(--gold2)!important;display:inline-block;padding:13px 24px;border:0;border-radius:14px;font:500 15px inherit;font-family:inherit;text-decoration:none;color:var(--ink);cursor:pointer;background:var(--bg);box-shadow:6px 6px 14px var(--sd),-6px -6px 14px var(--sl);transition:box-shadow .15s}
.btn:active{box-shadow:inset 4px 4px 9px var(--sd),inset -4px -4px 9px var(--sl)}
.btn-gold{background:#123B5D;color:#fff;box-shadow:6px 6px 14px var(--sd),-6px -6px 14px var(--sl),0 0 0 2px var(--sand)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.row{display:flex;gap:16px;flex-wrap:wrap}
main{padding:28px 0 56px}.sec{margin-top:44px}
.lead{color:var(--soft);max-width:54ch}
.hero{padding:52px 44px;display:grid;grid-template-columns:1.4fr .6fr;gap:32px;align-items:center}
.hero h1{font-size:clamp(28px,6vw,46px);max-width:20ch}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{padding:26px}.card h4{font-size:17px}.card p,.card li{color:var(--soft);font-size:14.5px;margin:0}
.card ul{margin:10px 0 0;padding-left:18px}.card li{margin-bottom:4px}
.well{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;margin-bottom:16px}
.tag{display:inline-block;font-size:13px;padding:5px 14px;border-radius:999px;margin-bottom:14px;color:var(--ink)}
.tag.gold{background:var(--sand);color:#252D35}
.flag{font:600 22px Fraunces,serif;text-align:center;padding:20px}
.plate{padding:36px}
label{display:block;font-size:14px;color:var(--soft);margin:0 0 6px}
input,select,textarea{width:100%;padding:13px 16px;border:0;border-radius:14px;font:inherit;color:var(--ink);margin-bottom:16px}
.person{padding:20px;margin-bottom:18px}.person p{margin:0 0 10px;color:var(--soft);font-size:14.5px}.person strong{color:var(--ink);font-size:16px}
footer{padding:0 0 32px;color:var(--soft);font-size:13.5px;text-align:center}
@media(max-width:760px){.links{display:none}.links.open{display:flex}.burger{display:block}.nav{position:relative;border-radius:28px}.hero,.grid,.grid2{grid-template-columns:1fr}.hero{padding:34px 24px}.plate{padding:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.tag.inset{background:rgba(85,166,200,.2);box-shadow:none;color:var(--gold)}.well{color:var(--gold2)}.btn-gold{border-color:var(--gold)!important}
.notfound .code{font:600 clamp(64px,12vw,120px)/1 Fraunces,Georgia,serif;color:var(--gold2);margin:0 0 8px}.notfound h1{max-width:18ch}.notfound .card a{color:var(--gold);font-weight:500}

.prose{max-width:72ch}.prose h2{font-size:clamp(24px,3.4vw,32px)}.prose h3{font-size:19px;margin-top:1.4em}.prose p{color:var(--soft);margin:0 0 1em}.prose a,.faq a{color:var(--gold);font-weight:500}
.faqlist{display:grid;gap:16px;max-width:820px}.faq{padding:0}.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 24px;font:600 17px/1.35 Fraunces,Georgia,serif;color:var(--gold);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font:500 24px/1 "Plus Jakarta Sans",sans-serif;color:var(--gold2)}
.faq[open] summary::after{content:"\2212"}
.faq p{margin:0;padding:0 24px 22px;color:var(--soft);font-size:15px}
.faq summary:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:20px}

.crumbs{margin:0 0 18px;font-size:13.5px}.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;color:var(--soft)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}.crumbs a{color:var(--gold);text-decoration:none;font-weight:500}.crumbs a:hover{text-decoration:underline}
.promise{margin:14px 0 0;padding:10px 16px;border-radius:14px;background:rgba(85,166,200,.14);color:var(--ink);font-size:14.5px;max-width:54ch}
.mapbox{overflow:hidden;margin-top:20px;height:340px}.mapbox iframe{width:100%;height:100%;border:0;display:block}
.team{text-align:center}.avatar{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font:600 28px Fraunces,Georgia,serif;color:var(--gold)}
footer p{margin:0 0 4px}footer a{color:var(--gold);font-weight:500}
.sticky-cta{display:none}
@media(max-width:760px){body{padding-bottom:84px}.sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px;z-index:15}.sticky-cta .btn{flex:1;text-align:center;padding:14px 10px}.mapbox{height:260px}}

/* Mobile menu: solid dropdown, positioned under the nav pill */
@media(max-width:760px){
.links{position:absolute;flex-direction:column;left:0;right:0;top:calc(100% + 10px);gap:4px;padding:10px;border-radius:22px;background:#fff;border:1px solid var(--gb);box-shadow:0 18px 40px rgba(18,59,93,.22);z-index:30}
.links li{margin:0}
.links a{padding:14px 18px;font-size:16px;line-height:1.2;border-radius:14px;color:var(--ink)}
.links a:active{background:rgba(85,166,200,.14)}
.links a[aria-current=page]{background:rgba(85,166,200,.16);box-shadow:none;color:var(--gold);font-weight:600}
.burger{display:grid;place-items:center;padding:0;line-height:1;flex:0 0 auto}
}

/* Footer: make address and privacy link clearly visible */
footer{padding:28px 0 36px;font-size:14.5px}
footer p{margin:0 0 8px}
footer a{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 4px}
@media(max-width:760px){footer{padding-bottom:110px}body{padding-bottom:0}}

@media(min-width:761px) and (max-width:960px){.links{gap:2px}.links a{padding:8px 10px;font-size:13.5px}.brand span{font-size:17px}}
@media(min-width:761px) and (max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}.hero{padding:40px 32px;gap:24px}}
@media(max-width:380px){.wrap{padding:0 16px}.hero{padding:26px 18px}.card{padding:20px}.plate{padding:20px}}

/* SEO/accessibility additions */
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 16px;border-radius:12px;background:#123B5D;color:#fff;text-decoration:none}.skip:focus{top:12px}
a.flag{display:block;text-decoration:none;color:var(--gold)}a.flag:hover{box-shadow:inset 4px 4px 9px var(--sd),inset -4px -4px 9px var(--sl)}
a.card{display:block;text-decoration:none;color:inherit}
.person a:not(.btn),.card a:not(.btn){color:var(--gold);font-weight:500}
.card a.btn-gold,.person a.btn-gold{color:#fff}
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:0 0 10px}.fnav a{padding:6px 4px;font-weight:500;text-decoration:none}.fnav a:hover{text-decoration:underline}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enq-status{margin:0 0 14px;font-size:14.5px;color:var(--soft)}.enq-status.err{color:#9b1c1c}.enq-status.ok{color:#14532d}.enq-status a{color:var(--gold);font-weight:600}.btn[disabled]{opacity:.6;cursor:wait}

/* Brand name with tagline beneath */
.bname{display:flex;flex-direction:column;line-height:1.1}
.bname small{margin-top:4px;font:600 10.5px/1 "Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#B7791F}
@media(max-width:420px){.brand{gap:8px;font-size:17px}.bname small{font-size:9px;letter-spacing:.12em}}
