/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 1 — FOUNDATION
========================================================= */

@media (max-width:700px){

/* =========================================================
   GLOBAL
========================================================= */

html,
body{
    overflow-x:hidden;
    width:100%;
    max-width:100%;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

/* Prevent horizontal scrolling caused by transforms */
.reveal-on-scroll,
.reveal-repeat,
.reveal-from-left,
.reveal-from-right,
.reveal-pop{
    max-width:100%;
}

/* =========================================================
   SHARED PAGE CONTAINERS
========================================================= */

.ddh-home .ddh-home-shell,
.boarding-page .boarding-shell,
.grooming-page .grooming-shell,
.team-page .team-shell,
.purpose-page .purpose-shell,
.contact-page .contact-shell{
    width:min(calc(100% - 40px),1280px);
    margin-inline:auto;
}

/* =========================================================
   SHARED MOBILE BUTTONS
========================================================= */

.button{
    min-height:52px;
    justify-content:center;
}

.button-group{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.button-group .button{
    width:100%;
}

/* =========================================================
   SHARED SECTION SPACING
========================================================= */

section{
    overflow:hidden;
}

.ddh-section,
.boarding-section,
.grooming-section,
.team-section,
.contact-section,
.purpose-section{
    padding-block:80px;
}

/* =========================================================
   SHARED MOBILE HEADINGS
========================================================= */

.ddh-section-heading h2,
.boarding-section-heading h2,
.grooming-section-heading h2,
.team-section-heading h2,
.contact-section-heading h2,
.purpose-section-heading h2{

    max-width:100%;
    text-wrap:balance;
    line-height:.98;

}

.ddh-script,
.boarding-script,
.grooming-script,
.team-script,
.contact-script,
.purpose-script{

    display:block;
    margin-top:14px;

}

/* =========================================================
   SHARED GRID COLLAPSE
========================================================= */

.two-column,
.three-column,
.four-column{

    grid-template-columns:1fr;
    gap:28px;

}

/* =========================================================
   SHARED CARD SPACING
========================================================= */

.card,
.ddh-service,
.boarding-card,
.grooming-card,
.team-card,
.contact-option{

    width:100%;
    border-radius:26px;

}

/* =========================================================
   SHARED IMAGE RULES
========================================================= */

.hero-image,
.section-image{

    width:100%;
    overflow:hidden;

}

.hero-image img,
.section-image img{

    width:100%;
    height:auto;
    object-fit:cover;

}

/* =========================================================
   REMOVE DESKTOP HOVER EFFECTS
========================================================= */

.ddh-service:hover,
.boarding-card:hover,
.grooming-card:hover,
.team-card:hover,
.contact-option:hover{

    transform:none;

}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 2 — HOME
========================================================= */

@media (max-width:700px){

/* =========================================================
   HOME HERO
========================================================= */

.ddh-home .ddh-home-hero{
  position:relative;
  min-height:0;
  display:block;
  overflow:visible;
  padding:0;
  background:none;
  isolation:isolate;
}

.ddh-home .ddh-home-hero::before{
  content:"";
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  background:
    url("/assets/images/mobile-hero/hero-home.webp")
    center / 100% 100%
    no-repeat;
}

.ddh-home .ddh-home-hero__wash{
  position:absolute;
  inset:0 0 auto;
  z-index:1;
  width:100%;
  aspect-ratio:16 / 9;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(250,248,246,.84) 0%,
      rgba(250,248,246,.56) 42%,
      rgba(250,248,246,.08) 78%
    );
}

.ddh-home .ddh-home-hero__inner{
  position:absolute;
  inset:0 0 auto;
  z-index:2;
  width:100%;
  aspect-ratio:16 / 9;
  padding:0;
  pointer-events:none;
}

.ddh-home .ddh-home-hero__copy{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:25px 20px 18px;
}

.ddh-home .ddh-home-hero .ddh-kicker{
  margin:0 0 9px;
  font-size:.58rem;
  line-height:1.3;
  letter-spacing:.17em;
  pointer-events:auto;
}

.ddh-home .ddh-home-hero__title{
  width:min(59%,290px);
  max-width:none;
  margin:0;
  color:#8b7185;
  pointer-events:auto;
}

.ddh-home .ddh-home-hero__title span{
  font-size:clamp(2rem,8.9vw,3rem);
  line-height:.92;
  letter-spacing:-.035em;
}

.ddh-home .ddh-home-hero__title strong{
  margin:.1em 0 0;
  font-size:clamp(3.4rem,15.5vw,5rem);
  line-height:.78;
  letter-spacing:0;
}

.ddh-home .ddh-home-hero__details{
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  margin-top:-1px;
  padding:29px 20px 46px;
  background:
    linear-gradient(
      180deg,
      #f4edef 0%,
      #faf8f6 100%
    );
  pointer-events:auto;
}

.ddh-home .ddh-home-hero__body{
  width:100%;
  max-width:none;
  margin:0;
  color:#575052;
  font-size:.96rem;
  line-height:1.72;
}

.ddh-home .ddh-home-hero__actions{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:13px;
  margin-top:26px;
}

.ddh-home .ddh-home-hero__actions .button{
  width:100%;
}

/* Space for the panel beneath the hero image */

.ddh-home .ddh-story--daisy{
  margin-top:335px;
  padding-top:78px;
}

/* =========================================================
   DAISY STORY
========================================================= */

.ddh-home .ddh-story__grid{
  gap:42px;
}

.ddh-home .ddh-story__content{
  min-width:0;
  padding-inline:4px;
}

.ddh-home .ddh-story__title{
  margin-bottom:24px;
}

.ddh-home .ddh-story__title strong{
  margin-left:0;
}

.ddh-home .ddh-paw-divider{
  justify-content:center;
}

/* =========================================================
   PROMISE
========================================================= */

.ddh-home .ddh-promise{
  padding:76px 0 82px;
  overflow:visible;
}

.ddh-home .ddh-promise__inner{
  width:calc(100% - 34px);
  overflow:visible;
}

.ddh-home .ddh-promise h2{
  width:100%;
  max-width:none;
  margin-inline:auto;
  overflow:visible;
}

.ddh-home .ddh-promise h2 > span{
  display:block;
  width:100%;
  white-space:normal;
  overflow:visible;
  overflow-wrap:normal;
  word-break:normal;
  font-size:clamp(2.4rem,10.2vw,3.15rem);
  line-height:1.04;
}

.ddh-home .ddh-promise h2 em{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  margin-top:.28em;
  overflow:visible;
  font-size:clamp(3.55rem,15vw,4.75rem);
  line-height:.92;
  white-space:normal;
}

.ddh-home .ddh-promise h2 em span{
  display:block;
  width:100%;
  overflow:visible;
  text-align:center;
}

.ddh-home .ddh-promise h2 em span + span{
  margin-top:.2em;
}

/* =========================================================
   SIGNATURE EXPERIENCES
========================================================= */

.ddh-home .ddh-services__grid{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:auto;
  gap:24px;
}

.ddh-home .ddh-service,
.ddh-home .ddh-service--boarding,
.ddh-home .ddh-service--grooming,
.ddh-home .ddh-service--spa,
.ddh-home .ddh-service--daycare{
  grid-column:auto;
  grid-row:auto;
  width:100%;
  min-height:500px;
  margin:0;
}

/* =========================================================
   FINAL CTA
========================================================= */

.ddh-home .ddh-cta{
  padding:80px 0 90px;
}

.ddh-home .ddh-cta__inner{
  width:calc(100% - 40px);
  grid-template-columns:1fr;
  justify-items:center;
  gap:28px;
  padding-left:0;
  text-align:center;
}

.ddh-home .ddh-cta__inner > div{
  width:100%;
  text-align:center;
}

.ddh-home .ddh-cta .ddh-kicker{
  justify-content:center;
}

.ddh-home .ddh-cta h2{
  max-width:100%;
  margin-inline:auto;
  font-size:clamp(2.8rem,11.7vw,3.7rem);
  line-height:1;
  text-align:center;
}

.ddh-home .ddh-cta p:not(.ddh-kicker){
  max-width:100%;
  margin-inline:auto;
  text-align:center;
}

.ddh-home .ddh-cta .button{
  width:100%;
  max-width:360px;
}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 3 — BOARDING
========================================================= */

@media (max-width:700px){

/* =========================================================
   BOARDING HERO
========================================================= */

.boarding-page .boarding-hero{
  position:relative;
  min-height:0;
  display:block;
  overflow:visible;
  padding:0;
  background:#332b31;
  isolation:isolate;
}

.boarding-page .boarding-hero__image{
  position:relative;
  inset:auto;
  z-index:0;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#332b31;
}

.boarding-page .boarding-hero__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.boarding-page .boarding-hero__overlay{
  position:absolute;
  inset:0 0 auto;
  z-index:1;
  width:100%;
  aspect-ratio:16 / 9;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(34,26,32,.72) 0%,
      rgba(34,26,32,.4) 48%,
      rgba(34,26,32,.06) 82%
    );
}

.boarding-page .boarding-hero__content{
  position:static;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  color:#fff;
}

.boarding-page .boarding-hero__headline{
  position:absolute;
  inset:0 0 auto;
  z-index:3;
  width:100%;
  aspect-ratio:16 / 9;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:25px 20px 18px;
}

.boarding-page .boarding-hero__headline .boarding-eyebrow{
  margin:0 0 9px;
  color:#f3e3e9;
  font-size:.56rem;
  line-height:1.3;
  letter-spacing:.17em;
  text-shadow:0 2px 10px rgba(0,0,0,.32);
}

.boarding-page .boarding-hero h1{
  width:min(61%,290px);
  max-width:none;
  margin:0;
  color:#fffaf7;
  font-size:clamp(2.25rem,9.4vw,3.1rem);
  line-height:.88;
  text-shadow:0 5px 18px rgba(0,0,0,.28);
}

.boarding-page .boarding-hero__title-main,
.boarding-page .boarding-hero__title-script{
  width:auto;
  max-width:100%;
  white-space:normal;
}

.boarding-page .boarding-hero__title-script{
  margin-top:15px;
  font-size:.69em;
  line-height:.86;
}

.boarding-page .boarding-hero__details{
  width:100%;
  margin-top:-1px;
  padding:30px 20px 48px;
  color:#353136;
  background:
    linear-gradient(
      180deg,
      #eee3e6 0%,
      #faf6f1 100%
    );
}

.boarding-page .boarding-hero__copy{
  width:100%;
  max-width:none;
  margin:0;
  color:#5d555a;
  font-size:.95rem;
  line-height:1.72;
  text-shadow:none;
}

.boarding-page .boarding-hero__actions{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:26px;
}

.boarding-page .boarding-hero__actions .button{
  width:100%;
  justify-content:center;
}

.boarding-page .boarding-hero__actions .button-secondary{
  color:#684f63;
  border-color:rgba(104,79,99,.28);
  background:rgba(255,255,255,.72);
  backdrop-filter:none;
}

/* =========================================================
   INTRODUCTION
========================================================= */

.boarding-page .boarding-intro{
  padding:80px 0;
}

.boarding-page .boarding-intro__layout{
  grid-template-columns:1fr;
  gap:38px;
}

.boarding-page .boarding-intro__heading{
  padding-inline:3px;
}

.boarding-page .boarding-intro__heading h2{
  font-size:clamp(2.8rem,11.8vw,3.8rem);
  line-height:.98;
}

.boarding-page .boarding-heading-line{
  width:auto;
  white-space:normal;
}

.boarding-page .boarding-intro__script-line{
  display:block;
  margin-top:15px;
  padding-left:0;
  font-size:.72em;
  line-height:.88;
  white-space:normal;
}

.boarding-page .boarding-intro__script-line--second{
  margin-top:8px;
}

.boarding-page .boarding-intro__copy p{
  font-size:.95rem;
  line-height:1.76;
}

.boarding-page .boarding-intro__promise{
  padding-left:22px;
  white-space:normal;
  font-size:1.35rem;
  line-height:1.45;
}

/* =========================================================
   BOARDING OPTIONS
========================================================= */

.boarding-page .boarding-options{
  padding:82px 0;
}

.boarding-page .boarding-options__grid{
  grid-template-columns:1fr;
  gap:26px;
}

.boarding-page .boarding-card{
  border-radius:28px;
}

.boarding-page .boarding-card__content,
.boarding-page .boarding-card--luxury .boarding-card__content{
  padding:44px 23px 40px;
}

.boarding-page .boarding-card--luxury .boarding-card__content{
  padding-top:84px;
}

/* Standard accommodation title:
   Slumber
   Paw-ty
   at Daisy's */

.boarding-page .boarding-card__title{
  display:block;
  width:100%;
  margin:0;
  overflow:visible;
  color:var(--boarding-charcoal);
  font-family:var(--boarding-serif);
  font-style:normal;
  font-weight:400;
  line-height:.9;
}

.boarding-page .boarding-card__title-main{
  display:block;
  margin:0;
  color:var(--boarding-charcoal);
  font-family:var(--boarding-serif);
  font-size:clamp(3rem,12.5vw,4.15rem);
  font-style:normal;
  font-weight:400;
  line-height:.9;
  letter-spacing:-.015em;
}

.boarding-page .boarding-card__title-main > span{
  display:block;
  margin:.04em 0 0;
  color:var(--boarding-charcoal);
  font-family:var(--boarding-serif);
  font-size:1em;
  font-style:normal;
  font-weight:400;
  line-height:.9;
  letter-spacing:-.015em;
}

.boarding-page .boarding-card__title-script{
  display:block;
  margin:.25em 0 0;
  color:var(--boarding-mauve);
  font-family:var(--boarding-script);
  font-size:clamp(2.65rem,11.2vw,3.65rem);
  font-style:normal;
  font-weight:400;
  line-height:.86;
  letter-spacing:0;
}

.boarding-page .boarding-card h3{
  font-size:clamp(3rem,12.8vw,4.25rem);
}

.boarding-page .boarding-luxury-features,
.boarding-page .boarding-suite-names{
  grid-template-columns:1fr;
}

/* =========================================================
   EVERY STAY INCLUDES
========================================================= */

.boarding-page .boarding-includes{
  padding:82px 0;
}

.boarding-page .boarding-includes__layout{
  grid-template-columns:1fr;
  gap:42px;
}

.boarding-page .boarding-includes__heading{
  position:static;
}

.boarding-page .boarding-includes__script-line{
  white-space:normal;
}

.boarding-page .boarding-includes__grid{
  grid-template-columns:1fr;
  gap:14px;
}

/* =========================================================
   COMPLIMENTARY GO-HOME BATH
========================================================= */

.boarding-page .boarding-bath-callout{
  padding:78px 0;
  overflow:visible;
}

.boarding-page .boarding-bath-callout__inner{
  grid-template-columns:1fr;
  gap:42px;
}

.boarding-page .boarding-bath-callout h2{
  font-size:clamp(2.65rem,11.2vw,3.65rem);
  line-height:.98;
  overflow:visible;
}

.boarding-page .boarding-bath-callout__main-line{
  display:block;
}

.boarding-page .boarding-bath-callout__script-line{
  display:block;
  width:100%;
  margin-top:18px;
  padding:0 .08em .08em;
  overflow:visible;
  color:#f5dce6;
  font-size:.9em;
  line-height:.88;
  white-space:normal;
}

.boarding-page .boarding-bath-callout__copy > p:last-child{
  margin-top:26px;
  font-size:.95rem;
  line-height:1.72;
}

.boarding-page .boarding-bath-feature{
  width:100%;
  overflow:visible;
  border-radius:28px;
}

.boarding-page .boarding-bath-feature::before{
  border-radius:21px;
}

.boarding-page .boarding-bath-feature__top{
  min-height:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:28px 20px 22px;
}

.boarding-page .boarding-bath-feature__eyebrow{
  display:block;
  color:#fffaf7;
  font-family:"Poppins",sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.3;
  text-transform:uppercase;
}

.boarding-page .boarding-bath-feature__complimentary{
  display:block;
  color:#f1d39b;
  font-family:"Italiana","Cormorant Garamond",serif;
  font-size:clamp(2rem,9.5vw,2.75rem);
  font-style:normal;
  font-weight:400;
  letter-spacing:.035em;
  line-height:1;
  text-transform:uppercase;
}

.boarding-page .boarding-bath-feature__content{
  padding:24px 24px 34px;
  overflow:visible;
}

.boarding-page .boarding-bath-feature__title{
  display:block;
  padding:.04em .06em .08em;
  overflow:visible;
  color:#fffaf7;
  font-family:"Italiana","Cormorant Garamond",serif;
  font-size:clamp(2.65rem,12vw,3.5rem);
  font-style:normal;
  font-weight:400;
  letter-spacing:-.01em;
  line-height:1;
}

.boarding-page .boarding-bath-feature__content > span{
  display:block;
  max-width:260px;
  margin:18px auto 0;
  color:rgba(255,255,255,.82);
  font-size:.84rem;
  line-height:1.65;
}

.boarding-page .boarding-bath-feature__bottom{
  color:#f1d39b;
}

.boarding-page .boarding-bath-feature__bottom svg{
  color:#f1d39b;
  stroke:#f1d39b;
}

.boarding-page .boarding-bath-callout__paw--three{
  display:none;
}

/* =========================================================
   CAT BOARDING
========================================================= */

.boarding-page .cat-boarding{
  padding:84px 0;
}

.boarding-page .cat-boarding__layout{
  grid-template-columns:1fr;
  gap:44px;
}

.boarding-page .cat-boarding__visual{
  order:1;
}

.boarding-page .cat-boarding__content{
  order:2;
}

.boarding-page .cat-boarding__heading-main{
  width:auto;
  white-space:normal;
}

.boarding-page .cat-boarding__image-wrap{
  border-radius:24px;
}

.boarding-page .cat-boarding__image-wrap img{
  min-height:0;
  aspect-ratio:4 / 5;
  object-fit:cover;
}

.boarding-page .cat-boarding__features,
.boarding-page .cat-condos{
  grid-template-columns:1fr;
}

.boarding-page .cat-boarding__price{
  align-items:flex-start;
  flex-direction:column;
}

/* =========================================================
   VACATION REPORT CARD
========================================================= */

.boarding-page .boarding-report{
  padding:78px 0;
}

.boarding-page .boarding-report__layout{
  grid-template-columns:1fr;
  gap:38px;
}

.boarding-page .boarding-report__content{
  transform:none;
}

.boarding-page .boarding-report__content h2{
  font-size:clamp(2.7rem,11.4vw,3.65rem);
  line-height:1;
}

.boarding-page .boarding-report__heading-main{
  max-width:none;
  font-size:.84em;
  white-space:normal;
}

.boarding-page .boarding-report__script-line{
  margin-top:15px;
  font-size:.68em;
  line-height:.9;
  white-space:normal;
}

.boarding-page .boarding-report__content > p:last-child{
  margin-top:24px;
  font-size:.94rem;
  line-height:1.72;
}

.boarding-page .boarding-report__card{
  padding:22px 18px;
  transform:none;
  border-radius:24px;
}

.boarding-page .boarding-report__card-header{
  align-items:flex-start;
  flex-direction:column;
  gap:14px;
}

.boarding-page .boarding-report__items{
  grid-template-columns:1fr;
  gap:10px;
}

.boarding-page .boarding-report__item{
  min-height:64px;
  padding:15px 16px;
}

.boarding-page .boarding-report__keepsake{
  font-size:1rem;
  line-height:1.45;
}

/* =========================================================
   HOURS
========================================================= */

.boarding-page .boarding-hours{
  padding:80px 0;
}

.boarding-page .boarding-section-heading--hours{
  margin-bottom:42px;
}

.boarding-page .boarding-hours__script-line{
  margin-top:18px;
  gap:8px;
  font-size:.68em;
  line-height:.86;
}

.boarding-page .boarding-hours__grid{
  grid-template-columns:1fr;
  gap:15px;
}

.boarding-page .boarding-hours__card{
  padding:28px 20px;
  border-radius:24px;
}

/* =========================================================
   HEALTH AND VACCINATION REQUIREMENTS
========================================================= */

.boarding-page .boarding-policies{
  padding:78px 0 86px;
}

.boarding-page .boarding-section-heading--policies{
  margin-bottom:42px;
}

.boarding-page .boarding-policy-heading__main{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
  line-height:1;
}

.boarding-page .boarding-policy-heading__script{
  display:block;
  margin-top:20px;
  padding-top:4px;
  font-size:.66em;
  line-height:1;
  white-space:normal;
}

.boarding-page .boarding-policies__grid--three{
  grid-template-columns:1fr;
  gap:20px;
}

.boarding-page .boarding-policy-card{
  min-height:430px;
  padding:36px 24px 145px;
}

.boarding-page .boarding-policy-card__number{
  top:20px;
  right:22px;
  font-size:2.5rem;
}

.boarding-page .boarding-policy-card h3{
  max-width:calc(100% - 65px);
  font-size:1.85rem;
}

.boarding-page .boarding-policy-card > p:not(.boarding-policy-card__note){
  font-size:.92rem;
}

.boarding-page .boarding-policy-card li{
  font-size:.9rem;
}

.boarding-page .boarding-policy-card::before,
.boarding-page .boarding-policy-card__icon{
  right:-40px;
  bottom:-50px;
  width:195px;
  height:195px;
}

.boarding-page .boarding-policy-card__icon svg{
  width:84px;
  height:84px;
}

.boarding-page .boarding-policy-card__note{
  width:calc(100% - 100px);
  font-size:.88rem;
}

/* =========================================================
   RESERVATIONS
========================================================= */

.boarding-page .boarding-reservations{
  padding:80px 0;
}

.boarding-page .boarding-reservations__layout{
  grid-template-columns:1fr;
  gap:40px;
}

.boarding-page .boarding-reservation-card{
  grid-template-columns:54px 1fr;
  gap:17px;
  padding:23px 21px;
}

.boarding-page .boarding-reservation-card__icon{
  width:50px;
  height:50px;
}

/* =========================================================
   FINAL CTA
========================================================= */

.boarding-page .boarding-closing{
  min-height:710px;
}

.boarding-page .boarding-closing__image img{
  object-position:52% center;
}

.boarding-page .boarding-closing__content{
  padding:76px 0;
}

/* Shared observer owns entry motion. */

.boarding-page .boarding-reveal{
  animation:none;
}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 4 — GROOMING
========================================================= */

@media (max-width:700px){

/* =========================================================
   GROOMING HERO
========================================================= */

.grooming-page .grooming-hero{
  position:relative;
  min-height:0;
  display:block;
  overflow:visible;
  padding:0;
  background:#332b31;
  isolation:isolate;
}

.grooming-page .grooming-hero__image{
  position:relative;
  inset:auto;
  z-index:0;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#332b31;
}

.grooming-page .grooming-hero__image img{
  content:url("/assets/images/mobile-hero/spa-grooming-main.webp");
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}

.grooming-page .grooming-hero__overlay{
  position:absolute;
  inset:0 0 auto;
  z-index:1;
  width:100%;
  aspect-ratio:16 / 9;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(34,26,32,.82) 0%,
      rgba(34,26,32,.58) 43%,
      rgba(34,26,32,.14) 78%,
      rgba(34,26,32,.02) 100%
    );
}

.grooming-page .grooming-hero__content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  color:#fff;
  animation:none;
}

.grooming-page .grooming-hero__headline{
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:5;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:24px 20px 16px;
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:none;
}

.grooming-page .grooming-hero .grooming-eyebrow{
  display:block;
  margin:0 0 8px;
  color:#f3e3e9;
  font-size:.55rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.16em;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
  opacity:1;
  visibility:visible;
}

.grooming-page .grooming-hero h1{
  display:block;
  width:min(63%,300px);
  max-width:none;
  margin:0;
  color:#fffaf7;
  font-family:var(--grooming-serif);
  font-size:clamp(2.1rem,8.9vw,2.95rem);
  font-style:normal;
  font-weight:400;
  letter-spacing:-.01em;
  line-height:.9;
  text-shadow:
    0 4px 16px rgba(0,0,0,.58),
    0 1px 2px rgba(0,0,0,.72);
  opacity:1;
  visibility:visible;
  transform:none;
}

.grooming-page .grooming-hero__title-main{
  display:block;
  width:100%;
  max-width:100%;
  white-space:normal;
}

.grooming-page .grooming-hero__title-script{
  display:block;
  width:100%;
  max-width:100%;
  margin-top:12px;
  color:#f0d9e2;
  font-size:.66em;
  line-height:.86;
  white-space:nowrap;
  opacity:1;
  visibility:visible;
}

.grooming-page .grooming-hero__details{
  position:relative;
  z-index:3;
  width:100%;
  margin-top:-1px;
  padding:30px 20px 48px;
  color:#353136;
  background:
    linear-gradient(
      180deg,
      #eee3e6 0%,
      #faf6f1 100%
    );
}

.grooming-page .grooming-hero__copy{
  width:100%;
  max-width:none;
  margin:0;
  color:#5d555a;
  font-size:.95rem;
  line-height:1.72;
  text-shadow:none;
}

.grooming-page .grooming-hero__actions{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:26px;
}

.grooming-page .grooming-hero__actions .button{
  width:100%;
  justify-content:center;
}

.grooming-page .grooming-hero__actions .button-secondary{
  color:#684f63;
  border-color:rgba(104,79,99,.28);
  background:rgba(255,255,255,.72);
  backdrop-filter:none;
}

/* =========================================================
   VISIT / EXPERIENCE SECTION
========================================================= */

.grooming-page .grooming-section-heading--visit{
  padding-inline:4px;
}

.grooming-page .grooming-section-heading--visit h2{
  max-width:100%;
  font-size:clamp(2.7rem,11.4vw,3.65rem);
  line-height:1;
  white-space:normal;
}

.grooming-page
.grooming-section-heading--visit
h2 > .grooming-script{
  display:block;
  max-width:100%;
  margin:16px auto 0;
  font-size:.66em;
  line-height:.92;
  white-space:normal;
}

.grooming-page .grooming-visit__statement{
  font-size:clamp(1.95rem,8.6vw,2.65rem);
  line-height:1.06;
}

/* =========================================================
   PRIMARY SERVICE CARDS
========================================================= */

.grooming-page .grooming-services-grid,
.grooming-page .grooming-card-grid{
  grid-template-columns:1fr;
  gap:22px;
}

.grooming-page .grooming-card{
  width:100%;
  padding:24px 22px;
  border-radius:26px;
}

.grooming-page .grooming-card h3{
  font-size:1.8rem;
  line-height:1.05;
}

.grooming-page .grooming-card p{
  font-size:.93rem;
  line-height:1.68;
}

/* =========================================================
   IMAGE CARDS
========================================================= */

.grooming-page .grooming-photo-grid,
.grooming-page .grooming-gallery__grid,
.grooming-page .service-image-grid{
  grid-template-columns:1fr;
  gap:22px;
}

.grooming-page .grooming-photo-card,
.grooming-page .service-image-card,
.grooming-page .grooming-gallery__item{
  width:100%;
  border-radius:26px;
}

.grooming-page .grooming-photo-card img,
.grooming-page .service-image-card img,
.grooming-page .grooming-gallery__item img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
}

/* Coat Care image */

.grooming-page img[src$="brush-out.png"]{
  content:url("/assets/images/grooming and spa/brush-out.png");
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   UPGRADE CARDS
========================================================= */

.grooming-page .grooming-upgrades__grid,
.grooming-page .grooming-upgrade-grid{
  grid-template-columns:1fr;
  gap:16px;
}

.grooming-page .grooming-upgrade-card{
  width:100%;
  min-height:0;
  padding:22px 20px;
  border-radius:22px;
}

.grooming-page .grooming-upgrade-card h3{
  font-size:1.45rem;
  line-height:1.1;
}

.grooming-page .grooming-upgrade-card p{
  font-size:.92rem;
  line-height:1.65;
}

/* =========================================================
   PROCESS / BENEFIT CARDS
========================================================= */

.grooming-page .grooming-process__grid,
.grooming-page .grooming-feature-grid,
.grooming-page .grooming-benefits{
  grid-template-columns:1fr;
  gap:16px;
}

.grooming-page .grooming-process__item,
.grooming-page .grooming-feature-card,
.grooming-page .grooming-benefit{
  width:100%;
  min-height:0;
  padding:22px 20px;
  border-radius:22px;
}

/* =========================================================
   GROOMING CTA
========================================================= */

.grooming-page .grooming-cta,
.grooming-page .grooming-closing{
  min-height:0;
  padding:78px 0;
}

.grooming-page .grooming-cta__inner,
.grooming-page .grooming-closing__inner{
  grid-template-columns:1fr;
  gap:34px;
}

.grooming-page .grooming-cta__content,
.grooming-page .grooming-closing__content{
  width:100%;
  max-width:none;
  text-align:center;
}

.grooming-page .grooming-cta h2,
.grooming-page .grooming-closing h2{
  max-width:100%;
  margin-inline:auto;
  font-size:clamp(2.8rem,11.7vw,3.75rem);
  line-height:1;
}

.grooming-page .grooming-cta p,
.grooming-page .grooming-closing p{
  max-width:100%;
  margin-inline:auto;
  font-size:.94rem;
  line-height:1.7;
}

.grooming-page .grooming-cta .button,
.grooming-page .grooming-closing .button{
  width:100%;
  max-width:360px;
}

/* Shared observer owns entry motion. */

.grooming-page .grooming-reveal{
  animation:none;
}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 5 — TEAM
========================================================= */

@media (max-width:700px){

/* =========================================================
   TEAM HERO
========================================================= */

.team-page .team-hero{
  min-height:620px;
  padding:72px 0 58px;
  align-items:flex-end;
  overflow:hidden;
}

.team-page .team-hero__content{
  width:100%;
  max-width:none;
  padding-inline:4px;
}

.team-page .team-hero h1{
  max-width:100%;
  font-size:clamp(3rem,12.8vw,4rem);
  line-height:.96;
}

.team-page .team-hero__title-main{
  display:block;
  white-space:normal;
}

.team-page .team-hero__title-script{
  display:block;
  margin-top:18px;
  font-size:.6em;
  line-height:.9;
  white-space:normal;
}

.team-page .team-hero__copy{
  max-width:100%;
  margin-top:24px;
  font-size:.94rem;
  line-height:1.7;
}

.team-page .team-hero__actions{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:28px;
}

.team-page .team-hero__actions .button{
  width:100%;
}

/* =========================================================
   TEAM INTRODUCTION
========================================================= */

.team-page .team-intro{
  padding:80px 0;
}

.team-page .team-intro__inner,
.team-page .team-intro__layout{
  grid-template-columns:1fr;
  gap:38px;
}

.team-page .team-intro__content{
  width:100%;
  max-width:none;
}

.team-page .team-intro__content h2{
  max-width:100%;
  font-size:clamp(2.8rem,11.7vw,3.75rem);
  line-height:1;
}

.team-page .team-intro__content p{
  max-width:100%;
  font-size:.94rem;
  line-height:1.72;
}

.team-page .team-intro__image{
  width:100%;
  border-radius:26px;
  overflow:hidden;
}

.team-page .team-intro__image img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   TEAM GRID
========================================================= */

.team-page .team-portrait-grid,
.team-page .team-grid,
.team-page .team-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
}

.team-page .team-card,
.team-page .team-card--one,
.team-page .team-card--two,
.team-page .team-card--three,
.team-page .team-card--four,
.team-page .team-card--five,
.team-page .team-card--six{
  grid-column:auto;
  width:100%;
  max-width:520px;
  margin:0 auto;
  padding:0;
  border-radius:26px;
}

.team-page .team-card__portrait{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:26px 26px 0 0;
}

.team-page .team-card__portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:none;
}

.team-page .team-card__content{
  width:100%;
  padding:34px 27px 31px;
  border-radius:0 0 26px 26px;
}

.team-page .team-card h3{
  max-width:100%;
  font-size:2.35rem;
  line-height:1.08;
}

.team-page .team-card__content
> p:not(.team-card__number):not(.team-card__kicker){
  font-size:.94rem;
  line-height:1.68;
}

.team-page .team-card__detail{
  font-size:.84rem;
  line-height:1.55;
}

/* =========================================================
   TEAM CLOSING
========================================================= */

.team-page .team-closing{
  min-height:0;
  padding:80px 0;
}

.team-page .team-closing__inner{
  grid-template-columns:1fr;
  gap:34px;
}

.team-page .team-closing__content{
  width:100%;
  max-width:none;
  text-align:center;
}

.team-page .team-closing h2{
  max-width:100%;
  margin-inline:auto;
  font-size:clamp(2.8rem,11.7vw,3.75rem);
  line-height:1;
}

.team-page .team-closing p{
  max-width:100%;
  margin-inline:auto;
  font-size:.94rem;
  line-height:1.7;
}

.team-page .team-closing .button{
  width:100%;
  max-width:360px;
}

/* Shared observer owns entry motion. */

.team-page .team-reveal{
  animation:none;
}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 6 — PURPOSE
========================================================= */

@media (max-width:700px){

/* =========================================================
   PURPOSE FOUNDATION
========================================================= */

.purpose-page .purpose-gallery__header{
  padding-inline:2px;
}

.purpose-page .purpose-gallery__header h2{
  width:100%;
  max-width:none;
  margin-inline:auto;
  text-align:center;
}

.purpose-page .purpose-gallery__title-main{
  display:block;
  font-size:clamp(2.55rem,10.8vw,3.45rem);
  line-height:1;
}

.purpose-page .purpose-gallery__title-script{
  display:block;
  width:100%;
  margin-top:14px;
  font-size:clamp(2.65rem,11.2vw,3.55rem);
  line-height:.9;
  white-space:normal;
}

.purpose-page .purpose-gallery__intro{
  max-width:100%;
  margin-top:26px;
  padding-inline:3px;
  font-size:.95rem;
  line-height:1.72;
}

/* =========================================================
   PURPOSE GALLERY
========================================================= */

.purpose-page .purpose-gallery__grid{
  grid-template-columns:1fr;
  gap:22px;
}

.purpose-page .purpose-gallery__item{
  width:100%;
  border-radius:24px;
  overflow:hidden;
}

.purpose-page .purpose-gallery__item img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   PURPOSE STORY SECTIONS
========================================================= */

.purpose-page .purpose-story__layout,
.purpose-page .purpose-story__inner{
  grid-template-columns:1fr;
  gap:40px;
}

.purpose-page .purpose-story__content{
  width:100%;
  max-width:none;
}

.purpose-page .purpose-story__content h2{
  max-width:100%;
  font-size:clamp(2.75rem,11.5vw,3.7rem);
  line-height:1;
}

.purpose-page .purpose-story__content p{
  max-width:100%;
  font-size:.94rem;
  line-height:1.72;
}

.purpose-page .purpose-story__image{
  width:100%;
  border-radius:26px;
  overflow:hidden;
}

.purpose-page .purpose-story__image img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   PURPOSE CLOSING
========================================================= */

.purpose-page .purpose-closing{
  min-height:720px;
  padding:72px 0;
}

.purpose-page .purpose-closing__content{
  width:calc(100% - 44px);
  margin-inline:auto;
  padding:66px 0;
  text-align:center;
}

/* Love Leaves Paw Prints
   That Never Fade */

.purpose-page .purpose-closing h2{
  width:100%;
  max-width:none;
  margin:0 auto;
  font-size:clamp(2.3rem,9.7vw,3.1rem);
  line-height:1.04;
  letter-spacing:-.025em;
  text-align:center;
}

.purpose-page .purpose-closing h2 span{
  display:block;
  white-space:nowrap;
}

.purpose-page .purpose-closing h2 span + span{
  margin-top:5px;
}

.purpose-page .purpose-closing__legacy{
  margin-top:30px;
}

.purpose-page .purpose-closing__legacy p{
  font-size:1.08rem;
  line-height:1.5;
}

.purpose-page .purpose-closing__copy{
  margin-top:24px;
  padding-inline:2px;
  font-size:.94rem;
  line-height:1.72;
}

.purpose-page .purpose-closing__script{
  margin:27px 0 30px;
  font-size:clamp(2.8rem,12vw,3.8rem);
  line-height:.9;
}

.purpose-page .purpose-closing__button{
  width:min(100%,280px);
}

/* Shared observer owns entry motion. */

.purpose-page .purpose-reveal{
  animation:none;
}

}

/* =========================================================
   DAISY'S DOG HOUSE
   MOBILE FIXES
   SECTION 7 — CONTACT
========================================================= */

@media (max-width:700px){

/* =========================================================
   CONTACT HERO
========================================================= */

.contact-page .contact-hero{
  position:relative;
  min-height:0;
  display:block;
  overflow:visible;
  padding:0;
  isolation:isolate;
}

.contact-page .contact-hero__image{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
}

.contact-page .contact-hero__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.contact-page .contact-hero__overlay{
  position:absolute;
  inset:0 0 auto;
  width:100%;
  aspect-ratio:16 / 9;
  background:
    linear-gradient(
      90deg,
      rgba(34,26,32,.68) 0%,
      rgba(34,26,32,.38) 48%,
      rgba(34,26,32,.06) 82%
    );
  pointer-events:none;
}

.contact-page .contact-hero__content{
  position:static;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.contact-page .contact-hero__headline{
  position:absolute;
  inset:0 0 auto;
  width:100%;
  aspect-ratio:16 / 9;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:25px 20px 18px;
  z-index:3;
}

.contact-page .contact-hero .contact-eyebrow{
  margin:0 0 10px;
  color:#f5e7eb;
  font-size:.56rem;
  letter-spacing:.17em;
}

.contact-page .contact-hero h1{
  width:min(62%,300px);
  margin:0;
  color:#fff;
  font-size:clamp(2.25rem,9.5vw,3.1rem);
  line-height:.9;
}

.contact-page .contact-hero__title-script{
  display:block;
  margin-top:14px;
  font-size:.68em;
  line-height:.88;
}

.contact-page .contact-hero__details{
  width:100%;
  margin-top:-1px;
  padding:30px 20px 48px;
  background:
    linear-gradient(
      180deg,
      #eee4e7 0%,
      #faf8f6 100%
    );
}

.contact-page .contact-hero__copy{
  margin:0;
  color:#5b5559;
  font-size:.95rem;
  line-height:1.72;
}

.contact-page .contact-hero__actions{
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:26px;
}

.contact-page .contact-hero__actions .button{
  width:100%;
}

/* =========================================================
   CONTACT OPTIONS
========================================================= */

.contact-page .contact-options{
  padding:80px 0;
}

.contact-page .contact-options__grid{
  grid-template-columns:1fr;
  gap:18px;
}

.contact-page .contact-option{
  width:100%;
  padding:22px;
  border-radius:24px;
}

.contact-page .contact-option__icon{
  width:58px;
  height:58px;
}

.contact-page .contact-option h3{
  font-size:1.5rem;
}

.contact-page .contact-option p{
  font-size:.93rem;
  line-height:1.68;
}

/* =========================================================
   ARRIVAL SECTION
========================================================= */

.contact-page .contact-arrival{
  padding:80px 0;
}

.contact-page .contact-arrival__grid{
  grid-template-columns:1fr;
  gap:16px;
}

.contact-page .contact-arrival__item{
  width:100%;
  padding:22px 20px;
  border-radius:22px;
}

.contact-page .contact-arrival__item h3{
  font-size:1.35rem;
}

.contact-page .contact-arrival__item p{
  font-size:.92rem;
  line-height:1.65;
}

/* =========================================================
   CONTACT CTA
========================================================= */

.contact-page .contact-cta{
  min-height:0;
  padding:80px 0;
}

.contact-page .contact-cta__inner{
  grid-template-columns:1fr;
  gap:34px;
}

.contact-page .contact-cta__content{
  width:100%;
  max-width:none;
  text-align:center;
}

.contact-page .contact-cta h2{
  max-width:100%;
  margin-inline:auto;
  font-size:clamp(2.8rem,11.7vw,3.75rem);
  line-height:1;
}

.contact-page .contact-cta p{
  max-width:100%;
  margin-inline:auto;
  font-size:.94rem;
  line-height:1.7;
}

.contact-page .contact-cta .button{
  width:100%;
  max-width:360px;
}

/* Shared observer owns entry motion. */

.contact-page .contact-reveal{
  animation:none;
}

}