
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#173b38;--teal:#145e56;--lime:#d9edb7;--cream:#f7f6f0;--muted:#5d6c68;--line:#dce5de}
*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 44px));margin:auto}.site-header{background:white;position:sticky;top:0;z-index:50;box-shadow:0 2px 20px #123d3410}.nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand>b{display:grid;place-items:center;background:var(--teal);color:white;font:600 30px Georgia;width:46px;height:46px;border-radius:13px}.brand span{display:grid;line-height:1.1}.brand strong{font-size:19px}.brand small{font-size:12px;color:var(--muted);letter-spacing:.06em}.nav nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.nav nav a:hover{color:#258675}.nav-button,.btn,.button{display:inline-block;border:0;border-radius:100px;background:var(--teal);color:white!important;padding:13px 23px;font-weight:700;cursor:pointer}.nav-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:610px;position:relative;background:#174d43;color:white;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#0c3833ed 0%,#0c3833bc 45%,#0c383330 100%),url('images/hero.jpg') center/cover}.hero-content{position:relative;padding:85px 0}.hero-copy{max-width:680px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:800;text-transform:uppercase;color:#9fcda5}.hero h1,.page-hero h1{font-size:clamp(45px,6vw,83px);line-height:1.08;letter-spacing:-.045em;margin:18px 0;font-weight:700}.hero h1 em,.page-hero h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:600;color:var(--lime)}.hero p{font-size:19px;max-width:550px}.hero .btn{background:var(--lime);color:var(--ink)!important;margin:15px 12px 0 0}.section{padding:82px 0}.section h2{font-size:clamp(30px,4vw,50px);line-height:1.2;letter-spacing:-.035em}.section p{color:var(--muted)}.page-hero{background:var(--ink);color:white;padding:74px 0}.page-hero h1{font-size:clamp(43px,5vw,68px)}.page-hero p{color:#d9e6df}.cards,.card-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border-radius:20px;overflow:hidden;background:var(--cream);padding:24px}.card img{border-radius:14px;width:100%;height:220px;object-fit:cover}.card h3{font-size:22px;margin-bottom:8px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.split img{border-radius:24px}.footer{display:grid;grid-template-columns:2fr 1.4fr 1.4fr;gap:40px;padding:65px 0}.site-header~main{min-height:55vh}footer{background:#103a35;color:white}footer p{color:#d2e4dd}footer h4{margin-bottom:10px}.foot-bottom{text-align:center;border-top:1px solid #ffffff22;padding:18px;color:#c5d9d2;font-size:13px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:32px;align-items:start}.booking-panel{background:white;border:1px solid var(--line);box-shadow:0 20px 55px #123d3410;border-radius:24px;padding:38px}.booking-aside{background:var(--cream);border-radius:24px;padding:28px;position:sticky;top:110px}.form-section{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.form-section h2{font-size:23px;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800}.field input,.field select,.field textarea{font:inherit;width:100%;border:1px solid #cbd9d2;border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #b5ddc6;border-color:var(--teal)}.hint{font-size:12px;color:var(--muted)}.required{color:#aa3c30}.validation{color:#a42828;font-size:13px}.alert{padding:16px;border-radius:12px;margin:16px 0}.alert-success{background:#e7f5e8;color:#175b33}.alert-error{background:#fff0ed;color:#9b3026}.checkbox-row{display:flex;gap:12px;align-items:flex-start}.checkbox-row input{margin-top:6px}.booking-submit{width:100%;padding:17px}.pill{display:inline-block;background:#e4f2df;border-radius:30px;padding:6px 12px;font-size:12px;font-weight:800;color:var(--teal)}.note{background:#eaf2ec;padding:16px;border-radius:14px;font-size:14px}.section-soft{background:var(--cream)}
@media(max-width:1050px){.nav nav{gap:12px;font-size:12px}}@media(max-width:800px){.nav-toggle{display:block}.nav nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 20px 25px #0002}.menu-open .nav nav{display:flex}.booking-layout,.split,.footer{grid-template-columns:1fr}.cards,.card-grid,.feature-grid{grid-template-columns:1fr 1fr}.booking-aside{position:static}}@media(max-width:540px){.cards,.card-grid,.feature-grid,.form-grid{grid-template-columns:1fr}.booking-panel{padding:22px}.section{padding:50px 0}.hero{min-height:530px}.nav{min-height:76px}}

.two{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.two h2{margin-top:10px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-45px;position:relative;z-index:2}.quick .card{box-shadow:0 10px 35px #0001}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:70px 0}.feature-img img,.wide-img{width:100%;border-radius:20px;object-fit:cover}.feature-img img{height:400px}.feature-copy h2{font-size:44px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery a{display:block;background:var(--cream);border-radius:16px;overflow:hidden}.gallery img{height:220px;width:100%;object-fit:cover}.gallery b{display:block;padding:15px}.cta{padding:65px 0;background:var(--teal);color:white}.cta h2{font-size:42px}.cta p{color:#e0e9e3}.button.gold{background:var(--lime);color:var(--ink)!important}.button.outline{border:1px solid white;background:transparent;color:white!important}.button.dark{background:var(--ink)}.events{display:grid;grid-template-columns:1fr 1fr;gap:20px}.event-card{padding:30px;background:var(--cream);border-radius:18px}.kicker{font-size:13px;letter-spacing:.15em;font-weight:800;color:var(--teal)}.lead{font-size:20px}.center{text-align:center}.terms{max-width:850px}.address{font-style:normal}.text-link{font-weight:800;color:var(--teal)}@media(max-width:800px){.two,.feature,.events{grid-template-columns:1fr}.quick,.cards.four{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}}@media(max-width:540px){.quick,.cards.four,.gallery{grid-template-columns:1fr}.feature{padding:35px 0}.feature-copy h2{font-size:34px}}

/* Bonfire Night event promotion */
.bonfire-feature{background:#10182c;color:#fff;padding:65px 0}
.bonfire-layout{display:grid;grid-template-columns:1fr minmax(250px,390px);gap:54px;align-items:center}
.bonfire-copy h2{font-size:clamp(38px,5vw,66px);line-height:1.1;margin:14px 0}
.bonfire-copy h2 em{font-family:Georgia,serif;color:#f9c36d}
.bonfire-copy p{color:#e4e8f3;font-size:17px}
.bonfire-copy .bonfire-date{font-size:22px;font-weight:700;color:#f8cb86}
.bonfire-times{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0}
.bonfire-times span{border-left:2px solid #f9c36d;padding-left:12px;font-size:13px}
.bonfire-times strong{display:block;font-size:20px;color:#fff}
.bonfire-poster{display:block;border-radius:16px;overflow:hidden;box-shadow:0 20px 55px #0006}
.bonfire-poster img{width:100%;height:auto;display:block}
.bonfire-poster:hover{transform:translateY(-3px);transition:transform .2s}
@media(max-width:800px){.bonfire-layout{grid-template-columns:1fr}.bonfire-poster{max-width:440px}}
