:root{--pink:#FFB5C0;--deep:#f49baa;--pale:#fff1f3;--ink:#34262a;--muted:#78676b;--line:#ead9dc;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdfd;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.announcement{min-height:31px;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--pink);color:#52363c;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.announcement span{font-size:14px}.header{min-height:82px;padding:17px 6.5%;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#fffdfd}.brand{display:inline-flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.brand span{font-size:20px;font-weight:700;letter-spacing:.18em}.brand small{font-size:8px;letter-spacing:.42em;margin-left:.42em}.nav{display:flex;align-items:center;gap:clamp(16px,3vw,42px);font-size:12px;color:#67565a}.nav>a:not(.button):hover,.footer-links a:hover{color:#bb6474}.button{display:inline-flex;min-height:48px;padding:0 21px;align-items:center;justify-content:center;gap:12px;border:1px solid var(--pink);background:var(--pink);color:#38272b;font-size:11px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button-small{min-height:38px;padding:0 16px}.menu-toggle{display:none;border:0;background:transparent;font-size:22px;color:var(--ink)}.hero{min-height:570px;padding:60px 9%;display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:5%;background:linear-gradient(115deg,#fff7f8,#fff 60%,#ffedf0);overflow:hidden}.hero-copy{max-width:540px}.eyebrow{margin:0 0 19px;color:#986773;font-size:9px;font-weight:700;letter-spacing:.19em;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{margin-bottom:22px;font-size:clamp(54px,6.5vw,88px);line-height:.99}h1 em,h2 em{color:#c97787;font-weight:500}.intro{max-width:380px;color:var(--muted);font-size:13px;line-height:1.9}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.text-link{font-size:11px;font-weight:600}.values{margin-top:48px;color:#987780;font-size:8px;letter-spacing:.16em}.hero-visual{min-height:420px;position:relative;display:flex;justify-content:center;align-items:center}.photo-frame{position:relative;width:min(100%,390px);padding:11px;background:white;box-shadow:0 22px 60px #c98b951a;transform:rotate(1.5deg)}.photo-slot{min-height:285px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;text-align:center;background:linear-gradient(145deg,#f7cbd1,#fff1f3 60%,#f3d5d9);color:#77525a}.hero-photo{min-height:350px}.photo-heart{font-family:var(--serif);font-size:37px;color:#c97787}.photo-slot strong{max-width:230px;font-family:var(--serif);font-size:19px;font-weight:500}.photo-slot small{max-width:220px;color:#866d72;font-size:9px;line-height:1.6}.photo-caption{display:flex;justify-content:space-between;padding:12px 3px 2px;font-size:8px;letter-spacing:.16em;color:#82676d}.stamp{position:absolute;right:-5px;bottom:25px;width:86px;height:86px;border:5px solid #fff8f9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--pink);color:#5b3d43;font-size:7px;letter-spacing:.12em;transform:rotate(9deg)}.stamp b{font-family:var(--serif);font-size:25px;font-weight:500}.trust-strip{min-height:70px;display:flex;align-items:center;justify-content:center;gap:clamp(15px,5vw,65px);flex-wrap:wrap;padding:20px;border-block:1px solid #f5e8ea;color:#68545a;font-family:var(--serif);font-size:15px}.trust-strip i{color:#d18a97;font-style:normal;font-family:var(--sans)}.section{padding:95px 8.5%}.section-heading{max-width:590px;margin:0 auto 46px;text-align:center}.section-heading .eyebrow{margin-bottom:15px}h2{margin-bottom:18px;font-size:clamp(36px,4.5vw,56px);line-height:1.1}.section-heading>p:last-child{max-width:480px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}.service-card{min-height:260px;padding:24px 21px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line)}.service-card:last-child{border-right:0}.number{color:#b18b91;font-size:9px;letter-spacing:.13em}.flower{margin:20px 0 15px;color:#d68d9a;font-size:22px}.service-card h3{margin-bottom:10px;font-family:var(--serif);font-size:20px;font-weight:500}.service-card p{color:var(--muted);font-size:11px;line-height:1.8}.service-card>a{margin-top:auto;padding-top:12px;font-size:10px;font-weight:700}.service-card>a:hover{color:#bb6474}.note{text-align:center;margin:16px 0 0;color:#9a898d;font-size:9px}.gallery{padding:85px 8.5% 95px;background:var(--pale)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:37px}.gallery-heading .eyebrow{margin-bottom:12px}.gallery-heading h2{font-size:clamp(34px,4vw,49px);margin-bottom:0}.gallery-heading>p{max-width:270px;margin-bottom:5px;color:var(--muted);font-size:11px;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;align-items:start}.gallery-item:nth-child(2){margin-top:34px}.gallery-item:nth-child(3){margin-top:68px}.gallery-item>span{display:block;padding-top:13px;color:#725b61;font-family:var(--serif);font-size:15px}.gallery-item.tall .photo-slot{min-height:350px}.gallery-item .second{background:linear-gradient(145deg,#fbe0e4,#f3c4cc)}.gallery-item .third{background:linear-gradient(145deg,#f7d5da,#fff4f5)}.about{padding:95px 12%;display:grid;grid-template-columns:.7fr 1fr;align-items:center;gap:9%;background:#fff}.monogram{width:min(100%,260px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pink);color:#fff9fa;font-family:var(--serif);font-size:110px;box-shadow:inset 0 0 0 12px #ffffff40}.monogram span{margin:65px 0 0 -8px;color:#9f6470;font-size:38px}.about h2{font-size:clamp(36px,4.3vw,53px)}.about>div:last-child>p:not(.eyebrow){max-width:480px;margin-bottom:25px;color:var(--muted);font-size:12px;line-height:2}.cta{padding:82px 20px 88px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--pink)}.cta .eyebrow{color:#79545b;margin-bottom:15px}.cta h2{margin-bottom:26px;font-size:clamp(42px,5.5vw,66px)}.dark-button{border-color:var(--ink);background:var(--ink);color:white}.dark-button:hover{background:#523c42}.footer{display:flex;flex-direction:column;align-items:center;gap:17px;padding:39px 20px 27px;text-align:center}.footer .brand span{font-size:17px}.footer>p{margin:0;color:var(--muted);font-family:var(--serif);font-size:13px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:23px;font-size:10px;font-weight:600}.footer>small{margin-top:8px;color:#a39195;font-size:9px}
@media(max-width:900px){.hero{padding:50px 6%;gap:3%}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.about{padding:75px 8%;gap:6%}}
@media(max-width:650px){.header{min-height:72px;padding:14px 5%;position:relative}.brand span{font-size:16px}.brand small{font-size:7px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;z-index:5;top:100%;left:0;right:0;padding:18px 6% 22px;background:#fffdfd;box-shadow:0 12px 18px #34262a10;flex-direction:column;align-items:stretch;gap:18px}.nav.open{display:flex}.nav .button{align-self:flex-start}.hero{grid-template-columns:1fr;padding:48px 7% 40px}.hero-copy{max-width:none}h1{font-size:clamp(56px,16vw,76px)}.intro{font-size:12px}.values{margin-top:30px;font-size:7px}.hero-visual{min-height:340px;margin-top:15px}.photo-frame{max-width:330px}.hero-photo{min-height:285px}.stamp{right:max(calc((100vw - 330px)/2 - 14px),-3px);bottom:10px}.trust-strip{gap:12px;font-size:12px}.section{padding:70px 6%}.section-heading{margin-bottom:32px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:250px;padding:18px 14px}.service-card h3{font-size:18px}.service-card p{font-size:10px}.gallery{padding:68px 6%}.gallery-heading{display:block}.gallery-heading>p{margin-top:17px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item:nth-child(2),.gallery-item:nth-child(3){margin-top:0}.gallery-item.tall{grid-column:span 2}.gallery-item .photo-slot,.gallery-item.tall .photo-slot{min-height:225px}.gallery-item.tall .photo-slot{min-height:280px}.photo-slot strong{font-size:16px}.about{grid-template-columns:1fr;padding:70px 8%;gap:32px}.monogram{width:165px;margin:auto;font-size:80px}.monogram span{margin-top:48px;font-size:29px}.about h2{font-size:39px}.cta{padding:68px 6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Original Pawlished Groomers logo */
.brand-logo { display:inline-flex; align-items:center; justify-content:center; width:220px; flex:0 0 auto; }
.brand-logo img { display:block; width:100%; max-height:112px; height:auto; object-fit:contain; }
.footer-logo { width:180px; }
.reviews-section { padding:90px 8.5%; background:#fffdfd; }
.reviews-panel { max-width:650px; margin:0 auto; padding:42px 24px; border:1px solid var(--line); background:linear-gradient(145deg,#fff8f9,#fff); text-align:center; box-shadow:0 18px 50px #c98b9512; }
.reviews-stars { color:#d6a443; font-size:28px; letter-spacing:.12em; margin-bottom:15px; }
.reviews-note { color:var(--muted); font-size:12px; line-height:1.8; margin:0 auto 22px; max-width:420px; }
.reveal { animation: softRise .8s ease both; }
@keyframes softRise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media (max-width: 640px) {
  .brand-logo { width:150px; }
  .brand-logo img { max-height:82px; }
  .footer-logo { width:140px; }
  .reviews-section { padding:65px 6%; }
  .reviews-panel { padding:32px 18px; }
}

/* Real Pawlished Pup gallery images */
.image-slot { padding:0 !important; overflow:hidden; background:#fff3f5; display:block !important; min-height:285px; }
.image-slot img { display:block; width:100%; height:100%; min-height:285px; object-fit:cover; object-position:center; transition:transform .45s ease; }
.gallery-item:hover .image-slot img { transform:scale(1.035); }
.gallery-item.tall .image-slot, .gallery-item.tall .image-slot img { min-height:390px; }
.hero-photo.image-slot { min-height:350px; }
.hero-photo.image-slot img { min-height:350px; object-fit:cover; object-position:center 35%; }
.gallery-grid-real { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-grid-real .gallery-item:nth-child(2), .gallery-grid-real .gallery-item:nth-child(3) { margin-top:34px; }
.video-slot { min-height:285px; padding:0 !important; overflow:hidden; background:#fff3f5; }
.video-slot video { display:block; width:100%; min-height:285px; height:100%; object-fit:cover; }
@media(max-width:700px) { .gallery-grid-real { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .gallery-grid-real .gallery-item:nth-child(2), .gallery-grid-real .gallery-item:nth-child(3) { margin-top:0; } .gallery-item.tall .image-slot, .gallery-item.tall .image-slot img { min-height:280px; } .image-slot, .image-slot img, .video-slot, .video-slot video { min-height:230px; } }
@media(prefers-reduced-motion:reduce) { .gallery-item:hover .image-slot img { transform:none; } }

/* Brand logo in the Our Promise section */
/* Keep the complete logo visible: the wordmark extends below the circular illustration. */
.about-logo-wrap{position:relative;width:min(100%,430px);aspect-ratio:auto;display:flex;align-items:center;justify-content:center;margin:auto;background:transparent;border-radius:0;box-shadow:none;overflow:visible;padding:0;isolation:isolate}
.about-logo-wrap::before{content:"";position:absolute;z-index:-1;width:78%;aspect-ratio:1;left:50%;top:5%;transform:translateX(-50%);border-radius:50%;background:var(--pink);box-shadow:inset 0 0 0 12px #ffffff40}

.about-logo{display:block;position:relative;width:100%;height:auto;max-height:none;object-fit:contain;z-index:1}
/* Small blush pawprints that drift in whenever the page is scrolled */
.scroll-paw{position:fixed;z-index:1000;pointer-events:none;width:clamp(48px,6vw,76px);height:clamp(48px,6vw,76px);opacity:0;filter:drop-shadow(0 3px 5px #f06d8a45);animation:paw-drift 1.45s ease-out forwards}
@keyframes paw-drift{0%{opacity:0;transform:translateY(18px) rotate(-22deg) scale(.72)}18%{opacity:.92}100%{opacity:0;transform:translateY(-88px) rotate(18deg) scale(1.12)}}
@media(max-width:700px){.about-logo-wrap{width:min(92%,360px);padding:0}.about-logo-wrap::before{width:78%;top:5%}}
@media(prefers-reduced-motion:reduce){.scroll-paw{display:none!important}}

/* Colourful Google review feature banner with a gentle hover lift */
.review-banner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,4vw,52px);align-items:center;max-width:1120px;margin:0 auto;padding:clamp(20px,4vw,42px);border:1px solid #ffd2da;border-radius:26px;background:linear-gradient(125deg,#ffe1e7 0%,#fff0f3 46%,#fbd0dc 100%);box-shadow:0 18px 50px #d9778b20;transition:transform .28s ease,box-shadow .28s ease;position:relative;overflow:hidden}
.review-banner:before{content:"♡";position:absolute;right:44%;top:-36px;font-size:120px;line-height:1;color:#fff9;pointer-events:none}
.review-banner:hover,.review-banner:focus-visible{transform:translateY(-6px) scale(1.008);box-shadow:0 26px 60px #d9778b38;outline:none}
.review-banner-copy{position:relative;z-index:1}.review-kicker{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff9fb;color:#a84f67;font-size:9px;font-weight:800;letter-spacing:.18em}.review-banner-stars{margin:18px 0 10px;color:#d49b24;font-size:clamp(23px,3vw,32px);letter-spacing:.12em}.review-banner-copy h3{margin:0 0 15px;font-family:var(--serif);font-size:clamp(27px,3.2vw,42px);font-weight:500;line-height:1.1;letter-spacing:-.035em}.review-banner-copy p{margin:0 0 22px;color:#61464d;font-size:clamp(12px,1.2vw,14px);line-height:1.95}.review-signoff{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#91626e;font-size:10px;font-weight:700}.review-signoff span{color:#a64f67}.review-banner-image-wrap{position:relative;padding:9px;border-radius:15px;background:white;box-shadow:0 14px 30px #965c6826;transform:rotate(1deg);transition:transform .28s ease}.review-banner:hover .review-banner-image-wrap{transform:rotate(0deg) scale(1.015)}.review-banner-image-wrap img{display:block;width:100%;height:auto;border-radius:8px}.review-image-caption{display:block;padding:10px 4px 2px;color:#9c6a75;font-size:8px;letter-spacing:.16em;text-align:center}.reviews-bottom-link{margin-top:28px;text-align:center}
/* Larger, vivid pawprints drift in from the page edges so content stays readable */
.scroll-paw{z-index:20;width:clamp(82px,9vw,118px);height:clamp(82px,9vw,118px);opacity:0;filter:drop-shadow(0 5px 8px #e94f7b55);animation:paw-drift 1.8s ease-out forwards}
@keyframes paw-drift{0%{opacity:0;transform:translateY(24px) rotate(-24deg) scale(.7)}16%{opacity:.86}100%{opacity:0;transform:translateY(-96px) rotate(17deg) scale(1.08)}}
@media(max-width:700px){.review-banner{grid-template-columns:1fr;gap:24px;padding:20px;border-radius:20px}.review-banner:before{right:8%;top:8px;font-size:80px}.review-banner-copy p{font-size:12px}.review-banner-image-wrap{max-width:100%;transform:none}.review-signoff{font-size:9px}.scroll-paw{width:clamp(72px,17vw,96px);height:clamp(72px,17vw,96px)}}
@media(prefers-reduced-motion:reduce){.review-banner,.review-banner-image-wrap{transition:none!important}.review-banner:hover,.review-banner:focus-visible{transform:none}.scroll-paw{display:none!important}}

/* Make the main hero photo visibly pop on hover */
.hero-visual .photo-frame{transform:rotate(1.5deg) translateY(0) scale(1);transform-origin:center center;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease;box-shadow:0 22px 60px #c98b951a;will-change:transform;}
.hero-visual .photo-frame:hover,.hero-visual .photo-frame:focus-within{transform:rotate(0deg) translateY(-10px) scale(1.035);box-shadow:0 30px 72px #d9778b45;z-index:2;}
.hero-visual .hero-photo img{transition:transform .38s cubic-bezier(.2,.75,.25,1),filter .38s ease;}
.hero-visual .photo-frame:hover .hero-photo img,.hero-visual .photo-frame:focus-within .hero-photo img{transform:scale(1.045);filter:saturate(1.06);}
@media(hover:none){.hero-visual .photo-frame:hover{transform:rotate(1.5deg);box-shadow:0 22px 60px #c98b951a}.hero-visual .photo-frame:hover .hero-photo img{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.hero-visual .photo-frame,.hero-visual .hero-photo img{transition:none!important}.hero-visual .photo-frame:hover,.hero-visual .photo-frame:hover .hero-photo img{transform:none}}


/* Delicate pink bubble trail following the cursor on desktop */
.cursor-bubble{position:fixed;z-index:9999;pointer-events:none;border-radius:50%;border:1.5px solid #ff8eaa;background:radial-gradient(circle at 32% 28%,#fffdfd 0 10%,#ffd7e1 28%,#ff9fba55 70%,#ff8eaa22 100%);box-shadow:inset -2px -2px 4px #f56f9133,0 2px 7px #ed779733;animation:cursor-bubble-float .82s ease-out forwards;will-change:transform,opacity}
.cursor-bubble:after{content:"";position:absolute;left:23%;top:18%;width:24%;height:20%;border-radius:50%;background:#fff;opacity:.9;transform:rotate(-35deg)}
@keyframes cursor-bubble-float{0%{opacity:0;transform:translate3d(0,5px,0) scale(.45)}18%{opacity:.95}100%{opacity:0;transform:translate3d(var(--bubble-drift-x),var(--bubble-drift-y),0) scale(1.25)}}
@media(hover:none),(pointer:coarse){.cursor-bubble{display:none!important}}
@media(prefers-reduced-motion:reduce){.cursor-bubble{display:none!important;animation:none!important}}


/* Soft, premium fade-and-rise transitions as each homepage section enters view */
@media (prefers-reduced-motion: no-preference) {
  .scroll-reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
  .scroll-reveal.scroll-reveal-left { transform: translate3d(-22px, 16px, 0); }
  .scroll-reveal.scroll-reveal-right { transform: translate3d(22px, 16px, 0); }
  .scroll-reveal.is-visible { opacity: 1; transform: translate3d(0,0,0); }
}
@media (max-width: 650px) {
  .scroll-reveal.scroll-reveal-left, .scroll-reveal.scroll-reveal-right { transform: translate3d(0, 20px, 0); }
}
@media (prefers-reduced-motion: reduce) { .scroll-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* Service-card stock photography: controlled crop and consistent sizing */
.service-photo{width:100%;height:150px;margin:16px 0 0;overflow:hidden;background:#fff1f3;flex:0 0 auto}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:2px}.service-card .service-photo+.flower{margin-top:15px}
@media(max-width:650px){.service-photo{height:125px}}


/* Keep the full creative-grooming dog visible instead of cropping to the face */
.service-card:last-child .service-photo{height:190px;background:#fff1f3}
.service-card:last-child .service-photo img{object-fit:contain;object-position:center}
@media(max-width:650px){.service-card:last-child .service-photo{height:170px}}


/* Service photos and cards lift gently on hover, matching the hero interaction. */
.service-card{position:relative;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,background-color .32s ease;transform-origin:center center;}
.service-card .service-photo{position:relative;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease;}
.service-card .service-photo img{transition:transform .42s cubic-bezier(.2,.75,.25,1),filter .42s ease;}
@media (hover:hover) and (pointer:fine){
 .service-card:hover{transform:translateY(-7px);z-index:2;box-shadow:0 18px 34px rgba(196,104,127,.13);}
 .service-card:hover .service-photo{box-shadow:0 12px 24px rgba(196,104,127,.2);}
 .service-card:hover .service-photo img{transform:scale(1.07);filter:saturate(1.08) contrast(1.02);}
}
.service-card:focus-within .service-photo img{transform:scale(1.04);}
@media (hover:none),(pointer:coarse){.service-card:hover{transform:none;box-shadow:none}.service-card:hover .service-photo img{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card .service-photo,.service-card .service-photo img{transition:none!important}.service-card:hover{transform:none;box-shadow:none}.service-card:hover .service-photo img{transform:none;filter:none}}

/* Fix puppy page document scrolling: the background class is on body. */
body.puppy-page{overflow-x:clip;overflow-y:visible;min-height:100%;height:auto}

/* Puppy page: remove decorative background layers and allow normal document scrolling */
body.puppy-page {
  background-image: none !important;
  background-color: #fffafb;
  background-attachment: scroll;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  min-height: 100vh;
  position: static !important;
}
html:has(body.puppy-page) {
  overflow-y: auto !important;
  height: auto !important;
}
body.puppy-page main,
body.puppy-page .puppy-hero,
body.puppy-page .puppy-listings,
body.puppy-page footer {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}



/* Pawlished mobile refinement: lighter hero, clean controls, calmer decoration */
@media (max-width: 650px) {
  .announcement {
    min-height: 28px;
    padding: 6px 12px;
    text-align: center;
    font-size: 9px;
    letter-spacing: .1em;
  }
  .header {
    min-height: 64px;
    padding: 10px 5%;
    gap: 12px;
  }
  .brand-logo { width: 150px; }
  .brand-logo img { max-height: 78px; }
  .menu-toggle { padding: 8px; font-size: 24px; }
  .hero {
    min-height: auto;
    padding: 38px 6% 28px;
    gap: 12px;
    background: linear-gradient(145deg, #fff8f9 0%, #fffdfd 72%);
  }
  .eyebrow {
    margin-bottom: 12px;
    font-size: 8px;
    letter-spacing: .15em;
  }
  h1 {
    margin-bottom: 16px;
    font-size: clamp(46px, 13.2vw, 62px);
    line-height: .98;
    letter-spacing: -.055em;
    overflow-wrap: normal;
  }
  .intro {
    max-width: 34rem;
    font-size: 12px;
    line-height: 1.75;
  }
  .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 20px;
  }
  .hero-actions .button,
  .hero-actions .text-link {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    text-align: center;
    padding: 12px 14px;
  }
  .hero-actions .text-link {
    display: flex;
    align-items: center;
    border: 1px solid #ead9dc;
    background: rgba(255,255,255,.8);
  }
  .values {
    margin-top: 20px;
    font-size: 7px;
    letter-spacing: .11em;
    line-height: 1.8;
  }
  .hero-visual { min-height: 0; margin-top: 8px; }
  .photo-frame { max-width: 300px; padding: 8px; }
  .hero-photo { min-height: 230px; }
  .stamp { width: 68px; height: 68px; right: 0; bottom: 8px; border-width: 4px; }
  .stamp b { font-size: 20px; }
  .trust-strip { padding: 16px 12px; gap: 9px 14px; font-size: 11px; }
  .section { padding: 54px 5%; }
  .section-heading { margin-bottom: 26px; }
  .section-heading h2, .gallery-heading h2 { font-size: clamp(30px, 8vw, 40px); }
  .service-grid { grid-template-columns: 1fr; }
  .service-card,
  .service-card:nth-child(2) {
    min-height: 0;
    padding: 18px 16px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .service-card:last-child { border-bottom: 0; }
  .service-card .service-photo {
    height: 190px;
    margin-top: 12px;
    width: 100%;
  }
  .service-card:last-child .service-photo { height: 190px; }
  .service-card .flower { margin: 12px 0 8px; font-size: 17px; }
  .service-card h3 { margin-bottom: 8px; font-size: 21px; }
  .service-card p { margin-bottom: 8px; font-size: 12px; line-height: 1.7; }
  .service-card > a { padding-top: 8px; font-size: 11px; }
  .gallery { padding: 54px 5% 60px; }
  .gallery-heading { margin-bottom: 24px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .gallery-item .photo-slot, .gallery-item.tall .photo-slot { min-height: 180px; }
  .gallery-item.tall .photo-slot { min-height: 220px; }
  .gallery-item > span { font-size: 13px; }
  .about { padding: 54px 7%; gap: 24px; }
  .about h2 { font-size: clamp(31px, 8vw, 39px); }
  .cta { padding: 54px 6%; }
  .cta h2 { font-size: clamp(34px, 9vw, 46px); }
  .scroll-paw { display: none !important; }
  .cursor-bubble { display: none !important; }
  .scroll-reveal, .scroll-reveal.scroll-reveal-left, .scroll-reveal.scroll-reveal-right {
    transform: none;
  }
}
