/* Gentle display correction; preserve the original photographs. */
main img {
  filter: brightness(1.10) contrast(.96) saturate(.98);
}
/* Preserve the full photo at every viewport, including iPad HTML previews. */
.about-photo,
.form-intro img,
.owner-portrait img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}
.form-layout > *,
.owner-layout > *,
.about-grid > * { min-width: 0; }
.header { background: #fffdfb; }
.choice-group { margin: 30px 0; }
.choice-group label.choice { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 11px 0; cursor: pointer; }
.choice input[type=checkbox], .choice input[type=radio] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 0; margin: 4px 0 0; padding: 0; accent-color: #6c594b; }
.preferred-date { border-top: 1px solid #dfd4c8; padding-top: 18px; margin-top: 28px; }
.preferred-date legend { padding-right: 12px; }
.preferred-date .field:last-child { margin-bottom: 0; }
@media (max-width: 1200px) {
  .owner-portrait { position: static; }
}
@media (max-width: 850px) {
  .form-intro img { display: block; max-width: 400px; }
}
/* Photo-led mobile opening with the headline over the photograph. */
@media (max-width: 600px) {
  .header-inner { height: 60px; }
  .nav { top: 60px; }
  .hero { display: grid; grid-template-columns: minmax(0, 1fr); background: #f3eee8; }
  .hero:before { display: none; }
  .hero-photo {
    grid-area: 1 / 1;
    align-self: stretch;
    margin: 0;
    height: clamp(470px, 76svh, 720px);
  }
  .hero-photo img {
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center 30%;
    box-shadow: none;
  }
  .hero-photo:after { display: none; }
  .hero-copy { display: contents; }
  .hero-copy h1 {
    grid-area: 1 / 1;
    align-self: end;
    z-index: 2;
    margin: 0;
    padding: 85px 22px 30px;
    color: #fffdfb;
    background: linear-gradient(transparent, rgba(59,52,48,.68));
    font-size: clamp(27px, 7.2vw, 36px);
    line-height: 1.65;
    letter-spacing: .04em;
    text-shadow: 0 2px 12px #3b343060;
  }
  .hero h1 span:first-child { color: inherit; }
  .hero h1 span:last-child { background: none; }
  .hero-copy > .eyebrow { grid-row: 2; margin: 23px 22px 10px; }
  .hero-copy > p:not(.hero-note) { grid-row: 3; margin: 0 22px; }
  .hero-badges { grid-row: 4; margin: 18px 22px 0; }
  .hero-copy .btn { grid-row: 5; width: auto; margin: 20px 22px 0; }
  .hero-copy .hero-note { grid-row: 6; width: auto; margin: 12px 22px 26px !important; }
  .menu-toggle { color: #3b3430; }
}




/* 2026-10 hero text mist + scroll fade-in */
.keep { white-space: nowrap; }
.hero-lead {
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.85 !important;
  letter-spacing: .04em;
  font-weight: 500;
}
.hero-lead span {
  display: inline-block;
  margin-top: 4px;
  font-size: clamp(23px, 1.9vw, 31px);
  letter-spacing: .06em;
}

/* No white mist over the image; preserve the original contrast gradient. */
@media (max-width: 600px) {
  .hero-lead { font-size: 15px !important; line-height: 1.8 !important; }
  .hero-lead span { font-size: 22px; margin-top: 2px; }
  .band .keep { font-size: 10px; }
}

@media (max-width: 850px) {
  .hero-badges .keep { font-size: .95em; }
}

/* Scroll reveal */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
  will-change: opacity, transform;
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Native calendar date input for all three preferred dates */
.preferred-date input[type="date"] { min-height: 50px; color-scheme: light; cursor: pointer; }
.preferred-date input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .8; }

/* Price callout immediately below the trial reservation heading. */
#trial .trial-price { margin: 0 auto 36px; }
@media(max-width:600px) { #trial .trial-price { margin-bottom: 34px; } }
