/* global React */ // The Gamekeeper's Cottage — Home (conversion landing) const { useState, useEffect } = React; const NS_HOME = window.GamekeepersCottageDesignSystem_070bc7; const { Button, Badge, Rating, Eyebrow, Card, Amenity } = NS_HOME; const Photo = window.GKPhoto; const useShell = window.GKuseShell; const useReviews = window.GKuseReviews; const reviewMonth = window.GKreviewMonth; const reviewStats = window.GKreviewStats; const IMG = window.GK_IMG; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "hero": "panel", "accent": "#2f5d3a", "cta": "Check rates & reserve", "showOffer": true }/*EDITMODE-END*/; const ACCENTS = { "#2f5d3a": "#356a43", "#3f6b32": "#4a7d3b", "#4a6b57": "#577e66" }; function applyAccent(hex) { const hover = ACCENTS[hex] || hex; const root = document.documentElement.style; root.setProperty('--color-primary', hex); root.setProperty('--color-primary-hover', hover); } function TrustStrip() { const stats = reviewStats(useReviews()); const items = [ ['star', stats.count > 0 ? stats.averageText + ' from ' + stats.count + ' guest reviews' : 'Loved by our guests'], ['trees', 'Set in a 100-acre wood'], ['bed-double', 'Sleeps 5 · 3 bedrooms'], ['heart-handshake', 'Owner-run, book direct'], ]; return (
{items.map(([ic, label]) => ( {label} ))}
); } function BookingBar({ cta, overlap = true }) { const { openBooking } = useShell(); const [bar, setBar] = useState({ arrive: '2026-07-18', depart: '2026-07-25', guests: '4' }); const set = (k) => (e) => setBar((b) => ({ ...b, [k]: e.target.value })); // Moving arrival drags an earlier/empty departure with it. const onArrive = (e) => { const v = e.target.value; setBar((b) => { const next = { ...b, arrive: v }; if (v && (!b.depart || b.depart < v)) next.depart = v; return next; }); }; return (
); } function Hero({ t }) { const { openBooking } = useShell(); const eyebrow = 'Self-catering · near Southwold, Suffolk'; const title = "Escape to The Gamekeeper's Cottage"; const lead = 'A cosy cottage hidden in a hundred-acre Suffolk wood — for slow weekends, woodland walks, birdsong and proper countryside quiet.'; if (t.hero === 'split') { return (
{eyebrow}

{title}

{lead}

); } const aligned = t.hero === 'panel'; return (
{eyebrow}

{title}

{lead}

); } function Story() { return (
The Cottage

A beautiful spot for a gorgeous stay

The original Gamekeeper's Cottage sits in the middle of a hundred-acre wood, in a wonderfully secluded position — with four acres of private woodland attached for you to roam. It's your own birdwatching venue: deer, pheasants, owls, nuthatches and woodpeckers all visit the feeders.

Inside it's warm and homely — a well-equipped kitchen, a cosy sitting room with a log burner and a separate dining room. It was Nick's family home as a teenager, and we keep it more like a home to share with you than a faceless rental.

Sleeps 53 bedroomsLog burner4 acres of private wood
); } function WhyStay() { const items = [ ['trees', 'Four acres of private wood', 'Yours to roam — no footpaths, no neighbours, just woodland'], ['bird', 'Birdwatching from the door', 'Feeders by the windows; deer, owls and woodpeckers visit'], ['flame', 'Log burner & cosy interiors', 'A proper countryside sitting room for slow evenings'], ['moon', 'Dark, star-filled skies', 'No light pollution — the Milky Way on clear nights'], ['car-front', 'Easy to reach, free parking', 'Near Southwold, Minsmere, Beccles & Aldeburgh'], ['heart-handshake', 'Book direct with Nick', 'No agency fees — better rates and a personal welcome'], ]; return (
Why guests return

A genuine escape, not a marketplace listing

{items.map(([ic, label, detail]) => (

{label}

{detail}

))}
); } function GalleryTeaser() { const { openLightbox } = useShell(); const shots = [ { src: IMG.exterior1, label: 'The cottage' }, { src: IMG.kitchen, label: 'Kitchen' }, { src: IMG.garden2, label: 'Garden' }, { src: IMG.dining, label: 'Dining room' }, { src: IMG.pond, label: 'The pond' }, { src: IMG.woodDen, label: 'Wood den' }, ]; return (
Gallery

Spacious gardens, set in private woodland

openLightbox(shots, 0)} />
{shots.slice(1, 5).map((s, i) => openLightbox(shots, i + 1)} />)}
); } function Reviews() { const quotes = [ ['One of the loveliest places we have ever stayed — cosy and characterful, with a stunning garden and an abundance of woodland wildlife. We had the whole place to ourselves, apart from the many birds at the feeders.', 'JP', 'A winter woodland paradise · Jan 2026'], ["Such a beautiful, secluded location. A week of sunny weather made it ideal for sitting out and listening to nature, a BBQ and the occasional glass of wine. We all loved it — just how life should be.", 'Mark Rawlinson', 'Idyllic · Sep 2025'], ['We saw deer, buzzard and woodpeckers in the wood, with plenty of birds on the feeders. Just stopping to listen to the sounds of nature was wonderful. I couldn’t recommend it more.', 'William Ripper', 'Perfect for Easter · Apr 2025'], ]; const live = useReviews(); const liveQuotes = (live || []).map((r) => [r.body, r.name, (r.title ? r.title + ' · ' : '') + reviewMonth(r.date), r.rating || 5]); const shown = (liveQuotes.length ? liveQuotes : quotes.map(([q, who, when]) => [q, who, when, 5])).slice(0, 3); const stats = reviewStats(live); return (
Guest reviews

What our guests say

{stats.count > 0 && }
{shown.map(([q, who, when, rating], i) => (

“{q}”

{who} · {when}
))}
); } function ExploreTeaser() { const cards = [ [IMG.stroll, 'Walks & birdwatching', 'Minsmere, Dunwich Heath and miles of quiet trails from the door.'], [IMG.aerial, 'Southwold & the coast', 'The pier, the lighthouse, fish & chips and Adnams, 20 minutes away.'], [IMG.pond, 'Proper Suffolk pubs', 'The White Hart, The Eels Foot and more — our local favourites.'], ]; return (
Southwold seafront — a 15 minute drive from the cottage
Explore Suffolk

Wonderful things on your doorstep

{cards.map(([src, title, desc]) => (

{title}

{desc}

))}
); } function OfferBanner() { const { openBooking } = useShell(); return (
Special offer

Second week half price, off-season

Book two consecutive weeks outside the peak season and the second week is half price. Perfect for a proper, unhurried woodland retreat.

); } function FinalCTA() { const { openBooking } = useShell(); return (
Your woodland stay awaits

Come and have the wood to yourselves

Breaks of three nights or more from £130 per night. Check the dates you'd like and we'll confirm the price and hold them for you.

); } function HomeContent() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); useEffect(() => { applyAccent(t.accent); }, [t.accent]); return ( {t.showOffer && } setTweak('hero', v)} /> setTweak('cta', v)} /> setTweak('accent', v)} /> setTweak('showOffer', v)} /> ); } window.GKmount('/', HomeContent);