:root{--ink:#173c2e;--paper:#faf7ec;--lime:#edee78;--line:#c8cbb9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "DM Sans",Arial,sans-serif}.wrap{width:min(1190px,92%);margin:auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a97300;outline-offset:2px}header{border-bottom:1px solid var(--line)}.nav,nav,.brand,footer .wrap{display:flex;align-items:center;justify-content:space-between}.nav{min-height:76px}.brand{font-weight:850;font-size:23px;letter-spacing:-1.2px;gap:10px}.mark{display:inline-grid;place-content:center;background:var(--ink);color:var(--lime);border-radius:5px;width:28px;height:32px;line-height:10px;font-size:10px;transform:rotate(-9deg)}nav{gap:28px;font-weight:650;font-size:14px}.pill,.button{border-radius:100px;background:var(--ink);color:white;padding:10px 19px}.hero{padding-top:50px}.intro{display:grid;grid-template-columns:1.35fr .85fr;gap:0 8%;align-items:end;margin-bottom:26px}.eyebrow,small{font-weight:750}.eyebrow,.rates small{font-size:11px;letter-spacing:2px}.intro .eyebrow{grid-column:1/-1}.intro h1{grid-row:2/4}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,"DM Serif Text",serif;font-weight:500;letter-spacing:-.06em;line-height:.99}h1{font-size:clamp(54px,6.9vw,102px);max-width:650px}h1 span{color:#85923a}.intro p{max-width:410px;margin:10px 0 14px}.button{border:0;font:inherit;font-weight:700;display:inline-flex;align-items:center;gap:20px;justify-content:center;cursor:pointer;width:fit-content;padding:12px 21px}.button:hover,.pill:hover{background:#305541}figure{overflow:hidden;border-radius:18px 18px 0 0}figure img{width:100%;display:block;aspect-ratio:3/1;object-fit:cover}.rates{border-radius:0 0 18px 18px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr 1.5fr;padding:20px}.rates div{display:grid;justify-content:center;text-align:center}.rates div+div{border-left:1px solid #617465}.rates strong{font-size:clamp(18px,2.2vw,32px);letter-spacing:-1px}.rates small{color:var(--lime)}.section,.extras{padding-block:70px}h2{font-size:clamp(38px,4.4vw,64px);margin:10px 0 30px}.games,.extra-grid,.fields,.checks,.booking{display:grid;gap:20px}.games{grid-template-columns:repeat(3,1fr)}article img{width:100%;object-fit:cover;border-radius:12px;display:block}.games img{height:clamp(160px,18vw,240px)}.games .tower{object-position:center 40%}h3{font-size:21px;letter-spacing:-.7px;margin:11px 0 1px}.extras{background:#e8ebd6}.extra-grid{grid-template-columns:repeat(4,1fr)}.extra-grid img{aspect-ratio:1.7}.extra-grid article div{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.extra-grid strong{white-space:nowrap}.booking{grid-template-columns:.85fr 1.15fr;gap:8%}.booking p{margin-bottom:16px;max-width:400px}form{background:white;border:1px solid var(--line);padding:clamp(18px,3vw,36px);border-radius:18px}.fields,.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label,legend{font-weight:650;font-size:14px}input,select,textarea{display:block;width:100%;min-width:0;margin-top:5px;padding:11px;border:1px solid #aeb9b0;border-radius:7px;font:inherit;font-size:16px;background:white;color:var(--ink)}fieldset{border:0;padding:0;margin:22px 0}legend{margin-bottom:8px}em{font-weight:400}.checks label{display:flex;align-items:center;gap:8px;font-weight:450}.checks input{width:18px;height:18px;accent-color:var(--ink);margin:0}.estimate{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.estimate strong{font-size:24px}form .button{margin-top:15px;width:100%}#fallback{margin-top:16px}footer{background:var(--ink);color:white;padding:22px 0}footer strong{font-size:20px}footer span{font-size:14px}@media(max-width:720px){.nav{min-height:64px}nav>a:not(.pill){display:none}.hero{padding-top:28px}.intro{display:block}.intro h1{margin:6px 0 12px}.intro p{margin-bottom:16px}.intro{margin-bottom:20px}figure img{aspect-ratio:2/1;object-fit:cover}.rates{padding:14px 4px;grid-template-columns:.85fr 1fr 1.4fr}.rates small{font-size:9px;letter-spacing:1px}.rates strong{font-size:18px}.section,.extras{padding-block:40px}.games{gap:16px}.games img{height:145px}.games h3,.extra-grid h3{font-size:17px}.games p{font-size:14px}.extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking{display:block}.booking form{margin-top:22px}.brand{font-size:20px}.pill{padding:9px 14px}}@media(max-width:480px){figure img{object-fit:cover;aspect-ratio:2.45}.games{display:grid;grid-template-columns:1fr}.games article{display:grid;grid-template-columns:120px 1fr;column-gap:14px;align-content:center}.games img{grid-row:span 2;height:104px}.games h3{align-self:end}.games p{align-self:start}.fields,.checks{gap:12px}.checks{grid-template-columns:1fr}.checks label{min-height:30px}footer .wrap{align-items:flex-start;flex-direction:column;gap:4px}}

/* Keep native date and select controls within their grid tracks on iOS. */
.fields > label {display:flex;flex-direction:column;min-width:0;gap:6px}
.fields input,.fields select {width:100%;max-width:100%;min-width:0;height:48px;margin:0;font-weight:400}
.fields input[type=date] {-webkit-appearance:none;appearance:none;text-align:left}
.fields input::-webkit-date-and-time-value {margin:0;text-align:left}
.games img.tower {object-fit:contain;object-position:center;background:#e8e6d9;padding:4px}
#copy {margin-top:10px;border:1px solid var(--ink);color:var(--ink);border-radius:8px;background:white;padding:10px 15px;font-weight:650;cursor:pointer}
#copyStatus {display:block}
@media(max-width:600px){.fields{grid-template-columns:minmax(0,1fr);gap:16px}.checks label{min-height:44px}.games img.tower{height:145px}}


/* The same photo frame across both sections, with incomplete rows centered. */
.games,.extra-grid {display:flex;flex-wrap:wrap;justify-content:center;gap:24px 20px}
.games article,.extra-grid article {display:block;min-width:0;flex:0 0 calc((100% - 60px)/4)}
.games img,.extra-grid img {display:block;width:100%;height:auto;aspect-ratio:276/172;object-fit:cover}
.extra-grid img.original-square {object-fit:contain;background:#d8ddc5}
.extra-grid article div {gap:10px}
.extra-grid h3 {line-height:1.25}
@media(max-width:900px){.games article,.extra-grid article{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:600px){.games article,.extra-grid article{flex-basis:100%}.games,.extra-grid{gap:24px}}

.fields > label[hidden] {display:none}

.booking .deposit-note {font-size:13px;color:#435849}
.extra-grid article > p {margin:0.25rem 0 0;line-height:1.45;}
.brand img{display:block;width:clamp(130px,36vw,200px);height:auto}
