:root{--green:#064c3e;--deep:#03372f;--soft:#e7efe9;--cream:#f7f3e9;--paper:#fffdf8;--gold:#c9a55c;--gold-dark:#96712f;--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)}.button-green{color:white;background:var(--green)}
.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 a:hover{opacity:1}.menu .cta{padding:11px 18px;color:#f6dda9;border:1px solid var(--gold);border-radius:999px}.menu-button{display:none;color:white;background:none;border:0;font-size:1.6rem}
.hero{min-height:720px;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,.08),rgba(2,35,30,.22) 42%,rgba(2,35,30,.92))}.hero-content{padding:150px 0 60px;text-align:center}.park-logo{width:min(440px,82vw);margin:0 auto 30px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22))}.hero h1{max-width:940px;margin:12px auto 20px;font-size:clamp(3rem,6vw,6.1rem)}.hero-copy{max-width:720px;margin:0 auto;color:rgba(255,255,255,.9);font-size:1.08rem}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.intro,.features,.gallery,.directions,.contact,.inventory,.golf-content{padding:105px 0}.intro-grid,.directions-grid,.golf-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center}.intro h1,.section-title,.directions h2,.golf-copy h2{color:var(--green);font-size:clamp(2.6rem,5vw,4.9rem);margin:12px 0 30px}.copy p,.section-copy,.directions-copy>p,.golf-copy p{color:#495853}.closing{margin-top:27px;color:var(--green);font-family:Georgia,serif;font-size:1.35rem;line-height:1.45}.photo-stack{position:relative;min-height:560px}.photo-stack .main-photo{height:490px;object-fit:cover;box-shadow:var(--shadow)}.photo-stack .small-photo{position:absolute;right:-25px;bottom:0;width:53%;height:230px;object-fit:cover;border:10px solid var(--paper);box-shadow:var(--shadow)}
.gallery{padding-top:10px}.gallery-head,.section-head{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;gap:70px;margin-bottom:40px}.gallery-head h2,.section-head h2{color:var(--green);font-size:clamp(2.5rem,4.5vw,4.4rem);margin:8px 0 0}.gallery-head p,.section-head p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{margin:0;overflow:hidden;background:#e8e6df}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.gallery-grid figure:hover img{transform:scale(1.025)}
.amenities{padding:95px 0;color:white;background:var(--green)}.amenities h2{font-size:clamp(2.3rem,4vw,3.9rem);margin:8px 0 45px}.amenity-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.amenity{min-height:132px;padding:22px 10px;display:grid;align-content:center;justify-items:center;text-align:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035)}.amenity-icon{width:31px;height:31px;margin-bottom:13px;border:1px solid var(--gold);transform:rotate(45deg);border-radius:5px}.amenity span{font-size:.84rem;font-weight:700;line-height:1.25}
.features{background:var(--cream)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{overflow:hidden;display:flex;flex-direction:column;background:white;border:1px solid var(--line);box-shadow:0 15px 40px rgba(6,48,40,.07)}.feature img{height:260px;object-fit:cover}.feature-copy{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:34px}.feature h3{color:var(--green);font-size:2rem;margin-bottom:16px}.feature p{color:var(--muted);font-size:.95rem}.text-link{margin-top:auto;color:var(--gold-dark);font-weight:800;border-bottom:1px solid currentColor}
.directions{background:white}.directions-grid{grid-template-columns:.82fr 1.18fr;gap:48px}.directions h2{line-height:1.02}.address-panel{margin:28px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.address-panel strong{display:block;color:var(--deep);font-size:1.12rem;margin-bottom:6px}.postcode{display:inline-block;margin-top:10px;color:var(--gold-dark);font-weight:800;letter-spacing:.08em}.directions-actions{display:flex;flex-wrap:wrap;gap:12px}.directions .button-outline{color:var(--green);border-color:var(--green);background:transparent}.map-frame{min-height:510px;overflow:hidden;background:var(--soft);box-shadow:var(--shadow)}.map-frame iframe{width:100%;height:100%;min-height:510px;border:0}
.contact{background:var(--cream)}.contact-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;padding:65px;color:white;background:var(--deep);box-shadow:var(--shadow)}.contact-card:before{content:"";position:absolute;width:360px;height:360px;right:-100px;top:-160px;border:1px solid rgba(201,165,92,.4);border-radius:50%}.contact h2{font-size:clamp(2.3rem,4vw,4rem);max-width:700px;margin:10px 0 25px}.contact-details{color:rgba(255,255,255,.82)}.contact-actions{display:grid;gap:10px;position:relative}
.inventory{background:var(--paper)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}.filter-pill{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--green);font-weight:800}.filter-pill.active{color:white;background:var(--green)}.lodge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lodge-card{overflow:hidden;display:flex;flex-direction:column;background:white;border:1px solid var(--line);box-shadow:0 15px 38px rgba(3,55,47,.08)}.lodge-card img{height:250px;object-fit:cover}.lodge-copy{display:flex;flex:1;flex-direction:column;padding:28px}.status{align-self:flex-start;margin-bottom:14px;padding:5px 10px;color:var(--deep);background:#efe2bd;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.status.soon{color:white;background:var(--green)}.status.sold{color:#59625e;background:#e4e6e5}.lodge-card h2{color:var(--green);font-size:1.9rem;margin-bottom:8px}.price{color:var(--gold-dark);font-size:1.22rem;font-weight:900}.specs{display:flex;gap:16px;margin:14px 0;color:var(--muted);font-size:.88rem;font-weight:700}.lodge-card ul{padding-left:19px;color:var(--muted);font-size:.9rem}.lodge-card .text-link{margin-top:auto;align-self:flex-start}.notice{margin-top:34px;color:var(--muted);font-size:.85rem}
.golf-hero{background-image:url('../golf/assets/course-1.jpg')}.golf-content.alt{background:var(--cream)}.golf-grid.reverse{grid-template-columns:.95fr 1.05fr}.golf-image{height:540px;object-fit:cover;box-shadow:var(--shadow)}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.fact{padding:24px;color:white;background:var(--green)}.fact strong{display:block;color:var(--gold);font-family:Georgia,serif;font-size:1.55rem}.golf-list{padding-left:20px;color:#495853}.safeguarding{margin-top:28px;padding:24px;border-left:4px solid var(--gold);background:white}.safeguarding strong{display:block;color:var(--green)}
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}
@media(max-width:980px){.menu{display:none}.menu-button{display:block}.intro-grid,.directions-grid,.golf-grid,.golf-grid.reverse{grid-template-columns:1fr}.photo-stack{min-height:470px}.photo-stack .main-photo{height:430px}.amenity-grid{grid-template-columns:repeat(4,1fr)}.feature-grid,.lodge-grid{grid-template-columns:1fr 1fr}.feature:last-child{grid-column:1/span 2}.gallery-head,.section-head{grid-template-columns:1fr;gap:20px}.map-frame,.map-frame iframe{min-height:420px}}
@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}.hero-content{padding:130px 0 48px}.hero h1{font-size:3.25rem}.park-logo{width:300px}.hero-actions{display:grid}.button{width:100%;min-width:0}.intro,.features,.gallery,.directions,.contact,.inventory,.golf-content{padding:72px 0}.intro h1,.section-title,.directions h2,.golf-copy h2{font-size:2.55rem}.photo-stack{min-height:400px}.photo-stack .main-photo{height:350px}.photo-stack .small-photo{right:-5px;width:58%;height:175px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.amenities{padding:72px 0}.amenity-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.lodge-grid{grid-template-columns:1fr}.feature:last-child{grid-column:auto}.feature img,.lodge-card img{height:245px}.directions-actions{display:grid}.map-frame,.map-frame iframe{min-height:330px}.contact-card{grid-template-columns:1fr;padding:40px 28px}.golf-image{height:350px}.fact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.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}}
