:root{--green:#064c3e;--deep:#03372f;--cream:#f7f3e9;--paper:#fffdf8;--gold:#c9a55c;--gold-dark:#9a7432;--ink:#1f2d29;--muted:#66736f;--line:rgba(6,76,62,.14);--shadow:0 22px 60px rgba(6,48,40,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.02em;line-height:1.08}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{color:var(--gold-dark);font-size:.76rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.button{display:inline-flex;min-width:190px;min-height:52px;padding:13px 24px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;text-align:center;font-size:.9rem;font-weight:800;letter-spacing:.04em;transition:.2s}.button:hover{transform:translateY(-2px)}.button-gold{color:var(--deep);background:var(--gold)}.button-outline{color:white;border-color:rgba(255,255,255,.75);background:rgba(3,55,47,.3)}
.topbar{position:fixed;inset:0 0 auto;z-index:50;color:white;background:rgba(3,55,47,.96);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:grid;grid-template-columns:34px auto;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:34px;height:45px;display:grid;place-items:center;color:var(--gold);font-size:27px;border:1px solid rgba(201,165,92,.75);border-radius:50% 50% 44% 44%}.brand-name{display:block;font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.18em;line-height:1}.brand-sub{display:block;margin-top:7px;font-size:.59rem;letter-spacing:.37em;opacity:.84}.menu{display:flex;align-items:center;gap:25px;font-size:.92rem}.menu a{opacity:.86}.menu .cta{padding:11px 18px;color:#f6dda9;border:1px solid var(--gold);border-radius:999px}.menu-button{display:none;color:white;font-size:1.6rem}
.hero{min-height:680px;position:relative;display:grid;align-items:end;color:white;isolation:isolate;background-position:center;background-size:cover}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,35,30,.12),rgba(2,35,30,.24) 42%,rgba(2,35,30,.92))}.hero-content{padding:165px 0 70px}.hero .eyebrow{color:#f0d28c}.hero h1{max-width:900px;margin:13px 0 20px;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.94}.hero-copy{max-width:690px;color:rgba(255,255,255,.9);font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.intro,.places,.cta-section{padding:105px 0}.intro-narrow{max-width:850px}.intro h2,.places-head h2{color:var(--green);font-size:clamp(2.7rem,5vw,5rem);margin:12px 0 28px}.intro p{color:#495853;font-size:1.02rem}.highlight{margin-top:30px;padding:26px 30px;border-left:4px solid var(--gold);color:var(--green);background:var(--cream);font-family:Georgia,serif;font-size:1.35rem}.split{padding:100px 0;background:var(--cream)}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-image{min-height:540px;height:100%;object-fit:cover;box-shadow:var(--shadow)}.split-copy h2{color:var(--green);font-size:clamp(2.6rem,4.5vw,4.5rem);margin:12px 0 28px}.fish-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.fish{padding:18px 20px;background:white;border:1px solid var(--line)}.fish strong{display:block;color:var(--green);font-family:Georgia,serif;font-size:1.25rem}.fish span{color:var(--muted);font-size:.9rem}
.rules{padding:105px 0;color:white;background:var(--green)}.rules h2{font-size:clamp(2.7rem,5vw,4.8rem);margin:12px 0 40px}.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rule{display:flex;gap:16px;align-items:flex-start;padding:22px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035)}.rule-number{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-weight:800}.rule p{margin:3px 0 0;color:rgba(255,255,255,.86)}
.places-head{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;gap:70px;margin-bottom:42px}.places-head p{color:var(--muted);font-size:1.03rem}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.place-card{position:relative;min-height:365px;overflow:hidden;color:white;background:var(--deep);box-shadow:0 16px 38px rgba(3,55,47,.1)}.place-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .45s}.place-card:hover img{transform:scale(1.035)}.place-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(2,35,30,.94))}.place-card h3{position:absolute;z-index:1;inset:auto 25px 23px;margin:0;font-size:1.8rem}.place-card.featured{grid-column:span 2}.place-card.featured h3{font-size:2.2rem}
.cta-section{background:var(--cream)}.cta-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px;padding:65px;color:white;background:var(--deep);box-shadow:var(--shadow)}.cta-card:before{content:"";position:absolute;width:360px;height:360px;right:-100px;top:-160px;border:1px solid rgba(201,165,92,.4);border-radius:50%}.cta-card h2{max-width:720px;font-size:clamp(2.5rem,4.5vw,4.4rem);margin:10px 0 18px}.cta-card p{max-width:690px;color:rgba(255,255,255,.8);margin:0}.cta-actions{display:grid;gap:10px;position:relative}.cta-actions .button-outline{min-width:220px}footer{padding:52px 0 35px;color:rgba(255,255,255,.76);background:#022b25}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-title{color:white;font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.1em;margin-bottom:15px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 20px}.copyright{margin-top:38px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.mobile-contact{display:none}
.cards-section{padding:105px 0;background:var(--paper)}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;gap:65px;margin-bottom:42px}.section-head h2{color:var(--green);font-size:clamp(2.8rem,5vw,5.2rem);margin:12px 0 0}.section-head p{color:var(--muted);font-size:1.03rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{overflow:hidden;display:flex;flex-direction:column;background:white;border:1px solid var(--line);box-shadow:0 15px 38px rgba(3,55,47,.07)}.info-card img{height:260px;object-fit:cover}.info-copy{flex:1;display:flex;flex-direction:column;padding:30px}.info-copy h3{color:var(--green);font-size:1.9rem;margin-bottom:14px}.info-copy p{color:var(--muted);font-size:.94rem}.text-link{align-self:flex-start;margin-top:auto;color:var(--gold-dark);font-weight:800;border-bottom:1px solid currentColor}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-card{overflow:hidden;background:white;border:1px solid var(--line);box-shadow:0 15px 38px rgba(3,55,47,.07)}.event-card img{height:330px;object-fit:cover}.event-copy{padding:28px}.event-date{color:var(--gold-dark);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.event-copy h3{color:var(--green);font-size:1.8rem;margin:8px 0 12px}.event-copy p{color:var(--muted);font-size:.92rem}.event-location{padding-top:15px;border-top:1px solid var(--line);font-size:.84rem;font-weight:700}
.form-section{padding:105px 0;background:var(--cream)}.form-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}.form-intro h2{color:var(--green);font-size:clamp(2.7rem,5vw,4.7rem);margin:12px 0 24px}.form-intro p{color:var(--muted)}.contact-list{margin-top:30px;border-top:1px solid var(--line)}.contact-row{padding:20px 0;border-bottom:1px solid var(--line)}.contact-row small{display:block;color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.contact-row strong{color:var(--green);font-family:Georgia,serif;font-size:1.45rem}.enquiry-form{padding:42px;background:white;box-shadow:var(--shadow)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid #cfd8d4;background:#fff;font:inherit;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}.form-note{margin:15px 0 0;color:var(--muted);font-size:.82rem}
.steps{padding:105px 0}.step{display:grid;grid-template-columns:110px 1fr;gap:40px;padding:52px 0;border-top:1px solid var(--line)}.step-number{color:var(--gold);font-family:Georgia,serif;font-size:5.5rem;line-height:.8}.step h2{color:var(--green);font-size:clamp(2.2rem,4vw,3.7rem);margin-bottom:20px}.step p{max-width:820px;color:var(--muted)}.step-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.benefit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:35px}.benefit-item{padding:22px 24px;border:1px solid var(--line);background:white;color:var(--green);font-weight:700}.benefit-item:before{content:"✓";margin-right:12px;color:var(--gold-dark)}
.faq-section{padding:105px 0}.faq-wrap{max-width:930px;margin:auto}.faq-wrap>h2{color:var(--green);font-size:clamp(2.8rem,5vw,5rem);margin:12px 0 38px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:24px 50px 24px 0;cursor:pointer;list-style:none;color:var(--green);font-family:Georgia,serif;font-size:1.45rem;position:relative}.faq summary:after{content:"+";position:absolute;right:8px;color:var(--gold-dark)}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 50px 24px 0;color:var(--muted)}
.venue-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:38px}.venue-stat{padding:28px 20px;background:rgba(255,255,255,.035)}.venue-stat strong{display:block;color:var(--gold);font-family:Georgia,serif;font-size:2rem}.venue-stat span{font-size:.85rem}.dark-section{padding:105px 0;color:white;background:var(--green)}.dark-section h2{font-size:clamp(2.7rem,5vw,4.8rem);margin:12px 0 25px}.dark-section p{max-width:820px;color:rgba(255,255,255,.82)}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.news-card{overflow:hidden;background:white;border:1px solid var(--line)}.news-card img{height:310px;object-fit:cover}.news-copy{padding:31px}.news-meta{color:var(--gold-dark);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.news-card h3{color:var(--green);font-size:2rem;margin:9px 0 14px}.news-card p{color:var(--muted)}
.compact-hero{min-height:440px;position:relative;display:grid;align-items:end;overflow:hidden;color:white;isolation:isolate;background:var(--deep)}.compact-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--hero-image,none) center/cover no-repeat}.compact-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,35,30,.96),rgba(2,35,30,.72) 62%,rgba(2,35,30,.44))}.compact-hero .hero-content{padding:150px 0 62px}.compact-hero h1{max-width:900px;margin:12px 0 15px;font-size:clamp(3.2rem,6vw,5.8rem)}
.vacancy-section{padding:105px 0;background:var(--cream)}.vacancy-card{display:grid;grid-template-columns:.72fr 1.28fr;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.vacancy-side{padding:46px;color:white;background:var(--green)}.vacancy-side h2{font-size:2.8rem;margin:10px 0 18px}.vacancy-meta{display:grid;gap:13px;margin-top:30px}.vacancy-meta span{padding-top:13px;border-top:1px solid rgba(255,255,255,.18);font-weight:700}.vacancy-copy{padding:50px}.vacancy-copy h3{color:var(--green);font-size:2rem;margin:30px 0 16px}.tick-list{display:grid;gap:12px;padding:0;list-style:none}.tick-list li{position:relative;padding:15px 18px 15px 48px;background:var(--cream)}.tick-list li:before{content:"✓";position:absolute;left:19px;color:var(--gold-dark);font-weight:900}
.booking-section{padding:105px 0;background:var(--cream)}.booking-panel{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:white;box-shadow:var(--shadow)}.booking-image{min-height:560px;object-fit:cover}.booking-copy{display:flex;flex-direction:column;justify-content:center;padding:58px}.booking-copy h2{color:var(--green);font-size:clamp(2.8rem,5vw,4.8rem);margin:12px 0 22px}.notice{margin:23px 0;padding:18px 20px;border-left:4px solid var(--gold);color:var(--green);background:var(--cream);font-weight:800}.booking-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:26px 0;background:var(--line)}.booking-detail{padding:18px;background:white}.booking-detail small{display:block;color:var(--gold-dark);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.booking-detail strong{display:block;margin-top:4px;color:var(--green)}
.legal-shell{padding:86px 0 110px}.legal-layout{display:grid;grid-template-columns:260px minmax(0,760px);justify-content:center;gap:70px;align-items:start}.legal-nav{position:sticky;top:116px;padding:25px;background:var(--cream);border-top:3px solid var(--gold)}.legal-nav strong{display:block;margin-bottom:12px;color:var(--green);font-family:Georgia,serif;font-size:1.35rem}.legal-nav a{display:block;padding:9px 0;color:var(--muted);border-bottom:1px solid var(--line);font-size:.9rem}.legal-copy h2{scroll-margin-top:120px;color:var(--green);font-size:2rem;margin:42px 0 14px}.legal-copy h2:first-child{margin-top:0}.legal-copy h3{color:var(--green);font-size:1.35rem;margin:30px 0 10px}.legal-copy p,.legal-copy li{color:#4e5b57}.legal-copy ul{padding-left:22px}.policy-table-wrap{overflow-x:auto;margin:20px 0 30px;border:1px solid var(--line)}.policy-table{width:100%;min-width:620px;border-collapse:collapse;background:white}.policy-table th,.policy-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.policy-table th{color:white;background:var(--green);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.policy-table td:first-child{color:var(--green);font-weight:800}.contact-box{margin:32px 0;padding:28px;background:var(--cream);border-left:4px solid var(--gold)}.contact-box strong{color:var(--green)}
.utility-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.utility-item{padding:25px;background:white}.utility-item small{display:block;color:var(--gold-dark);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.utility-item strong{display:block;margin-top:4px;color:var(--green);font-family:Georgia,serif;font-size:1.28rem}
.button-green{color:white;background:var(--green)}
.family-banner{padding:28px 0;color:white;background:var(--green)}.family-banner .shell{display:flex;align-items:center;justify-content:space-between;gap:28px}.family-banner h2{margin:0;font-size:2rem}.family-banner p{margin:4px 0 0;color:rgba(255,255,255,.8)}
.testimonial-section{padding:105px 0;background:var(--cream)}.testimonial-intro{max-width:820px;margin-bottom:42px}.testimonial-intro h2{color:var(--green);font-size:clamp(2.8rem,5vw,5rem);margin:12px 0 22px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{padding:36px;background:white;border-top:4px solid var(--gold);box-shadow:0 14px 38px rgba(3,55,47,.07)}.value-card h3{color:var(--green);font-size:1.8rem;margin-bottom:14px}.value-card p{margin:0;color:var(--muted)}.review-status{margin-top:38px;padding:28px 32px;color:white;background:var(--green)}.review-status strong{display:block;font-family:Georgia,serif;font-size:1.5rem}.review-status p{margin:7px 0 0;color:rgba(255,255,255,.82)}
.detail-article{padding:130px 0 110px}.detail-wrap{width:min(860px,calc(100% - 48px));margin:auto}.detail-image{width:100%;max-height:540px;object-fit:cover;margin:28px 0 42px;box-shadow:var(--shadow)}.detail-meta{color:var(--gold-dark);font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.detail-title{color:var(--green);font-size:clamp(2.8rem,6vw,5.3rem);margin:12px 0 22px}.detail-lead{color:#465650;font-family:Georgia,serif;font-size:1.35rem}.detail-body{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.detail-body p{color:var(--muted);font-size:1.03rem}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:30px 0;background:var(--line);border:1px solid var(--line)}.detail-fact{padding:22px;background:white}.detail-fact small{display:block;color:var(--gold-dark);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-fact strong{display:block;margin-top:5px;color:var(--green)}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.detail-loading{min-height:60vh;display:grid;place-items:center;padding:140px 24px;color:var(--green);font-family:Georgia,serif;font-size:2rem}.news-card .text-link,.event-card .text-link{display:inline-block;margin-top:10px}
@media(max-width:980px){.menu{display:none}.menu-button{display:block}.split-grid,.form-grid,.vacancy-card,.booking-panel{grid-template-columns:1fr}.split-image{height:480px;min-height:0}.booking-image{height:440px;min-height:0}.place-grid,.card-grid,.event-grid{grid-template-columns:1fr 1fr}.place-card.featured{grid-column:auto}.places-head,.section-head{grid-template-columns:1fr;gap:24px}.venue-stats{grid-template-columns:1fr 1fr}.legal-layout{grid-template-columns:1fr;gap:36px}.legal-nav{position:static}.value-grid{grid-template-columns:1fr 1fr}.value-card:last-child{grid-column:1/-1}}
@media(max-width:680px){.shell{width:min(100% - 30px,1180px)}.nav{min-height:72px}.brand-name{font-size:1.05rem}.brand-sub{font-size:.47rem}.hero{min-height:610px}.compact-hero{min-height:410px}.compact-hero .hero-content{padding:130px 0 46px}.hero-content{padding:135px 0 48px}.hero h1{font-size:3.4rem}.compact-hero h1{font-size:3.1rem}.hero-actions{display:grid}.button{width:100%;min-width:0}.intro,.split,.rules,.places,.cards-section,.form-section,.steps,.faq-section,.dark-section,.cta-section,.vacancy-section,.booking-section,.legal-shell,.testimonial-section,.detail-article{padding:72px 0}.split-grid,.form-grid{gap:38px}.split-image,.booking-image{height:330px}.booking-copy,.vacancy-copy,.vacancy-side{padding:32px 24px}.booking-details,.utility-strip,.detail-facts{grid-template-columns:1fr}.fish-grid,.rule-grid,.place-grid,.card-grid,.event-grid,.news-grid,.benefit-list,.value-grid{grid-template-columns:1fr}.value-card:last-child{grid-column:auto}.family-banner .shell{align-items:stretch;flex-direction:column}.family-banner .button{width:100%}.place-card{min-height:330px}.event-card img,.info-card img,.news-card img{height:245px}.enquiry-form{padding:28px 22px}.field-grid{grid-template-columns:1fr}.step{grid-template-columns:1fr;gap:18px}.step-number{font-size:4rem}.venue-stats{grid-template-columns:1fr}.cta-card{grid-template-columns:1fr;padding:42px 28px}.footer-grid{grid-template-columns:1fr}.detail-wrap{width:min(100% - 30px,860px)}.mobile-contact{position:fixed;z-index:60;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:white;box-shadow:0 -8px 30px rgba(3,55,47,.18)}.mobile-contact a{min-height:58px;display:grid;place-items:center;font-size:.82rem;font-weight:900}.mobile-contact a:first-child{color:white;background:var(--green)}.mobile-contact a:last-child{color:var(--deep);background:var(--gold)}footer{padding-bottom:100px}}
