/* Typography + layout refinement for service pages */
:root{
  --serif:"DM Serif Display","Iowan Old Style",Baskerville,serif;
  --sans:"DM Sans",Helvetica,Arial,sans-serif;
}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased}
.site-nav .enquire{padding:10px 16px;border-radius:999px;background:var(--ink);color:#ffffff}
.site-nav .enquire:hover{opacity:.82}

/* Keep imagery calm and proportionate */
.feature{align-items:stretch}
.feature-image{position:relative;overflow:hidden;max-height:620px}
.feature-image img{display:block;width:100%;height:100%;max-height:620px;object-fit:cover}
.feature-copy p{font-size:16px;line-height:1.65}
.intro p{line-height:1.65}
.list li{letter-spacing:.01em;color:var(--muted)}

/* Centered, editorial intro for story-driven pages */
.intro-centered{
  display:block;
  grid-column:1/-1;
  text-align:center;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  padding-top:clamp(72px,10vw,132px);
  padding-bottom:clamp(72px,10vw,132px);
}
.intro-centered h2{
  margin:0 auto 22px;
  max-width:680px;
}
.intro-centered p{
  margin:0 auto 18px;
  max-width:640px;
}
.intro-centered p:last-child{margin-bottom:0}

/* Better balance for long-form feature sections */
.feature-balanced .feature-copy{
  padding:clamp(48px,6vw,88px);
  gap:0;
}
.feature-balanced .feature-copy > p{margin:0 0 16px}
.feature-balanced .feature-copy > .standout{
  font-style:italic;
  color:var(--ink);
  margin-bottom:4px;
}
.feature-balanced .feature-copy > .standout:last-of-type{margin-bottom:28px}
.feature-balanced .feature-copy > .list{margin-top:0}

@media(max-width:860px){
  .feature{grid-template-columns:1fr}
  .feature-image,.feature-image img{max-height:320px;min-height:260px}
  .intro{grid-template-columns:1fr;gap:22px}
  .intro-centered h2{font-size:clamp(1.8rem,6vw,2.4rem)}
}

/* Full-width editorial photograph band */
.wide-photo{margin:0;position:relative;overflow:hidden;background:#ffffff}
.wide-photo img{display:block;width:100%;height:clamp(320px,52vw,720px);object-fit:cover}
.wide-photo figcaption{
  max-width:1180px;margin:auto;padding:16px clamp(20px,5vw,64px) 0;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)
}
/* Calmer, more architectural rhythm for the lakes page */
.page-lakes .intro-centered{max-width:860px}
.page-lakes .feature-copy p{max-width:480px}
.page-lakes .callout{padding:clamp(72px,10vw,132px) 20px}
.intro-centered .standout{font-style:italic;color:var(--ink)}
.intro-centered .standout+.standout{margin-top:6px}

/* Water-only header band on Natural Lakes */
.page-lakes .wide-photo img{height:clamp(140px, 18vw, 240px)}

/* Laguna: warmer, more immersive rhythm */
.page-laguna .intro-centered{max-width:840px}
.page-laguna .feature-copy p{max-width:520px}
.page-laguna .wide-photo img{height:clamp(260px,40vw,560px)}
.page-laguna .wide-photo+.feature{margin-top:clamp(32px, 5vw, 64px)}
.page-laguna .callout{padding:clamp(72px,10vw,132px) 20px}
.page-construction .callout{padding:clamp(72px,10vw,132px) 20px}
.feature-reverse .feature-copy{order:0}
.feature-reverse .feature-image{order:1}
@media(max-width:860px){
  .feature-reverse .feature-copy{order:1}
  .feature-reverse .feature-image{order:0}
  .page-laguna .wide-photo img{height:clamp(200px,46vw,300px)}
}

/* Premium project carousel */
.gallery{margin:clamp(56px,8vw,104px) 0}
.gallery-stage{position:relative;overflow:hidden;background:#ffffff}
.gallery-track{display:flex;transition:transform .72s cubic-bezier(.22,.61,.36,1);will-change:transform}
.gallery-slide{flex:0 0 100%;margin:0;background:#ffffff}
.gallery-slide img{display:block;width:100%;height:clamp(300px,58vw,760px);object-fit:contain;background:#ffffff}
.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.55);
  background:rgba(20,32,28,.28);color:#fff;font-size:17px;line-height:1;
  display:grid;place-items:center;cursor:pointer;
  transition:background .3s ease,opacity .3s ease;backdrop-filter:blur(6px)
}
.gallery-arrow:hover{background:rgba(20,32,28,.5)}
.gallery-arrow--prev{left:clamp(12px,2.5vw,28px)}
.gallery-arrow--next{right:clamp(12px,2.5vw,28px)}
.gallery-meta{
  max-width:1180px;margin:auto;padding:16px clamp(20px,5vw,64px) 0;
  display:flex;justify-content:space-between;align-items:baseline;gap:20px
}
.gallery-caption,.gallery-counter{
  margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)
}
@media(max-width:860px){
  .gallery-arrow{width:42px;height:42px;font-size:15px}
  .gallery-slide img{height:clamp(240px,64vw,420px)}
}

/* Show the full photograph, never cropped, on every screen size */
.feature-image--uncropped{max-height:none;background:#ffffff;display:flex;align-items:center;justify-content:center}
.feature-image--uncropped img{
  width:100%;height:auto;max-height:none;object-fit:contain;background:#ffffff
}
@media(max-width:860px){
  .feature-image--uncropped,.feature-image--uncropped img{max-height:none;min-height:0;height:auto}
}
.highlight-strip{padding-top:clamp(28px,4vw,44px);padding-bottom:clamp(28px,4vw,44px);border-bottom:1px solid var(--line)}
.highlight-strip .list{margin-top:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;margin-left:auto;margin-right:auto;columns:unset}
.highlight-strip .list li{border-top:0;padding:12px 18px;border:1px solid rgba(23,63,54,.15);border-radius:99px;font-size:13px;color:var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;text-align:center}
.highlight-strip .list li.wide{grid-column:1/-1}
.highlight-strip .style-note{max-width:900px;margin:22px auto 0;text-align:left}
.highlight-strip .style-note p{font-size:14px;color:var(--muted);margin:0 0 8px;line-height:1.55}
.highlight-strip .style-note p:last-child{margin-bottom:0}
.highlight-strip .style-note strong{color:var(--ink)}
@media(max-width:760px){.highlight-strip .style-note{margin-top:18px}.highlight-strip .style-note p{font-size:13px}}
@media(max-width:760px){.highlight-strip .list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.highlight-strip .list li{font-size:11px;padding:10px 8px;text-align:center;display:flex;align-items:center;justify-content:center}.highlight-strip .list li.wide{grid-column:1/-1}}
.visit-balena{text-align:center;padding-top:24px;padding-bottom:24px}
