/* Local design preview. No changes to content, owner controls or search metadata. */
.summer-site {
  --paper: #faf7f0;
  --surface: #fff;
  --ink: #15243d;
  --muted: #1d3042;
  --sea: #184d75;
  --sea-deep: #102347;
  --sea-soft: #eaf5fa;
  --sand: #b48e52;
  --sand-soft: #f2e6d3;
  --line: rgb(24 77 117 / 16%);
  --shadow: rgb(16 35 71 / 10%);
  background: #fff;
  color: var(--ink);
}
.summer-site .shell { width: min(calc(100% - 96px), 1375px); }
.summer-site .site-header { background: rgb(255 255 255 / 97%); border-bottom-color: transparent; }
.summer-site .header-inner { min-height: 110px; }
.summer-site .wordmark {
  /* Existing approved brand colours and sun mark remain unchanged. */
  --sea: #174f58; --sea-deep: #0f3d45; --sand: #d6b887;
}
.summer-site .site-header .brand-name { font-size: 2.65rem; }
.summer-site .header-nav { gap: 30px; font-size: 1.05rem; }
.summer-site .header-nav a { padding-block: 12px; }
.summer-site .hero.shell {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr);
  width: 100%; gap: 0; padding: 0; background: #fff;
}
.summer-site .summer-hero-scene,
.summer-site .hero-copy { grid-area: 1 / 1; }
.summer-hero-scene { height: clamp(640px, 51.26vw, 860px); overflow: hidden; }
.summer-hero-scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-custom-scene .summer-hero-scene { position: relative; }
.hero-custom-scene .summer-hero-scene::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 97%) 36%, rgb(255 255 255 / 90%) 44%, transparent 65%);
}
.summer-site .hero-no-scene .hero-copy { padding-block: 55px; }
.summer-site .hero-no-scene h1 { max-width: 950px; }
.summer-site .hero-no-scene .hero-lead { max-width: 720px; }
.summer-site .hero-no-scene .hero-actions,
.summer-site .hero-no-scene .facts { max-width: 650px; }
.summer-site .hero-copy {
  position: relative; z-index: 1; align-self: center;
  width: min(calc(100% - 96px), 1375px); max-width: none; margin: 0 auto; padding: 55px 0;
}
.summer-site .hero-copy .eyebrow { margin-bottom: 20px; font-size: .78rem; letter-spacing: .12em; }
.summer-site h1 {
  max-width: 45%; font-size: clamp(3.3rem, 6.65vw, 6.5rem);
  line-height: .99; letter-spacing: -.026em; color: #102347;
}
.summer-title-line { display: block; }
.summer-site .hero-lead {
  max-width: 41%; margin: 26px 0; font-size: 1.12rem; line-height: 1.6;
  color: #142d43; font-weight: 500;
}
.summer-site .hero-actions { gap: 12px; max-width: 44%; }
.summer-site .hero-actions .button { min-height: 54px; padding: 14px 22px; font-size: .95rem; }
.summer-site .button { background: #124978; border-color: #124978; }
.summer-site .button:hover { background: #103654; border-color: #103654; }
.summer-site .button-outline { background: rgb(255 255 255 / 84%); color: #153b5c; border-color: #758c9b; }
.summer-site .button-outline:hover { background: #edf6fa; color: #153b5c; border-color: #153b5c; }
.summer-site .facts { max-width: 42%; margin-top: 28px; padding-top: 21px; gap: 14px; border-color: rgb(20 45 67 / 28%); }
.summer-site .facts dt { font-size: .91rem; }
.summer-site .facts dd { line-height: 1.5; color: #142d43; font-weight: 500; }
.summer-site .section-heading > p,
.summer-site .section-lead,
.summer-site .room-meta,
.summer-site .room-note,
.summer-site .feature-list,
.summer-site .amenity-list,
.summer-site .nearby-list,
.summer-site .rules-grid p { color: var(--muted); font-weight: 500; }
.summer-site .section-pad { padding-block: 88px; }
.summer-site .room-grid { gap: 28px; }
.summer-site .room-card { background: #fff; box-shadow: 0 12px 32px rgb(16 35 71 / 5%); border-radius: 22px; }
.summer-site .rooms-section { background: #fff; }
.summer-site .season-note { background: #edf7fb; }
.summer-site .amenities-section { background: #faf7f0; }
.summer-site .amenities-layout { gap: 60px; align-items: center; }
.summer-site .property-gallery:not(.property-gallery-flex) { grid-template-rows: repeat(3, clamp(190px, 16vw, 240px)); }
.summer-house-photo { max-width: 440px; margin: 30px 0 0; overflow: hidden; border-radius: 20px; aspect-ratio: 3 / 2; }
.summer-house-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.summer-site .reputation-section { background: #fff; }
.summer-site .reputation-card { background: #eef7fb; border-color: var(--line); }
.summer-site .rules-section { background: #fff; }
.summer-site .rules-section .section-heading h2,
.summer-site .rules-grid h3 { color: var(--sea-deep); }
.summer-site .rules-grid p { color: var(--muted); }
.summer-site .rules-section .eyebrow,
.summer-site .rules-grid article > span { color: #766039; }
.summer-site .rules-grid { background: var(--line); border-color: var(--line); }
.summer-site .rules-grid article { background: #faf7f0; }
.summer-site .location-section { background: #f0f8fc; }
.summer-site .contact-section { background: #fff; }
.summer-site .contact-card { background: #174c73; color: #fff; }
.summer-site .contact-card h2,
.summer-site .contact-card .eyebrow,
.summer-site .contact-card p,
.summer-site .contact-card .phone-link { color: #fff; }
.summer-site .site-footer { background: #fff; }
@media (min-width: 841px) and (max-width: 1400px) {
  .summer-site .hero-lead { font-size: 1rem; }
  .summer-site .hero-actions .button { padding-inline: 15px; font-size: .87rem; }
}
@media (max-width: 1200px) {
  .summer-site .shell { width: min(calc(100% - 48px), 900px); }
  .summer-site .header-inner { min-height: 86px; }
  .summer-site .header-nav { gap: 18px; font-size: .82rem; }
  .summer-site .site-header .brand-name { font-size: 2.1rem; }
  .summer-site .hero-copy { width: calc(100% - 48px); padding-block: 38px; }
  .summer-site .amenities-layout { gap: 32px; }
  .summer-site .property-gallery:not(.property-gallery-flex) { grid-template-rows: repeat(3, 200px); }
}
@media (min-width: 841px) and (max-width: 1200px) {
  .summer-site .summer-hero-scene { height: max(480px, 51.26vw); }
  .summer-site .hero-copy { padding-block: 20px; }
  .summer-site .hero-copy .eyebrow { margin-bottom: 10px; font-size: .68rem; }
  .summer-site .hero-lead { margin-block: 14px; font-size: .94rem; line-height: 1.55; }
  .summer-site .hero-actions { flex-direction: row; }
  .summer-site .hero-actions .button { width: auto; min-height: 46px; padding: 11px 12px; font-size: .8rem; }
  .summer-site .facts { margin-top: 14px; padding-top: 12px; }
  .summer-site .facts dd { font-size: .71rem; }
}
@media (max-width: 840px) {
  .hero-custom-scene .summer-hero-scene::after { display: none; }
  .summer-site .hero.shell { display: flex; flex-direction: column; }
  .summer-site .hero-copy { order: 0; width: min(calc(100% - 48px), 900px); padding: 48px 0 30px; }
  .summer-site h1 { font-size: clamp(4rem, 9vw, 6.3rem); max-width: 800px; }
  .summer-site .hero-lead { max-width: 700px; }
  .summer-site .hero-actions { max-width: 700px; }
  .summer-site .facts { max-width: 600px; }
  .summer-site .summer-hero-scene { order: 1; height: auto; aspect-ratio: 1.85; }
  .summer-hero-scene img { object-position: right center; }
}
@media (max-width: 700px) {
  .summer-site .shell { width: calc(100% - 36px); }
  .summer-site .header-inner { min-height: 78px; gap: 16px; }
  .summer-site .site-header .brand-name { font-size: 1.9rem; }
  .summer-site .header-nav { gap: 17px; font-size: .78rem; }
  .summer-site .hero-copy { width: calc(100% - 36px); padding: 34px 0 12px; }
  .summer-site .hero-copy .eyebrow { font-size: .65rem; margin-bottom: 17px; letter-spacing: .09em; }
  .summer-site h1 { font-size: clamp(2.7rem, 13.5vw, 5.4rem); line-height: 1.01; }
  .summer-site .hero-lead { margin: 20px 0 22px; font-size: .93rem; line-height: 1.65; }
  .summer-site .hero-actions { flex-wrap: wrap; gap: 9px; }
  .summer-site .hero-actions .button { flex: 1 1 auto; width: auto; min-height: 48px; padding: 11px 12px; font-size: .79rem; }
  .summer-site .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 24px; padding-top: 17px; }
  .summer-site .facts dt { font-size: .8rem; }
  .summer-site .facts dd { font-size: .64rem; }
  .summer-site .summer-hero-scene { aspect-ratio: 1.34; }
  .summer-site .section-pad { padding-block: 52px; }
  .summer-site .room-grid { gap: 24px; }
  .summer-site .amenities-layout { gap: 28px; }
  .summer-site .property-gallery:not(.property-gallery-flex) { grid-template-rows: repeat(3, 130px); }
  .summer-house-photo { margin-top: 26px; border-radius: 16px; }
}
@media (max-width: 520px) {
  .summer-site .property-gallery:not(.property-gallery-flex) { grid-template-rows: repeat(4, auto); }
  .summer-site .property-gallery:not(.property-gallery-flex) .gallery-left { aspect-ratio: 3 / 2; }
}
@media (prefers-reduced-motion: reduce) {
  .summer-site { scroll-behavior: auto; }
}
