/*
Theme Name: Ragyogó Otthon
Author: Ragyogó Otthon
Description: Reszponzív magyar takarítási szolgáltatói weboldal.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ragyogo-otthon
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap');

:root {
  --ink: #32182d;
  --muted: #7b6674;
  --pink: #f04c9c;
  --pink-dark: #d92f83;
  --rose: #ffb1d3;
  --pink-soft: #ffe1ef;
  --cream: #fff9fc;
  --lilac: #f3eaff;
  --line: rgba(104, 53, 88, .12);
  --shadow: 0 22px 70px rgba(151, 62, 111, .13);
  --font: 'DM Sans', 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); font-family: var(--font); background: var(--cream); overflow-x: hidden; }
body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 4% 16%, rgba(255, 216, 235, .48), transparent 26%), radial-gradient(circle at 95% 38%, rgba(243, 225, 255, .46), transparent 25%); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.topline { display: flex; min-height: 32px; justify-content: center; align-items: center; gap: 12px; background: #32182d; color: #ffe7f2; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.topline span { color: #ff93c4; animation: twinkle 2.1s ease-in-out infinite; }
.site-header { height: 82px; max-width: 1240px; margin: auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 10; }
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 47px; height: 47px; border-radius: 17px; display: grid; place-items: center; position: relative; color: #fff; background: linear-gradient(145deg, #ff8dbe, #ed4196); box-shadow: 0 8px 22px rgba(240, 76, 156, .32), inset 0 1px 0 rgba(255,255,255,.72); transform: rotate(-7deg); }
.brand-mark svg { width: 31px; height: 31px; filter: drop-shadow(0 1px 4px rgba(255,255,255,.42)); }
.mark-glint { position: absolute; top: 4px; right: 6px; font-size: 11px; color: #fffad4; animation: twinkle 1.6s ease-in-out infinite; }
.brand-copy { display: flex; flex-direction: column; gap: 2px; }
.brand-copy strong { font-size: 18px; letter-spacing: -.045em; line-height: 1.05; }
.brand-copy i { color: var(--pink); font-style: normal; }
.brand-copy small { color: var(--muted); font-size: 8px; letter-spacing: .18em; font-weight: 800; }
.main-nav { display: flex; align-items: center; gap: 31px; font-size: 12px; font-weight: 700; color: #624755; }
.main-nav a:not(.nav-cta) { transition: color .2s ease; }
.main-nav a:not(.nav-cta):hover { color: var(--pink-dark); }
.nav-cta { padding: 12px 18px; border: 1px solid rgba(240,76,156,.24); border-radius: 99px; color: var(--pink-dark); background: rgba(255,255,255,.74); box-shadow: 0 8px 20px rgba(217,47,131,.08); transition: transform .2s, box-shadow .2s; }
.nav-cta span { padding-left: 8px; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(217,47,131,.16); }
.menu-toggle { display: none; border: 0; background: transparent; }
.section-wrap { max-width: 1200px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.hero { min-height: 584px; padding-top: 58px; padding-bottom: 87px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; position: relative; }
.hero-copy { max-width: 570px; padding-bottom: 16px; position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: #b54d83; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 4px rgba(240,76,156,.13), 0 0 12px rgba(240,76,156,.52); }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin: 19px 0 20px; font-size: clamp(47px, 5.8vw, 74px); line-height: .99; letter-spacing: -.075em; font-weight: 800; }
.hero h1 span, .section-heading h2 span, .routine-intro h2 span { color: var(--pink); }
.hero-lede { max-width: 485px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 13px; margin-top: 29px; flex-wrap: wrap; }
.button { display: inline-flex; min-height: 48px; padding: 0 21px; align-items: center; justify-content: center; gap: 14px; border-radius: 999px; font-size: 12px; font-weight: 800; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.button span { font-size: 15px; transition: transform .22s ease; }
.button:hover { transform: translateY(-3px); }
.button:hover span { transform: translateX(3px); }
.button-primary { color: white; background: linear-gradient(105deg, #f34c9d, #db388a 68%, #c92b80); box-shadow: 0 12px 28px rgba(217,47,131,.24), inset 0 1px rgba(255,255,255,.28); animation: buttonGlow 3.2s ease-in-out infinite; }
.button-quiet { color: #754e67; background: rgba(255,255,255,.7); border: 1px solid var(--line); }
.play-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: white; background: #f79bc2; font-size: 8px !important; padding-left: 2px; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 35px; }
.proof-avatars { display: flex; padding-left: 3px; }
.proof-avatars span { width: 33px; height: 33px; display: grid; place-items: center; margin-left: -4px; border: 2px solid var(--cream); border-radius: 50%; background: #ffe2ef; font-size: 16px; }
.proof-avatars span:nth-child(2) { background: #f1eaff; }
.proof-avatars span:nth-child(3) { background: #fff2bf; }
.hero-proof p { margin: 0; color: #917b89; font-size: 10px; line-height: 1.55; }
.hero-proof strong { color: #664457; font-size: 11px; }
.hero-art { min-height: 435px; position: relative; display: grid; place-items: center; }
.hero-glow { position: absolute; width: 400px; height: 390px; top: 10px; right: 7%; border-radius: 48% 52% 41% 59% / 48% 43% 57% 52%; background: radial-gradient(ellipse at 40% 38%, #ffe7f2 0 30%, #f6eaff 67%, transparent 72%); transform: rotate(-9deg); }
.hero-photo-card { position: relative; width: min(365px, 82%); padding: 11px; border: 1px solid rgba(255,255,255,.85); border-radius: 25px; background: rgba(255,255,255,.67); box-shadow: 0 28px 65px rgba(107,48,84,.2), 0 0 0 1px rgba(245,101,167,.12); transform: rotate(3deg); z-index: 1; }
.comparison { --split: 54%; height: 300px; width: 100%; position: relative; overflow: hidden; isolation: isolate; border-radius: 17px; background: #e3ccd7; }
.comparison-before, .comparison-after img { position: absolute; width: 100%; height: 100%; inset: 0; display: block; object-fit: cover; object-position: center 54%; }
.comparison-before { filter: saturate(.88); }
.comparison-after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--split)); }
.comparison-after img { filter: saturate(1.07) contrast(1.03); }
.comparison-line { position: absolute; z-index: 2; top: 0; bottom: 0; left: var(--split); width: 2px; background: white; box-shadow: 0 0 13px rgba(255,255,255,.78), 0 0 0 1px rgba(227,67,144,.35); transform: translateX(-50%); pointer-events: none; }
.comparison-line span { position: absolute; top: 50%; left: 50%; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; color: var(--pink-dark); background: #fff; box-shadow: 0 4px 15px rgba(63,23,49,.24); font-size: 15px; font-weight: 800; transform: translate(-50%,-50%); }
.comparison input[type="range"] { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; z-index: 3; cursor: ew-resize; margin: 0; background: transparent; }
.comparison input[type="range"]::-webkit-slider-runnable-track { height: 100%; background: transparent; }
.comparison input[type="range"]::-webkit-slider-thumb { appearance: none; width: 40px; height: 100%; background: transparent; }
.comparison input[type="range"]::-moz-range-track { height: 100%; background: transparent; }
.comparison input[type="range"]::-moz-range-thumb { width: 40px; height: 100%; border: 0; border-radius: 0; background: transparent; }
.comparison:focus-within { outline: 3px solid rgba(240,76,156,.72); outline-offset: 4px; }
.photo-label { position: absolute; z-index: 2; top: 13px; padding: 6px 9px; border-radius: 99px; color: white; background: rgba(49,26,44,.62); backdrop-filter: blur(8px); font-size: 8px; font-weight: 800; letter-spacing: .12em; pointer-events: none; }
.label-before { left: 13px; }
.label-after { right: 13px; color: #812956; background: rgba(255,244,250,.86); }
.photo-caption { min-height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 3px 5px 0; color: #775467; font-size: 10px; font-weight: 700; }
.caption-sparkle { color: var(--pink); font-size: 20px; animation: twinkle 1.9s ease infinite; }
.hero-sticker { position: absolute; z-index: 3; display: flex; align-items: center; gap: 7px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.82); border-radius: 16px; background: rgba(255,255,255,.88); box-shadow: 0 12px 34px rgba(101,51,81,.16); animation: bob 4.1s ease-in-out infinite; }
.hero-sticker span { font-size: 24px; filter: drop-shadow(0 3px 6px rgba(229,77,152,.19)); }
.hero-sticker b { color: #704b62; font-size: 9px; line-height: 1.2; }
.sticker-bubble { top: 49px; left: 3%; transform: rotate(-7deg); }
.sticker-shine { right: 3%; bottom: 44px; animation-delay: -1.4s; transform: rotate(5deg); }
.hero-spray { position: absolute; right: 11%; top: 16px; font-size: 40px; filter: drop-shadow(0 7px 8px rgba(83,42,65,.16)); animation: bob 3.5s ease-in-out infinite reverse; }
.hero-star { position: absolute; color: #f397bf; text-shadow: 0 0 13px #ffd0e4; animation: twinkle 2s infinite; }
.star-one { top: 25%; right: 0; font-size: 21px; }
.star-two { bottom: 12%; left: 13%; font-size: 28px; animation-delay: -.8s; }
.scroll-cue { position: absolute; bottom: 25px; left: 32px; display: flex; align-items: center; gap: 10px; color: #a28e9b; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.scroll-cue span { position: relative; width: 18px; height: 26px; border: 1px solid #e8b6d0; border-radius: 99px; }
.scroll-cue span::after { content: ''; position: absolute; width: 3px; height: 5px; top: 4px; left: 7px; border-radius: 99px; background: var(--pink); animation: scrollNudge 1.4s infinite; }
.ticker { height: 42px; overflow: hidden; display: flex; align-items: center; color: #fff; background: linear-gradient(90deg, #dd3889, #f050a0 52%, #dc3988); box-shadow: 0 4px 14px rgba(195,42,117,.16); }
.ticker-track { min-width: max-content; display: flex; align-items: center; gap: 26px; padding-left: 20px; animation: marquee 28s linear infinite; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.ticker-track span:nth-of-type(2) { color: #ffe2b6; }
.services { padding-top: 106px; padding-bottom: 110px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 37px; }
.section-heading h2 { margin: 14px 0 0; font-size: clamp(35px, 4.3vw, 50px); line-height: 1.04; letter-spacing: -.065em; }
.section-heading > p { max-width: 355px; margin: 0 1px 3px 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.service-card { min-height: 236px; padding: 21px 20px; position: relative; overflow: hidden; border: 1px solid rgba(162,91,132,.1); border-radius: 19px; background: rgba(255,255,255,.76); box-shadow: 0 11px 30px rgba(93,46,74,.055); transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 21px 38px rgba(122,58,94,.12); }
.service-card-featured { border-color: rgba(242,110,171,.28); background: linear-gradient(150deg, #fff 15%, #fff0f7); }
.service-emoji { display: block; height: 37px; font-size: 27px; position: relative; z-index: 1; }
.card-kicker { color: #bd719a; font-size: 8px; font-weight: 800; letter-spacing: .15em; position: relative; z-index: 1; }
.service-card h3 { max-width: 190px; margin: 9px 0 8px; font-size: 17px; line-height: 1.15; letter-spacing: -.045em; position: relative; z-index: 1; }
.service-card p { min-height: 46px; margin-bottom: 12px; color: var(--muted); font-size: 10px; line-height: 1.6; position: relative; z-index: 1; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--pink-dark); font-size: 10px; font-weight: 800; position: relative; z-index: 1; }
.text-link span { font-size: 14px; }
.card-orbit { position: absolute; width: 94px; height: 94px; border: 1px solid rgba(244,139,188,.23); border-radius: 50%; right: -33px; top: -34px; }
.orbit-b { width: 67px; height: 67px; right: -17px; top: -20px; }
.pricing-section { background: linear-gradient(145deg, #fff0f7 0%, #fff8fc 45%, #f6efff 100%); border-top: 1px solid rgba(243,151,191,.2); border-bottom: 1px solid rgba(243,151,191,.2); position: relative; overflow: hidden; }
.pricing-section::before, .pricing-section::after { content: '✦'; position: absolute; color: rgba(229,100,158,.11); font-size: 190px; line-height: 1; pointer-events: none; }
.pricing-section::before { top: 65px; right: -26px; transform: rotate(18deg); }
.pricing-section::after { bottom: -59px; left: -34px; font-size: 240px; }
.pricing-wrap { position: relative; z-index: 1; padding-top: 91px; padding-bottom: 77px; }
.pricing-heading { margin-bottom: 32px; }
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.price-card { min-height: 326px; padding: 21px; display: flex; flex-direction: column; border: 1px solid rgba(155,79,122,.12); border-radius: 20px; background: rgba(255,255,255,.89); box-shadow: 0 12px 30px rgba(122,62,98,.07); transition: transform .24s ease, box-shadow .24s ease; }
.price-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.price-card-popular { border: 1px solid rgba(240,76,156,.38); box-shadow: 0 14px 35px rgba(227,64,140,.13), inset 0 0 0 2px rgba(255,255,255,.9); }
.price-top { min-height: 33px; display: flex; align-items: center; justify-content: space-between; }
.price-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #fff0f7; font-size: 17px; }
.price-tag { padding: 6px 8px; border-radius: 99px; color: #a55580; background: #fff2f8; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.price-card h3 { margin: 15px 0 6px; font-size: 18px; letter-spacing: -.045em; }
.price-desc { min-height: 38px; margin: 0 0 14px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.price-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid rgba(104,53,88,.09); }
.price-list li { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid rgba(104,53,88,.08); color: #806a79; font-size: 10px; }
.price-list strong { color: #482c3e; font-size: 11px; white-space: nowrap; }
.price-link { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 17px; color: var(--pink-dark); font-size: 10px; font-weight: 800; }
.price-link span { font-size: 15px; }
.price-note { padding: 9px 0 0; color: #967e8e; font-size: 9px; }
.price-card-wide { grid-column: 1 / -1; min-height: auto; display: grid; grid-template-columns: 1.05fr .95fr 180px; align-items: center; gap: 22px; padding: 21px 24px; background: linear-gradient(95deg, rgba(255,255,255,.96), rgba(255,244,250,.93)); }
.price-card-wide h3 { font-size: 20px; }
.price-card-wide .price-desc { min-height: 0; max-width: 380px; margin-bottom: 5px; }
.wide-list { width: 100%; }
.price-card-wide .price-link { margin: 0; padding: 12px 14px; justify-content: center; gap: 12px; border-radius: 99px; background: #fff; border: 1px solid rgba(240,76,156,.18); }
.pricing-footnote { margin: 18px 0 0; color: #8b7584; font-size: 9px; }
.stories { padding-top: 101px; padding-bottom: 108px; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.story-card { padding: 9px; border: 1px solid rgba(152,88,127,.11); border-radius: 21px; background: white; box-shadow: 0 12px 34px rgba(104,49,82,.08); transition: transform .24s ease, box-shadow .24s ease; }
.story-card:hover { transform: translateY(-5px); box-shadow: 0 23px 48px rgba(104,49,82,.14); }
.story-image { height: 275px; border-radius: 15px; }
.story-copy { min-height: 66px; padding: 12px 5px 3px; display: flex; align-items: center; gap: 10px; }
.story-emoji { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 12px; background: #fff0f7; font-size: 19px; }
.story-copy h3 { margin: 0 0 4px; font-size: 12px; letter-spacing: -.02em; }
.story-copy p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.story-arrow { margin-left: auto; color: #d95a98; font-size: 16px; }
.routine-section { padding: 82px 0 86px; color: #fff7fb; background: #32182d; position: relative; overflow: hidden; }
.routine-section::before { content: ''; position: absolute; width: 500px; height: 500px; top: -310px; right: 2%; border: 1px solid rgba(255,155,204,.19); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255,155,204,.035), 0 0 0 58px rgba(255,155,204,.03); }
.routine-wrap { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 76px; position: relative; z-index: 1; }
.routine-intro .eyebrow { color: #ffa6ce; }
.routine-intro h2 { margin: 17px 0 15px; font-size: clamp(37px, 4.3vw, 51px); line-height: 1.06; letter-spacing: -.065em; }
.routine-intro h2 span { color: #ff8cbd; }
.routine-intro > p { max-width: 350px; color: #d9c5d1; font-size: 12px; line-height: 1.8; }
.routine-intro .button { margin-top: 10px; }
.routine-steps { display: flex; flex-direction: column; }
.routine-step { min-height: 112px; display: grid; grid-template-columns: 39px 51px 1fr 20px; align-items: center; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.routine-step:first-child { border-top: 1px solid rgba(255,255,255,.12); }
.step-number { color: #bd97ad; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.step-icon { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 15px; color: var(--pink-dark); background: linear-gradient(145deg, #ffb5d6, #ffd8eb); font-size: 23px; box-shadow: 0 7px 18px rgba(240,76,156,.17); }
.routine-step h3 { margin: 0 0 5px; font-size: 14px; }
.routine-step p { margin: 0; color: #cdb8c7; font-size: 10px; line-height: 1.55; }
.step-tail { color: #ff8cbd; animation: twinkle 2s infinite; }
.contact-section { padding-top: 93px; padding-bottom: 66px; }
.contact-card { min-height: 240px; padding: 43px 50px; display: flex; align-items: center; justify-content: space-between; gap: 32px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.66); border-radius: 27px; color: white; background: linear-gradient(116deg, #e43a89, #f36cab 55%, #db4ca1); box-shadow: 0 23px 52px rgba(206,59,131,.2), inset 0 1px rgba(255,255,255,.26); }
.contact-card::before { content: ''; position: absolute; width: 340px; height: 340px; right: 18%; top: -215px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.045), 0 0 0 56px rgba(255,255,255,.045); }
.contact-copy { max-width: 570px; position: relative; z-index: 1; }
.contact-copy .eyebrow { color: #ffe1ef; }
.contact-copy .eyebrow-dot { background: #ffe7b4; box-shadow: 0 0 0 4px rgba(255,235,192,.18); }
.contact-copy h2 { margin: 16px 0 11px; max-width: 565px; font-size: clamp(30px, 4vw, 43px); line-height: 1.06; letter-spacing: -.065em; }
.contact-copy h2 span { color: #ffe1ef; }
.contact-copy p { margin: 0; color: rgba(255,255,255,.83); font-size: 11px; }
.button-white { flex: 0 0 auto; position: relative; z-index: 1; color: #bd3278; background: #fff; box-shadow: 0 12px 27px rgba(112,19,67,.18); }
.contact-sparkles { position: absolute; top: 18px; right: 31px; color: rgba(255,247,207,.89); font-size: 25px; letter-spacing: 12px; animation: twinkle 2s infinite; }
.contact-bubbles { position: absolute; right: 17px; bottom: -12px; display: flex; gap: -5px; font-size: 32px; opacity: .24; transform: rotate(-10deg); }
.contact-bubbles span:nth-child(2) { transform: translateY(-13px) rotate(16deg); }
.contact-placeholder { margin: 17px 0 0; color: #9c8493; text-align: center; font-size: 10px; }
.site-footer { max-width: 1136px; min-height: 74px; margin: auto; padding: 15px 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(112,63,91,.12); color: #907987; font-size: 9px; }
.footer-brand { color: #603c53; font-size: 11px; font-weight: 800; }
.footer-brand:first-letter { color: var(--pink); }
.site-footer a:last-child { font-weight: 800; }
.floating-tools { position: fixed; right: 20px; bottom: 21px; z-index: 20; width: 112px; height: 112px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle, rgba(255,231,244,.95) 0 43%, rgba(255,231,244,0) 72%); pointer-events: none; }
.floating-tools > span:not(.tool-caption) { position: absolute; filter: drop-shadow(0 3px 3px rgba(65,32,53,.13)); }
.tool-caption { position: absolute; top: -1px; right: -1px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.8); border-radius: 99px; color: #8f3b69; background: #fff; box-shadow: 0 6px 16px rgba(116,47,87,.12); font-size: 8px; font-weight: 800; white-space: nowrap; animation: bob 3.4s ease-in-out infinite; }
.tool-broom { bottom: 20px; left: 19px; font-size: 37px; transform: rotate(-28deg); animation: toolBob 2.8s ease-in-out infinite; }
.tool-mop { right: 9px; bottom: 24px; font-size: 28px; transform: rotate(16deg); animation: toolBob 2.5s ease-in-out infinite reverse; }
.tool-bottle { top: 20px; left: 41px; font-size: 26px; animation: bob 3.1s ease-in-out infinite; }
.tool-bucket { top: 45px; left: 5px; font-size: 21px; animation: bob 3.7s ease-in-out infinite reverse; }
.tool-soap { top: 13px; right: 13px; font-size: 21px; animation: toolBob 3.4s ease-in-out infinite; }
.tool-sparkle { top: 36px; right: 20px; color: #e8549b; font-size: 18px; animation: twinkle 1.7s infinite; }
.floating-contact { position: fixed; bottom: 24px; left: 24px; z-index: 21; display: flex; padding: 5px; gap: 4px; border: 1px solid rgba(255,255,255,.85); border-radius: 999px; background: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(76,36,60,.18), 0 0 0 1px rgba(240,76,156,.12); backdrop-filter: blur(16px); }
.floating-contact a { min-width: 92px; min-height: 42px; padding: 0 13px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 99px; color: #8d3e6b; background: linear-gradient(120deg,#fff4fa,#ffe8f3); font-size: 10px; font-weight: 800; transition: transform .2s, color .2s, background .2s; }
.floating-contact a:first-child { color: white; background: linear-gradient(110deg, #f04c9c, #d92f83); box-shadow: 0 5px 13px rgba(217,47,131,.23); }
.floating-contact a:hover { transform: translateY(-2px); }
.floating-contact a span:first-child { font-size: 15px; }
.toast { position: fixed; left: 50%; bottom: 85px; z-index: 30; padding: 11px 15px; border: 1px solid rgba(255,255,255,.7); border-radius: 99px; color: white; background: #47223b; box-shadow: 0 9px 24px rgba(61,28,50,.22); font-size: 11px; opacity: 0; pointer-events: none; transform: translate(-50%, 8px); transition: opacity .2s, transform .2s; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@keyframes twinkle { 0%,100% { opacity: .75; transform: scale(.94) rotate(-5deg); } 50% { opacity: 1; transform: scale(1.13) rotate(7deg); } }
@keyframes bob { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes toolBob { 0%,100% { translate: 0 1px; rotate: -1deg; } 50% { translate: 0 -6px; rotate: 3deg; } }
@keyframes buttonGlow { 0%,100% { box-shadow: 0 12px 28px rgba(217,47,131,.24), 0 0 0 0 rgba(240,76,156,.12); } 50% { box-shadow: 0 13px 31px rgba(217,47,131,.31), 0 0 0 5px rgba(240,76,156,.08); } }
@keyframes scrollNudge { 0% { transform: translateY(0); opacity: 1; } 80%,100% { transform: translateY(10px); opacity: 0; } }
@keyframes marquee { to { transform: translateX(-50%); } }

@media (min-width: 1400px) { .hero { min-height: 620px; } }
@media (max-width: 980px) {
  .section-wrap { padding-left: 26px; padding-right: 26px; }
  .site-header { padding: 0 26px; }
  .main-nav { gap: 20px; }
  .hero { min-height: 540px; grid-template-columns: 1fr .9fr; gap: 5px; }
  .hero h1 { font-size: clamp(46px, 6.6vw, 65px); }
  .hero-photo-card { width: min(335px, 89%); }
  .comparison { height: 278px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card { min-height: 210px; }
  .service-card p { min-height: auto; }
  .price-card { padding: 18px; }
  .price-card-wide { grid-template-columns: 1fr 1fr; }
  .price-card-wide .price-link { grid-column: 1/-1; justify-self: end; min-width: 190px; }
  .routine-wrap { gap: 40px; }
  .floating-tools { right: 7px; transform: scale(.9); transform-origin: bottom right; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 72px; }
  .topline { min-height: 29px; font-size: 8px; gap: 8px; letter-spacing: .09em; }
  .site-header { height: 69px; padding: 0 18px; }
  .brand-mark { width: 41px; height: 41px; }
  .brand-copy strong { font-size: 16px; }
  .menu-toggle { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--line); border-radius: 14px; background: white; cursor: pointer; }
  .menu-toggle span { width: 17px; height: 2px; border-radius: 3px; background: #7b4165; transition: transform .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .main-nav { position: absolute; display: none; top: 62px; left: 12px; right: 12px; padding: 13px; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.97); box-shadow: 0 20px 36px rgba(84,36,65,.14); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 13px 12px; }
  .main-nav .nav-cta { margin-top: 4px; text-align: center; }
  .section-wrap { padding-left: 19px; padding-right: 19px; }
  .hero { min-height: 0; padding-top: 42px; padding-bottom: 70px; grid-template-columns: 1fr; }
  .hero-copy { padding: 0; }
  .hero h1 { margin: 16px 0; font-size: clamp(43px, 12vw, 61px); }
  .hero-lede { max-width: 540px; font-size: 13px; }
  .hero-actions { margin-top: 22px; gap: 8px; }
  .button { min-height: 45px; padding: 0 15px; font-size: 10px; gap: 9px; }
  .hero-proof { margin-top: 23px; }
  .hero-art { min-height: 362px; margin-top: 23px; }
  .hero-glow { width: 330px; height: 330px; right: 6%; }
  .hero-photo-card { width: min(335px, 78%); }
  .comparison { height: 250px; }
  .sticker-bubble { left: 1%; top: 36px; }
  .sticker-shine { right: -1%; bottom: 35px; }
  .hero-spray { top: 8px; right: 10%; font-size: 33px; }
  .scroll-cue { left: 20px; bottom: 23px; font-size: 7px; }
  .ticker { height: 36px; }
  .ticker-track { font-size: 8px; }
  .services { padding-top: 73px; padding-bottom: 73px; }
  .section-heading { display: block; margin-bottom: 26px; }
  .section-heading h2 { font-size: clamp(34px, 9vw, 46px); }
  .section-heading > p { margin: 14px 0 0; max-width: 500px; font-size: 11px; }
  .service-grid { gap: 10px; }
  .service-card { min-height: 210px; padding: 16px 14px; border-radius: 16px; }
  .service-emoji { height: 33px; font-size: 24px; }
  .card-kicker { font-size: 7px; }
  .service-card h3 { font-size: 15px; }
  .service-card p { font-size: 9px; }
  .text-link { font-size: 9px; }
  .pricing-wrap { padding-top: 72px; padding-bottom: 64px; }
  .price-grid { grid-template-columns: 1fr; gap: 11px; }
  .price-card { min-height: 0; padding: 18px; border-radius: 17px; }
  .price-card h3 { font-size: 18px; }
  .price-desc { min-height: 0; }
  .price-card-wide { grid-column: auto; grid-template-columns: 1fr; gap: 9px; }
  .price-card-wide .price-link { grid-column: auto; justify-self: stretch; }
  .price-card-wide h3 { font-size: 18px; }
  .pricing-footnote { font-size: 8px; line-height: 1.6; }
  .stories { padding-top: 73px; padding-bottom: 75px; }
  .story-grid { grid-template-columns: 1fr; gap: 14px; }
  .story-card { border-radius: 18px; }
  .story-image { height: min(63vw, 330px); }
  .story-copy h3 { font-size: 13px; }
  .story-copy p { font-size: 9px; }
  .routine-section { padding: 67px 0; }
  .routine-wrap { grid-template-columns: 1fr; gap: 33px; }
  .routine-intro h2 { font-size: 43px; }
  .routine-step { min-height: 98px; grid-template-columns: 29px 43px 1fr 14px; gap: 10px; }
  .step-icon { width: 40px; height: 40px; font-size: 20px; }
  .routine-step h3 { font-size: 12px; }
  .routine-step p { font-size: 9px; }
  .contact-section { padding-top: 68px; padding-bottom: 48px; }
  .contact-card { min-height: 0; padding: 29px 24px; flex-direction: column; align-items: flex-start; gap: 18px; border-radius: 21px; }
  .contact-copy h2 { font-size: 34px; }
  .contact-copy p { font-size: 10px; line-height: 1.7; }
  .contact-bubbles { right: 8px; bottom: -16px; }
  .site-footer { min-height: 75px; padding: 15px 19px 75px; flex-wrap: wrap; font-size: 8px; }
  .site-footer span { order: 3; width: 100%; }
  .floating-contact { bottom: 11px; left: 10px; padding: 4px; gap: 3px; }
  .floating-contact a { min-width: 82px; min-height: 38px; padding: 0 10px; font-size: 9px; }
  .floating-contact a span:first-child { font-size: 13px; }
  .floating-tools { width: 87px; height: 87px; right: 4px; bottom: 8px; transform: scale(.77); transform-origin: bottom right; }
  .toast { width: max-content; max-width: calc(100vw - 30px); bottom: 67px; text-align: center; font-size: 10px; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 41px; }
  .hero-art { min-height: 320px; }
  .comparison { height: 225px; }
  .hero-photo-card { width: 77%; padding: 8px; }
  .hero-sticker { padding: 8px 10px; }
  .hero-sticker span { font-size: 20px; }
  .service-card { min-height: 220px; }
  .service-card h3 { font-size: 14px; }
  .routine-step { grid-template-columns: 22px 38px 1fr; }
  .step-tail { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Brighter pink, clearer type, and a more prominent price-first layout. */
:root {
  --ink: #291127;
  --muted: #574354;
  --pink: #ff38a6;
  --pink-dark: #c71070;
  --rose: #ff9ccc;
  --pink-soft: #ffd7eb;
  --cream: #fff8fc;
  --lilac: #f5e9ff;
  --font: 'Nunito Sans', 'DM Sans', 'Manrope', 'Trebuchet MS', ui-sans-serif, system-ui, sans-serif;
  --shadow: 0 24px 70px rgba(231, 43, 139, .22);
}

body { color: var(--ink); background: #fff8fc; }
body::before { background: radial-gradient(circle at 8% 14%, rgba(255, 178, 216, .42), transparent 29%), radial-gradient(circle at 96% 49%, rgba(239, 211, 255, .44), transparent 26%); }
main, .site-footer { position: relative; z-index: 1; }
.topline { min-height: 36px; color: #fff4fa; background: linear-gradient(90deg, #641044, #aa155f 43%, #671046); box-shadow: 0 3px 16px rgba(202, 24, 111, .3); font-size: 12px; }
.topline span { color: #ffb8dc; text-shadow: 0 0 9px #ff63b5, 0 0 18px #ff63b5; }
.brand-mark { animation: logoNeon 2.6s ease-in-out infinite; }
.brand-copy small { color: #69475f; font-size: 9px; }
.main-nav { color: #4e3148; font-size: 13px; }
.nav-cta { border: 1px solid rgba(255, 56, 166, .5); color: #a30d5f; box-shadow: 0 0 14px rgba(255, 56, 166, .18); }
.eyebrow { color: #a21865; font-size: 11px; }
.eyebrow-dot { box-shadow: 0 0 0 4px rgba(255, 56, 166, .16), 0 0 16px rgba(255, 56, 166, .7); }
.hero { min-height: 570px; }
.hero h1 { font-family: var(--font); font-weight: 900; letter-spacing: -.07em; }
.hero h1 span { color: transparent; background: linear-gradient(95deg, #d91c83 5%, #ff36a5 43%, #ff89c5 60%, #d91c83 87%); background-size: 220% auto; background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 4px 13px rgba(241, 53, 153, .2)); animation: textShimmer 5s linear infinite; }
.hero-lede { color: #564052; font-size: 16px; }
.hero-proof p { color: #594255; font-size: 11px; }
.hero-proof strong { color: #382039; font-size: 12px; }
.button { font-size: 13px; }
.button-primary { background: linear-gradient(105deg, #ff55ad, #ee238f 55%, #ca0c70); box-shadow: 0 10px 28px rgba(221, 20, 119, .38), 0 0 18px rgba(255, 56, 166, .25), inset 0 1px rgba(255,255,255,.46); }
.button-primary { position: relative; overflow: hidden; }
.button-primary::after { content: ''; position: absolute; inset: -20% auto -20% -36%; width: 28%; transform: skewX(-22deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); animation: buttonShine 4s ease-in-out infinite; pointer-events: none; }
.button-quiet { border-color: rgba(195, 33, 117, .22); color: #58374e; background: rgba(255,255,255,.9); }
.hero-glow { background: radial-gradient(ellipse at 40% 38%, #ffd0e8 0 30%, #f7e3ff 69%, transparent 74%); filter: drop-shadow(0 0 30px rgba(255, 81, 171, .19)); }
.hero-photo-card { box-shadow: 0 28px 65px rgba(91, 24, 62, .25), 0 0 0 2px rgba(255, 91, 177, .38), 0 0 36px rgba(255, 78, 169, .19); }
.comparison-line { width: 3px; box-shadow: 0 0 17px #fff, 0 0 0 1px rgba(255, 49, 158, .8), 0 0 18px rgba(255, 49, 158, .68); }
.comparison-line span { width: 39px; height: 39px; color: #a90a60; box-shadow: 0 0 0 4px rgba(255, 236, 246, .68), 0 5px 18px rgba(57, 15, 42, .3), 0 0 14px #ff83c4; }
.photo-label { padding: 7px 10px; font-size: 10px; }
.photo-caption { color: #553249; font-size: 11px; }
.hero-sticker { box-shadow: 0 12px 34px rgba(101,51,81,.18), 0 0 18px rgba(255, 81, 171, .18); }
.hero-sticker b { color: #56304a; font-size: 10px; }
.hero-star { color: #ff43a6; text-shadow: 0 0 10px #ff65b5, 0 0 25px #ff5bac; }
.scroll-cue { color: #65475d; font-size: 9px; }
.scroll-cue span { border-color: #eb76b1; box-shadow: 0 0 12px rgba(245, 64, 160, .24); }
.ticker { height: 48px; background: linear-gradient(90deg, #a90d62, #f52f9c 49%, #aa105f); box-shadow: 0 0 22px rgba(239, 47, 151, .5), 0 5px 15px rgba(195,42,117,.25); }
.ticker-track { font-size: 11px; text-shadow: 0 0 9px rgba(255,255,255,.47); }

.pricing-section { isolation: isolate; background: radial-gradient(ellipse at 8% 0%, #6d1749 0, transparent 38%), radial-gradient(ellipse at 100% 100%, #60133f 0, transparent 40%), linear-gradient(135deg, #291127 0%, #421130 53%, #281027 100%); border: 0; box-shadow: inset 0 1px 0 rgba(255, 151, 205, .42), inset 0 -1px 0 rgba(255, 125, 190, .3); }
.pricing-section::before, .pricing-section::after { color: rgba(255, 92, 177, .23); text-shadow: 0 0 35px rgba(255, 56, 166, .24); }
.pricing-wrap { padding-top: 67px; padding-bottom: 75px; }
.pricing-heading { margin-bottom: 29px; }
.pricing-heading .eyebrow { color: #ffb9dc; }
.pricing-heading .eyebrow-dot { background: #ff70ba; box-shadow: 0 0 0 4px rgba(255, 112, 186, .18), 0 0 15px #ff70ba; }
.pricing-heading h2 { color: #fff8fc; font-weight: 900; }
.pricing-heading h2 span { color: #ff83c4; text-shadow: 0 0 18px rgba(255, 80, 172, .5); }
.pricing-heading > p { color: #f5dce9; font-size: 14px; }
.price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.price-card { min-height: 352px; padding: 26px 27px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.96); border-radius: 22px; background: linear-gradient(145deg, #fff 0%, #fff9fc 61%, #ffedf6 100%); box-shadow: 0 15px 35px rgba(12, 4, 15, .2), 0 0 0 1px rgba(255, 133, 197, .22), 0 0 23px rgba(255, 56, 166, .14); }
.price-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, #ffb1d9, #ff279b, #ffe1f0); box-shadow: 0 1px 13px rgba(255, 46, 157, .57); }
.price-card::after { content: '✧'; position: absolute; right: 17px; top: 57px; color: rgba(255, 56, 166, .5); font-size: 23px; animation: twinkle 2.2s ease-in-out infinite; pointer-events: none; }
.price-card:hover { transform: translateY(-6px) scale(1.008); box-shadow: 0 22px 44px rgba(12, 4, 15, .26), 0 0 0 1px rgba(255, 133, 197, .5), 0 0 32px rgba(255, 56, 166, .27); }
.price-card-popular { border-color: #ff9ccc; background: linear-gradient(145deg, #85124d 0%, #6f0d46 54%, #4b123b 100%); box-shadow: 0 17px 40px rgba(8, 2, 10, .3), 0 0 0 1px rgba(255, 138, 198, .52), 0 0 28px rgba(255, 56, 166, .27); }
.price-card-popular::before { background: linear-gradient(90deg, #fff2a8, #ff69ba, #fff1d1); box-shadow: 0 0 17px #ff77c1; }
.price-card-popular::after { color: #ffc1df; text-shadow: 0 0 13px #ff61b7; }
.price-top { min-height: 42px; }
.price-icon { width: 40px; height: 40px; border: 1px solid #ffd1e7; border-radius: 13px; background: #fff0f7; box-shadow: 0 5px 14px rgba(233, 52, 146, .12); font-size: 21px; }
.price-tag { padding: 7px 10px; color: #9f115e; background: #ffe2f0; font-size: 10px; letter-spacing: .1em; }
.price-card h3 { margin: 16px 0 7px; color: #32152e; font-size: 23px; font-weight: 900; letter-spacing: -.04em; }
.price-desc { min-height: 43px; margin-bottom: 16px; color: #554251; font-size: 13px; line-height: 1.65; }
.price-list { border-top-color: rgba(94, 33, 70, .18); }
.price-list li { min-height: 47px; border-bottom-color: rgba(94, 33, 70, .15); color: #4e394b; font-size: 13px; }
.price-list strong { color: #a60e62; font-size: 16px; font-weight: 900; }
.price-link { padding-top: 20px; color: #ae0b64; font-size: 13px; }
.price-link span { font-size: 17px; }
.price-note { padding-top: 10px; color: #50374b; font-size: 12px; font-weight: 700; }
.price-card-popular .price-icon { border-color: rgba(255,255,255,.48); background: #ffe1ef; }
.price-card-popular .price-tag { color: #641039; background: #ffd6e9; }
.price-card-popular h3 { color: #fff8fc; }
.price-card-popular .price-desc { color: #ffe6f3; }
.price-card-popular .price-list { border-top-color: rgba(255,255,255,.3); }
.price-card-popular .price-list li { border-bottom-color: rgba(255,255,255,.23); color: #ffe3f0; }
.price-card-popular .price-list strong { color: #fff; text-shadow: 0 0 13px rgba(255, 141, 200, .6); }
.price-card-popular .price-note { color: #ffe3f0; }
.price-card-popular .price-link { color: #fff; }
.price-card-wide { grid-column: auto; min-height: 352px; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 26px 27px; }
.price-card-wide h3 { font-size: 23px; }
.price-card-wide .price-desc { max-width: 430px; min-height: 43px; margin-bottom: 16px; }
.wide-list { width: 100%; }
.price-card-wide .price-link { margin-top: auto; padding: 20px 0 0; justify-content: space-between; border: 0; background: transparent; }
.price-card-popular .price-card-wide .price-link { color: #fff; }
.pricing-footnote { margin-top: 20px; color: #f6dcea; font-size: 12px; line-height: 1.6; }

.section-heading h2 { font-family: var(--font); font-weight: 900; }
.section-heading > p { color: #574354; font-size: 14px; line-height: 1.75; }
.services { padding-top: 80px; padding-bottom: 90px; }
.service-card { border-color: rgba(199, 16, 112, .2); background: rgba(255,255,255,.93); box-shadow: 0 11px 30px rgba(93,46,74,.09), 0 0 18px rgba(255,56,166,.07); }
.service-card-featured { border-color: rgba(255, 56, 166, .52); background: linear-gradient(150deg, #fff 15%, #ffe6f2); box-shadow: 0 11px 32px rgba(217, 31, 127, .13), 0 0 22px rgba(255,56,166,.16); }
.service-card h3 { max-width: 220px; font-size: 19px; font-weight: 900; }
.service-card p { color: #574354; font-size: 12px; line-height: 1.7; }
.card-kicker { color: #a01762; font-size: 9px; letter-spacing: .12em; }
.text-link { color: #a90a60; font-size: 12px; }
.card-orbit { border-color: rgba(255, 79, 171, .38); box-shadow: 0 0 22px rgba(255, 79, 171, .13); animation: orbitPulse 3s ease-in-out infinite; }
.orbit-b { animation-delay: -1.2s; }
.stories { padding-top: 84px; padding-bottom: 88px; }
.story-card { border-color: rgba(197, 39, 118, .2); box-shadow: 0 12px 34px rgba(104,49,82,.1), 0 0 20px rgba(255,56,166,.08); }
.story-copy h3 { font-size: 14px; font-weight: 900; }
.story-copy p { color: #554052; font-size: 11px; }
.routine-step p { color: #eddae6; font-size: 12px; }
.routine-step h3 { font-weight: 900; }
.contact-copy p { color: #fff3f9; font-size: 13px; }
.contact-card { background: linear-gradient(116deg, #bd176c, #fa3c9f 53%, #a51568); box-shadow: 0 23px 52px rgba(206,59,131,.32), 0 0 28px rgba(255,56,166,.22), inset 0 1px rgba(255,255,255,.36); }
.site-footer { color: #5b4357; font-size: 11px; }
.footer-brand { color: #3b1b34; font-size: 13px; }
.floating-contact { box-shadow: 0 12px 31px rgba(76,36,60,.22), 0 0 0 1px rgba(255,56,166,.25), 0 0 19px rgba(255,56,166,.17); }
.floating-contact a { min-width: 98px; min-height: 46px; color: #76254e; font-size: 12px; }
.floating-contact a:first-child { background: linear-gradient(110deg, #ff54ae, #dc137d); box-shadow: 0 5px 15px rgba(217,47,131,.34), 0 0 15px rgba(255,56,166,.28); }
.floating-contact a:first-child { position: relative; animation: callPulse 2s ease-in-out infinite; }
.floating-contact a:first-child::after { content: ''; position: absolute; inset: -3px; border: 1px solid rgba(255,65,164,.62); border-radius: inherit; animation: callRing 2s ease-out infinite; pointer-events: none; }
.floating-contact a:first-child span:first-child { animation: phoneBounce 1.6s ease-in-out infinite; }
.tool-caption { color: #79164e; border-color: #ffd0e6; box-shadow: 0 6px 16px rgba(116,47,87,.12), 0 0 14px rgba(255,56,166,.17); font-size: 9px; }

.bubble-field { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.bubble { position: absolute; bottom: -70px; display: block; border: 1px solid rgba(255, 97, 179, .38); border-radius: 50%; background: radial-gradient(circle at 34% 27%, rgba(255,255,255,.72) 0 8%, rgba(255,255,255,.18) 28%, rgba(255,104,183,.06) 68%, rgba(255,255,255,.1)); box-shadow: inset -4px -5px 12px rgba(255, 88, 173, .12), inset 3px 3px 8px rgba(255,255,255,.72), 0 0 16px rgba(255, 81, 174, .13); opacity: 0; animation: bubbleRise 17s linear infinite; }
.bubble-1 { left: 4%; width: 24px; height: 24px; animation-delay: -4s; }
.bubble-2 { left: 15%; width: 42px; height: 42px; animation-delay: -11s; animation-duration: 23s; }
.bubble-3 { left: 28%; width: 17px; height: 17px; animation-delay: -7s; animation-duration: 14s; }
.bubble-4 { left: 41%; width: 32px; height: 32px; animation-delay: -15s; animation-duration: 22s; }
.bubble-5 { left: 56%; width: 50px; height: 50px; animation-delay: -3s; animation-duration: 26s; }
.bubble-6 { left: 68%; width: 20px; height: 20px; animation-delay: -10s; animation-duration: 16s; }
.bubble-7 { left: 77%; width: 36px; height: 36px; animation-delay: -18s; animation-duration: 25s; }
.bubble-8 { left: 88%; width: 26px; height: 26px; animation-delay: -6s; animation-duration: 19s; }
.bubble-9 { left: 96%; width: 46px; height: 46px; animation-delay: -13s; animation-duration: 24s; }
.bubble-10 { left: 34%; width: 13px; height: 13px; animation-delay: -2s; animation-duration: 13s; }
.bubble-sparkle { position: absolute; color: #fa319b; font-size: 17px; text-shadow: 0 0 8px #ff8bc5, 0 0 20px rgba(255, 55, 162, .68); animation: sparkleDrift 3.2s ease-in-out infinite; }
.sparkle-1 { left: 6%; top: 23%; }
.sparkle-2 { left: 91%; top: 42%; animation-delay: -1s; }
.sparkle-3 { left: 47%; top: 72%; font-size: 13px; animation-delay: -2s; }
.sparkle-4 { left: 82%; top: 13%; animation-delay: -.6s; }
.bubble-11 { left: 9%; width: 34px; height: 34px; animation-delay: -9s; animation-duration: 21s; }
.bubble-12 { left: 24%; width: 14px; height: 14px; animation-delay: -16s; animation-duration: 13s; }
.bubble-13 { left: 49%; width: 23px; height: 23px; animation-delay: -5s; animation-duration: 18s; }
.bubble-14 { left: 73%; width: 44px; height: 44px; animation-delay: -20s; animation-duration: 25s; }
.bubble-15 { left: 93%; width: 18px; height: 18px; animation-delay: -8s; animation-duration: 15s; }
.bubble-16 { left: 61%; width: 29px; height: 29px; animation-delay: -12s; animation-duration: 22s; }
.price-bubbles { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.price-bubble { position: absolute; bottom: -70px; display: block; border: 1px solid rgba(255, 187, 220, .58); border-radius: 50%; background: radial-gradient(circle at 33% 25%, rgba(255,255,255,.57) 0 9%, rgba(255,255,255,.1) 31%, rgba(255,77,168,.05) 72%); box-shadow: inset 0 0 11px rgba(255,202,229,.2), 0 0 22px rgba(255,56,166,.25); opacity: 0; animation: bubbleRise 18s linear infinite; }
.pb1 { left: 3%; width: 46px; height: 46px; animation-delay: -5s; }
.pb2 { left: 22%; width: 22px; height: 22px; animation-delay: -14s; animation-duration: 15s; }
.pb3 { left: 47%; width: 34px; height: 34px; animation-delay: -8s; animation-duration: 20s; }
.pb4 { left: 67%; width: 52px; height: 52px; animation-delay: -2s; animation-duration: 24s; }
.pb5 { left: 84%; width: 27px; height: 27px; animation-delay: -12s; animation-duration: 16s; }
.pb6 { left: 96%; width: 40px; height: 40px; animation-delay: -17s; animation-duration: 21s; }

.cleaning-kit { position: absolute; z-index: 4; bottom: 5px; left: 0; min-width: 224px; padding: 10px 13px 10px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.95); border-radius: 17px; background: rgba(255,255,255,.94); box-shadow: 0 9px 30px rgba(96,30,70,.2), 0 0 19px rgba(255,56,166,.23); animation: kitFloat 3.6s ease-in-out infinite; }
.kit-icons { display: flex; align-items: center; gap: -3px; }
.kit-icons span { width: 29px; height: 29px; margin-left: -4px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; background: #ffe7f3; font-size: 15px; box-shadow: 0 3px 9px rgba(201,45,126,.13); }
.kit-icons span:first-child { margin-left: 0; }
.cleaning-kit small { display: block; margin-bottom: 2px; color: #b01868; font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.cleaning-kit b { display: block; color: #43213b; font-size: 9px; font-weight: 900; white-space: nowrap; }
.kit-glimmer { align-self: flex-start; color: #ff36a2; font-size: 15px; animation: twinkle 1.4s infinite; }

.services, .stories { position: relative; }
.services::before, .stories::before { content: ''; position: absolute; top: 34px; left: 50%; width: min(330px, 45vw); height: 2px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, #ff5eb4, #ffa9d2, #ff5eb4, transparent); box-shadow: 0 0 11px rgba(255,56,166,.7), 0 0 27px rgba(255,56,166,.3); }
.hero h1 span, .section-heading h2 span, .routine-intro h2 span, .contact-copy h2 span { display: inline-block; text-shadow: 0 0 14px rgba(255, 62, 164, .28); animation: headlineBounce 3s ease-in-out infinite; transform-origin: center bottom; }
.hero h1 span { animation: textShimmer 5s linear infinite, headlineBounce 3s ease-in-out infinite; }
.pricing-heading h2 span { background: linear-gradient(95deg, #ff9dce, #fff2a6, #ff5eb5, #ffb6dc); background-size: 250% auto; background-clip: text; -webkit-background-clip: text; color: transparent; animation: textShimmer 3.8s linear infinite, headlineBounce 3s ease-in-out infinite; }
.story-spotlight { min-height: 172px; margin-top: 25px; padding: 24px 28px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 18px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.58); border-radius: 24px; color: #fff8fc; background: linear-gradient(115deg, #37132f, #71134a 58%, #441131); box-shadow: 0 18px 40px rgba(75, 20, 52, .2), 0 0 20px rgba(255,56,166,.18); }
.story-spotlight::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(#ffd8eb, #ff34a3, #ffc9e4); box-shadow: 0 0 18px #ff4eae; }
.spotlight-icon { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.36); border-radius: 17px; background: rgba(255,255,255,.12); font-size: 27px; box-shadow: 0 0 18px rgba(255,115,190,.16); animation: bob 3s ease-in-out infinite; }
.spotlight-copy { position: relative; z-index: 1; }
.spotlight-kicker { color: #ffb6d9; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.spotlight-copy h3 { margin: 7px 0 6px; color: #fff; font-size: clamp(19px, 2.5vw, 27px); font-weight: 900; letter-spacing: -.04em; }
.spotlight-copy p { max-width: 700px; margin: 0; color: #f5dfea; font-size: 12px; line-height: 1.75; }
.spotlight-trail { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 99px; background: rgba(255,255,255,.08); white-space: nowrap; }
.spotlight-trail span { font-size: 20px; filter: drop-shadow(0 0 7px rgba(255,148,205,.48)); animation: toolBob 2.9s ease-in-out infinite; }
.spotlight-trail span:nth-of-type(2) { animation-delay: -.9s; }
.spotlight-trail span:nth-of-type(3) { animation-delay: -1.5s; }
.spotlight-trail b { color: #ffb1d8; font-size: 13px; }
.spotlight-sparkle { position: absolute; top: 12px; right: 20px; color: #ffb2d9; font-size: 20px; text-shadow: 0 0 13px #ff51a9; animation: twinkle 1.8s infinite; }
.micro-story-heading { margin: 43px 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.micro-story-heading p { margin: 0; color: #5c4659; font-size: 12px; font-weight: 700; }
.micro-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.micro-story { overflow: hidden; border: 1px solid rgba(202, 45, 127, .19); border-radius: 21px; background: linear-gradient(145deg,#fff,#fff5fa); box-shadow: 0 12px 30px rgba(91, 29, 67, .1), 0 0 15px rgba(255,56,166,.08); transition: transform .26s ease, box-shadow .26s ease; }
.micro-story:hover { transform: translateY(-6px); box-shadow: 0 19px 40px rgba(91, 29, 67, .16), 0 0 24px rgba(255,56,166,.18); }
.micro-story-photo { height: 174px; position: relative; overflow: hidden; background: #f3e6ec; }
.micro-story-photo::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(42,17,39,.32)); pointer-events: none; }
.micro-story-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 55%; transition: transform .7s ease; }
.micro-story:hover .micro-story-photo img { transform: scale(1.06); }
.micro-story-photo > span { position: absolute; right: 13px; bottom: 11px; z-index: 1; width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.85); border-radius: 13px; background: rgba(255,246,251,.94); box-shadow: 0 0 17px rgba(255,56,166,.25); font-size: 21px; animation: bob 3.1s ease-in-out infinite; }
.micro-story-copy { min-height: 168px; padding: 17px 18px 19px; }
.micro-story-kicker { color: #a31261; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.micro-story-copy h3 { margin: 7px 0 6px; color: #341630; font-size: 19px; font-weight: 900; letter-spacing: -.035em; }
.micro-story-copy p { margin: 0; color: #564252; font-size: 12px; line-height: 1.7; }
.detail-gallery { margin-top: 45px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.detail-heading { grid-column: 1 / -1; margin-bottom: 2px; }
.detail-heading h3 { margin: 9px 0 0; color: #35172f; font-size: 27px; font-weight: 900; letter-spacing: -.05em; }
.detail-heading h3 span { color: #da1c83; text-shadow: 0 0 12px rgba(255,74,171,.23); }
.detail-photo { height: 260px; margin: 0; padding: 8px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.93); border-radius: 20px; background: white; box-shadow: 0 13px 32px rgba(91,29,67,.12), 0 0 20px rgba(255,56,166,.1); }
.detail-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 58%; border-radius: 14px; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .7s; }
.detail-photo:hover img { transform: scale(1.055); filter: saturate(1.12); }
.detail-photo figcaption { position: absolute; left: 19px; right: 19px; bottom: 18px; min-height: 38px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.78); border-radius: 99px; color: #48213d; background: rgba(255,249,252,.91); box-shadow: 0 4px 13px rgba(62,29,49,.12); backdrop-filter: blur(8px); font-size: 11px; font-weight: 900; }
.detail-photo figcaption b { color: #eb2d98; font-size: 19px; animation: twinkle 1.8s infinite; }

@keyframes headlineBounce { 0%,100% { transform: translateY(0) scale(1); } 18% { transform: translateY(-3px) scale(1.012); } 36% { transform: translateY(0) scale(1); } 46% { transform: translateY(-1px) scale(1.004); } 60% { transform: translateY(0) scale(1); } }
@keyframes kitFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-7px) rotate(1deg); } }
@keyframes kitFloatSmall { 0%,100% { transform: translateY(0) rotate(-1deg) scale(.8); } 50% { transform: translateY(-5px) rotate(1deg) scale(.8); } }
@keyframes phoneBounce { 0%,100% { transform: translateY(0) rotate(0); } 35% { transform: translateY(-3px) rotate(-12deg); } 70% { transform: translateY(0) rotate(9deg); } }
@keyframes callPulse { 0%,100% { box-shadow: 0 5px 15px rgba(217,47,131,.34), 0 0 12px rgba(255,56,166,.22); } 50% { box-shadow: 0 6px 19px rgba(217,47,131,.45), 0 0 22px rgba(255,56,166,.47); } }
@keyframes callRing { 0% { opacity: .8; transform: scale(.98); } 100% { opacity: 0; transform: scale(1.18); } }

@media (max-width: 700px) {
  .cleaning-kit { bottom: -7px; left: 0; min-width: 205px; padding: 8px 10px; transform-origin: bottom left; animation-name: kitFloatSmall; }
  .story-spotlight { grid-template-columns: 42px minmax(0,1fr); gap: 12px; padding: 19px 17px; }
  .spotlight-icon { width: 40px; height: 40px; border-radius: 13px; font-size: 21px; }
  .spotlight-copy h3 { font-size: 19px; }
  .spotlight-copy p { font-size: 11px; }
  .spotlight-trail { grid-column: 2; justify-self: start; padding: 7px 10px; gap: 7px; }
  .spotlight-trail span { font-size: 16px; }
  .micro-story-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 32px; }
  .micro-story-heading p { font-size: 11px; }
  .micro-stories { grid-template-columns: 1fr; gap: 13px; }
  .micro-story { display: grid; grid-template-columns: 36% minmax(0, 1fr); min-height: 158px; border-radius: 18px; }
  .micro-story-photo { height: 100%; min-height: 158px; }
  .micro-story-photo > span { right: 8px; bottom: 8px; width: 33px; height: 33px; font-size: 18px; }
  .micro-story-copy { min-height: 0; padding: 13px 12px; }
  .micro-story-kicker { font-size: 8px; letter-spacing: .08em; }
  .micro-story-copy h3 { margin: 6px 0; font-size: 17px; }
  .micro-story-copy p { font-size: 10px; line-height: 1.55; }
  .detail-gallery { grid-template-columns: 1fr; margin-top: 34px; gap: 12px; }
  .detail-heading h3 { font-size: 23px; }
  .detail-photo { height: 240px; }
  .detail-photo figcaption { left: 17px; right: 17px; bottom: 17px; }
  .tool-bucket { left: 0; top: 37px; }
  .tool-soap { right: 7px; top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 span, .section-heading h2 span, .routine-intro h2 span, .contact-copy h2 span { animation: none; }
  .floating-contact a:first-child, .floating-contact a:first-child::after, .floating-contact a:first-child span:first-child, .cleaning-kit { animation: none; }
}

/* Color reference: soft, dusty baby pink fabric. */
:root {
  --ink: #432831;
  --muted: #69515a;
  --pink: #cf8192;
  --pink-dark: #8d4a5b;
  --rose: #e5b9c2;
  --pink-soft: #f3dfe3;
  --cream: #fcf5f6;
  --lilac: #f2e7e9;
  --line: rgba(111, 66, 78, .15);
  --shadow: 0 22px 70px rgba(139, 72, 89, .15);
}
html, body { background-color: #f8ebee; }
body { color: var(--ink); background-image: linear-gradient(145deg, #fbf3f4, #f5e4e8 52%, #f9eef0); }
body::before { background: radial-gradient(circle at 5% 12%, rgba(227, 181, 191, .34), transparent 30%), radial-gradient(circle at 93% 45%, rgba(240, 213, 219, .45), transparent 31%), repeating-linear-gradient(0deg, rgba(134,75,88,.018) 0 1px, transparent 1px 4px); }
.site-header { background: rgba(250, 237, 239, .72); }
.topline { color: #563b43; background: linear-gradient(90deg, #f2dfe3, #e8c8cf 48%, #f3e1e4); box-shadow: inset 0 -1px rgba(160, 100, 114, .22), 0 3px 14px rgba(147,81,98,.12); }
.topline span { color: #a45f72; text-shadow: 0 0 8px rgba(198,132,146,.42); }
.brand-mark { background: linear-gradient(145deg, #e7b7c1, #c67e8f); box-shadow: 0 8px 22px rgba(166, 102, 119, .25), inset 0 1px 0 rgba(255,255,255,.85); animation-name: logoNeonDusty; }
.brand-copy i { color: #a85c71; }
.mark-glint { color: #fff8f8; }
.main-nav { color: #59414a; }
.nav-cta { border-color: rgba(161, 88, 106, .32); color: #76414f; background: rgba(255,250,250,.84); box-shadow: 0 8px 20px rgba(153,86,103,.1); }
.nav-cta:hover { box-shadow: 0 12px 25px rgba(153,86,103,.18); }
.eyebrow { color: #885061; }
.eyebrow-dot { background: #c37587; box-shadow: 0 0 0 4px rgba(189,122,137,.15), 0 0 13px rgba(183,107,126,.37); }
.hero h1 span { background-image: linear-gradient(95deg, #9d5869 5%, #cc8292 43%, #e7b9c1 60%, #9d5869 87%); filter: drop-shadow(0 4px 12px rgba(164,91,109,.16)); }
.hero-lede, .section-heading > p { color: #604a52; }
.hero-proof p { color: #735b63; }
.hero-proof strong { color: #402832; }
.button-primary { background: linear-gradient(105deg, #cb8393, #ad6477 56%, #955267); box-shadow: 0 10px 25px rgba(143,77,94,.26), 0 0 17px rgba(206,133,148,.18), inset 0 1px rgba(255,255,255,.42); animation-name: buttonGlowDusty; }
.button-quiet { color: #624750; border-color: rgba(153,92,107,.21); background: rgba(255,251,251,.9); }
.play-icon { background: #bd7788; }
.hero-glow { background: radial-gradient(ellipse at 40% 38%, #f3dfe3 0 30%, #f1e5e8 67%, transparent 73%); filter: drop-shadow(0 0 28px rgba(186,117,133,.14)); }
.hero-photo-card { box-shadow: 0 28px 65px rgba(91, 50, 61, .17), 0 0 0 2px rgba(207,145,158,.31), 0 0 27px rgba(183,116,132,.13); }
.comparison-line { box-shadow: 0 0 14px #fff, 0 0 0 1px rgba(160,88,105,.63), 0 0 16px rgba(176,96,115,.38); }
.comparison-line span { color: #7f4352; box-shadow: 0 0 0 4px rgba(255,248,249,.72), 0 5px 18px rgba(57,29,37,.2), 0 0 13px rgba(191,121,138,.3); }
.photo-caption { color: #594149; }
.hero-sticker { border-color: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(101,51,81,.12), 0 0 16px rgba(188,127,142,.14); }
.hero-sticker b { color: #60414b; }
.hero-star { color: #bd7c8c; text-shadow: 0 0 10px rgba(191,124,140,.65), 0 0 22px rgba(213,159,170,.42); }
.scroll-cue { color: #715a62; }
.scroll-cue span { border-color: #c9929e; box-shadow: 0 0 10px rgba(179,108,124,.2); }
.ticker { color: #573a43; background: linear-gradient(90deg, #dfb6bf, #f0d7dc 50%, #d9aab5); box-shadow: 0 0 20px rgba(175,111,127,.22), 0 5px 14px rgba(135,78,93,.13); }
.ticker-track { text-shadow: 0 0 8px rgba(255,255,255,.63); }
.ticker-track span:nth-of-type(2) { color: #754655; }

.pricing-section { background: radial-gradient(ellipse at 8% 0%, #f5e2e5 0, transparent 39%), radial-gradient(ellipse at 100% 100%, #f0dce0 0, transparent 40%), linear-gradient(135deg, #ead0d6 0%, #f3e2e5 53%, #e9cfd5 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(170,111,126,.17); }
.pricing-section::before, .pricing-section::after { color: rgba(157, 83, 101, .14); text-shadow: 0 0 30px rgba(192,126,142,.18); }
.pricing-heading .eyebrow { color: #754754; }
.pricing-heading .eyebrow-dot { background: #af697b; box-shadow: 0 0 0 4px rgba(175,105,123,.14), 0 0 14px rgba(175,105,123,.35); }
.pricing-heading h2 { color: #432831; }
.pricing-heading h2 span { background-image: linear-gradient(95deg, #915061, #c17688, #e1aeb8, #995566); text-shadow: 0 0 13px rgba(180,112,129,.25); }
.pricing-heading > p { color: #5e454e; }
.price-card { border-color: rgba(150, 91, 106, .23); background: linear-gradient(145deg, #fffafa 0%, #fcf4f5 61%, #f4e1e5 100%); box-shadow: 0 15px 35px rgba(84,42,54,.12), 0 0 0 1px rgba(207,148,161,.13), 0 0 20px rgba(195,131,145,.1); }
.price-card::before { background: linear-gradient(90deg, #d9a8b2, #b77183, #f0d1d7); box-shadow: 0 1px 12px rgba(155,88,103,.25); }
.price-card::after { color: rgba(153,82,100,.53); }
.price-card:hover { box-shadow: 0 22px 42px rgba(84,42,54,.17), 0 0 0 1px rgba(183,121,136,.28), 0 0 26px rgba(188,124,139,.18); }
.price-card-popular { border-color: #bd8793; background: linear-gradient(145deg, #e5c2c9 0%, #dbadb8 54%, #d3a0ac 100%); box-shadow: 0 17px 38px rgba(84,42,54,.17), 0 0 0 1px rgba(255,255,255,.44), 0 0 23px rgba(179,108,126,.2); }
.price-card-popular::before { background: linear-gradient(90deg, #f6e8ea, #bc7889, #fff5f5); box-shadow: 0 0 15px rgba(161,91,107,.34); }
.price-card-popular::after { color: #975566; text-shadow: 0 0 10px rgba(255,255,255,.65); }
.price-tag { color: #734252; background: #f1dce1; }
.price-card h3 { color: #432831; }
.price-desc { color: #5d4750; }
.price-list { border-top-color: rgba(92,52,64,.17); }
.price-list li { border-bottom-color: rgba(92,52,64,.15); color: #503b44; }
.price-list strong { color: #874255; }
.price-link { color: #804153; }
.price-note { color: #564049; }
.price-card-popular .price-tag { color: #603541; background: #f8e8ea; }
.price-card-popular h3 { color: #3b242b; }
.price-card-popular .price-desc { color: #49333b; }
.price-card-popular .price-list { border-top-color: rgba(73,43,51,.25); }
.price-card-popular .price-list li { border-bottom-color: rgba(73,43,51,.19); color: #46313a; }
.price-card-popular .price-list strong { color: #3c242d; text-shadow: none; }
.price-card-popular .price-note { color: #46313a; }
.price-card-popular .price-link { color: #593340; }
.pricing-footnote { color: #59444b; }

.service-card { border-color: rgba(149,88,103,.18); background: rgba(255,249,250,.86); box-shadow: 0 11px 30px rgba(93,46,74,.07), 0 0 16px rgba(180,119,134,.07); }
.service-card-featured { border-color: rgba(181,117,132,.35); background: linear-gradient(150deg, #fffafa 15%, #f4e0e5); box-shadow: 0 11px 30px rgba(164,95,113,.12), 0 0 19px rgba(189,131,145,.12); }
.card-kicker { color: #80505e; }
.text-link { color: #824254; }
.card-orbit { border-color: rgba(182,121,136,.31); box-shadow: 0 0 18px rgba(178,113,129,.11); }
.services::before, .stories::before { background: linear-gradient(90deg, transparent, #c38a98, #ead0d6, #bd7f8f, transparent); box-shadow: 0 0 10px rgba(174,108,125,.4), 0 0 22px rgba(189,125,139,.18); }
.story-card { border-color: rgba(152,88,103,.16); box-shadow: 0 12px 32px rgba(104,49,65,.08), 0 0 17px rgba(178,115,129,.07); }
.story-emoji { background: #f2dfe3; }
.story-arrow { color: #8b5361; }
.micro-story { border-color: rgba(165,102,116,.2); background: linear-gradient(145deg,#fffafa,#f5e5e8); box-shadow: 0 12px 29px rgba(91,29,48,.08), 0 0 14px rgba(184,119,133,.07); }
.micro-story-kicker { color: #7d4857; }
.micro-story-copy h3 { color: #432831; }
.micro-story-copy p { color: #5b464e; }
.story-spotlight { border-color: rgba(172,119,131,.35); color: #452b33; background: linear-gradient(115deg, #f4e3e6, #e6c5cc 58%, #f1dde1); box-shadow: 0 15px 36px rgba(88,48,58,.12), 0 0 18px rgba(188,126,140,.13); }
.story-spotlight::before { background: linear-gradient(#f8e9eb, #b77183, #f8e9eb); box-shadow: 0 0 14px rgba(171,103,119,.4); }
.spotlight-icon { border-color: rgba(169,107,121,.28); background: rgba(255,255,255,.42); box-shadow: 0 0 15px rgba(181,116,131,.11); }
.spotlight-kicker { color: #80505c; }
.spotlight-copy h3 { color: #432831; }
.spotlight-copy p { color: #5d4750; }
.spotlight-trail { border-color: rgba(145,88,102,.24); background: rgba(255,250,250,.4); }
.spotlight-trail b, .spotlight-sparkle { color: #8e5362; }
.spotlight-sparkle { text-shadow: 0 0 12px rgba(174,112,127,.42); }
.detail-heading h3 { color: #432831; }
.detail-heading h3 span { color: #a85e70; text-shadow: 0 0 10px rgba(189,127,141,.19); }
.detail-photo { border-color: rgba(167,108,122,.19); box-shadow: 0 13px 30px rgba(91,29,54,.09), 0 0 17px rgba(178,116,130,.08); }
.detail-photo figcaption { color: #4b3038; }
.detail-photo figcaption b { color: #a75f71; }

.routine-section { color: #432831; background: #ead1d7; }
.routine-section::before { border-color: rgba(141,78,94,.2); box-shadow: 0 0 0 25px rgba(141,78,94,.035), 0 0 0 58px rgba(141,78,94,.025); }
.routine-intro .eyebrow { color: #754957; }
.routine-intro h2 span { color: #9b5a6b; }
.routine-intro > p { color: #5d4750; }
.routine-step { border-bottom-color: rgba(101,60,71,.2); }
.routine-step:first-child { border-top-color: rgba(101,60,71,.2); }
.step-number { color: #78545e; }
.step-icon { color: #744250; background: linear-gradient(145deg, #f3dfe3, #dfb7c0); box-shadow: 0 7px 17px rgba(137,82,98,.14); }
.routine-step p { color: #5b454e; }
.step-tail { color: #995668; }
.contact-card { color: #432831; border-color: rgba(255,255,255,.78); background: linear-gradient(116deg, #dfb4be, #f0d4da 55%, #d7a6b1); box-shadow: 0 22px 48px rgba(124,70,84,.18), 0 0 24px rgba(184,117,132,.13), inset 0 1px rgba(255,255,255,.55); }
.contact-card::before { border-color: rgba(125,72,85,.2); box-shadow: 0 0 0 26px rgba(125,72,85,.035), 0 0 0 56px rgba(125,72,85,.025); }
.contact-copy .eyebrow { color: #63424b; }
.contact-copy .eyebrow-dot { background: #9c5e6d; box-shadow: 0 0 0 4px rgba(156,94,109,.16); }
.contact-copy h2 span { color: #7d4554; }
.contact-copy p { color: #563c45; }
.button-white { color: #57313c; background: #fffafb; box-shadow: 0 10px 24px rgba(88,46,59,.15); }
.contact-sparkles { color: rgba(128,76,87,.65); }
.contact-placeholder { color: #654a53; }
.footer-brand { color: #4c3039; }
.site-footer { color: #644c54; }
.footer-brand:first-letter { color: #a96374; }
.floating-tools { background: radial-gradient(circle, rgba(244,221,226,.92) 0 43%, rgba(244,221,226,0) 72%); }
.tool-caption { color: #714450; border-color: #ead0d6; box-shadow: 0 6px 16px rgba(116,47,67,.1), 0 0 12px rgba(179,119,133,.12); }
.tool-sparkle { color: #a85e70; }
.floating-contact { border-color: rgba(255,255,255,.95); background: rgba(255,249,250,.93); box-shadow: 0 12px 30px rgba(76,36,48,.15), 0 0 0 1px rgba(172,104,120,.16), 0 0 16px rgba(180,118,133,.11); }
.floating-contact a { color: #63414b; background: linear-gradient(120deg,#fbf0f2,#efd8de); }
.floating-contact a:first-child { background: linear-gradient(110deg, #ca8293, #a55c70); box-shadow: 0 5px 13px rgba(134,72,89,.25), 0 0 12px rgba(194,126,143,.21); animation-name: callPulseDusty; }
.floating-contact a:first-child::after { border-color: rgba(171,100,117,.55); }
.toast { color: #fffafa; background: #60414a; border-color: rgba(255,255,255,.8); }
.bubble { border-color: rgba(171,111,124,.26); background: radial-gradient(circle at 34% 27%, rgba(255,255,255,.82) 0 8%, rgba(241,218,223,.29) 28%, rgba(201,143,155,.1) 68%, rgba(255,255,255,.2)); box-shadow: inset -4px -5px 12px rgba(170,108,124,.08), inset 3px 3px 8px rgba(255,255,255,.82), 0 0 15px rgba(169,101,117,.09); }
.bubble-sparkle { color: #9f5d6e; text-shadow: 0 0 8px rgba(206,151,162,.72), 0 0 18px rgba(190,125,140,.43); }
.price-bubble { border-color: rgba(145,82,98,.29); background: radial-gradient(circle at 33% 25%, rgba(255,255,255,.74) 0 9%, rgba(255,255,255,.16) 31%, rgba(182,116,131,.08) 72%); box-shadow: inset 0 0 11px rgba(255,255,255,.2), 0 0 20px rgba(162,93,109,.16); }
.cleaning-kit { border-color: rgba(183,130,143,.27); box-shadow: 0 9px 27px rgba(96,30,50,.14), 0 0 16px rgba(185,121,136,.14); }
.kit-icons span { background: #f3e0e4; box-shadow: 0 3px 9px rgba(145,83,99,.11); }
.cleaning-kit small { color: #84515f; }
.cleaning-kit b { color: #472d35; }
.kit-glimmer { color: #a56273; }
.hero h1 span, .section-heading h2 span, .routine-intro h2 span, .contact-copy h2 span { text-shadow: 0 0 12px rgba(176,109,124,.22); }
.services::before, .stories::before { box-shadow: 0 0 10px rgba(174,108,125,.4), 0 0 22px rgba(189,125,139,.18); }
.micro-story-photo > span { border-color: rgba(255,255,255,.95); background: rgba(255,248,249,.95); box-shadow: 0 0 14px rgba(164,99,115,.18); }

@keyframes callPulseDusty { 0%,100% { box-shadow: 0 5px 13px rgba(134,72,89,.25), 0 0 10px rgba(194,126,143,.16); } 50% { box-shadow: 0 6px 18px rgba(134,72,89,.35), 0 0 19px rgba(194,126,143,.31); } }
@keyframes logoNeonDusty { 0%,100% { box-shadow: 0 8px 22px rgba(166,102,119,.25), 0 0 0 0 rgba(195,130,146,.08), inset 0 1px 0 rgba(255,255,255,.85); } 50% { box-shadow: 0 9px 26px rgba(166,102,119,.37), 0 0 0 6px rgba(195,130,146,.09), inset 0 1px 0 rgba(255,255,255,.9); } }
@keyframes buttonGlowDusty { 0%,100% { box-shadow: 0 10px 25px rgba(143,77,94,.25), 0 0 14px rgba(183,112,130,.13), inset 0 1px rgba(255,255,255,.42); } 50% { box-shadow: 0 12px 29px rgba(143,77,94,.34), 0 0 20px rgba(183,112,130,.24), inset 0 1px rgba(255,255,255,.48); } }

/* Contrast refinement: darker plum text and richer rose accents on the soft pink base. */
:root {
  --ink: #301621;
  --muted: #4c3540;
  --pink: #bb6379;
  --pink-dark: #6d3545;
  --rose: #d49aa7;
  --pink-soft: #f0d2d9;
  --cream: #fbf0f2;
  --line: rgba(84, 42, 55, .2);
  --shadow: 0 22px 60px rgba(87, 40, 54, .2);
}
html, body { background-color: #f3dfe4; }
body { color: #301621; background-image: linear-gradient(145deg, #f9eaed, #efd3da 52%, #f5e0e4); }
body::before { background: radial-gradient(circle at 5% 12%, rgba(209, 148, 161, .34), transparent 30%), radial-gradient(circle at 93% 45%, rgba(228, 188, 197, .4), transparent 31%), repeating-linear-gradient(0deg, rgba(92,43,56,.024) 0 1px, transparent 1px 4px); }
.topline { color: #39202a; background: linear-gradient(90deg, #e5bdc6, #d8a6b1 48%, #e8c4cb); box-shadow: inset 0 -1px rgba(91,47,60,.27), 0 3px 14px rgba(92,44,58,.15); }
.topline span { color: #7d3c50; text-shadow: 0 0 8px rgba(135,61,82,.34); }
.brand-copy strong, .brand-copy i { color: #38202a; }
.brand-copy i { color: #824353; }
.brand-copy small { color: #533540; }
.main-nav { color: #402630; }
.main-nav a:not(.nav-cta):hover { color: #6c3042; }
.nav-cta { color: #5d2f3b; border-color: rgba(112,53,69,.43); box-shadow: 0 7px 18px rgba(86,41,53,.13); }
.eyebrow { color: #663748; }
.eyebrow-dot { background: #965263; box-shadow: 0 0 0 4px rgba(132,66,84,.17), 0 0 12px rgba(125,55,75,.31); }
.hero h1 { color: #301621; }
.hero h1 span { background-image: linear-gradient(95deg, #743747 5%, #a9566a 43%, #d49aa7 60%, #743747 87%); filter: drop-shadow(0 3px 10px rgba(102,47,62,.2)); }
.hero-lede, .section-heading > p { color: #48313b; }
.hero-proof p { color: #57404a; }
.hero-proof strong { color: #301621; }
.button-primary { background: linear-gradient(105deg, #a95d70, #814353 56%, #62313f); box-shadow: 0 9px 24px rgba(78,35,48,.31), 0 0 15px rgba(149,79,98,.21), inset 0 1px rgba(255,255,255,.45); }
.button-quiet { color: #432831; border-color: rgba(111,55,71,.28); }
.hero-star { color: #98596a; text-shadow: 0 0 10px rgba(157,86,105,.65), 0 0 20px rgba(169,91,110,.3); }
.scroll-cue { color: #513941; }
.ticker { color: #3f242d; background: linear-gradient(90deg, #c8909d, #e4c0c8 50%, #c18593); box-shadow: 0 0 18px rgba(132,67,84,.25), 0 5px 13px rgba(86,43,55,.17); }
.ticker-track span:nth-of-type(2) { color: #633744; }

.pricing-section { background: radial-gradient(ellipse at 8% 0%, #e9c8cf 0, transparent 39%), radial-gradient(ellipse at 100% 100%, #dfb9c1 0, transparent 40%), linear-gradient(135deg, #dfbac2 0%, #ecd1d7 53%, #ddbac2 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.78), inset 0 -1px 0 rgba(95,48,60,.2); }
.pricing-section::before, .pricing-section::after { color: rgba(105,48,64,.19); text-shadow: 0 0 26px rgba(127,57,75,.16); }
.pricing-heading .eyebrow { color: #51313c; }
.pricing-heading .eyebrow-dot { background: #754151; box-shadow: 0 0 0 4px rgba(105,55,69,.16), 0 0 12px rgba(115,57,74,.28); }
.pricing-heading h2 { color: #301621; }
.pricing-heading h2 span { background-image: linear-gradient(95deg, #713544, #a75569, #ce8b9a, #713544); text-shadow: 0 0 12px rgba(109,49,66,.22); }
.pricing-heading > p, .pricing-footnote { color: #493039; }
.price-card { border-color: rgba(100,50,63,.28); background: linear-gradient(145deg, #fff9f9 0%, #fbf0f2 61%, #f1dce1 100%); box-shadow: 0 14px 32px rgba(65,31,41,.15), 0 0 0 1px rgba(130,67,83,.12), 0 0 18px rgba(148,81,98,.1); }
.price-card::before { background: linear-gradient(90deg, #d7a6b1, #a75b6f, #eed1d7); box-shadow: 0 1px 12px rgba(99,46,61,.3); }
.price-card::after { color: rgba(108,48,65,.64); }
.price-card-popular { border-color: #9b6573; background: linear-gradient(145deg, #d3a0ab 0%, #c58d99 54%, #b87b89 100%); box-shadow: 0 16px 36px rgba(61,27,38,.21), 0 0 0 1px rgba(255,255,255,.4), 0 0 22px rgba(126,57,74,.19); }
.price-card-popular h3 { color: #321923; }
.price-card-popular .price-desc, .price-card-popular .price-list li, .price-card-popular .price-note { color: #39232c; }
.price-card-popular .price-list strong { color: #301621; }
.price-card-popular .price-link { color: #45242f; }
.price-tag { color: #57303c; background: #ead0d6; }
.price-card h3, .detail-heading h3 { color: #321923; }
.price-desc, .price-list li, .price-note { color: #49323b; }
.price-list strong, .price-link { color: #713646; }
.price-card-popular .price-tag { color: #422630; background: #f1dce0; }
.price-card-popular .price-list { border-top-color: rgba(58,31,39,.28); }
.price-card-popular .price-list li { border-bottom-color: rgba(58,31,39,.22); }
.price-card-popular .price-card-wide .price-link { color: #45242f; }

.service-card, .story-card, .micro-story, .detail-photo { border-color: rgba(107,54,68,.24); }
.service-card { background: rgba(255,248,249,.91); box-shadow: 0 10px 27px rgba(76,37,48,.1), 0 0 14px rgba(125,59,77,.08); }
.service-card-featured { border-color: rgba(131,62,81,.4); background: linear-gradient(150deg, #fff9f9 15%, #eed2d9); box-shadow: 0 11px 29px rgba(92,42,56,.15), 0 0 17px rgba(132,63,81,.14); }
.card-kicker, .text-link { color: #683747; }
.card-orbit { border-color: rgba(129,62,80,.35); box-shadow: 0 0 17px rgba(111,51,69,.12); }
.services::before, .stories::before { background: linear-gradient(90deg, transparent, #965768, #e2c0c7, #8c4a5d, transparent); box-shadow: 0 0 9px rgba(104,48,65,.35), 0 0 20px rgba(117,53,71,.17); }
.story-spotlight { border-color: rgba(106,57,70,.33); color: #35202a; background: linear-gradient(115deg, #e9cbd1, #d9adb7 58%, #e6c2ca); box-shadow: 0 14px 34px rgba(67,31,42,.16), 0 0 17px rgba(116,54,71,.13); }
.story-spotlight::before { background: linear-gradient(#f5e4e7, #8d4c5d, #f5e4e7); box-shadow: 0 0 13px rgba(113,51,69,.4); }
.spotlight-kicker, .spotlight-trail b, .spotlight-sparkle { color: #603441; }
.spotlight-copy h3 { color: #321923; }
.spotlight-copy p { color: #49333c; }
.spotlight-trail { border-color: rgba(91,46,59,.29); }
.micro-story-kicker { color: #633544; }
.micro-story-copy h3 { color: #321923; }
.micro-story-copy p { color: #49333c; }
.detail-heading h3 span { color: #824454; }

.routine-section { color: #321923; background: #e2c0c7; }
.routine-intro .eyebrow { color: #593542; }
.routine-intro h2 span { color: #824555; }
.routine-intro > p, .routine-step p { color: #49333c; }
.routine-step { border-color: rgba(79,42,52,.23); }
.routine-step:first-child { border-top-color: rgba(79,42,52,.23); }
.step-number { color: #64434c; }
.step-icon { color: #58323c; background: linear-gradient(145deg, #f4e4e7, #d1a0aa); box-shadow: 0 7px 16px rgba(87,42,54,.17); }
.step-tail { color: #764353; }
.contact-card { color: #321923; border-color: rgba(255,255,255,.85); background: linear-gradient(116deg, #cf9aa6, #e7c6cd 55%, #c9909d); box-shadow: 0 20px 45px rgba(78,36,49,.23), 0 0 20px rgba(124,57,74,.15), inset 0 1px rgba(255,255,255,.58); }
.contact-copy .eyebrow, .contact-copy p, .contact-copy h2 span { color: #432730; }
.contact-copy .eyebrow-dot { background: #75404f; box-shadow: 0 0 0 4px rgba(99,48,61,.16); }
.button-white { color: #44242e; }
.contact-placeholder, .site-footer { color: #4d353e; }
.footer-brand { color: #35202a; }
.floating-contact a:first-child { background: linear-gradient(110deg, #a96376, #78404f); box-shadow: 0 5px 13px rgba(65,31,41,.3), 0 0 11px rgba(135,65,83,.2); }
.floating-contact a:first-child::after { border-color: rgba(111,50,67,.6); }
.floating-contact a { color: #4d3039; background: linear-gradient(120deg,#faf0f2,#e9d0d6); }
.floating-contact { box-shadow: 0 11px 27px rgba(57,28,37,.2), 0 0 0 1px rgba(92,46,59,.22), 0 0 14px rgba(118,54,72,.12); }
.brand-mark { animation-name: logoNeonContrast; }
.button-primary { animation-name: buttonGlowContrast; }
.bubble { border-color: rgba(127,65,81,.34); box-shadow: inset -4px -5px 12px rgba(120,57,73,.1), inset 3px 3px 8px rgba(255,255,255,.83), 0 0 14px rgba(115,53,70,.11); }
.bubble-sparkle { color: #774252; text-shadow: 0 0 8px rgba(174,114,128,.7), 0 0 18px rgba(121,58,75,.32); }
.price-bubble { border-color: rgba(110,52,67,.35); box-shadow: inset 0 0 10px rgba(255,255,255,.23), 0 0 18px rgba(104,49,64,.18); }
.tool-caption { color: #593542; border-color: rgba(121,66,80,.27); }
.tool-sparkle, .kit-glimmer { color: #7c4353; }
.cleaning-kit { border-color: rgba(122,68,82,.31); box-shadow: 0 9px 24px rgba(61,29,39,.2), 0 0 15px rgba(123,58,76,.16); }
.cleaning-kit small { color: #69404b; }
.text-link:hover, .price-link:hover { color: #3f202b; text-shadow: 0 0 9px rgba(128,62,80,.28); }
::selection { color: #fffafa; background: #80505d; }

.cancellation-note {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  margin: 28px auto 34px;
  padding: 25px 30px;
  border: 1px solid rgba(108, 49, 67, .34);
  border-radius: 24px;
  color: #301621;
  background: linear-gradient(125deg, #f8e9ec, #e8c6ce 60%, #f2dce1);
  box-shadow: 0 14px 34px rgba(69, 31, 43, .14), 0 0 19px rgba(133, 63, 81, .12), inset 0 1px rgba(255,255,255,.78);
}
.cancellation-note::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 24px 24px 0 0; background: linear-gradient(90deg, #784151, #d49aa7, #87495d); box-shadow: 0 0 14px rgba(123,58,76,.32); }
.cancellation-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(115,55,72,.22); border-radius: 17px; background: rgba(255,250,250,.78); font-size: 28px; box-shadow: 0 6px 16px rgba(86,39,52,.1); }
.cancellation-copy .eyebrow { margin-bottom: 7px; font-size: 9px; }
.cancellation-copy h2 { margin: 0 0 10px; color: #301621; font-size: clamp(21px, 2.4vw, 28px); letter-spacing: -.045em; text-transform: uppercase; }
.cancellation-copy p { max-width: 900px; margin: 7px 0; color: #49313b; font-size: 13px; line-height: 1.7; }
.cancellation-copy .cancellation-thanks { margin-top: 13px; font-weight: 700; }
.cancellation-motto { display: inline-block; margin-top: 4px; color: #673646; font-size: 12px; }

.extra-prices { margin-top: 42px; }
.extra-prices .detail-heading { margin-bottom: 19px; }
.extra-prices .detail-heading h3 { margin: 8px 0 0; font-size: clamp(25px,3vw,34px); letter-spacing: -.05em; }
.extra-prices .detail-heading h3 span { color: #824454; }
.extra-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 990px; margin: 0 auto; align-items: stretch; }
.extra-price-card { min-height: 0; padding: 25px; }
.extra-price-card h3 { margin-top: 15px; }
.extra-price-card .price-desc { min-height: 0; font-size: 12px; }
.extra-price-note { margin: 14px 0 0; color: #49323b; font-size: 11px; line-height: 1.65; }
.furniture-rates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 18px; margin-top: 5px; }
.rate-group h4 { margin: 9px 0 4px; color: #603441; font-size: 12px; }
.rate-group ul { padding: 0; margin: 0; list-style: none; }
.rate-group li { min-height: 27px; display: flex; justify-content: space-between; align-items: center; gap: 8px; border-bottom: 1px solid rgba(76,38,50,.12); color: #49323b; font-size: 10px; }
.rate-group li strong { color: #713646; white-space: nowrap; font-size: 10px; }

.scope-section { padding-top: 82px; padding-bottom: 92px; }
.scope-list { display: grid; gap: 12px; max-width: 950px; margin: 0 auto; }
.scope-item { overflow: hidden; border: 1px solid rgba(107,54,68,.24); border-radius: 18px; background: linear-gradient(135deg, rgba(255,250,250,.96), rgba(241,218,224,.88)); box-shadow: 0 10px 27px rgba(76,37,48,.09), 0 0 15px rgba(125,59,77,.07); }
.scope-item[open] { border-color: rgba(116,54,72,.4); box-shadow: 0 14px 32px rgba(76,37,48,.13), 0 0 18px rgba(125,59,77,.1); }
.scope-item summary { min-height: 77px; display: flex; align-items: center; gap: 15px; padding: 14px 19px; color: #321923; cursor: pointer; list-style: none; }
.scope-item summary::-webkit-details-marker { display: none; }
.scope-icon { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 14px; background: #edd2d9; font-size: 22px; }
.scope-item summary > span:nth-child(2) { display: grid; gap: 4px; }
.scope-item summary small { color: #744250; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.scope-item summary strong { font-size: 16px; letter-spacing: -.025em; }
.scope-toggle { margin-left: auto; color: #733d4e; font-size: 22px; transition: transform .2s ease; }
.scope-item[open] .scope-toggle { transform: rotate(45deg); }
.scope-content { padding: 0 24px 20px 77px; }
.scope-content ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; padding: 0; margin: 0; list-style: none; }
.scope-content li { padding: 9px 0; border-top: 1px solid rgba(76,38,50,.12); color: #49323b; font-size: 12px; line-height: 1.55; }
.scope-footnote { padding: 13px 15px; margin: 16px 0 0; border-left: 3px solid #965263; border-radius: 0 11px 11px 0; color: #49323b; background: rgba(226,192,199,.38); font-size: 11px; line-height: 1.65; }

.contact-placeholder a { color: #623443; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 3px; }

@media (max-width: 700px) {
  .cancellation-note { grid-template-columns: 42px minmax(0,1fr); gap: 12px; margin: 17px 15px 24px; padding: 20px 17px; border-radius: 19px; }
  .cancellation-icon { width: 40px; height: 40px; border-radius: 13px; font-size: 22px; }
  .cancellation-copy h2 { font-size: 21px; }
  .cancellation-copy p { font-size: 12px; }
  .cancellation-motto { font-size: 11px; line-height: 1.5; }
  .extra-prices { margin-top: 31px; }
  .extra-price-grid { grid-template-columns: 1fr; }
  .extra-price-card { padding: 21px 19px; }
  .furniture-rates { gap: 8px 13px; }
  .scope-section { padding-top: 54px; padding-bottom: 62px; }
  .scope-item summary { min-height: 70px; gap: 10px; padding: 12px; }
  .scope-icon { width: 38px; height: 38px; font-size: 19px; }
  .scope-item summary strong { font-size: 13px; }
  .scope-item summary small { font-size: 7px; }
  .scope-content { padding: 0 15px 16px; }
  .scope-content ul { grid-template-columns: 1fr; }
  .scope-content li { font-size: 11px; }
}

/* Extra shimmer with a calmer, roomier phone layout. */
.hero h1 span, .section-heading h2 span, .detail-heading h3 span {
  background-size: 220% auto;
  animation: textShimmer 6s ease-in-out infinite alternate;
}
.price-card::before {
  background-size: 240% 100%;
  animation: roseRibbon 5s ease-in-out infinite alternate;
}
.price-card::after {
  animation: twinkle 1.7s ease-in-out infinite;
  text-shadow: 0 0 7px rgba(123,58,76,.24), 0 0 16px rgba(181,106,126,.45);
}
.service-card { isolation: isolate; }
.service-card::after {
  content: "✧";
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 0;
  color: #9a5c6c;
  font-size: 23px;
  text-shadow: 0 0 12px rgba(173,101,120,.45);
  animation: sparklePing 2.7s ease-in-out infinite;
  pointer-events: none;
}
.story-card { position: relative; overflow: hidden; }
.story-card::after {
  content: "✦";
  position: absolute;
  top: 14px;
  right: 15px;
  z-index: 2;
  color: #fff8dc;
  font-size: 19px;
  filter: drop-shadow(0 0 7px rgba(140,68,87,.75));
  animation: sparklePing 2.2s ease-in-out infinite;
  pointer-events: none;
}
.button-primary { position: relative; isolation: isolate; overflow: hidden; }
.button-primary::after {
  content: "";
  position: absolute;
  top: -40%;
  bottom: -40%;
  left: -38%;
  z-index: 0;
  width: 32%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  animation: buttonGlint 4.4s ease-in-out infinite;
  pointer-events: none;
}
.cancellation-note::before { background-size: 220% 100%; animation: roseRibbon 5s ease-in-out infinite alternate; }
.cancellation-note::after {
  content: "✦";
  position: absolute;
  top: 17px;
  right: 21px;
  color: #875064;
  font-size: 18px;
  text-shadow: 0 0 12px rgba(173,101,120,.4);
  animation: sparklePing 2.6s ease-in-out infinite;
  pointer-events: none;
}
.scope-icon { animation: iconFloat 3.4s ease-in-out infinite; }
@keyframes roseRibbon { from { background-position: 0% center; } to { background-position: 100% center; } }
@keyframes sparklePing { 0%,100% { opacity: .55; transform: scale(.84) rotate(-10deg); } 50% { opacity: 1; transform: scale(1.16) rotate(13deg); } }
@keyframes buttonGlint { 0%,58% { left: -38%; opacity: 0; } 66% { opacity: .8; } 86%,100% { left: 125%; opacity: 0; } }
@keyframes iconFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

@media (max-width: 700px) {
  .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 24px; }
  .section-heading h2 { font-size: clamp(30px, 8.5vw, 38px); line-height: 1.08; }
  .section-heading > p, .pricing-heading > p { max-width: none; font-size: 15px; line-height: 1.65; }
  .service-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-card { min-height: 0; padding: 22px; }
  .service-emoji { height: 41px; font-size: 30px; }
  .card-kicker { font-size: 9px; }
  .service-card h3 { max-width: none; margin: 10px 0; font-size: 20px; line-height: 1.2; }
  .service-card p { min-height: 0; margin-bottom: 13px; font-size: 14px; line-height: 1.6; }
  .text-link, .price-link { font-size: 13px; }
  .price-card h3, .price-card-wide h3 { font-size: 21px; }
  .price-desc { font-size: 14px; line-height: 1.6; }
  .price-list li { min-height: 49px; font-size: 14px; }
  .price-list strong { font-size: 16px; }
  .price-note, .extra-price-note, .pricing-footnote { font-size: 13px; line-height: 1.6; }
  .furniture-rates { grid-template-columns: 1fr; gap: 5px; }
  .rate-group h4 { font-size: 14px; }
  .rate-group li { min-height: 35px; font-size: 13px; }
  .rate-group li strong { font-size: 13px; }
  .story-image { height: clamp(220px, 72vw, 310px); }
  .story-copy h3, .micro-story-copy h3 { font-size: 16px; }
  .story-copy p, .micro-story-copy p { font-size: 13px; line-height: 1.6; }
  .scope-item summary strong { font-size: 15px; }
  .scope-item summary small { font-size: 8px; }
  .scope-content li { font-size: 13px; line-height: 1.6; }
  .scope-footnote { font-size: 13px; }
  .routine-step p, .contact-copy p { font-size: 14px; line-height: 1.6; }
  .floating-contact { bottom: calc(10px + env(safe-area-inset-bottom)); left: 10px; }
  .floating-contact a { min-width: 96px; min-height: 46px; padding: 0 12px; font-size: 12px; }
  .floating-tools { width: 74px; height: 74px; right: 5px; bottom: calc(70px + env(safe-area-inset-bottom)); transform: scale(.68); transform-origin: bottom right; }
}
@media (max-width: 400px) {
  .section-wrap { padding-left: 16px; padding-right: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { justify-content: center; }
  .floating-contact a { min-width: 85px; padding: 0 9px; }
  .tool-caption { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 span, .section-heading h2 span, .detail-heading h3 span,
  .price-card::before, .price-card::after, .service-card::after, .story-card::after,
  .button-primary::after, .cancellation-note::before, .cancellation-note::after,
  .scope-icon { animation: none !important; }
}

@keyframes logoNeonContrast { 0%,100% { box-shadow: 0 8px 22px rgba(96,44,57,.24), 0 0 0 0 rgba(119,59,76,.08), inset 0 1px 0 rgba(255,255,255,.85); } 50% { box-shadow: 0 9px 26px rgba(96,44,57,.37), 0 0 0 6px rgba(119,59,76,.11), inset 0 1px 0 rgba(255,255,255,.9); } }
@keyframes buttonGlowContrast { 0%,100% { box-shadow: 0 9px 24px rgba(78,35,48,.28), 0 0 13px rgba(130,61,79,.14), inset 0 1px rgba(255,255,255,.45); } 50% { box-shadow: 0 12px 28px rgba(78,35,48,.38), 0 0 20px rgba(130,61,79,.27), inset 0 1px rgba(255,255,255,.5); } }

@keyframes logoNeon { 0%,100% { box-shadow: 0 8px 22px rgba(240,76,156,.34), 0 0 0 0 rgba(255,56,166,.1), inset 0 1px 0 rgba(255,255,255,.72); } 50% { box-shadow: 0 9px 28px rgba(240,76,156,.56), 0 0 0 7px rgba(255,56,166,.08), inset 0 1px 0 rgba(255,255,255,.8); } }
@keyframes textShimmer { to { background-position: 220% center; } }
@keyframes buttonShine { 0%,62% { left: -36%; opacity: 0; } 70% { opacity: 1; } 88%,100% { left: 125%; opacity: 0; } }
@keyframes bubbleRise { 0% { opacity: 0; transform: translate3d(-8px, 10vh, 0) scale(.78); } 12% { opacity: .46; } 72% { opacity: .32; } 100% { opacity: 0; transform: translate3d(16px, -120vh, 0) scale(1.16); } }
@keyframes sparkleDrift { 0%,100% { opacity: .36; transform: translateY(0) scale(.82) rotate(-8deg); } 50% { opacity: 1; transform: translateY(-9px) scale(1.2) rotate(12deg); } }
@keyframes orbitPulse { 0%,100% { transform: scale(.98); opacity: .75; } 50% { transform: scale(1.08); opacity: 1; } }

@media (max-width: 980px) {
  .price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-card, .price-card-wide { min-height: 345px; padding: 23px; }
  .price-card-wide { grid-column: auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .price-card-wide .price-link { grid-column: auto; justify-self: stretch; min-width: 0; }
}
@media (max-width: 700px) {
  .topline { font-size: 10px; }
  .hero-lede { font-size: 14px; }
  .pricing-wrap { padding-top: 54px; padding-bottom: 59px; }
  .pricing-heading > p, .section-heading > p { font-size: 13px; }
  .price-grid { grid-template-columns: 1fr; gap: 13px; }
  .price-card, .price-card-wide { min-height: 0; padding: 22px 19px; }
  .price-card h3, .price-card-wide h3 { font-size: 21px; }
  .price-desc { font-size: 12px; }
  .price-list li { min-height: 45px; font-size: 12px; }
  .price-list strong { font-size: 15px; }
  .price-note { font-size: 11px; }
  .price-link { font-size: 12px; }
  .pricing-footnote { font-size: 11px; }
  .service-card p { font-size: 11px; }
  .routine-step p { font-size: 11px; }
  .contact-copy p { font-size: 12px; }
  .floating-contact a { min-width: 88px; min-height: 42px; font-size: 11px; }
  .bubble { opacity: .75; }
  .bubble-5, .bubble-7 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bubble, .bubble-sparkle { animation: none; }
}


/* Earlier proof gallery and clear mobile contact controls. */
.stories { padding-top: 48px; padding-bottom: 64px; }
.story-image { height: clamp(300px, 30vw, 390px); }
.photo-label { top: 14px; padding: 8px 12px; font-size: 11px; }
.comparison-line span { width: 46px; height: 46px; font-size: 19px; }
.comparison input[type="range"] { touch-action: pan-y; }
.button-phone { color: #fff; background: linear-gradient(110deg, #804153, #542a3b); box-shadow: 0 9px 22px rgba(68,34,46,.24), 0 0 13px rgba(157,81,100,.18); }
.button-phone span { font-size: 19px; }
.contact-placeholder { color: #543541; font-size: 13px; font-weight: 700; }
.contact-placeholder a { color: #762b47; text-decoration: underline; text-underline-offset: 3px; }
.floating-contact { gap: 7px; }
.floating-contact a { min-width: 112px; min-height: 50px; font-size: 13px; }
.floating-contact a:first-child { min-width: 138px; color: #fff; background: linear-gradient(110deg, #a96376, #78404f); box-shadow: 0 6px 17px rgba(65,31,41,.32), 0 0 14px rgba(135,65,83,.24); }
@media (max-width: 700px) {
  .stories { padding-top: 34px; padding-bottom: 48px; }
  .story-grid { grid-template-columns: 1fr; gap: 17px; }
  .story-card { padding: 10px; }
  .story-image { height: clamp(275px, 76vw, 390px); }
  .story-copy { min-height: 78px; gap: 12px; }
  .story-copy h3 { font-size: 16px; }
  .story-copy p { font-size: 13px; line-height: 1.55; }
  .floating-contact { bottom: calc(11px + env(safe-area-inset-bottom)); left: 12px; padding: 5px; gap: 5px; }
  .floating-contact a { min-width: 102px; min-height: 52px; padding: 0 12px; font-size: 13px; }
  .floating-contact a:first-child { min-width: 148px; font-size: 15px; }
  .floating-contact a span:first-child { font-size: 18px; }
  .button-phone { width: 100%; min-height: 54px; font-size: 14px; }
  .comparison-line span { width: 48px; height: 48px; }
}
@media (max-width: 390px) {
  .floating-contact { left: 8px; right: 8px; justify-content: center; }
  .floating-contact a:first-child { min-width: 0; flex: 1.25; }
  .floating-contact a:not(:first-child) { min-width: 0; flex: 1; }
}


/* Extra sparkle, gentle bounce and light sweeps across the whole page. */
@keyframes pageGlowPulse {
  0%,100% { filter: drop-shadow(0 0 0 rgba(177, 91, 112, 0)); }
  50% { filter: drop-shadow(0 5px 12px rgba(177, 91, 112, .23)); }
}
@keyframes pageCardBounce {
  0%,100% { translate: 0 0; }
  50% { translate: 0 -4px; }
}
@keyframes iconPop {
  0%,100% { transform: translateY(0) rotate(0) scale(1); }
  38% { transform: translateY(-4px) rotate(-5deg) scale(1.06); }
  72% { transform: translateY(0) rotate(4deg) scale(1); }
}
@keyframes pinkNeonSweep { from { background-position: 0% center; } to { background-position: 240% center; } }
@keyframes quoteButtonPulse {
  0%,100% { box-shadow: 0 7px 19px rgba(105,49,65,.17), 0 0 0 0 rgba(169,86,107,.06); }
  50% { box-shadow: 0 10px 24px rgba(105,49,65,.25), 0 0 0 5px rgba(169,86,107,.09); }
}

.brand-mark, .hero-sticker, .cleaning-kit, .hero-photo-card,
.price-card, .service-card, .story-card, .micro-story, .detail-photo,
.scope-item, .routine-step, .contact-card, .cancellation-note {
  animation-name: pageGlowPulse;
  animation-duration: 3.4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.price-card, .service-card, .story-card, .micro-story, .routine-step {
  animation-name: pageCardBounce, pageGlowPulse;
  animation-duration: 5.2s, 3.4s;
  animation-timing-function: ease-in-out, ease-in-out;
  animation-iteration-count: infinite, infinite;
}
.price-card:nth-child(2), .service-card:nth-child(2), .story-card:nth-child(2), .routine-step:nth-child(2) { animation-delay: -.9s, -.6s; }
.price-card:nth-child(3), .service-card:nth-child(3), .story-card:nth-child(3), .routine-step:nth-child(3) { animation-delay: -1.8s, -1.2s; }
.price-card:nth-child(4), .story-card:nth-child(4) { animation-delay: -2.6s, -1.8s; }
.micro-story:nth-child(2) { animation-delay: -1.1s, -.8s; }
.micro-story:nth-child(3) { animation-delay: -2.1s, -1.6s; }
.price-top .price-icon, .service-emoji, .step-icon, .story-emoji,
.contact-bubbles span, .hero-star, .mark-glint, .tool-sparkle {
  animation: iconPop 2.2s ease-in-out infinite;
}
.price-top .price-icon:nth-child(2n), .contact-bubbles span:nth-child(2) { animation-delay: -.7s; }
.eyebrow-dot, .bubble-sparkle, .photo-caption .caption-sparkle,
.detail-photo figcaption b, .story-spotlight .spotlight-sparkle {
  animation: sparklePing 1.45s ease-in-out infinite;
}
.hero h1 span, .section-heading h2 span, .detail-heading h3 span,
.routine-intro h2 span, .contact-copy h2 span {
  animation-duration: 3.6s;
  filter: drop-shadow(0 3px 10px rgba(162,75,96,.31));
}
.services::before, .stories::before {
  background-size: 240% 100%;
  animation: pinkNeonSweep 3.2s linear infinite;
}
.comparison { box-shadow: 0 0 0 1px rgba(173,82,105,.16), 0 0 20px rgba(181,86,112,.12); }
.comparison::after {
  content: "✦";
  position: absolute;
  right: 13px;
  bottom: 10px;
  z-index: 2;
  color: #fff7d8;
  font-size: 20px;
  text-shadow: 0 0 8px #fff, 0 0 20px rgba(192,80,122,.92);
  animation: sparklePing 1.6s ease-in-out infinite;
  pointer-events: none;
}
.photo-label { box-shadow: 0 0 14px rgba(255,255,255,.36); }
.price-list strong { display: inline-block; animation: priceTwinkle 2.8s ease-in-out infinite; }
@keyframes priceTwinkle { 0%,100% { text-shadow: 0 0 0 rgba(153,74,94,0); scale: 1; } 50% { text-shadow: 0 0 11px rgba(153,74,94,.28); scale: 1.035; } }
.nav-cta, .price-link, .button-quiet, .button-phone, .contact-quote {
  animation: quoteButtonPulse 2.7s ease-in-out infinite;
}
.button-primary::after { animation-duration: 2.6s; }
.floating-contact a:first-child { animation-duration: 1.5s; }
.floating-tools { animation: pageGlowPulse 2.8s ease-in-out infinite; }
.bubble { box-shadow: inset -4px -5px 12px rgba(120,57,73,.12), inset 3px 3px 8px rgba(255,255,255,.9), 0 0 22px rgba(166,80,103,.2); }
.bubble-sparkle { text-shadow: 0 0 10px rgba(255,255,255,.95), 0 0 24px rgba(153,74,94,.8); }
@media (max-width: 700px) {
  .story-card, .price-card, .service-card, .micro-story, .routine-step { animation-duration: 6.5s, 4.1s; }
  .comparison::after { right: 11px; bottom: 8px; font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-mark, .hero-sticker, .cleaning-kit, .hero-photo-card, .price-card,
  .service-card, .story-card, .micro-story, .detail-photo, .scope-item,
  .routine-step, .contact-card, .cancellation-note, .price-top .price-icon,
  .service-emoji, .step-icon, .story-emoji, .contact-bubbles span, .hero-star,
  .mark-glint, .tool-sparkle, .eyebrow-dot, .bubble-sparkle,
  .photo-caption .caption-sparkle, .detail-photo figcaption b,
  .story-spotlight .spotlight-sparkle, .comparison::after, .price-list strong,
  .nav-cta, .price-link, .button-quiet, .button-phone, .contact-quote,
  .floating-tools, .services::before, .stories::before {
    animation: none !important;
    filter: none !important;
  }
}
