:root { color-scheme:light; --ink:#2c2420; --teal:#1d6b6b; --line:#dedbd1; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font:18px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#faf7f2 url('../images/floral-background-draft.jpeg') center top/cover fixed; }
body::before { content:""; position:fixed; inset:0; background:rgba(250,247,242,.93); z-index:-1; }
a { color:var(--teal); text-underline-offset:.22em; }
a:focus-visible { outline:3px solid #b5630c; outline-offset:5px; }
.preview-note { padding:9px 20px; text-align:center; background:#eee9df; color:#59564f; font-size:13px; }
.skip-link { position:absolute; left:12px; top:-80px; padding:12px; background:white; z-index:10; }
.skip-link:focus { top:12px; }
header { max-width:1160px; margin:auto; padding:25px 36px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:transparent; border-bottom:1px solid var(--line); }
.logo { display:block; width:255px; max-width:100%; height:auto; }
nav { display:flex; gap:30px; flex-wrap:wrap; }
nav a { padding:9px 0; text-decoration:none; font-size:17px; }
nav a[aria-current] { border-bottom:2px solid var(--teal); }
main { max-width:1160px; margin:auto; padding:0 36px; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:normal; line-height:1.13; margin:0; }
h1 { font-size:clamp(38px,4.8vw,62px); letter-spacing:-.025em; }
h1 span { color:var(--teal); }
h2 { font-size:32px; }
p { margin:0 0 20px; }
.intro { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; padding:65px 0 60px; }
.eyebrow { font-size:18px; font-weight:500; color:var(--teal); margin-bottom:20px; }
.lead { font-size:20px; margin:25px 0; }
.button { display:inline-block; padding:11px 23px; background:var(--teal); color:white; text-decoration:none; font-size:17px; border-radius:24px; }
figure { margin:0; }
figcaption { font-size:13px; color:#625d56; margin-top:10px; }
.story { display:grid; grid-template-columns:1fr 2fr; gap:65px; padding:45px 0 28px; border-top:1px solid var(--line); }
.story p:last-child { margin-bottom:0; }
.visit { display:grid; grid-template-columns:1fr 2fr; gap:65px; padding:36px 0 45px; }
.visit p { margin:0; }
.enquiries { display:grid; grid-template-columns:1fr 1fr; gap:50px; background:rgba(239,235,224,.88); padding:35px; border-radius:8px; margin:0 0 45px; scroll-margin-top:20px; }
.enquiries h2 { margin-bottom:17px; }
.enquiries p { margin:0; }
.email { font-size:clamp(16px,2vw,20px); font-weight:600; overflow-wrap:anywhere; }
.email-help { margin-top:15px!important; font-size:15px; }
footer { max-width:1160px; margin:auto; padding:25px 36px; border-top:1px solid var(--line); font-size:14px; }
@media(max-width:760px) { header { padding:20px; flex-direction:column; gap:10px; align-items:flex-start; } .logo { width:210px; } nav { gap:28px; } main { padding:0 22px; } .intro,.story,.visit,.enquiries { grid-template-columns:1fr; gap:25px; } .intro { padding:35px 0; } .story { padding-top:30px; } .visit { padding:30px 0; } .enquiries { padding:25px; } h2 { font-size:29px; } body { font-size:17px; background-attachment:scroll; } }

.group-photo { display:block; width:100%; height:auto; }
