/* Dedicated phone composition. Desktop retains its existing layout. */
.mobile-actions{display:none}
.menu-viewer [data-menu-zoom]{display:none}
@media(max-width:767px){
 .menu-viewer [data-menu-zoom]{display:block}
 :root{--gutter:22px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom));font-size:17px}
 html{scroll-padding-top:20px}
 .utility__inner{min-height:28px}.utility span{font-size:9px;letter-spacing:.13em}.utility a{font-size:10px}
 .navigation{min-height:80px;gap:12px}.navigation .brand{gap:9px}.navigation .brand__fox{width:53px;height:49px}.navigation .brand__name{font-size:21px;letter-spacing:.12em}.navigation .brand__village{font-size:8px;gap:9px}.navigation .brand__village::before,.navigation .brand__village::after{width:27px}
 .navigation .mobile-book{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:48px;height:48px;border:1px solid #bac5b5;border-radius:50%;padding:7px}.menu-toggle .icon{width:21px;height:21px}.menu-toggle span{display:block;font:9px var(--ui);letter-spacing:.02em}
 .mobile-navigation{background:var(--green-dark);padding:18px 24px 26px;color:var(--cream)}.mobile-navigation a{font:27px/1.3 var(--font);padding:13px 0;border-bottom:1px solid #ffffff25}.mobile-navigation a:hover{color:#dce6d5}
 .mobile-actions{display:grid;grid-template-columns:1fr 1.4fr 1fr;position:fixed;z-index:20;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px;background:#f8f5eef5;border-top:1px solid #ccd4c5;backdrop-filter:blur(16px);box-shadow:0 -4px 24px #15382e10}
 .mobile-actions a,.mobile-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;font:600 12px var(--ui);border-radius:5px}.mobile-actions button{background:var(--green);color:var(--cream)}.mobile-actions .icon{width:17px;height:17px}
 body:has(dialog[open]) .mobile-actions{visibility:hidden}
 .hero{height:510px;max-height:none}.hero__image{object-position:42% 48%}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,#11291e35 36%,#11291eed 100%);pointer-events:none}
 .hero__inner{z-index:2;width:100%;padding:0 24px 28px;align-items:flex-end}.hero__panel{background:transparent;color:var(--cream);padding:0;width:100%;max-width:none}.hero__panel .eyebrow{color:#ecedde;font-size:10px;letter-spacing:.21em;margin-bottom:15px}.hero__panel h1{font-size:clamp(43px,11.5vw,68px);line-height:1.01;letter-spacing:-.045em;white-space:normal;text-shadow:0 2px 18px #0b201b35}.hero__actions{gap:10px;margin-top:24px;display:flex;flex-wrap:wrap}.hero__actions .button{min-height:47px;font-size:13px;padding:12px 17px;border-radius:3px;background:var(--cream);color:var(--green);border-color:var(--cream)}.hero__actions .button--outline{background:transparent;color:var(--cream);border-color:#f8f5ee80}
 .amenities{width:100%;padding:16px 22px 19px;gap:0;border-bottom:1px solid #cdd5c5;background:#e9eddf}.amenities>a,.amenities>button{min-height:57px;font-size:14px;gap:11px;padding:9px 0}.amenities>:nth-child(even){padding-left:15px}.amenities .icon{width:25px;height:25px}
 .food{padding-block:30px 38px;gap:24px}.food__photo{height:260px;border-radius:7px}.food h2{font-size:39px;line-height:1.06}.food__welcome{font-size:17px;line-height:1.65}.food__details{margin-top:22px;gap:16px}.food__details h3{font-size:20px;line-height:1.2}.food__details>div+div{padding-left:16px}.food__details p{font-size:14px;line-height:1.5}.food__details [data-menu]{font-size:13px;min-height:36px}.food .actions{gap:18px}.food .button{font-size:13px;border-radius:3px}.food__times{white-space:normal;font-size:11px;line-height:1.7}
 .motorhomes{display:flex;flex-direction:column}.motorhomes__photo{order:-1;height:210px}.motorhomes__copy{padding:29px 24px 33px}.motorhomes h2{font-size:39px;line-height:1.04;white-space:normal}.motorhomes h3{font-size:22px;line-height:1.3}.motorhomes__eyebrow{gap:11px}.motorhomes__eyebrow .icon{width:29px}.motorhomes .eyebrow{font-size:8px;letter-spacing:.13em}.facilities--grid{gap:22px 14px;font-size:13px}.motorhomes .button{width:100%;border-radius:3px}
 .accommodation{padding-block:32px 38px;gap:23px}.accommodation__photo{height:230px;border-radius:7px}.accommodation h2{font-size:38px;white-space:normal;line-height:1.08}.accommodation .lead{font-size:19px;line-height:1.4}.accommodation__copy>p:not(.eyebrow):not(.lead){font-size:16px;line-height:1.65}.accommodation .actions{display:grid;gap:10px}.accommodation .button{width:100%;border-radius:3px;min-height:46px}
 .guest-reviews{padding-block:30px 35px;gap:22px}.guest-reviews h2{font-size:37px}.guest-reviews__cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px}.guest-reviews__cards figure{flex:0 0 86%;scroll-snap-align:start;border-radius:4px;padding:23px}.guest-reviews blockquote{font-size:25px}.guest-reviews__rating{margin-bottom:15px}
 .visit{padding-block:32px}.visit__information h2{font-size:39px}.visit__fox{width:43%;opacity:.2}.visit-grid{gap:28px}.enquiry-form{border:1px solid #bac7b0;border-radius:6px;padding:24px}.enquiry-contact>p:not(.eyebrow){font-size:15px;line-height:1.65}.footer__inner{gap:24px;padding-block:32px}.footer nav{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:17px;font-size:12px}
 .breadcrumb{padding-block:16px;font-size:11px}.page-hero,.page-hero--stay,.page-hero--green{display:flex;flex-direction:column;min-height:0}.page-hero__photo{order:-1;height:230px;min-height:230px;border-radius:7px;overflow:hidden}.page-hero__copy,.page-hero--green .page-hero__copy{padding:26px 0 30px}.inner-page h1{font-size:44px;line-height:1.03}.page-lead{font-size:16px;line-height:1.65;margin-top:18px}.page-hero .actions{gap:16px;margin-top:22px;flex-wrap:wrap}.page-hero .button{min-height:46px;border-radius:3px}.photo-note{bottom:14px;padding:12px 16px;min-width:0}.photo-note strong{font-size:22px}.photo-note>span{font-size:8px}.page-hero--green{background:transparent}.page-hero--green .page-hero__copy{background:var(--green);padding:25px 22px;border-radius:0 0 7px 7px}.page-hero--green .page-hero__photo{border-radius:7px 7px 0 0}.page-contents{margin-top:24px;gap:16px;flex-wrap:wrap;font-size:12px}
 .inner-page h2{font-size:35px;line-height:1.1}.inner-page h3{font-size:24px}.editorial-section{padding-block:32px;gap:26px}.stay-highlights{gap:12px;padding-block:22px}.stay-highlights>div{font-size:13px;gap:10px}.stay-highlights .icon{width:23px;height:23px}.service-strip{flex-wrap:wrap;gap:12px;padding-block:20px;font-size:13px}.section-heading p,.prose{font-size:16px;line-height:1.65}
 .bedroom-gallery{padding:21px 13px;margin-bottom:35px;border-radius:7px}.bedroom-gallery>h2{font-size:30px}.bedroom-gallery__grid{gap:10px}.bedroom-gallery img{height:145px}.bedroom-gallery figcaption{padding:11px}.bedroom-gallery figcaption h3{font-size:18px}.bedroom-gallery__hint{font-size:12px}
 .photo-viewer{width:calc(100vw - 24px);max-width:none;max-height:90dvh;padding:16px;border-radius:7px}.photo-viewer img{width:100%;height:auto;max-height:65dvh;object-fit:contain;background:transparent}.photo-viewer__title{font-size:23px}.photo-viewer__nav{gap:8px}
 .menu-previews{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:13px;padding-bottom:12px;margin-bottom:32px}.menu-preview{flex:0 0 85%;scroll-snap-align:start;border-radius:5px}.menu-preview img{height:210px}.menu-preview>span{font-size:20px}.sunday-band__inner{padding-block:30px;gap:24px}.sunday-band h2{font-size:36px}.sunday-band .button{width:100%;margin-right:0;min-height:46px}.sunday-hours{padding:18px 0}.story-split{padding-block:32px;gap:24px}.story-photo img{height:230px;border-radius:7px}.visit-strip__inner{gap:20px;padding-block:29px}.visit-strip h2{font-size:31px}
 .menu-viewer{width:100vw;max-width:100vw;max-height:96dvh;margin:auto 0 0;border-radius:12px 12px 0 0}.menu-viewer header{padding:17px}.menu-viewer h2{font-size:22px}.menu-viewer nav{gap:6px}.menu-viewer nav button,.menu-viewer nav a{font-size:11px;padding:9px}.menu-viewer__sheet img{min-width:0;width:100%}.menu-viewer__sheet.is-zoomed img{min-width:850px}.menu-viewer__sheet{overscroll-behavior:contain}.detail-dialog{border-radius:9px;width:calc(100vw - 30px);padding:42px 24px 28px}.detail-dialog h2{font-size:35px}
}
@media(max-width:360px){.navigation .brand__name{font-size:18px}.navigation .brand__fox{width:44px}.hero__panel h1{font-size:41px}.hero__inner{padding-inline:20px}.food h2,.motorhomes h2{font-size:35px}.inner-page h1{font-size:39px}.bedroom-gallery figcaption h3{font-size:16px}.mobile-actions{padding-inline:10px}}

@media(max-width:767px){.guest-reviews{grid-template-columns:1fr;gap:22px;padding-block:26px;margin-block:10px 30px}.guest-reviews__intro{padding:0}.guest-reviews h2{font-size:36px;margin-bottom:18px}.guest-reviews__cards figure{padding:22px 18px;border-radius:0}.guest-reviews blockquote{font-size:24px}.guest-reviews__rating{margin-bottom:16px}}

@media(max-width:767px){
 .mobile-navigation:not([hidden]){display:grid;grid-template-columns:1fr;background:var(--green-dark);color:var(--cream);gap:0;padding:10px 24px 20px;border:0;box-shadow:0 12px 22px #15382e12}
 .mobile-navigation:not([hidden]) a{display:block;color:var(--cream);font:25px/1.3 var(--font);padding:13px 0;border-bottom:1px solid #f8f5ee30;min-height:48px}
 .mobile-navigation:not([hidden]) a:last-child{border-bottom:0}
 .mobile-navigation:not([hidden]) a:hover,.mobile-navigation:not([hidden]) a:focus-visible{color:#fff;background:#ffffff0a}
 .menu-toggle[aria-expanded="true"]{background:var(--green);color:var(--cream);border-color:var(--green)}
}

/* Restore the signature cream hero card on phones, after the fox reveal. */
@media(max-width:767px){
 .hero::after{display:none}
 .hero__inner{padding:0 16px 24px}
 .hero__panel{background:var(--cream);color:var(--ink);padding:25px 22px 24px;width:100%}
 .hero__panel .eyebrow{color:var(--green);font-size:10px;letter-spacing:.2em;margin-bottom:17px}
 .hero__panel h1{font-size:clamp(36px,10.7vw,64px);line-height:1.02;letter-spacing:-.052em;text-shadow:none}
 .hero__actions{margin-top:24px;gap:10px;flex-wrap:nowrap}
 .hero__actions .button{background:var(--green);color:var(--cream);border-color:var(--green);border-radius:0;font-size:12px;padding:11px 13px;min-height:45px}
 .hero__actions .button--outline{background:transparent;color:var(--ink);border-color:var(--green);font-family:var(--font);font-size:14px}
}
@media(max-width:360px){.hero__panel{padding:23px 18px}.hero__panel h1{font-size:35px}.hero__actions{gap:8px}.hero__actions .button{font-size:11px;padding-inline:10px}.hero__actions .button--outline{font-size:13px}}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
 .hero--fox-reveal .hero__inner{animation:mobile-hero-panel 9s both}
 @keyframes mobile-hero-panel{0%,89%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
}
