:root{color:#10231d;background:#f5f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,.button,input,select{font:inherit}button,.button{color:#17392e;cursor:pointer;background:#e8ddc7;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.8rem 1.1rem;font-weight:800;text-decoration:none;display:inline-flex}button:hover,.button:hover{transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.primary{color:#fff;background:#1f6b4c;box-shadow:0 10px 24px #12352724}.big{padding:1rem 1.35rem;font-size:1.1rem}.full{justify-content:center;width:100%}.top{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8e8;border-bottom:1px solid #e8ddc7;justify-content:space-between;align-items:center;padding:.8rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.brand{background:0 0;font-size:1.1rem}.top nav{flex-wrap:wrap;gap:.4rem;display:flex}.top nav button{background:0 0;padding:.55rem .8rem}main section,main.narrow,main.book,main.admin{padding:clamp(2rem,6vw,5rem) clamp(1rem,5vw,4rem)}h1,h2,h3{margin:.2rem 0 1rem;line-height:1.05}h1{letter-spacing:-.06em;font-size:clamp(2.5rem,8vw,6rem)}h2{letter-spacing:-.045em;font-size:clamp(1.9rem,4vw,3.4rem)}h3{font-size:1.35rem}.lead{color:#51645b;font-size:1.2rem}.hero{color:#fff;background:#0e241d;grid-template-columns:1.15fr .85fr;align-items:stretch;min-height:82vh;display:grid}.heroImg{background:linear-gradient(140deg,#0e241d33,#e3a94018),url(/rufford-streetview.jpg) 50%/cover;min-height:360px}.heroText{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(2rem,7vw,6rem);display:flex}.hero p{color:#e7efe8;max-width:38rem;font-size:1.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#8fc7a2!important;font-size:.78rem!important}.micro{align-items:center;gap:.4rem;display:flex;font-size:.88rem!important}.strip{color:#fff;text-align:center;background:#17392e;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.2rem clamp(1rem,5vw,4rem);display:grid}.intro,.split,.bookingGrid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(1.4rem,4vw,4rem);display:grid}.priceGrid,.features,.gallery,.stats,.qrgrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.card,.panel,.feature,.stat,.success{background:#fffdf8;border:1px solid #e8ddc7;border-radius:28px;padding:1.35rem;box-shadow:0 18px 45px #41341d10}.card strong{color:#1f6b4c;font-size:2.4rem}.feature{flex-direction:column;justify-content:space-between;min-height:120px;display:flex}.feature svg,.success svg{color:#1f6b4c;width:2rem;height:2rem}.wide{background:#fffdf8}.steps{flex-wrap:wrap;gap:.8rem;margin:1.5rem 0;display:flex}.steps span{background:#f0eadb;border-radius:999px;padding:.8rem 1rem;font-weight:800}.photo{color:#fff;background:linear-gradient(#0000,#0008),url(https://images.unsplash.com/photo-1519331379826-f10be5486c6f?auto=format&fit=crop&w=900&q=75) 50%/cover;border-radius:28px;align-items:end;min-height:210px;padding:1rem;font-weight:900;display:flex}.map{background:repeating-linear-gradient(45deg,#e8ddc7,#e8ddc7 10px,#f8f3e8 10px 20px);border-radius:28px;place-items:center;height:260px;display:grid}.book h1,.admin h1{font-size:clamp(2.4rem,7vw,4.8rem)}.largeInput,input,select{color:#10231d;background:#fff;border:1px solid #d8cbb1;border-radius:18px;width:100%;margin:.35rem 0 1rem;padding:1rem}.sessionBtns{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1.5rem;display:grid}.sessionBtns button{border-radius:22px;flex-direction:column;display:flex}.sessionBtns .active,.tabs .active{color:#fff;background:#1f6b4c}.pegs{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.pegs button{background:#e7f4e8;border-radius:20px;flex-direction:column;align-items:flex-start;display:flex}.pegs button span{font-size:.78rem}.pegs .selected{background:#fff5cf;outline:4px solid #e3a940}.pegs .disabled{color:#777;background:#eee;text-decoration:line-through}.sticky{position:sticky;top:88px}.summary{color:#fff;background:#17392e;border-radius:22px;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;padding:1rem;display:grid}.summary b{grid-column:1/-1}.check input{width:auto;margin-top:.35rem}.error,.notice{background:#fff0d8;border:1px solid #e3a940;border-radius:18px;padding:1rem}.narrow{max-width:850px;margin:auto}.success{text-align:center}.details p{font-size:1.05rem}.stats{margin:1rem 0}.stat{flex-direction:column;display:flex}.stat span{letter-spacing:.08em;color:#6c796f;font-size:.72rem;font-weight:900}.stat b{color:#1f6b4c;font-size:2rem}.tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0 2rem;display:flex}.table{gap:.55rem;display:grid}.row{background:#fffdf8;border:1px solid #e8ddc7;border-radius:18px;grid-template-columns:.75fr 1.2fr .8fr 1fr .7fr .8fr 1fr;align-items:center;gap:.8rem;padding:1rem;display:grid}.row.on{background:#dff4df;border-color:#1f6b4c}.calendar{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.6rem;display:grid}.calendar button{border-radius:18px;flex-direction:column;display:flex}.qrgrid img{width:100%;max-width:190px;image-rendering:crisp-edges}.pageHero{color:#fff;background:linear-gradient(120deg,#10231dee,#10231d66),url(https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=1800&q=80) 50%/cover;flex-direction:column;justify-content:center;min-height:45vh;display:flex}footer{color:#fff;background:#10231d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem clamp(1rem,5vw,4rem);display:flex}footer button{color:#fff;background:#ffffff18}@media (width<=800px){.hero,.intro,.split,.bookingGrid{grid-template-columns:1fr}.hero{min-height:auto}.heroImg{order:-1;min-height:42vh}.heroText{padding:2rem 1rem}.strip{grid-template-columns:repeat(2,1fr)}.top{align-items:flex-start}.top nav button{padding:.4rem;font-size:.9rem}.sessionBtns,.pegs{grid-template-columns:1fr}.sticky{position:static}.row{grid-template-columns:1fr 1fr}.row span:last-child{grid-column:1/-1}.top{position:relative}main section,main.narrow,main.book,main.admin{padding:2rem 1rem}button,.button,input,select{min-height:48px}.stats{grid-template-columns:1fr 1fr}.hero .primary{justify-content:center;width:100%}}.mapEmbed{background:#d8e7d8;padding:0;position:relative;overflow:hidden}.mapEmbed iframe{border:0;width:100%;height:100%;min-height:320px;display:block}.mapActions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.mapActions .button{background:#fffdf8;box-shadow:0 10px 24px #0002}.dark{color:#51645b!important}.reviewsBlock{color:#fff;background:#17392e}.reviewsBlock .lead{color:#dce8df}.reviewGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.reviewCard{background:#ffffff12;border:1px solid #fff2;border-radius:24px;padding:1.2rem}.reviewCard b{color:#f4d27b;font-size:1.05rem}.reviewCard p{color:#edf6ef;margin:.6rem 0 0}.reviewsBlock .dark{color:#dce8df!important}.book{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.book .lead{max-width:48rem}.panel{scroll-margin-top:1rem}.pegs button,.sessionBtns button{text-align:left;justify-content:center;min-height:76px}.pegs button span{letter-spacing:.04em;margin-top:.25rem;font-weight:900}.summary{position:relative}.summary span{font-weight:800}input,select{font-size:16px}.primary.big.full{bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:12;border:3px solid #fffdf8;position:sticky;box-shadow:0 16px 42px #10231d55}.check{background:#fff8e5;border-radius:18px;margin:.25rem 0 1rem;padding:.85rem}.check input{transform:scale(1.35)}@media (width<=800px){body{padding-bottom:74px}.top{padding:.65rem .8rem;position:sticky;top:0;box-shadow:0 8px 28px #10231d16}.brand{text-align:left;font-size:1rem;line-height:1.05}.brand svg{width:20px}.top nav{z-index:50;padding:.45rem .55rem calc(.45rem + env(safe-area-inset-bottom));background:#fffdf8;border-top:1px solid #e2d5bd;grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 28px #10231d20}.top nav button{color:#fff;background:#17392e;border-radius:16px;min-height:52px;font-size:.86rem}.hero{min-height:unset}.heroImg{min-height:34vh}.heroText h1{font-size:clamp(3rem,17vw,5.5rem)}.heroText p{font-size:1.05rem}.strip{z-index:1;grid-template-columns:repeat(2,1fr);font-size:.95rem;position:relative}.book h1{font-size:clamp(2.65rem,14vw,4.5rem)}.book .lead{font-size:1rem}.bookingGrid{gap:1rem}.panel{border-radius:22px;padding:1rem}.panel h2{margin-top:.45rem;font-size:clamp(1.8rem,9vw,2.6rem)}.sessionBtns button{text-align:center;align-items:center}.pegs{gap:.55rem}.pegs button{border-radius:18px;padding:1rem 1.1rem;font-size:1.05rem}.pegs .selected{outline:4px solid #d99613;box-shadow:0 0 0 7px #fff5cf}.summary{z-index:8;border:2px solid #8fc7a2;margin:-.15rem 0 1rem;position:sticky;top:0}.largeInput,input,select{border-radius:16px;padding:1rem;font-size:16px}.mapEmbed iframe{min-height:280px}.mapActions{justify-content:stretch}.mapActions .button{flex:1;justify-content:center}.reviewGrid,.priceGrid,.features,.gallery,.qrgrid{grid-template-columns:1fr}.photo{min-height:170px}.row{padding:.75rem;font-size:.92rem}.admin .stats{grid-template-columns:1fr 1fr}.tabs button{flex:1;justify-content:center}.success h1{font-size:2.5rem}footer{padding-bottom:6rem}}@media (width<=420px){.top{padding:.55rem}.brand{max-width:54vw}.top nav button{font-size:.78rem}.sessionBtns,.pegs{grid-template-columns:1fr}.stats{grid-template-columns:1fr!important}.heroText{padding:1.4rem 1rem}.book,.admin,main section,main.narrow{padding-left:.85rem;padding-right:.85rem}.panel{padding:.85rem}.primary.big.full{font-size:1rem}.summary{grid-template-columns:1fr}.summary span{font-size:.96rem}}.sessionTimes{color:#31483f;background:#fff8e5;border:1px solid #ead89d;border-radius:18px;padding:.8rem 1rem;font-weight:700}html{scroll-padding-top:96px}.book{padding-top:calc(clamp(2rem,6vw,5rem) + 1rem)}.panel{scroll-margin-top:110px;overflow:visible}.panel.sticky{top:96px}.panel h2{padding-top:.15rem}.sessionBtns button{flex-direction:column;align-items:flex-start}.sessionBtns small{color:inherit;opacity:.85;font-size:.84rem;font-weight:800}.pegs button{border:2px solid #0000}.pegs button:not(:disabled){background:#e5f4e9;border-color:#8fc7a2}.pegs button.disabled,.pegs button:disabled{color:#58645f;opacity:.72;filter:saturate(.75);background:#e8e0d3;border-color:#c9bdac}.pegs button.selected{color:#fff;outline:4px solid #f4d27b;box-shadow:0 0 0 7px #fff5cf;background:#1f6b4c!important}.summary{gap:.35rem;display:grid}.summary span{display:block}.primary.big.full:disabled{color:#eef4f0;box-shadow:none;background:#9aa59f;border-color:#dbe3dd;transform:none}.notice{color:#31483f;background:#fff8e5;border:1px solid #ead89d;border-radius:18px;padding:.85rem 1rem}main.book h1{scroll-margin-top:110px}@media (width<=800px){html{scroll-padding-top:82px}.book{padding-top:1.25rem}.panel.sticky{top:auto}.panel{scroll-margin-top:92px}.sessionTimes{font-size:.94rem}.summary{top:82px}.sessionBtns button{align-items:center}.panel h2{line-height:1.12}}.photoCard{background:#d9cdb5;border-radius:28px;min-height:210px;margin:0;position:relative;overflow:hidden;box-shadow:0 12px 28px #10231d16}.photoCard img{object-fit:cover;width:100%;height:230px;display:block}.photoCard figcaption{color:#fff;background:linear-gradient(#0000,#10231dcc);padding:.85rem 1rem;font-weight:900;position:absolute;bottom:0;left:0;right:0}.rulesList{gap:.85rem;margin:1.5rem 0;padding-left:1.6rem;display:grid}.rulesList li{background:#fffdf8;border:1px solid #e8ddc7;border-radius:18px;padding:.9rem 1rem;font-weight:750}.rulesPage .notice{margin-top:1.25rem}@media (width<=800px){.photoCard img{height:210px}.rulesList{padding-left:1.2rem}.rulesList li{padding:.85rem}}.miniRules{margin:1rem 0;padding-left:1.25rem}.miniRules li{margin:.35rem 0;font-weight:750}.gallery.photos{grid-template-columns:repeat(auto-fit,minmax(160px,220px));justify-content:start;gap:.85rem}.photoCard{border-radius:20px;min-height:145px;box-shadow:0 8px 18px #10231d12}.photoCard img{filter:saturate(.9)contrast(.96);height:145px;transform:none}.photoCard figcaption{padding:.65rem .75rem;font-size:.85rem}.heroImg{background:linear-gradient(140deg,#0e241d33,#e3a94018),url(/rufford-streetview.jpg) 50%/cover}@media (width<=800px){.gallery.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.photoCard{min-height:130px}.photoCard img{height:130px}.photoCard figcaption{font-size:.8rem}}.adminLabel{color:#17392e;letter-spacing:.01em;margin:.2rem 0 .35rem;font-weight:900;display:block}.admin label{margin:.7rem 0;display:block}input,select,textarea{width:100%;max-width:100%}.split{gap:1.25rem}.workGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.workHero{color:#fff;background:linear-gradient(135deg,#0e241d,#1f6b4c)}.workHero .lead{color:#e7efe8;max-width:48rem}.table{overflow:visible}.row{word-break:break-word}.row span,.row b,.row strong{min-width:0}.tabs{align-items:center}.tabs button{text-transform:capitalize}.admin .panel input,.admin .panel select{margin-bottom:.65rem}.qrgrid .card p{word-break:break-word;font-size:.92rem}.sessionTimes{line-height:1.55}.check{align-items:flex-start;gap:.75rem;display:flex}.check input{flex:none;width:auto;margin-top:.2rem}@media (width<=800px){main section,main.narrow,main.book,main.admin{padding-top:1.6rem;padding-bottom:1.6rem}.hero{grid-template-columns:1fr}.heroText{padding:1.6rem 1rem 2rem}.heroText h1,h1{letter-spacing:-.045em}.heroText h1{font-size:clamp(2.7rem,14vw,4.4rem)}.bookingGrid,.split{grid-template-columns:1fr!important}.sessionTimes b{margin-top:.45rem;display:block}.sessionBtns button small{font-size:.95rem}.summary{position:relative!important;top:auto!important}.adminHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.adminHead h1{margin:0;font-size:clamp(2.3rem,13vw,3.6rem)}.stats{gap:.65rem}.stat{border-radius:20px;padding:1rem}.stat b{font-size:1.55rem}.tabs{flex-wrap:nowrap;margin-bottom:1rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.tabs button{flex:none;min-height:46px;padding:.7rem 1rem}.row{border-radius:20px;gap:.35rem;padding:1rem;font-size:1rem;display:grid;grid-template-columns:1fr!important}.row b{color:#17392e;font-size:1.05rem}.row span,.row strong{display:block}.table{gap:.75rem}.admin label{font-size:1rem}.adminLabel{font-size:.95rem}.settingsPanel label{margin-bottom:.8rem}.gallery.photos{grid-template-columns:1fr 1fr!important}.photoCard{border-radius:18px}.pageHero{min-height:auto}.rulesList li{font-size:1rem;line-height:1.45}footer{text-align:center;grid-template-columns:1fr;gap:.7rem;display:grid}footer button{justify-content:center}}@media (width<=420px){.top nav{grid-template-columns:repeat(4,1fr)}.top nav button{padding:.45rem .25rem;font-size:.74rem}.brand{max-width:48vw}.lead{font-size:1.02rem}.gallery.photos{grid-template-columns:1fr!important}.photoCard img{height:155px}.card,.panel,.feature,.stat,.success{border-radius:20px;padding:1rem}.sessionBtns button,.pegs button{min-height:68px}.pegs button{text-align:center;align-items:center}.primary.big.full{white-space:normal;line-height:1.2}.rulesList{padding-left:0;list-style-position:inside}.rulesList li{padding:1rem}.qrgrid .card{text-align:center}}
