.hero-facts { font-size:15px;letter-spacing:.02em;color:#fff;margin:22px 0 0;font-weight:600; }
.hero-facts span { padding:0 8px;opacity:.65; }
.hero-content { padding-bottom:185px; }
#house { padding-top:86px; }
.house-head { margin-bottom:34px; }
.photo-mosaic { display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:10px;position:relative;overflow:hidden;border-radius:12px;scroll-margin-top:145px; }
.photo-mosaic>a { display:block;min-height:0;overflow:hidden;background:#cdd3c5; }
.photo-mosaic>a:first-child { grid-row:1 / 3; }
.photo-mosaic img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
.photo-mosaic>a:hover img { transform:scale(1.025); }
.gallery-open { position:absolute;right:18px;bottom:18px;background:var(--paper);color:var(--forest);border:1px solid #ffffff88;padding:12px 19px;min-height:48px;box-shadow:0 3px 20px #0002; }
.photo-collection { border:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin:22px 0 55px; }
.photo-collection>summary { width:max-content;max-width:100%;cursor:pointer;font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:5px; }
.photo-group { padding-top:36px;scroll-margin-top:145px; }
.photo-group h3 { font-size:28px;margin-bottom:22px; }
.photo-tour-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.photo-tour-grid figure { margin:0; }
.photo-tour-grid a { display:block;position:relative; }
.photo-tour-grid img { width:100%;height:auto;display:block; }
.photo-tour-grid figcaption { font-size:14px;padding:10px 0; }
.photo-enlarge { position:absolute;right:12px;bottom:12px;padding:5px 12px;border-radius:50%;background:#fffdf5e8; }
.photo-viewer { padding:24px;border:0;border-radius:12px;background:#f5f0e7;color:#262a23;width:min(1200px,96vw);max-width:96vw;max-height:95dvh; }
.photo-viewer::backdrop { background:#172117ed; }
.photo-viewer-controls { display:flex;align-items:center;gap:18px; }
.viewer-brand { font-family:Georgia,serif;font-size:22px; }
.photo-viewer-controls button { min-width:46px;min-height:46px;padding:10px 16px;border:1px solid #acb29f;background:#fffdf7;color:inherit;border-radius:5px;font:inherit;cursor:pointer; }
[data-photo-close] { margin-left:auto; }
.viewer-categories { display:flex;flex-wrap:wrap;gap:7px;margin:18px 0; }
.viewer-categories button { font:inherit;font-size:13px;min-height:42px;border:1px solid #c0c5b5;background:transparent;padding:8px 13px;border-radius:25px;color:inherit;cursor:pointer; }
.viewer-categories button[aria-pressed="true"] { background:#30422e;color:#fff;border-color:#30422e; }
.viewer-figure { margin:0; }
.viewer-figure img { width:100%;height:min(59dvh,650px);display:block;object-fit:contain;background:#182318; }
.viewer-figure figcaption { min-height:30px;margin:12px 0;font-size:15px;line-height:1.5; }
.viewer-pagination { justify-content:center; }
.viewer-pagination span { min-width:75px;text-align:center;font-size:14px; }
body:has(.photo-viewer[open]) { overflow:hidden; }
body:has(.photo-viewer[open]) .mobile-cta,.mobile-cta[hidden] { display:none!important; }
.photo-mosaic a:focus-visible,.photo-viewer button:focus-visible,.photo-collection summary:focus-visible { outline:3px solid #a66c36;outline-offset:4px; }
.gallery-grid,.sleep-layout { min-width:0; }
.gallery-grid figure,.gallery-grid figure:nth-child(1) { min-height:0; }
.gallery-grid img { width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;display:block; }
.gallery-grid figure:nth-child(1) { grid-column:auto; }
.gallery-grid figure:last-child { grid-column:1 / -1; }
.booking-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:34px; }
#enquire,#photos { scroll-margin-top:0; }
#enquire:focus { outline:none; }
.booking-head { margin-bottom:32px; }
.booking-side .quote-panel { padding:28px;border:0;background:transparent; }
.booking-side .quote-panel>p:first-of-type { display:none; }
.booking-side .quote-panel>p { font-size:15px; }
.garden-copy .eyebrow { color:#fff; }
.site-header.scrolled { background:var(--paper); }
@media(max-width:820px) {
  .booking-grid { grid-template-columns:minmax(0,1fr); }
  .booking-side .quote-panel { padding:0; }
  .world-divider { display:none; }
  .photo-mosaic { grid-template-rows:180px 180px; }
}
@media(max-width:560px) {
  .hero-content { padding:135px 0 55px; }
  .hero-facts { font-size:12px;margin-top:20px;white-space:nowrap; }
  .hero-facts span { padding:0 4px; }
  .hero-actions { margin-top:24px; }
  .hero-note { margin-bottom:0; }
  .hero { min-height:0; }
  .booking-rail-wrap { margin-top:0;padding-bottom:24px; }
  .booking-rail { grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;border-radius:12px; }
  .rail-field { padding:12px 8px;border-top:0;grid-column:auto; }
  .rail-field:nth-child(3) { grid-column:auto; }
  .rail-button { grid-column:auto;align-self:center;margin:0;min-height:60px;padding:12px;font-size:12px; }
  #house { padding-top:55px; }
  .house-head h2 { font-size:2.7rem; }
  .house-head { margin-bottom:26px; }
  .photo-mosaic { grid-template-columns:1fr 1fr;grid-template-rows:215px 115px 115px;gap:6px;border-radius:8px; }
  .photo-mosaic>a:first-child { grid-column:1 / -1;grid-row:1; }
  .gallery-open { right:9px;bottom:9px;min-height:44px;font-size:12px;padding:10px 13px; }
  .photo-collection { margin-bottom:34px; }
  .photo-tour-grid { grid-template-columns:1fr; }
  .photo-viewer { padding:14px;max-width:98vw;width:98vw;max-height:96dvh; }
  .viewer-brand { font-size:18px; }
  .photo-viewer-controls button { font-size:13px;padding:8px 12px; }
  .viewer-categories { gap:6px;margin:14px 0; }
  .viewer-categories button { font-size:11px;padding:7px 10px;min-height:40px; }
  .viewer-figure img { height:40dvh; }
  .viewer-figure figcaption { font-size:13px; }
  .gallery-grid { grid-template-columns:1fr 1fr;gap:10px; }
  .gallery-grid figure:last-child { grid-column:1 / -1; }
  .stats { margin:34px 0; }
  .honest-note { margin-top:40px; }
  .enquiry-panel { padding:24px 20px; }
  #enquire h3 { font-size:2rem; }
  .booking-head h2 { font-size:2.8rem; }
}
@media(prefers-reduced-motion:reduce) { .photo-mosaic img { transition:none; } }

.price-first-link{font-size:14px;line-height:1.6;margin:0 0 23px}.price-first-link a{font-weight:650;text-underline-offset:4px}#price-check{scroll-margin-top:12px}.booking-side .quote-panel>p:first-of-type{display:block}.booking-side .quote-panel{padding:26px;background:var(--paper-2);border:1px solid var(--line)}.booking-side .calendar-panel{margin-top:22px}.quick-quote{grid-column:1 / -1}
