/* Small customer-facing refinements layered over the established brand. */
.sitter-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(14rem,1fr);gap:var(--space-5);align-items:center}
.sitter-intro p:last-child{margin-bottom:0}
.sitter-intro__aside{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-1);background:var(--card)}
.sitter-intro__aside .btn{white-space:normal;text-align:center}
.neighborhoods{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0;padding:0}
.neighborhoods li{padding:.35rem .75rem;border-radius:2rem;background:var(--card);border:1px solid var(--border);font-weight:600}
.form__status[data-state="success"]{padding:1rem;border:1px solid var(--border-strong);border-radius:var(--r-1);background:var(--card);color:var(--ink)}
.care-promises p{margin-bottom:0}
.sample-notice{padding:1rem;border-left:3px solid var(--accent);background:var(--card)}
.sample-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.sample-stats>div{padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r-1)}
.sample-stats dt{color:var(--muted);font-size:var(--step--1)}
.sample-stats dd{margin:0;font-size:var(--step-1);font-weight:700;color:var(--ink)}
.sample-walks article{padding:1rem 0;border-top:1px solid var(--border)}
.sample-walks p{margin:.35rem 0 0}
.footer__legal{display:flex;flex-wrap:wrap;gap:.75rem}
.sitter-intro--photo{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.sitter-photo{margin:0;min-width:0}
.sitter-photo picture{display:block}
.sitter-photo img{display:block;width:100%;height:auto;border-radius:var(--r-2);border:1px solid var(--border)}
.sitter-photo figcaption{margin-top:.65rem;color:var(--muted);font-size:var(--step--1);line-height:1.5}
.sitter-story{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-5);align-items:center}
.sitter-photo--candid{width:100%;max-width:360px;justify-self:center}
.reviews-heading h2{margin-bottom:.5rem}
.reviews-heading>p:last-child{color:var(--muted);margin-top:0}
.client-reviews{align-items:stretch;gap:var(--space-3)}
.client-review{margin:0;display:flex;flex-direction:column;gap:var(--space-4)}
.client-review blockquote{margin:0;padding:0;border:0;font-size:var(--step-0);line-height:1.65}
.client-review blockquote p{margin:0}
.client-review figcaption{margin-top:auto;display:grid;gap:.25rem}
.client-review figcaption span{color:var(--muted);font-size:var(--step--1)}
.reviews-source{margin-top:var(--space-3)}
.service-expectation{color:var(--muted);font-size:var(--step--1);line-height:1.65}
@media(max-width:760px){.sitter-intro{grid-template-columns:1fr}.sitter-intro__aside{padding:var(--space-3)}.sample-stats{grid-template-columns:1fr;gap:.5rem}.sample-stats>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}}
@media(max-width:760px){.sitter-story{grid-template-columns:1fr}.client-reviews{grid-template-columns:1fr}.sitter-photo--candid{max-width:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Public-page spacing at phone widths; desktop and booking field order stay intact. */
@media (max-width:640px){
  body{--page-gutter:16px}
  .container{padding-inline:var(--page-gutter)}
  main,main.container{padding-block:1rem;overflow-wrap:anywhere}
  main>section{margin-bottom:1rem;padding-block:.35rem}
  main.page-stack{gap:1rem}
  main.page-stack>section{margin-bottom:0}
  .card{padding:1rem}
  .sitter-intro,.sitter-story,.client-reviews{gap:1rem}
  .card p{overflow-wrap:anywhere}
  .grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}

  body[data-constant-environment] .nav{
    min-height:64px;
    padding-block:.5rem;
    padding-inline:var(--page-gutter);
    gap:.75rem;
  }
  .nav__toggle{min-width:44px;min-height:44px;flex-shrink:0}
  body[data-constant-environment] .nav__brand{min-width:0}
  body[data-constant-environment] .nav__brand-mark{width:44px;height:44px}
  .nav__links{
    right:var(--page-gutter);
    width:calc(100% - 2 * var(--page-gutter));
    min-width:0;
    max-height:calc(100dvh - 5rem);
    overflow-y:auto;
    gap:.25rem;
  }
  .nav__links a{display:flex;align-items:center;min-height:44px}

  body[data-constant-environment] .hero{
    --constant-hero-landscape-height:clamp(2.75rem,16vw,5.25rem);
    padding-top:1rem;
    padding-inline:1rem;
  }
  body[data-constant-environment] .hero__grid{gap:.85rem;min-width:0}
  body[data-constant-environment] .hero__content{gap:.6rem;min-width:0}
  body[data-constant-environment] .hero__content h1{
    font-size:clamp(1.85rem,7.4vw,2.4rem);
    line-height:1.12;
    max-width:none;
  }
  body[data-constant-environment] .hero__content .lead{font-size:1rem;line-height:1.5}
  /* Compress only the hills; the sun keeps its circular geometry. */
  body[data-constant-environment] .hero__landscape--compact path{
    transform:scaleY(.65);
    transform-box:view-box;
    transform-origin:bottom;
  }
  body[data-constant-environment] .hero__landscape--compact circle{
    /* Preserve its center after the hills compress: (84 - 20) * (1 - .65). */
    transform:translateY(22.4px);
  }
  .hero__proof{gap:.35rem;margin-top:0}
  .hero__proof span{padding:.28rem .55rem}
  .hero .actions{gap:.5rem}
  .hero .actions .btn{width:100%;min-height:44px;text-align:center}

  .conversion-strip{gap:.5rem}
  .conversion-strip__item{
    display:grid;
    grid-template-columns:1.5rem minmax(0,1fr);
    column-gap:.6rem;
    row-gap:.2rem;
    padding:.75rem;
    align-items:start;
  }
  .conversion-strip__item span{grid-row:1 / 3;margin:0;line-height:1.5}
  .conversion-strip__item strong{font-size:1rem;line-height:1.3}
  .conversion-strip__item p{grid-column:2;margin:0;font-size:.875rem;line-height:1.4}

  .field__input{min-width:0;max-width:100%;min-height:44px;font-size:1rem}
  .quick-request-form{padding:.85rem}
  .quick-request-form .field{min-width:0;margin-bottom:.35rem}
  .quick-request-form .field__label{margin-bottom:.3rem}
  .quick-request-form .field>p.muted{margin:.3rem 0 0;font-size:.875rem;line-height:1.4}
  .quick-context__notes textarea.field__input{min-height:6rem}
  .quick-contact-grid,.quick-context,.quick-request-summary,.visit-schedule{min-width:0}
  .visit-schedule__stepper{grid-template-columns:44px minmax(0,5rem) 44px;max-width:100%}
  .visit-schedule__step,.visit-schedule__day{min-height:44px;min-width:0}
  .visit-schedule__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .visit-schedule__preview{overflow-wrap:anywhere}
  .availability-snapshot .admin-kv div{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .footer__inner{gap:1.25rem}
  .footer__inner a{overflow-wrap:anywhere}
  .site-footer{margin-top:2rem;padding-block:1.5rem}
}

/* Give weekday choices room for a finger on the narrowest phones. */
@media (max-width:430px){
  .visit-schedule__days{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Booking-form cleanup at every width, retaining the existing field sequence. */
.quick-request-form .field__requirement{font-size:.76rem;font-weight:400;white-space:nowrap;color:var(--muted)}
.quick-request-form .field__hint,.quick-request-form .field>p.muted{font-size:.78rem;line-height:1.35;margin:.25rem 0 0}
.quick-request-form .field__label{font-size:1rem;line-height:1.25;margin-bottom:.3rem}
.quick-request-form .field__input{min-height:44px;font-size:1rem;font-family:inherit}
.quick-request-form .field{margin-bottom:.45rem}
.quick-request-form .quick-context .field{margin-bottom:0}
.quick-request-form .quick-context{align-items:start;margin-top:.2rem;padding-block:.75rem}
.quick-context__notes textarea.field__input{flex:none;min-height:7rem}
.quick-request-summary[data-has-schedule="false"]{grid-template-columns:minmax(0,1fr)}
.quick-request-summary[data-has-schedule="false"] .visit-schedule{display:none}
.quick-request-form .quick-estimate{min-height:0;padding:.75rem}
.quick-request-form .quick-estimate__note{font-size:.78rem;line-height:1.4}
.quick-request-form .form__status:empty{display:none}
.quick-request-form .actions{margin-top:.5rem}
/* Section headings receive programmatic focus without an input-style outline. */
#quick-request h2:focus,#general-message h2:focus{outline:none}
