:root{
  --cream:#fff4e8;
  --cream-2:#f7e8d7;
  --cream-3:#f3dcc5;
  --coral:#dc7767;
  --coral-dark:#c85f52;
  --navy:#173252;
  --blue:#3e73b8;
  --lavender:#9a7bc9;
  --lavender-soft:#d7c2ef;
  --text:#173252;
  --muted:#5f6b78;
  --white:#fffaf5;
  --line:rgba(23,50,82,.12);
  --shadow:0 26px 80px rgba(90,58,31,.12);
  --soft-shadow:0 18px 45px rgba(90,58,31,.09);
  --radius-xl:42px;
  --radius-lg:24px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  min-height:100vh;
  font-family:"Inter",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 8% 5%, rgba(255,255,255,.9), transparent 18%),
    radial-gradient(circle at 92% 20%, rgba(215,194,239,.22), transparent 18%),
    linear-gradient(180deg,#fff8ef 0%, #faead9 42%, #fff4e8 100%);
  overflow-x:hidden;
}

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

a{
  color:inherit;
}

.page-shell{
  position:relative;
  z-index:3;
  width:min(1440px,100%);
  margin:0 auto;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,246,236,.45),rgba(255,250,245,.74));
  border-radius:0 0 28px 28px;
}

.site-header{
  position:absolute;
  z-index:20;
  top:0;
  left:0;
  right:0;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:24px;
  padding:28px 66px;
}

.brand img{
  width:136px;
  height:136px;
  object-fit:contain;
}

.site-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:38px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.site-nav a{
  position:relative;
  text-decoration:none;
}

.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-10px;
  width:100%;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--coral);
  transition:transform .3s var(--ease);
}

.site-nav a:hover::after,
.site-nav a.active::after{
  transform:scaleX(1);
}

.book-btn,
.ghost-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 28px;
  border-radius:10px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
}

.book-btn{
  color:white;
  background:linear-gradient(135deg,var(--coral),var(--coral-dark));
  box-shadow:0 14px 34px rgba(220,119,103,.25);
}

.book-btn:hover,
.ghost-btn:hover{
  transform:translateY(-3px);
}

.ghost-btn{
  color:var(--navy);
  background:rgba(255,250,245,.55);
  border:1px solid rgba(23,50,82,.22);
  backdrop-filter:blur(8px);
}

.small-btn{
  min-height:44px;
  padding:13px 22px;
}

/* Animated preview-style bubbles and decor */
.bubble-field{
  position:fixed;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

.bubble{
  position:absolute;
  display:block;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.96), rgba(255,255,255,.32) 32%, rgba(204,222,239,.15) 64%, rgba(255,255,255,0) 72%);
  border:1px solid rgba(255,255,255,.54);
  box-shadow:
    inset 14px 18px 32px rgba(255,255,255,.45),
    0 8px 24px rgba(23,50,82,.06);
  opacity:.78;
  animation:bubbleDrift 18s ease-in-out infinite;
}

.bubble-one{width:98px;height:98px;top:92px;left:43%;}
.bubble-two{width:70px;height:70px;top:180px;right:7%;animation-delay:2s;}
.bubble-three{width:58px;height:58px;top:345px;left:39%;animation-delay:4s;}
.bubble-four{width:110px;height:110px;top:53%;left:5%;animation-delay:6s;}
.bubble-five{width:78px;height:78px;bottom:14%;right:8%;animation-delay:8s;}
.bubble-six{width:46px;height:46px;bottom:38%;left:32%;animation-delay:3s;}

.paw-print{
  position:absolute;
  width:68px;
  height:68px;
  opacity:.13;
  transform:rotate(-12deg);
}

.paw-print::before{
  content:"🐾";
  font-size:58px;
  color:#b28c6a;
}

.paw-one{top:43%;right:3%;}
.paw-two{bottom:18%;right:5%;animation:pawFloat 12s ease-in-out infinite;}

.botanical{
  position:absolute;
  width:116px;
  height:210px;
  opacity:.75;
}

.botanical::before{
  content:"";
  position:absolute;
  left:55px;
  top:0;
  width:4px;
  height:205px;
  border-radius:999px;
  background:linear-gradient(var(--lavender),rgba(154,123,201,.15));
  transform:rotate(24deg);
}

.botanical::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 45% 14%, var(--lavender) 0 8px, transparent 9px),
    radial-gradient(ellipse at 28% 28%, var(--lavender) 0 8px, transparent 9px),
    radial-gradient(ellipse at 60% 40%, var(--lavender) 0 8px, transparent 9px),
    radial-gradient(ellipse at 36% 55%, #d99298 0 8px, transparent 9px),
    radial-gradient(ellipse at 68% 70%, var(--lavender) 0 8px, transparent 9px);
}

.botanical-one{right:50px;top:330px;}
.botanical-two{left:-10px;bottom:100px;transform:scale(1.15) rotate(-8deg);}

/* Hero */
.hero-section{
  position:relative;
  min-height:900px;
  padding:205px 70px 220px;
  background:
    linear-gradient(90deg,rgba(255,244,232,.86),rgba(255,244,232,.64)),
    url("assets/hero/warm-studio-bg.jpg") center/cover no-repeat;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 74% 40%, rgba(255,255,255,.28), transparent 28%),
    radial-gradient(circle at 15% 35%, rgba(255,245,235,.62), transparent 24%);
}

.hero-content{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(450px,680px);
  align-items:center;
  gap:50px;
}

.eyebrow{
  margin-bottom:24px;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--navy);
}

h1,
h2,
h3{
  font-family:"Cormorant Garamond",serif;
  line-height:1.02;
  letter-spacing:-.035em;
}

.hero-copy h1{
  font-size:clamp(4.5rem,8vw,7.6rem);
  color:var(--navy);
}

.hero-copy h1 span{
  color:var(--blue);
}

.hero-copy h1 em{
  color:var(--lavender);
  font-style:normal;
}

.hero-text{
  max-width:390px;
  margin-top:28px;
  color:#173252;
  font-size:1.25rem;
  line-height:1.65;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:34px;
}

.story-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.story-link span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  color:var(--coral);
  border-radius:50%;
  background:rgba(255,250,245,.84);
  box-shadow:0 10px 25px rgba(90,58,31,.12);
}

.hero-dog{
  position:relative;
  min-height:610px;
  display:grid;
  place-items:center;
}

.hero-ring{
  position:absolute;
  width:min(580px,90%);
  aspect-ratio:1;
  border:4px solid rgba(76,62,68,.65);
  border-bottom-color:rgba(255,255,255,.35);
  border-radius:50%;
  clip-path:polygon(0 0,100% 0,100% 83%,0 83%);
}

.hero-dog img{
  position:relative;
  z-index:3;
  width:min(520px,86%);
  height:min(580px,86%);
  object-fit:cover;
  border-radius:48% 48% 42% 42%;
  filter:drop-shadow(0 22px 35px rgba(90,58,31,.16));
}

.hero-leaf{
  position:absolute;
  z-index:4;
  width:115px;
  height:250px;
  bottom:40px;
}

.hero-leaf::before{
  content:"";
  position:absolute;
  left:48%;
  top:0;
  width:4px;
  height:240px;
  border-radius:999px;
  background:linear-gradient(var(--lavender),rgba(154,123,201,.10));
  transform:rotate(20deg);
}

.hero-leaf::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 45% 15%, var(--lavender) 0 11px, transparent 12px),
    radial-gradient(ellipse at 30% 30%, var(--lavender) 0 11px, transparent 12px),
    radial-gradient(ellipse at 66% 44%, var(--lavender) 0 11px, transparent 12px),
    radial-gradient(ellipse at 38% 62%, var(--lavender) 0 11px, transparent 12px),
    radial-gradient(ellipse at 70% 78%, var(--lavender) 0 11px, transparent 12px);
}

.left-leaf{left:20px;transform:rotate(-10deg);}
.right-leaf{right:5px;transform:scaleX(-1) rotate(-8deg);}

.wave-divider{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:-1px;
  height:180px;
  pointer-events:none;
}

.wave-divider svg{
  width:100%;
  height:100%;
  display:block;
}

.wave-divider path{
  fill:rgba(255,248,239,.94);
}

.wave-divider .wave-soft{
  fill:rgba(243,220,197,.48);
}

/* Feature row */
.feature-row{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:48px 110px 68px;
  background:linear-gradient(180deg,rgba(255,248,239,.96),rgba(255,246,238,.84));
}

.feature-item{
  position:relative;
  text-align:center;
  padding:0 34px;
}

.feature-item:not(:last-child){
  border-right:1px solid rgba(23,50,82,.12);
}

.feature-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 18px;
  border-radius:50%;
  border:1px solid rgba(220,119,103,.35);
  background:rgba(255,240,226,.78);
  color:var(--coral);
}

.feature-icon::before{
  font-size:28px;
  font-weight:800;
}

.heart-icon::before{content:"♥";}
.leaf-icon::before{content:"♧";}
.paw-icon::before{content:"●";}
.star-icon::before{content:"☆";}

.feature-item h3{
  margin-bottom:8px;
  font-family:"Inter",sans-serif;
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.01em;
}

.feature-item p{
  color:#173252;
  font-size:.95rem;
  line-height:1.6;
}

/* Care */
.care-section{
  position:relative;
  z-index:4;
  padding:40px 96px 80px;
  background:linear-gradient(180deg,rgba(255,246,238,.84),rgba(255,248,240,.9));
}

.care-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  gap:85px;
  align-items:center;
}

.care-image img{
  width:100%;
  aspect-ratio:1.55/1;
  object-fit:cover;
  border-radius:24px;
  box-shadow:var(--shadow);
}

.care-copy{
  position:relative;
}

.mini-heart{
  color:var(--coral);
  font-size:1.2rem;
  margin-bottom:14px;
}

.care-copy h2{
  color:var(--navy);
  font-size:clamp(2.7rem,4.5vw,4.2rem);
  margin-bottom:24px;
}

.care-copy p:not(.mini-heart){
  max-width:430px;
  margin-bottom:30px;
  color:#173252;
  font-size:1.08rem;
  line-height:1.75;
}

.section-sprig{
  position:absolute;
  right:20px;
  bottom:0;
  width:110px;
  height:210px;
  opacity:.82;
}

.section-sprig::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:4px;
  height:210px;
  background:linear-gradient(var(--lavender),transparent);
  transform:rotate(38deg);
}

.section-sprig::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 42% 18%, var(--lavender) 0 10px, transparent 11px),
    radial-gradient(ellipse at 28% 34%, var(--lavender) 0 10px, transparent 11px),
    radial-gradient(ellipse at 64% 48%, var(--lavender) 0 10px, transparent 11px),
    radial-gradient(ellipse at 36% 66%, var(--lavender) 0 10px, transparent 11px);
}

/* Services */
.services-section{
  position:relative;
  z-index:4;
  padding:20px 70px 80px;
  background:linear-gradient(180deg,rgba(255,248,240,.9),rgba(255,245,236,.96));
}

.section-title{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  margin-bottom:30px;
  text-align:center;
}

.section-title h2{
  color:var(--navy);
  font-size:2.6rem;
}

.section-title span{
  width:70px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--coral),transparent);
}

.services-carousel{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}

.service-card{
  padding:20px;
  border-radius:18px;
  background:rgba(255,250,245,.8);
  box-shadow:var(--soft-shadow);
  border:1px solid rgba(90,58,31,.08);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}

.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 58px rgba(90,58,31,.14);
}

.service-symbol{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:12px;
  border-radius:50%;
  background:rgba(215,194,239,.4);
  color:var(--lavender);
  font-size:1.1rem;
}

.service-card h3{
  margin-bottom:8px;
  font-family:"Inter",sans-serif;
  font-size:1rem;
  font-weight:800;
}

.service-card p{
  min-height:76px;
  color:#173252;
  font-size:.88rem;
  line-height:1.55;
}

.service-card img{
  width:100%;
  aspect-ratio:1.35/1;
  object-fit:cover;
  margin-top:14px;
  border-radius:14px;
}

.view-all{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  width:max-content;
  margin:32px auto 0;
  color:var(--lavender);
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
}

/* Reviews */
.reviews-section{
  position:relative;
  z-index:4;
  padding:0 42px 62px;
  background:linear-gradient(180deg,rgba(255,245,236,.96),rgba(255,242,231,.96));
}

.reviews-panel{
  max-width:1320px;
  margin:0 auto;
  padding:48px 78px 42px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(255,250,245,.82),rgba(255,240,226,.68));
  box-shadow:0 20px 70px rgba(90,58,31,.08);
}

.reviews-heading{
  text-align:center;
  margin-bottom:34px;
}

.reviews-heading h2{
  color:var(--navy);
  font-size:2.6rem;
}

.reviews-heading h2 span{
  color:var(--coral);
}

.reviews-heading p{
  margin-top:12px;
  color:var(--navy);
}

.reviews-heading strong,
.review-cards strong{
  color:#d28a00;
  letter-spacing:.1em;
}

.review-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:42px;
}

.review-cards article{
  min-height:180px;
  padding:30px;
  border-radius:18px;
  background:rgba(255,250,245,.78);
  box-shadow:var(--soft-shadow);
}

.review-cards p{
  margin:16px 0 18px;
  color:#173252;
  font-size:.98rem;
  line-height:1.7;
}

.review-cards span{
  font-weight:800;
}

.slider-dots{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:30px;
}

.slider-dots span{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#e8cbb8;
}

.slider-dots .active{
  background:var(--coral);
}

/* CTA */
.bottom-cta{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  margin:0 52px 50px;
  padding:34px 52px;
  border-radius:28px;
  background:linear-gradient(90deg,rgba(215,194,239,.35),rgba(255,250,245,.86),rgba(215,194,239,.35));
  box-shadow:var(--soft-shadow);
}

.cta-paw{
  font-size:2.3rem;
  color:var(--lavender);
}

.bottom-cta h2{
  color:var(--navy);
  font-size:2rem;
}

.bottom-cta p{
  color:#173252;
}

.cta-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  color:#173252;
  font-size:.8rem;
  text-align:center;
}

.cta-meta span{
  padding:0 12px;
}

/* Reveal + motion */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s var(--ease), transform .75s var(--ease);
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

.delay-one{
  transition-delay:.15s;
}

@keyframes bubbleDrift{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  38%{transform:translate3d(10px,-24px,0) scale(1.05);}
  70%{transform:translate3d(-8px,12px,0) scale(.98);}
}

@keyframes pawFloat{
  0%,100%{transform:translateY(0) rotate(-12deg);}
  50%{transform:translateY(-18px) rotate(4deg);}
}

/* Responsive */
@media(max-width:1100px){
  .site-header{
    grid-template-columns:auto 1fr auto;
    padding:22px 28px;
  }

  .brand img{
    width:100px;
    height:100px;
  }

  .site-nav{
    gap:18px;
  }

  .hero-section{
    padding:165px 34px 180px;
  }

  .hero-content,
  .care-grid{
    grid-template-columns:1fr;
  }

  .hero-dog{
    min-height:500px;
  }

  .feature-row,
  .services-carousel,
  .review-cards{
    grid-template-columns:repeat(2,1fr);
  }

  .bottom-cta{
    grid-template-columns:1fr;
    text-align:center;
  }
}

@media(max-width:760px){
  .page-shell{
    border-radius:0;
  }

  .site-header{
    position:relative;
    grid-template-columns:1fr auto;
    background:rgba(255,248,239,.88);
  }

  .site-nav{
    display:none;
  }

  .brand img{
    width:84px;
    height:84px;
  }

  .book-btn,
  .ghost-btn{
    min-height:46px;
    padding:13px 18px;
  }

  .hero-section{
    min-height:auto;
    padding:42px 22px 145px;
  }

  .hero-content{
    gap:28px;
  }

  .hero-copy h1{
    font-size:clamp(3.6rem,16vw,5.4rem);
  }

  .hero-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .story-link{
    justify-content:center;
  }

  .hero-dog{
    min-height:390px;
  }

  .hero-dog img{
    width:88%;
    height:auto;
  }

  .hero-leaf{
    transform:scale(.72);
  }

  .feature-row,
  .services-carousel,
  .review-cards{
    grid-template-columns:1fr;
  }

  .feature-row{
    padding:36px 26px 54px;
  }

  .feature-item{
    padding:24px 10px;
  }

  .feature-item:not(:last-child){
    border-right:0;
    border-bottom:1px solid rgba(23,50,82,.1);
  }

  .care-section,
  .services-section{
    padding-left:24px;
    padding-right:24px;
  }

  .reviews-section{
    padding-left:18px;
    padding-right:18px;
  }

  .reviews-panel{
    padding:36px 22px;
  }

  .bottom-cta{
    margin:0 18px 28px;
    padding:30px 22px;
  }

  .cta-meta{
    grid-template-columns:1fr;
  }

  .botanical,
  .paw-print{
    display:none;
  }

  .bubble{
    opacity:.35;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }

  .reveal{
    opacity:1!important;
    transform:none!important;
  }
}


/* PREMIUM GALLERY */
.premium-gallery{
  padding: 5rem 0 2rem;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  margin-top:2rem;
}

.gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:#fff;
  box-shadow:0 18px 45px rgba(31,45,61,.08);
}

.gallery-card img{
  width:100%;
  display:block;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .6s ease;
}

.gallery-card:hover img{
  transform:scale(1.04);
}

@media (max-width:900px){
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .gallery-grid{
    grid-template-columns:1fr;
  }
}


/* PASS HONEY-38 — Clean Honey Hero Replacement */

.botanical,
.botanical-one,
.botanical-two,
.hero-leaf,
.left-leaf,
.right-leaf,
.section-sprig,
.hero-ring,
.removed-lavender{
  display:none!important;
}

.hero-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.hero-clean-atmosphere{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

.hero-content{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(360px, 1.05fr);
  align-items:center;
  gap:clamp(36px, 5vw, 72px);
  width:100%;
}

.hero-copy{
  position:relative;
  z-index:5;
  max-width:650px;
  min-width:0;
}

.hero-dog{
  position:relative;
  z-index:4;
  min-width:0;
  display:grid;
  place-items:center;
  min-height:clamp(420px, 48vw, 620px);
  overflow:visible;
}

.hero-dog img{
  position:relative;
  z-index:4;
  width:min(520px, 88%);
  max-width:520px;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:48% 48% 42% 42%;
  box-shadow:
    0 28px 70px rgba(90,58,31,.16),
    0 0 0 18px rgba(255,255,255,.34);
  filter:drop-shadow(0 20px 38px rgba(90,58,31,.13));
}

@media (min-width:1280px){
  .hero-dog img{
    max-width:560px;
  }
}

.hero-clean-bubble{
  position:absolute;
  display:block;
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 22%,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.76) 20%,
      rgba(203,231,248,.36) 48%,
      rgba(255,255,255,.14) 66%,
      rgba(255,255,255,0) 76%);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:
    inset 16px 20px 34px rgba(255,255,255,.48),
    0 16px 44px rgba(63,88,118,.10);
  opacity:.58;
  will-change:transform, opacity;
  animation:honeyHeroBubbleFloat 16s ease-in-out infinite;
}

.hero-clean-bubble::after{
  content:"";
  position:absolute;
  width:24%;
  height:24%;
  top:21%;
  left:24%;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  filter:blur(2px);
}

.hero-clean-bubble-one{width:160px;height:160px;right:8%;top:15%;animation-duration:19s;}
.hero-clean-bubble-two{width:88px;height:88px;right:38%;top:12%;opacity:.42;animation-duration:13s;animation-delay:1.5s;}
.hero-clean-bubble-three{width:118px;height:118px;right:3%;bottom:23%;opacity:.44;animation-duration:18s;animation-delay:2.4s;}
.hero-clean-bubble-four{width:58px;height:58px;left:48%;bottom:25%;opacity:.28;animation-duration:11s;animation-delay:3s;}

.hero-clean-glow{
  position:absolute;
  right:8%;
  top:19%;
  width:min(620px, 55vw);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.46) 0%,
      rgba(222,237,249,.20) 42%,
      rgba(255,255,255,0) 72%);
  filter:blur(20px);
  opacity:.90;
}

@keyframes honeyHeroBubbleFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:var(--hero-bubble-opacity,.52);}
  35%{transform:translate3d(22px,-28px,0) scale(1.05);opacity:calc(var(--hero-bubble-opacity,.52) + .09);}
  70%{transform:translate3d(-16px,14px,0) scale(.98);opacity:calc(var(--hero-bubble-opacity,.52) - .03);}
}

.hero-clean-bubble-one{--hero-bubble-opacity:.56;}
.hero-clean-bubble-two{--hero-bubble-opacity:.40;}
.hero-clean-bubble-three{--hero-bubble-opacity:.42;}
.hero-clean-bubble-four{--hero-bubble-opacity:.27;}

.hero-copy,
.hero-actions,
.hero-text,
.hero-dog{
  max-width:100%;
}

@media(max-width:1100px){
  .hero-content{
    grid-template-columns:1fr;
    text-align:left;
  }

  .hero-dog{
    min-height:420px;
  }

  .hero-dog img{
    width:min(480px, 88vw);
    max-width:480px;
  }

  .hero-clean-glow{
    right:50%;
    transform:translateX(50%);
    top:auto;
    bottom:8%;
    width:min(560px, 88vw);
  }

  .hero-clean-bubble-one{right:8%;top:48%;}
  .hero-clean-bubble-two{right:68%;top:50%;}
  .hero-clean-bubble-three{right:12%;bottom:18%;}
  .hero-clean-bubble-four{left:12%;bottom:14%;}
}

@media(max-width:760px){
  .hero-section{
    padding-left:22px;
    padding-right:22px;
  }

  .hero-dog{
    min-height:360px;
  }

  .hero-dog img{
    width:min(92vw, 430px);
    max-width:430px;
    box-shadow:
      0 22px 54px rgba(90,58,31,.13),
      0 0 0 12px rgba(255,255,255,.30);
  }

  .hero-clean-bubble-one,
  .hero-clean-bubble-three{
    display:none;
  }

  .hero-clean-bubble{
    opacity:.28;
    animation-duration:18s!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-clean-bubble{
    animation:none!important;
  }
}


/* PASS HONEY-40 — Flow Order + Hero Balance Refinement */

/* Keep the clean hero portrait controlled and right-side focused */
.hero-dog{
  justify-self:center;
}

.hero-dog img{
  max-width:500px;
  object-position:center;
}

/* Keep hero visual strong without overpowering the headline */
@media (min-width:1280px){
  .hero-dog img{
    max-width:530px;
  }
}

/* Prevent hero atmosphere from drifting into the text column */
.hero-clean-bubble-two{
  right:34%;
  top:13%;
  opacity:.34;
}

.hero-clean-bubble-four{
  left:54%;
  bottom:23%;
  opacity:.22;
}

/* Keep the dog visual comfortably sized on tablets/mobile */
@media(max-width:1100px){
  .hero-dog{
    justify-self:center;
  }

  .hero-dog img{
    width:min(450px, 86vw);
    max-width:450px;
  }
}

@media(max-width:760px){
  .hero-dog img{
    width:min(90vw, 410px);
    max-width:410px;
  }
}


/* PASS HONEY-42 — Gallery Placement + Spacing Repair */

/* Repair Gallery after moving it before Reviews */
.premium-gallery{
  position:relative;
  z-index:4;
  width:100%;
  padding:3rem 0 4.5rem;
  margin:0;
  background:linear-gradient(180deg, rgba(255,245,236,.96), rgba(255,248,240,.94));
  overflow:hidden;
}

/* Keep gallery title and grid inside the same content rhythm */
.premium-gallery .section-heading,
.premium-gallery .gallery-grid{
  width:min(calc(100% - 48px), 1180px);
  margin-left:auto;
  margin-right:auto;
}

/* Fix off-screen heading and restore clean section intro alignment */
.premium-gallery .section-heading{
  text-align:center;
  margin-bottom:2rem;
}

.premium-gallery .section-heading .eyebrow{
  display:block;
  margin:0 0 .75rem;
  text-align:center;
}

.premium-gallery .section-heading h2{
  max-width:760px;
  margin:0 auto;
  color:var(--navy);
  font-size:clamp(2.2rem, 4vw, 3.6rem);
  line-height:1.05;
}

/* Remove oversized inherited gap from the prior after-CTA placement */
.services-section{
  padding-bottom:3.5rem;
}

.services-section .view-all{
  margin-top:2rem;
  margin-bottom:0;
}

/* Keep gallery grid close enough to heading but still premium */
.premium-gallery .gallery-grid{
  margin-top:2rem;
}

/* Ensure Reviews follows naturally after Gallery */
.reviews-section{
  padding-top:3.5rem;
}

/* Mobile gallery rhythm */
@media(max-width:760px){
  .premium-gallery{
    padding:2.75rem 0 3.5rem;
  }

  .premium-gallery .section-heading,
  .premium-gallery .gallery-grid{
    width:min(calc(100% - 36px), 1180px);
  }

  .premium-gallery .section-heading{
    margin-bottom:1.5rem;
  }

  .premium-gallery .gallery-grid{
    margin-top:1.5rem;
  }

  .services-section{
    padding-bottom:2.75rem;
  }

  .reviews-section{
    padding-top:2.75rem;
  }
}


/* PASS HONEY-44 — Section Spacing Rhythm Refinement */

/* Create calmer premium breathing room between major sections */
.feature-row{
  padding-top:clamp(3.25rem, 5vw, 5rem);
  padding-bottom:clamp(3.75rem, 6vw, 5.75rem);
}

.care-section{
  padding-top:clamp(5.25rem, 8vw, 8rem);
  padding-bottom:clamp(5.25rem, 8vw, 8rem);
}

.services-section{
  padding-top:clamp(5.25rem, 8vw, 8rem);
  padding-bottom:clamp(5rem, 7vw, 7.25rem);
}

.premium-gallery{
  padding-top:clamp(4.75rem, 7vw, 7rem);
  padding-bottom:clamp(5.25rem, 8vw, 8rem);
}

.reviews-section{
  padding-top:clamp(5.25rem, 8vw, 8rem);
  padding-bottom:clamp(5.25rem, 8vw, 8rem);
}

.bottom-cta{
  margin-top:clamp(2rem, 4vw, 4rem);
}

/* Keep internal section content from feeling detached after spacing expansion */
.services-section .view-all{
  margin-top:2.5rem;
}

.premium-gallery .section-heading{
  margin-bottom:clamp(2rem, 4vw, 3rem);
}

.premium-gallery .gallery-grid{
  margin-top:clamp(2rem, 4vw, 3rem);
}

/* Mobile: premium but not stretched */
@media(max-width:760px){
  .feature-row{
    padding-top:3rem;
    padding-bottom:3.25rem;
  }

  .care-section,
  .services-section,
  .premium-gallery,
  .reviews-section{
    padding-top:3.75rem;
    padding-bottom:3.75rem;
  }

  .bottom-cta{
    margin-top:2rem;
  }

  .services-section .view-all{
    margin-top:2rem;
  }

  .premium-gallery .section-heading{
    margin-bottom:1.75rem;
  }

  .premium-gallery .gallery-grid{
    margin-top:1.75rem;
  }
}


/* PASS JC-HONEY-BACK-2 — Back to JC Websites Button */
.jc-demo-return{
  position:fixed;
  top:18px;
  left:18px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 16px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#ffffff;
  background:rgba(17,24,39,.72);
  box-shadow:0 14px 34px rgba(15,23,42,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-family:inherit;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  transition:
    transform .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.jc-demo-return:hover,
.jc-demo-return:focus-visible{
  transform:translateY(-2px);
  background:rgba(17,24,39,.86);
  border-color:rgba(255,255,255,.36);
  box-shadow:0 18px 42px rgba(15,23,42,.24);
}

.jc-demo-return:focus-visible{
  outline:3px solid rgba(255,255,255,.64);
  outline-offset:3px;
}

@media(max-width:640px){
  .jc-demo-return{
    top:12px;
    left:12px;
    min-height:38px;
    padding:10px 13px;
    font-size:.64rem;
    letter-spacing:.07em;
  }
}
