
:root{
  /* V5 — Kristall Diamant rose / blush palette inspired by the original site */
  --navy:#342732; --navy2:#4b3447; --blue:#c455b5; --blue2:#a94198;
  --ink:#2c232b; --muted:#796c77; --paper:#fffafd; --soft:#fdf1fb; --line:#eadbe7;
  --white:#fff; --shadow:0 18px 55px rgba(52,39,50,.12); --radius:18px;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%} a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,calc(100% - 40px));margin:auto}
.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--blue)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;margin:0 0 18px;letter-spacing:-.025em}h1{font-size:clamp(3rem,7vw,6.7rem)}h2{font-size:clamp(2.4rem,4.5vw,4.5rem)}h3{font-size:1.55rem}.lead{font-size:clamp(1.04rem,1.8vw,1.25rem);color:#665660;max-width:720px}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:15px 22px;border-radius:5px;border:1px solid transparent;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:.25s ease;cursor:pointer}.btn-primary{background:var(--blue);color:white}.btn-primary:hover{background:var(--blue2);transform:translateY(-2px);box-shadow:0 12px 32px rgba(196,85,181,.25)}.btn-dark{background:var(--navy);color:#fff}.btn-outline{border-color:#c8a9c1;background:transparent;color:var(--navy)}.btn-outline:hover{border-color:var(--navy);background:#fff}.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.section{padding:100px 0}.section-sm{padding:65px 0}.section-dark{background:var(--navy);color:#fff}.section-dark .lead,.section-dark .muted{color:#ead8e5}.section-soft{background:var(--soft)}

/* official Kristall Diamant brand intro */
.intro-seen .brand-intro{display:none!important}
body.intro-lock{overflow:hidden}
.brand-intro{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 44%,#ffffff 0,#fffafd 48%,#fbf1f8 100%);overflow:hidden;opacity:1;visibility:visible}
.brand-intro:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 44%,rgba(255,255,255,.78) 50%,transparent 56%);transform:translateX(-120%);opacity:.48}
.brand-intro.play:before{animation:introAmbient 2.15s ease-out forwards}
.brand-intro-stage{position:relative;width:min(88vw,540px);display:grid;justify-items:center;text-align:center;transform:translateY(-1.5vh)}
.brand-intro-mark{position:relative;width:min(62vw,340px);aspect-ratio:665/700}
.intro-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.intro-logo-ghost{opacity:.055;filter:blur(.15px)}
.intro-logo-reveal{position:absolute;inset:0;clip-path:inset(0 100% 0 0);filter:drop-shadow(0 10px 20px rgba(52,39,50,.08))}
.brand-intro.play .intro-logo-reveal{animation:introTrace 1.42s cubic-bezier(.65,0,.35,1) .12s forwards}
.intro-sweep{position:absolute;top:5%;bottom:4%;left:0;width:2px;background:linear-gradient(180deg,transparent,rgba(196,85,181,.95) 18%,rgba(255,255,255,.95) 48%,rgba(196,85,181,.95) 82%,transparent);box-shadow:0 0 16px rgba(196,85,181,.65);opacity:0;transform:translateX(-8px)}
.brand-intro.play .intro-sweep{animation:introSweep 1.42s cubic-bezier(.65,0,.35,1) .12s forwards}
.intro-wordmark{margin-top:-10px;font-family:var(--serif);font-size:clamp(1.08rem,2.4vw,1.5rem);letter-spacing:.22em;color:var(--navy);opacity:0;transform:translateY(10px)}
.intro-tagline{margin-top:8px;font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;color:#8c7b87;opacity:0;transform:translateY(8px)}
.brand-intro.play .intro-wordmark{animation:introText .55s ease 1.12s forwards}
.brand-intro.play .intro-tagline{animation:introText .55s ease 1.27s forwards}
.intro-spark{position:absolute;color:#c455b5;opacity:0;filter:drop-shadow(0 0 5px rgba(196,85,181,.35));font-size:1.05rem}
.intro-spark-a{right:18%;top:23%}.intro-spark-b{left:19%;bottom:17%;font-size:.8rem}
.brand-intro.play .intro-spark-a{animation:introSpark .62s ease 1.28s forwards}.brand-intro.play .intro-spark-b{animation:introSpark .55s ease 1.48s forwards}
.brand-intro.play{animation:introExit .62s cubic-bezier(.55,0,.25,1) 2.08s forwards}
@keyframes introTrace{0%{clip-path:inset(0 100% 0 0)}68%{clip-path:inset(0 16% 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes introSweep{0%{left:0;opacity:0}8%{opacity:.92}82%{opacity:.72}100%{left:100%;opacity:0}}
@keyframes introText{to{opacity:1;transform:none}}
@keyframes introSpark{0%{opacity:0;transform:scale(.3) rotate(-20deg)}45%{opacity:1;transform:scale(1.35) rotate(5deg)}100%{opacity:.52;transform:scale(1) rotate(0)}}
@keyframes introAmbient{to{transform:translateX(120%)}}
@keyframes introExit{0%{opacity:1;transform:scale(1)}100%{opacity:0;visibility:hidden;transform:scale(1.018)}}

/* header */
.topbar{height:32px;background:var(--navy);color:#eadce6;font-size:.75rem}.topbar .container{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:24px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,250,253,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(52,39,50,.08)}.header-inner{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:240px}.brand img.brand-logo{width:48px;height:48px;object-fit:contain;flex:0 0 48px}.brand-title{font-family:var(--serif);font-size:1.02rem;letter-spacing:.07em;text-transform:uppercase;line-height:1}.brand-sub{font-size:.52rem;letter-spacing:.16em;color:#8b7a86;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:24px;margin-left:auto}.nav a{font-size:.76rem;font-weight:700;color:#4d3c49;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--blue);transition:.25s}.nav a:hover:after,.nav a.active:after{right:0}.nav-cta{margin-left:4px}.menu-btn{display:none;margin-left:auto;border:0;background:none;width:44px;height:44px;position:relative}.menu-btn:before,.menu-btn:after,.menu-btn span{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--navy);transition:.25s}.menu-btn:before{top:14px}.menu-btn span{top:21px}.menu-btn:after{top:28px}
.mobile-menu{display:none;position:fixed;inset:104px 0 0;background:rgba(255,250,253,.985);z-index:999;padding:30px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.7rem}.mobile-menu .btn{margin-top:24px;width:100%}
/* hero */
.hero{min-height:690px;position:relative;overflow:hidden;background:linear-gradient(90deg,#2e222c 0%,#4a3345 44%,#fff6fc 44%,#fff6fc 100%);color:white}.hero-media{position:absolute;inset:0 0 0 43%;background:url('../img/hero-dom.avif') center/cover no-repeat;transform:scale(1.04);animation:cinematic 16s ease-in-out infinite alternate}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,39,50,.85),rgba(52,39,50,.06) 45%,rgba(52,39,50,.04))}.hero-content{position:relative;z-index:2;min-height:690px;display:flex;align-items:center}.hero-copy{max-width:650px;padding:80px 0}.hero .eyebrow{color:#f3cdea}.hero h1{font-size:clamp(3.5rem,6.6vw,6.2rem);max-width:660px}.hero .hero-sub{font-family:var(--serif);font-size:1.45rem;color:#fdf0fa;margin:-2px 0 14px}.hero .lead{color:#eedde9;max-width:580px}.hero .btn-outline{color:#fff;border-color:#c7a5bf;background:rgba(52,39,50,.25)}@keyframes cinematic{to{transform:scale(1.10) translateX(-1.3%)}}
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.trust-item{padding:26px 18px;text-align:center;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-num{font-family:var(--serif);font-size:1.45rem;color:var(--navy)}.trust-label{font-size:.72rem;color:#8a7884;text-transform:uppercase;letter-spacing:.06em}
/* cards */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.story-img{border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}.story-img img{width:100%;aspect-ratio:1.5/1;object-fit:cover;transition:.5s}.story-img:hover img{transform:scale(1.025)}
.section-head{text-align:center;max-width:830px;margin:0 auto 48px}.section-head .lead{margin:auto}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.28s;min-height:100%}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#e2cbdc}.service-card img{width:100%;aspect-ratio:1.75/1;object-fit:cover;transition:.45s}.service-card:hover img{transform:scale(1.04)}.service-body{padding:18px}.service-body h3{font-family:var(--sans);font-size:.98rem;font-weight:800;letter-spacing:-.01em;margin-bottom:7px}.service-body p{font-size:.85rem;color:#86737f;margin:0 0 12px}.card-link{font-size:.72rem;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.packages{display:grid;grid-template-columns:.7fr repeat(3,1fr);gap:15px;align-items:stretch}.package-intro{padding:25px 30px 25px 0;display:flex;flex-direction:column;justify-content:center}.package{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px 26px;position:relative}.package.featured{background:linear-gradient(180deg,var(--navy2) 0 96px,#fff 96px);box-shadow:var(--shadow);border-color:transparent}.package.featured h3,.package.featured .pack-sub{color:white}.badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#d348c2;color:white;border-radius:20px;padding:5px 14px;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.pack-sub{font-size:.75rem;color:#8b7984;margin-top:-10px;margin-bottom:30px}.package ul{list-style:none;padding:0;margin:0 0 28px}.package li{font-size:.82rem;padding:9px 0;border-bottom:1px solid #f4eef2}.package li:before{content:"✓";color:var(--blue);font-weight:900;margin-right:8px}
.results{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.result{background:#4b3447;border:1px solid rgba(255,255,255,.14);padding:7px;border-radius:7px}.result img{border-radius:4px;width:100%;aspect-ratio:1.55/1;object-fit:cover}.result span{display:block;text-align:center;font-size:.72rem;color:#ead7e5;padding:8px 3px 3px}.result .pending{font-size:.62rem;opacity:.72}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{background:#fff;border:1px solid var(--line);padding:28px;border-radius:8px}.step-num{width:40px;height:40px;border-radius:50%;border:1px solid #d8a9cf;display:grid;place-items:center;color:var(--blue);font-weight:800;font-size:.75rem;margin-bottom:28px}.step h3{font-family:var(--sans);font-size:1rem;font-weight:800}.step p{font-size:.84rem;color:#877581;margin-bottom:0}
.reviews-wrap{display:grid;grid-template-columns:.8fr 2fr;gap:28px;align-items:stretch}.review-score{padding:38px;background:#fff;border:1px solid var(--line);border-radius:8px}.rating{font-family:var(--serif);font-size:3.4rem;line-height:1}.stars{color:#f0a500;letter-spacing:.08em}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review{background:#fff;border:1px solid var(--line);padding:25px;border-radius:8px}.review strong{display:block;margin-bottom:2px}.review small{color:#8f7e89}.review p{font-size:.87rem;color:#6f5d69}.review .stars{font-size:.84rem}
.cta{position:relative;overflow:hidden;background:var(--navy);color:white}.cta:after{content:"";position:absolute;inset:0 0 0 55%;background:url('../img/hero-dom.avif') center/cover no-repeat;opacity:.55}.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0 54%,rgba(52,39,50,.84) 66%,rgba(52,39,50,.25) 100%);z-index:1}.cta .container{position:relative;z-index:2;padding-top:65px;padding-bottom:65px}.cta h2{font-size:clamp(2.2rem,4vw,4rem);max-width:760px}.cta .lead{color:#ead8e5}.cta-contact{display:flex;gap:20px;align-items:center;margin-top:22px;color:#f0e2ec;font-size:.87rem}
/* inner pages */
.page-hero{padding:88px 0 70px;background:linear-gradient(135deg,#fbf1f8,#fffafd)}.page-hero .container{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end}.page-hero h1{font-size:clamp(3.1rem,6vw,5.8rem)}.crumb{font-size:.72rem;color:#8a7984;text-transform:uppercase;letter-spacing:.08em;margin-bottom:24px}.page-hero-card{background:var(--navy);color:white;padding:30px;border-radius:8px}.page-hero-card p{color:#ead7e4}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:#fff;border:1px solid var(--line);padding:30px;border-radius:8px}.feature h3{font-family:var(--sans);font-size:1rem;font-weight:800}.checklist{columns:2;column-gap:32px;padding:0;list-style:none}.checklist li{break-inside:avoid;padding:11px 0 11px 28px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.callout{padding:34px;border-left:3px solid var(--blue);background:#fff1fb}.callout h3{font-family:var(--serif);font-size:1.8rem}.price-note{display:inline-block;padding:8px 12px;background:#fcebf8;color:#b84aaa;border-radius:4px;font-size:.75rem;font-weight:800}
.compare{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line)}.compare th,.compare td{text-align:left;padding:16px;border-bottom:1px solid var(--line);font-size:.83rem}.compare th{background:#fbf0f8;color:#5f2951}.compare th:nth-child(3){background:#f4dfee}.compare td:nth-child(3){background:#fff4fc}
.faq{max-width:850px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-btn{width:100%;padding:22px 0;text-align:left;border:0;background:none;display:flex;justify-content:space-between;gap:15px;color:var(--ink);font-weight:800;cursor:pointer}.faq-content{display:none;padding:0 0 22px;color:#806b78}.faq-item.open .faq-content{display:block}.faq-item.open .faq-btn span{transform:rotate(45deg)}.faq-btn span{transition:.2s;font-size:1.35rem}
/* contact */
.contact-grid{display:grid;grid-template-columns:.78fr 1.45fr;gap:40px}.contact-card{background:var(--navy);color:#fff;padding:38px;border-radius:8px}.contact-card p,.contact-card a{color:#eadce6}.contact-list{list-style:none;padding:0}.contact-list li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14)}form{background:#fff;border:1px solid var(--line);padding:36px;border-radius:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#725f6b}.field input,.field select,.field textarea{width:100%;border:1px solid #e7d5e2;background:#fffafd;padding:13px 14px;border-radius:5px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#cf75bd;box-shadow:0 0 0 3px rgba(207,117,189,.12)}.field textarea{min-height:120px;resize:vertical}.privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:#81707b}.form-status{font-size:.82rem;margin-top:12px;color:#75546d}
/* legal/blog */
.prose h2{font-size:2rem;margin-top:44px}.prose h3{font-family:var(--sans);font-size:1rem;font-weight:800;margin-top:30px}.prose p,.prose li{color:#665660}.prose ul{padding-left:20px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.blog-card img{aspect-ratio:1.6/1;object-fit:cover;width:100%}.blog-body{padding:24px}.blog-body .eyebrow{font-size:.62rem}.blog-body h3{font-size:1.5rem;margin-top:10px}.blog-body p{color:#82707b;font-size:.88rem}
/* footer */
.footer{background:#fffbfe;border-top:1px solid var(--line);padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:45px}.footer .brand{margin-bottom:16px}.footer p,.footer a{font-size:.79rem;color:#81707c}.footer h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:45px;background:var(--navy);color:#dbc5d5;padding:16px 0;font-size:.7rem}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* cookie + mobile sticky */
.cookie{position:fixed;left:22px;bottom:22px;z-index:2000;width:min(410px,calc(100% - 44px));background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:20px;display:none}.cookie.show{display:block}.cookie p{font-size:.78rem;color:#806e78;margin:0 0 14px}.mobile-sticky{display:none}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1020px){.topbar{display:none}.nav{display:none}.menu-btn{display:block}.brand{min-width:0}.site-header{top:0}.mobile-menu{inset:72px 0 0}.services-grid{grid-template-columns:repeat(2,1fr)}.packages{grid-template-columns:1fr 1fr}.package-intro{grid-column:1/-1}.results{grid-template-columns:repeat(3,1fr)}.process{grid-template-columns:1fr 1fr}.reviews-wrap{grid-template-columns:1fr}.page-hero .container{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.container,.narrow{width:min(100% - 28px,1180px)}.section{padding:72px 0}.section-sm{padding:48px 0}.header-inner{height:66px}.brand-title{font-size:.86rem}.brand-sub{display:none}.brand img{width:32px}.mobile-menu{inset:66px 0 0}.hero{min-height:680px;background:var(--navy)}.hero-media{inset:0;background-position:61% center;opacity:.68}.hero-media:after{background:linear-gradient(180deg,rgba(52,39,50,.35),rgba(52,39,50,.95) 75%)}.hero-content{min-height:680px;align-items:flex-end}.hero-copy{padding:100px 0 68px}.hero h1{font-size:clamp(3.05rem,15vw,5rem)}.hero .hero-sub{font-size:1.18rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2n){border-right:0}.trust-item:last-child{grid-column:1/-1}.split{grid-template-columns:1fr;gap:34px}.services-grid{grid-template-columns:1fr 1fr}.packages{grid-template-columns:1fr}.results{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr}.reviews{grid-template-columns:1fr}.cta:after{inset:0;opacity:.25}.cta:before{background:rgba(52,39,50,.82)}.cta-contact{flex-direction:column;align-items:flex-start}.page-hero{padding:60px 0 45px}.page-hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.feature-grid{grid-template-columns:1fr}.checklist{columns:1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer{padding-bottom:72px}.mobile-sticky{display:grid;grid-template-columns:1fr 1fr 1.2fr;position:fixed;left:0;right:0;bottom:0;z-index:1500;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(52,39,50,.08)}.mobile-sticky a{padding:12px 6px;text-align:center;font-size:.68rem;font-weight:800;color:var(--navy);border-right:1px solid var(--line)}.mobile-sticky a:last-child{background:var(--blue);color:#fff;border:0}.cookie{bottom:74px}.compare{display:block;overflow-x:auto;white-space:nowrap}}
@media(max-width:480px){.services-grid{grid-template-columns:1fr}.results{grid-template-columns:1fr 1fr}.package{padding:28px 22px}.btn{width:100%}.btn-row{display:grid}.hero .btn-row{grid-template-columns:1fr}.topbar{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
/* ===== Kristall Diamant v2 additions ===== */
:root{--crystal:#e7a2d8;--ice:#fdeafa;--green:#0d7d63}
body{overflow-x:hidden}
.topbar-inner{justify-content:space-between!important}.topbar-note{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#e9d4e3}.topbar-contact{display:flex;gap:22px}.topbar-contact a{color:#eadce6}
.brand{min-width:258px}.brand-sub{max-width:210px;white-space:normal;line-height:1.3;display:block}.header-inner{height:76px}.nav{gap:15px}.nav a,.nav-drop-btn{font-size:.70rem}.nav-cta{padding:12px 15px!important;font-size:.65rem!important}
.nav-drop{position:relative}.nav-drop-btn{border:0;background:transparent;color:#4d3c49;font-weight:700;padding:12px 0;cursor:pointer}.nav-drop-btn.active{color:var(--blue)}.nav-drop-btn span{display:inline-block;transition:.2s}.nav-drop:hover .nav-drop-btn span,.nav-drop.open .nav-drop-btn span{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:100%;left:-20px;width:270px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 55px rgba(52,39,50,.14);border-radius:8px;padding:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s;z-index:20}.nav-drop:hover .nav-dropdown,.nav-drop.open .nav-dropdown{opacity:1;pointer-events:auto;transform:none}.nav-dropdown a{display:block;padding:10px 12px;border-radius:5px}.nav-dropdown a:hover{background:var(--soft)}.nav-dropdown a:after{display:none}
.hero{min-height:720px}.hero-content{min-height:720px}.hero h1{max-width:620px}.btn-glass{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#fff;backdrop-filter:blur(8px)}.btn-glass:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.mini-benefits{display:flex;flex-wrap:wrap;gap:8px 15px;margin:24px 0;color:#665660;font-size:.8rem;font-weight:700}.mini-benefits span{padding:6px 10px;background:#fff3fc;border-radius:999px}
.center-action{text-align:center;margin-top:34px}.pack-kicker{display:inline-block;font-size:.66rem;letter-spacing:.12em;color:var(--blue);font-weight:900;margin-bottom:12px}.text-link{color:var(--blue);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.text-link.light{color:#9b2f8f;font-weight:900;text-decoration-thickness:1.5px;text-underline-offset:4px}
.package.featured .pack-kicker{color:#efb7e4}.package.featured .text-link{color:#9b2f8f;font-weight:900}.package.featured ul{margin-top:31px}.package.featured .pack-sub{min-height:40px}
.placeholder-result{position:relative}.placeholder-result:after{content:"PREVIEW";position:absolute;top:14px;right:14px;background:rgba(52,39,50,.86);color:#fff;font-size:.52rem;letter-spacing:.12em;padding:5px 7px;border-radius:3px}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(196,85,181,.08);border-radius:50%;right:-140px;top:-220px;box-shadow:0 0 0 65px rgba(196,85,181,.025),0 0 0 130px rgba(196,85,181,.02);pointer-events:none}.page-hero.single .container{grid-template-columns:1fr;max-width:900px;margin-left:auto;margin-right:auto}.page-hero.single .lead{max-width:820px}
.page-hero-card .eyebrow{color:#efb6e6}.page-hero-card .btn{margin-top:8px}.crumb a:hover{color:var(--blue)}
.feature-grid.four{grid-template-columns:repeat(4,1fr)}.icon-ring{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dda9d2;border-radius:50%;font-size:.7rem;color:var(--blue);font-weight:800;margin-bottom:24px}.content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:58px;align-items:start}.quote-card{background:var(--navy);color:#fff;border-radius:8px;padding:38px;position:sticky;top:120px}.quote-card>span{font-family:var(--serif);font-size:5rem;color:#e9a7da;line-height:.7}.quote-card p{font-family:var(--serif);font-size:1.8rem;line-height:1.2;margin-bottom:0}.charity{background:linear-gradient(135deg,#fbe8f6,#fffafd)}.charity h2{max-width:900px}.service-lead .story-img img{aspect-ratio:1.25/1}.process-inline{display:grid;gap:12px;margin:25px 0}.process-inline span{padding:14px 16px;background:#fff3fb;border:1px solid var(--line);border-radius:6px}.process-inline b{color:var(--blue);margin-right:8px}
.pricing-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.price-factors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-factors span{padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:.82rem}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column}.price-card h3{font-family:var(--sans);font-weight:800;font-size:1.05rem}.price-value{font-family:var(--serif);font-size:2rem;color:var(--navy);margin:8px 0 14px}.price-card p{color:#81707c;font-size:.84rem;flex:1}.price-card a{color:var(--blue);font-size:.74rem;font-weight:800;text-transform:uppercase}.callout ul{margin:0;padding-left:20px;color:#705d69}.callout li{margin:7px 0}
.comparison-note{display:flex;gap:20px;align-items:center;padding:18px 22px;background:#fff0fb;border-left:3px solid var(--blue);margin-bottom:28px}.comparison-note strong{white-space:nowrap}.comparison-note span{color:#735f6d;font-size:.86rem}.package-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-deck article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px}.package-deck article.featured{background:var(--navy);color:#fff;transform:translateY(-8px);box-shadow:var(--shadow)}.package-deck article.featured .lead{color:#ead8e5}.package-deck h2{font-size:2.5rem}.table-wrap{overflow-x:auto;border-radius:8px}.compare th,.compare td{min-width:160px}.compare td:first-child,.compare th:first-child{min-width:260px}.compare th:nth-child(3),.compare td:nth-child(3){background:#fcebf8}.table-footnote{font-size:.75rem;color:#8c7a86;margin-top:14px}
.review-hero{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;align-items:center;background:#fff;border:1px solid var(--line);padding:40px;border-radius:8px;margin-bottom:28px}.stars.big{font-size:1.4rem}.review-tags{display:flex;flex-wrap:wrap;gap:9px}.review-tags span{padding:8px 12px;background:#fdf0f9;border-radius:999px;font-size:.75rem;color:#6f5969}.reviews.masonry{grid-template-columns:repeat(3,1fr);align-items:start}.reviews.masonry .review:nth-child(2){transform:translateY(25px)}.reviews.masonry .review:nth-child(5){transform:translateY(25px)}
.contact-card .quick-links{margin-top:24px}.contact-list li{display:flex;flex-direction:column;gap:3px}.contact-list li span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#bda6b6}.contact-list li strong,.contact-list li a{font-size:.92rem;color:white}.photo-note{margin-top:22px;padding:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:.78rem;color:#e8d7e3}.hidden{display:none}
.quick-links{display:flex;flex-wrap:wrap;gap:9px}.quick-links a{position:relative;width:42px;height:42px;border:1px solid rgba(118,84,109,.25);display:grid;place-items:center;border-radius:50%;transition:.2s;background:rgba(255,255,255,.08);color:var(--navy)}.quick-links a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.quick-links a .fill-dot{fill:currentColor;stroke:none}.quick-links a:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--blue);background:rgba(255,255,255,.16)}.contact-card .quick-links a{border-color:rgba(255,255,255,.22);color:#fff}.contact-card .quick-links a:hover{border-color:#efb6e6;color:#efb6e6;background:rgba(255,255,255,.11)}.quick-links .pending-social{opacity:.68}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-strip{background:#fdf0f9;border-top:1px solid var(--line)}.contact-strip-inner{padding-top:32px;padding-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-strip h2{font-size:2rem;margin:4px 0}.contact-strip .quick-links a{background:#fff}
.toast{position:fixed;right:22px;bottom:22px;z-index:3000;background:var(--navy);color:#fff;padding:13px 16px;border-radius:6px;box-shadow:var(--shadow);font-size:.78rem;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;max-width:320px}.toast.show{opacity:1;transform:none}.legal-meta{font-size:.7rem;color:#95848e;margin-top:20px;line-height:1.7}.footer-grid{grid-template-columns:1.5fr .7fr 1fr 1fr}.footer .brand-sub{display:block}.footer .brand{min-width:0}
.muted-card{opacity:.74}.error-hero{min-height:60vh;display:flex;align-items:center}
@media(max-width:1160px){.nav{gap:11px}.nav a,.nav-drop-btn{font-size:.66rem}.brand{min-width:225px}.brand-sub{font-size:.46rem;max-width:170px}.nav-cta{padding:10px 11px!important}}
@media(max-width:1020px){.feature-grid.four{grid-template-columns:1fr 1fr}.content-grid,.pricing-intro{grid-template-columns:1fr}.quote-card{position:static}.price-grid{grid-template-columns:1fr 1fr}.package-deck{grid-template-columns:1fr}.package-deck article.featured{transform:none}.review-hero{grid-template-columns:1fr}.contact-strip-inner{align-items:flex-start;flex-direction:column}.comparison-note{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:720px){.brand-intro-stage{width:min(92vw,420px)}.brand-intro-mark{width:min(72vw,280px)}.intro-wordmark{letter-spacing:.17em}.brand{min-width:0}.brand img.brand-logo{width:42px;height:42px;flex-basis:42px}.brand-sub{display:none}.topbar-note{display:none}.topbar-contact{width:100%;justify-content:space-between}.quick-links{gap:8px}.mobile-menu .quick-links{margin-top:25px}.mobile-menu .quick-links a{display:grid;border:1px solid var(--line);padding:0;font-family:var(--sans);font-size:.56rem}.feature-grid.four{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr}.price-factors{grid-template-columns:1fr}.comparison-note strong{white-space:normal}.reviews.masonry{grid-template-columns:1fr}.reviews.masonry .review:nth-child(2),.reviews.masonry .review:nth-child(5){transform:none}.contact-strip{display:none}.footer-grid{grid-template-columns:1fr}.review-hero{padding:26px}.package-deck article{padding:26px}.quote-card p{font-size:1.5rem}.page-hero.single .container{display:block}.table-wrap{margin-right:-14px;padding-right:14px}}

@media (prefers-reduced-motion: reduce){.brand-intro{transition:none}.brand-intro:before,.intro-sweep,.intro-spark{display:none}.brand-intro .intro-logo-ghost{display:none}.brand-intro .intro-logo-reveal{clip-path:none}.brand-intro .intro-wordmark,.brand-intro .intro-tagline{opacity:1;transform:none}.brand-intro.play,.brand-intro.play .intro-logo-reveal,.brand-intro.play .intro-wordmark,.brand-intro.play .intro-tagline{animation:none}.hero-media{animation:none}.reveal{transition:none!important}}

/* ===== V4: FLOATING NAVIGATION ===== */
/* The utility bar is intentionally hidden so the navigation can float cleanly
   over the hero and inner-page backgrounds. Contact remains available in the
   navigation, footer and mobile quick actions. */
.topbar{display:none!important}

.site-header{
  position:fixed!important;
  top:18px!important;
  left:0;
  right:0;
  z-index:2000;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  pointer-events:none;
  padding:0;
}
.site-header .header-inner{
  width:min(1180px,calc(100% - 32px));
  height:76px;
  margin:0 auto;
  padding:0 18px;
  background:rgba(255,250,253,.91);
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  box-shadow:0 16px 46px rgba(52,39,50,.15),0 2px 8px rgba(52,39,50,.06);
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  pointer-events:auto;
  transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
}
.site-header .header-inner:hover{
  background:rgba(255,255,255,.96);
  box-shadow:0 20px 56px rgba(52,39,50,.18),0 3px 10px rgba(52,39,50,.07);
}
.site-header .brand{padding-left:2px}
.site-header .nav-cta{border-radius:999px!important;padding-left:18px!important;padding-right:18px!important}
.site-header .nav a:not(.btn),
.site-header .nav-drop-btn{transition:color .2s ease,background .2s ease}
.site-header .nav a:not(.btn){padding:9px 2px}

/* Floating dropdown follows the same premium rounded language. */
.site-header .nav-dropdown{
  top:calc(100% + 14px);
  left:-24px;
  border-radius:18px;
  padding:10px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(52,39,50,.09);
  box-shadow:0 22px 60px rgba(52,39,50,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.site-header .nav-dropdown:before{
  content:"";
  position:absolute;
  top:-15px;
  left:0;
  right:0;
  height:16px;
}
.site-header .nav-dropdown a{border-radius:12px;padding:11px 13px}

/* Inner pages now begin below the fixed floating navigation. */
.page-hero{padding-top:152px!important}

@media(max-width:1020px){
  .site-header{top:14px!important}
  .site-header .header-inner{
    width:min(100% - 28px,760px);
    height:68px;
    padding:0 14px 0 16px;
    border-radius:24px;
  }
  .site-header .brand img.brand-logo{width:44px;height:44px;flex-basis:44px}
  .site-header .menu-btn{border-radius:14px;background:rgba(52,39,50,.04)}
  .mobile-menu{
    position:fixed!important;
    inset:94px 14px auto 14px!important;
    max-height:calc(100dvh - 112px);
    overflow:auto;
    padding:22px!important;
    background:rgba(255,250,253,.98)!important;
    border:1px solid rgba(52,39,50,.10);
    border-radius:24px;
    box-shadow:0 26px 70px rgba(52,39,50,.22);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
  }
  .mobile-menu a{padding:12px 4px!important}
  .mobile-menu .btn{border-radius:999px!important}
  .page-hero{padding-top:132px!important}
}

@media(max-width:720px){
  .site-header{top:10px!important}
  .site-header .header-inner{
    width:calc(100% - 20px);
    height:62px;
    padding:0 10px 0 13px;
    border-radius:21px;
  }
  .site-header .brand img.brand-logo{width:40px;height:40px;flex-basis:40px}
  .site-header .brand-title{font-size:.82rem}
  .mobile-menu{
    inset:82px 10px auto 10px!important;
    max-height:calc(100dvh - 96px);
    border-radius:22px;
    padding:18px!important;
  }
  .mobile-menu a{font-size:1.45rem!important;padding:10px 2px!important}
  .page-hero{padding-top:118px!important}
  .hero-copy{padding-top:118px!important}
}


/* ===== V5: ORIGINAL-SITE INSPIRED ROSE / BLUSH THEME ===== */
body{background:#fffafd;color:#2c232b}
.section-soft{background:#fdf1fb}
.brand-intro{background:radial-gradient(circle at 50% 44%,#fff 0,#fff8fd 46%,#fbeaf7 100%)}
.site-header .header-inner{background:rgba(255,250,253,.92);border-color:rgba(255,255,255,.82);box-shadow:0 16px 46px rgba(75,52,71,.14),0 2px 8px rgba(75,52,71,.05)}
.site-header .header-inner:hover{background:rgba(255,255,255,.97);box-shadow:0 20px 56px rgba(75,52,71,.17),0 3px 10px rgba(75,52,71,.06)}
.site-header .nav-dropdown,.mobile-menu{background:rgba(255,250,253,.985)!important}
.hero{background:linear-gradient(90deg,#2e222c 0%,#4a3345 44%,#fff6fc 44%,#fff6fc 100%)}
.hero-media:after{background:linear-gradient(90deg,rgba(52,39,50,.86),rgba(52,39,50,.08) 45%,rgba(52,39,50,.04))}
.trust,.service-card,.package,.step,.review,.review-score,.feature,.price-card,.package-deck article,.review-hero{background:#fff}
.package.featured{background:linear-gradient(180deg,#4b3447 0 96px,#fff 96px)}
.badge{background:#d348c2}
.section-dark,.cta,.page-hero-card,.quote-card,.toast{background:#342732}
.result{background:#4b3447}
.page-hero{background:linear-gradient(135deg,#fbeaf7,#fffafd)}
.callout{background:#fff1fb}
.charity{background:linear-gradient(135deg,#fbe8f6,#fffafd)}
.comparison-note{background:#fff0fb}
.compare th:nth-child(3),.compare td:nth-child(3){background:#fcebf8}
.review-tags span{background:#fdf0f9;color:#6f5969}
.contact-strip{background:#fdf0f9}
.mini-benefits span{background:#fff3fc}
.process-inline span{background:#fff3fb}
.btn-primary{background:#c455b5}.btn-primary:hover{background:#a94198;box-shadow:0 12px 32px rgba(196,85,181,.28)}
.btn-outline{border-color:#c8a9c1;color:#4b3447}.btn-outline:hover{border-color:#a94198;background:#fff8fd}
.card-link,.text-link,.pack-kicker,.price-card a,.checklist li:before,.process-inline b,.package li:before{color:#b84aaa}
.eyebrow{color:#b84aaa}
.step-num,.icon-ring{border-color:#dda9d2;color:#b84aaa}
.nav a:after{background:#c455b5}
.mobile-sticky a:last-child{background:#c455b5}
.contact-card .quick-links a:hover{border-color:#efb6e6;color:#efb6e6}
.page-hero:after{border-color:rgba(196,85,181,.10);box-shadow:0 0 0 65px rgba(196,85,181,.035),0 0 0 130px rgba(196,85,181,.02)}
@media(max-width:720px){.hero{background:#342732}.hero-media:after{background:linear-gradient(180deg,rgba(52,39,50,.35),rgba(52,39,50,.95) 75%)}.cta:before{background:rgba(52,39,50,.84)}}

/* ===== V6: CENTERED HERO + FLOATING NAV SAFE AREA ===== */
.hero{
  min-height:760px;
  background:#342732;
}
.hero-media{
  inset:0!important;
  background-position:center center!important;
}
.hero-media:after{
  background:
    linear-gradient(180deg,rgba(52,39,50,.48) 0%,rgba(52,39,50,.36) 32%,rgba(52,39,50,.55) 100%),
    linear-gradient(90deg,rgba(52,39,50,.62) 0%,rgba(75,52,71,.40) 50%,rgba(52,39,50,.58) 100%)!important;
}
.hero-content{
  min-height:760px!important;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding-top:132px;
  padding-bottom:62px;
}
.hero-copy{
  width:min(100%,850px);
  max-width:850px!important;
  margin:0 auto;
  padding:0!important;
}
.hero .eyebrow{
  margin-bottom:14px;
}
.hero h1{
  max-width:820px!important;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(3.6rem,6.2vw,6rem);
}
.hero .hero-sub{
  max-width:760px;
  margin:0 auto 14px;
}
.hero .lead{
  max-width:720px!important;
  margin:0 auto 24px;
}
.hero .btn-row{
  justify-content:center;
}

@media(max-width:1020px){
  .hero,.hero-content{min-height:720px!important}
  .hero-content{padding-top:116px;padding-bottom:54px}
  .hero h1{font-size:clamp(3.3rem,9vw,5.4rem)}
}

@media(max-width:720px){
  .hero,.hero-content{min-height:700px!important}
  .hero-content{
    align-items:center!important;
    padding-top:104px!important;
    padding-bottom:86px!important;
  }
  .hero-copy{
    padding:0!important;
    text-align:center;
  }
  .hero-media{background-position:62% center!important;opacity:.92}
  .hero-media:after{
    background:linear-gradient(180deg,rgba(52,39,50,.44) 0%,rgba(52,39,50,.60) 45%,rgba(52,39,50,.88) 100%)!important;
  }
  .hero h1{
    font-size:clamp(3rem,14vw,4.7rem);
    max-width:100%!important;
  }
  .hero .hero-sub{font-size:1.15rem}
  .hero .lead{font-size:1rem;max-width:560px!important}
  .hero .btn-row{justify-content:center}
}


/* V9 — compact premium services grid on homepage mobile */
@media (max-width:720px){
  .home-services .section-head{margin-bottom:28px}
  .home-services .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-services .service-card{border-radius:14px;box-shadow:0 8px 24px rgba(80,45,71,.06);border-color:#eddde9}
  .home-services .service-card img{aspect-ratio:1.12/1;object-fit:cover}
  .home-services .service-body{padding:12px 12px 13px}
  .home-services .service-body h3{font-size:.82rem;line-height:1.22;margin:0;min-height:2.45em}
  .home-services .service-body p{display:none}
  .home-services .card-link{display:block;margin-top:8px;font-size:.62rem;letter-spacing:.045em}
  .home-services .center-action{margin-top:24px}
  .home-services .center-action .btn{width:auto;min-width:170px}
}
@media (min-width:600px) and (max-width:720px){
  .home-services .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-services .service-body h3{font-size:.78rem}
}
@media (max-width:420px){
  .home-services .services-grid{gap:10px}
  .home-services .service-body{padding:10px}
  .home-services .service-body h3{font-size:.76rem}
  .home-services .card-link{font-size:.58rem}
}

/* V10 — compact premium mobile service cards (homepage only)
   Fixed media heights prevent portrait stretching from intrinsic image dimensions. */
@media (max-width:720px){
  .home-services.section{padding:58px 0 62px}
  .home-services .section-head{margin-bottom:22px}
  .home-services .section-head .eyebrow{margin-bottom:6px}
  .home-services .section-head h2{font-size:clamp(2rem,9vw,2.65rem);margin-bottom:12px}
  .home-services .section-head .lead{font-size:.92rem;line-height:1.55}

  .home-services .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
    align-items:stretch;
  }
  .home-services .service-card{
    min-height:0!important;
    border-radius:16px!important;
    overflow:hidden;
    background:#fff!important;
    border:1px solid rgba(196,85,181,.15)!important;
    box-shadow:0 8px 22px rgba(52,39,50,.055)!important;
    display:flex;
    flex-direction:column;
  }
  .home-services .service-card img{
    display:block;
    width:100%!important;
    height:108px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
    flex:0 0 108px;
  }
  .home-services .service-body{
    padding:11px 10px 12px!important;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .home-services .service-body h3{
    margin:0!important;
    min-height:0!important;
    font-size:.78rem!important;
    line-height:1.25!important;
    font-weight:750!important;
    letter-spacing:-.015em!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .home-services .service-body p,
  .home-services .card-link{display:none!important}
  .home-services .service-card:active{transform:scale(.985)}
  .home-services .center-action{margin-top:22px!important}
  .home-services .center-action .btn{width:auto!important;min-width:154px!important;padding:12px 17px!important}
}

@media (min-width:560px) and (max-width:720px){
  .home-services .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .home-services .service-card img{height:100px!important;flex-basis:100px}
  .home-services .service-body{min-height:54px;padding:10px 8px 11px!important}
  .home-services .service-body h3{font-size:.72rem!important}
}

@media (max-width:390px){
  .home-services .services-grid{gap:9px!important}
  .home-services .service-card img{height:96px!important;flex-basis:96px}
  .home-services .service-body{min-height:54px;padding:9px 8px 10px!important}
  .home-services .service-body h3{font-size:.72rem!important}
}

/* ===== V12: SERVICE SUBMENUS + PREMIUM MOBILE QUICK CONTACT ===== */
.site-header .nav-dropdown{width:300px}

@media(max-width:1020px){
  .mobile-menu{padding-bottom:24px!important}

  /* Main mobile navigation: clean, readable and compact. */
  .mobile-menu > a:not(.btn){
    font-family:var(--serif)!important;
    font-size:1.08rem!important;
    line-height:1.15!important;
    padding:11px 3px!important;
    border-bottom:1px solid rgba(118,84,109,.13)!important;
  }
  .mobile-menu-cta{
    margin:17px 0 0!important;
    width:100%!important;
    min-height:48px;
    padding:13px 16px!important;
    border:0!important;
    border-radius:999px!important;
    font-family:var(--sans)!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    letter-spacing:.055em!important;
  }

  /* Services becomes a real nested dropdown on mobile. */
  .mobile-nav-group{border-bottom:1px solid rgba(118,84,109,.13)}
  .mobile-submenu-toggle{
    width:100%;
    min-height:47px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 3px;
    border:0;
    background:transparent;
    color:var(--ink);
    font-family:var(--serif);
    font-size:1.08rem;
    line-height:1.15;
    text-align:left;
    cursor:pointer;
  }
  .mobile-chevron{
    width:28px;height:28px;
    display:grid;place-items:center;
    flex:0 0 28px;
    border:1px solid rgba(196,85,181,.18);
    border-radius:50%;
    color:var(--blue);
    font-family:var(--sans);
    font-size:.9rem;
    transition:transform .25s ease,background .25s ease;
  }
  .mobile-nav-group.open .mobile-chevron{transform:rotate(180deg);background:#fff3fb}
  .mobile-submenu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0;
    transform:translateY(-4px);
    transition:max-height .35s ease,opacity .22s ease,padding .3s ease,transform .25s ease;
  }
  .mobile-nav-group.open .mobile-submenu{
    max-height:430px;
    opacity:1;
    padding:2px 0 13px;
    transform:none;
  }
  .mobile-submenu a{
    display:flex!important;
    align-items:center;
    min-height:44px;
    padding:8px 10px!important;
    margin:0!important;
    border:1px solid rgba(196,85,181,.13)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.78);
    color:#5b4656;
    font-family:var(--sans)!important;
    font-size:.70rem!important;
    font-weight:700;
    line-height:1.22!important;
    letter-spacing:-.005em;
  }
  .mobile-submenu a:first-child{
    grid-column:1/-1;
    min-height:40px;
    justify-content:center;
    color:#9d3d8e;
    background:#fff1fb;
    border-color:rgba(196,85,181,.22)!important;
    text-transform:uppercase;
    font-size:.62rem!important;
    letter-spacing:.055em;
  }
  .mobile-submenu a:active{transform:scale(.985)}

  /* Quick contact replaces unreadable TEL/WA/SMS/VIB... circles. */
  .mobile-quick{
    margin-top:16px;
    padding-top:15px;
    border-top:1px solid rgba(118,84,109,.13);
  }
  .mobile-quick-title{
    margin-bottom:9px;
    color:#9a8594;
    font-size:.60rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mobile-quick-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .mobile-menu .mobile-quick-grid a{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    min-height:61px;
    margin:0!important;
    padding:8px 4px!important;
    border:1px solid rgba(196,85,181,.14)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.82);
    color:#594653;
    font-family:var(--sans)!important;
    font-size:.61rem!important;
    font-weight:750;
    line-height:1!important;
    text-align:center;
    letter-spacing:0!important;
    overflow:hidden;
  }
  .mobile-menu .mobile-quick-grid a:hover,
  .mobile-menu .mobile-quick-grid a:active{
    color:var(--blue);
    background:#fff7fc;
    border-color:rgba(196,85,181,.28)!important;
  }
  .mobile-menu .mobile-quick-grid a:nth-child(2){color:#207a4d}
  .mobile-menu .mobile-quick-grid .pending-social{opacity:.54}
  .mobile-quick-icon{
    width:23px;height:23px;
    display:grid;place-items:center;
    flex:0 0 23px;
  }
  .mobile-quick-icon svg{
    width:20px;height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-quick-icon .fill-dot{fill:currentColor;stroke:none}
}

@media(max-width:380px){
  .mobile-submenu a{font-size:.66rem!important;padding:8px!important}
  .mobile-menu .mobile-quick-grid a{font-size:.57rem!important;min-height:58px}
}
@media(max-width:1020px){
  .mobile-menu a.mobile-menu-cta{
    font-family:var(--sans)!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    letter-spacing:.055em!important;
    padding:13px 16px!important;
  }
}

/* GDPR / cookie consent */
.consent-lock{overflow:hidden}
.consent-banner[hidden],.consent-modal[hidden]{display:none!important}
.consent-banner{position:fixed;z-index:3100;left:20px;right:20px;bottom:20px;opacity:0;transform:translateY(16px);transition:.22s ease;pointer-events:none}
.consent-banner.is-visible{opacity:1;transform:none;pointer-events:auto}
.consent-card{width:min(1120px,100%);margin:0 auto;background:rgba(255,250,253,.98);border:1px solid rgba(196,76,167,.2);border-radius:24px;box-shadow:0 22px 70px rgba(52,39,50,.18);backdrop-filter:blur(18px);padding:20px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.consent-kicker{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--blue);margin-bottom:4px}
.consent-copy h2,.consent-modal-panel h2{font-size:clamp(1.35rem,2vw,1.85rem);margin:0 0 6px;color:var(--navy)}
.consent-copy p,.consent-intro,.consent-category p,.consent-fineprint{margin:0;color:#75636e;font-size:.86rem;line-height:1.55}
.consent-links{display:flex;gap:8px;align-items:center;margin-top:7px!important}.consent-links a,.consent-fineprint a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;min-width:455px}
.consent-btn{border:1px solid rgba(52,39,50,.2);background:#fff;color:var(--navy);font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.02em;padding:12px 14px;border-radius:999px;cursor:pointer;min-height:44px;transition:.18s ease}
.consent-btn:hover{transform:translateY(-1px);border-color:var(--blue)}
.consent-btn-equal{border-color:rgba(196,76,167,.5)}
.consent-btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.consent-btn-secondary{background:transparent}
.consent-modal{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;padding:18px;opacity:0;transition:.18s ease}
.consent-modal.is-visible{opacity:1}
.consent-modal-backdrop{position:absolute;inset:0;background:rgba(39,28,37,.55);backdrop-filter:blur(5px)}
.consent-modal-panel{position:relative;width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;background:#fffafc;border:1px solid rgba(196,76,167,.18);border-radius:28px;box-shadow:0 30px 90px rgba(35,20,31,.28);padding:30px;transform:translateY(10px) scale(.99);transition:.18s ease}
.consent-modal.is-visible .consent-modal-panel{transform:none}
.consent-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.4rem;cursor:pointer}
.consent-intro{margin-bottom:18px}
.consent-categories{border-top:1px solid var(--line)}
.consent-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.consent-category strong{font-size:.98rem;color:var(--navy);margin-right:8px}.consent-category>div>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.consent-category p{margin-top:4px}
.consent-switch{position:relative;width:48px;height:28px;display:block;flex:0 0 auto}.consent-switch input{position:absolute;opacity:0;pointer-events:none}.consent-switch span{position:absolute;inset:0;border-radius:99px;background:#d8cfd4;cursor:pointer;transition:.18s ease}.consent-switch span:before{content:"";position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:white;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:.18s ease}.consent-switch input:checked+span{background:var(--blue)}.consent-switch input:checked+span:before{transform:translateX(20px)}.consent-switch input:focus-visible+span{outline:3px solid rgba(196,76,167,.25);outline-offset:2px}.consent-switch.is-locked span{opacity:.65;cursor:not-allowed}
.consent-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.consent-fineprint{margin-top:14px!important;font-size:.76rem!important}
.footer-cookie-settings,.inline-cookie-settings{appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.footer-cookie-settings:hover,.inline-cookie-settings:hover{color:var(--blue)}
.legal-table-wrap{overflow-x:auto;margin:22px 0}.legal-table{width:100%;border-collapse:collapse;min-width:600px;font-size:.9rem}.legal-table th,.legal-table td{padding:13px 14px;text-align:left;vertical-align:top;border:1px solid var(--line)}.legal-table th{background:var(--soft);color:var(--navy)}.legal-table code{font-size:.82rem;color:var(--navy)}
@media(max-width:900px){.consent-card{grid-template-columns:1fr;gap:14px}.consent-actions{min-width:0}.consent-banner{bottom:82px}.consent-card{padding:17px;border-radius:20px}}
@media(max-width:620px){.consent-banner{left:10px;right:10px;bottom:76px}.consent-card{padding:15px}.consent-copy h2{font-size:1.25rem}.consent-copy p{font-size:.79rem}.consent-actions{grid-template-columns:1fr 1fr}.consent-actions .consent-btn-secondary{grid-column:1/-1;grid-row:2}.consent-btn{padding:10px 9px;font-size:.68rem}.consent-modal{padding:9px}.consent-modal-panel{padding:24px 18px;border-radius:22px}.consent-category{padding:14px 0}.consent-category p{font-size:.78rem}.consent-modal-actions{grid-template-columns:1fr}.legal-table{min-width:520px}}


/* ===== V14: PREMIUM HR / EN LANGUAGE SWITCHER ===== */
.lang-switch{
  display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;
  padding:3px;border:1px solid rgba(166,77,143,.18);border-radius:999px;
  background:rgba(255,255,255,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.site-header .nav .lang-switch{margin-left:-2px;margin-right:2px}
.site-header .nav .lang-switch a,
.lang-switch a{
  width:31px;height:29px;padding:0!important;border-radius:999px!important;
  display:grid;place-items:center;font-family:var(--sans);font-size:.58rem!important;
  font-weight:850!important;line-height:1!important;letter-spacing:.075em!important;
  color:#806777!important;text-decoration:none;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.lang-switch a:after{display:none!important}
.lang-switch a:hover{color:var(--blue)!important;background:rgba(196,85,181,.08)}
.lang-switch a.active{
  color:#fff!important;background:linear-gradient(135deg,#d45bc0,#b844a6);
  box-shadow:0 5px 15px rgba(176,64,155,.25);pointer-events:none;
}
.lang-switch a:not(.active):active{transform:scale(.96)}
.mobile-language{display:none}

@media(max-width:1160px) and (min-width:1021px){
  .site-header .header-inner{padding-left:15px;padding-right:14px}
  .site-header .brand{min-width:205px}
  .site-header .nav{gap:9px}
  .site-header .nav .lang-switch a{width:28px;height:27px;font-size:.54rem!important}
  .site-header .nav-cta{padding-left:13px!important;padding-right:13px!important}
}
@media(max-width:1020px){
  .mobile-language{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    margin:0 0 10px;padding:0 0 14px;border-bottom:1px solid rgba(118,84,109,.13);
  }
  .mobile-language-label{
    color:#9a8594;font-family:var(--sans);font-size:.60rem;font-weight:850;
    letter-spacing:.12em;text-transform:uppercase;
  }
  .mobile-language .lang-switch{padding:4px;background:rgba(255,255,255,.88)}
  .mobile-language .lang-switch a{width:38px;height:32px;font-size:.64rem!important}
}

/* ===== V15: CENTER MOBILE MENU CTA TEXT ===== */
@media(max-width:1020px){
  .mobile-menu a.mobile-menu-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    width:100%!important;
  }
}

/* V18: stronger contrast for package detail links */
.package .text-link{display:inline-flex;align-items:center;gap:4px;transition:color .2s ease,transform .2s ease}
.package .text-link:hover,.package .text-link:focus-visible{color:#7d236f;transform:translateX(2px)}
.package.featured .text-link:hover,.package.featured .text-link:focus-visible{color:#7d236f}


/* ===== V22 FINAL POLISH — owner-review build ===== */
:root{
  --navy:#332631;
  --navy2:#50384a;
  --blue:#c64fb5;
  --blue2:#a83d97;
  --ink:#2d252c;
  --muted:#756772;
  --paper:#fffbfd;
  --soft:#fcf2fa;
  --line:#eadde7;
  --shadow:0 18px 48px rgba(55,37,51,.10);
  --shadow-hover:0 24px 62px rgba(55,37,51,.15);
  --radius:18px;
}
html{scroll-padding-top:110px}
body{font-size:16px;line-height:1.65;letter-spacing:-.005em;overflow-x:hidden}
::selection{background:#efd1e9;color:var(--navy)}
p{margin-top:0}
h1,h2,h3{text-wrap:balance;color:inherit}
h1{letter-spacing:-.035em}
h2{font-size:clamp(2.2rem,4vw,3.75rem);letter-spacing:-.035em}
h3{letter-spacing:-.02em}
.lead{font-size:clamp(1rem,1.45vw,1.16rem);line-height:1.68;color:#6d5d68}
.eyebrow{display:block;margin-bottom:9px;font-size:.68rem;line-height:1.3;letter-spacing:.145em}
.section{padding:88px 0}
.section-sm{padding:60px 0}
.section-head{margin-bottom:42px}
.section-head h2{margin-bottom:14px}
.container{width:min(1200px,calc(100% - 48px))}
.narrow{width:min(820px,calc(100% - 48px))}

/* Buttons: one consistent premium language throughout the site. */
.btn{min-height:47px;padding:13px 21px;border-radius:999px;font-size:.72rem;line-height:1.15;letter-spacing:.055em;box-shadow:none}
.btn-primary{background:linear-gradient(135deg,#cd59bc,#b541a4)}
.btn-primary:hover{background:linear-gradient(135deg,#bc48aa,#9e338e);box-shadow:0 12px 28px rgba(174,56,151,.22)}
.btn-dark:hover{background:#463440;transform:translateY(-2px);box-shadow:0 12px 30px rgba(51,38,49,.16)}
.btn-outline:hover{color:#8f2f81;border-color:#b44aa3;background:#fff7fc;transform:translateY(-2px)}
a,button{outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(198,79,181,.25);outline-offset:3px}

/* Floating navigation */
.site-header{top:14px!important}
.site-header .header-inner{width:min(1200px,calc(100% - 36px));height:72px;padding:0 15px 0 17px;background:rgba(255,251,253,.93);border:1px solid rgba(255,255,255,.86);box-shadow:0 15px 42px rgba(49,34,46,.13),0 1px 3px rgba(49,34,46,.05)}
.site-header .brand{min-width:220px;gap:9px}
.site-header .brand img.brand-logo{width:45px;height:45px;flex-basis:45px}
.site-header .brand-title{font-size:.96rem;letter-spacing:.065em}
.site-header .brand-sub{font-size:.47rem;letter-spacing:.145em;margin-top:4px}
.site-header .nav{gap:15px}
.site-header .nav a,.site-header .nav-drop-btn{font-size:.70rem;font-weight:720;color:#51424d}
.site-header .nav a:not(.btn){padding:9px 1px}
.site-header .nav-dropdown{width:306px;border-radius:20px;padding:9px;box-shadow:0 22px 58px rgba(51,38,49,.16)}
.site-header .nav-dropdown a{padding:10px 12px;border-radius:11px}
.site-header .nav-dropdown a:hover{background:#fcf0f9;color:#9f378f}
.lang-switch{background:rgba(255,255,255,.82)}

/* Homepage hero */
.hero,.hero-content{min-height:720px!important}
.hero-content{padding-top:112px;padding-bottom:56px}
.hero-media{animation:cinematic 18s ease-in-out infinite alternate}
.hero-media:after{background:linear-gradient(180deg,rgba(45,32,43,.46),rgba(48,33,45,.40) 38%,rgba(44,30,42,.65)),linear-gradient(90deg,rgba(49,33,46,.58),rgba(78,49,71,.26) 50%,rgba(49,33,46,.42))!important}
.hero-copy{max-width:820px!important}
.hero h1{font-size:clamp(3.45rem,5.65vw,5.55rem);line-height:.97;margin-bottom:18px}
.hero .lead{max-width:690px!important;color:#f1e6ed;font-size:1.08rem;line-height:1.65;margin-bottom:26px}
.hero .eyebrow{color:#f5d5ed;margin-bottom:12px}
.hero .btn-row{gap:11px}
.hero .btn-glass{border-color:rgba(255,255,255,.42);background:rgba(38,25,35,.28);color:#fff;backdrop-filter:blur(8px)}
.hero .btn-glass:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);transform:translateY(-2px)}

/* Trust strip */
.trust{box-shadow:0 10px 32px rgba(52,39,50,.035)}
.trust-item{padding:22px 16px}
.trust-num{font-size:1.35rem;line-height:1.15}
.trust-label{margin-top:5px;font-size:.65rem;line-height:1.35;letter-spacing:.055em}

/* Cards and imagery */
.story-img,.service-card,.package,.step,.review,.review-score,.feature,.price-card,.package-deck article,.review-hero,.contact-card,form,.blog-card,.page-hero-card,.callout{border-radius:var(--radius)}
.story-img{box-shadow:0 18px 50px rgba(51,38,49,.10)}
.story-img img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.service-card{border-color:rgba(179,111,163,.17);box-shadow:0 8px 26px rgba(55,37,51,.045)}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:rgba(198,79,181,.28)}
.service-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.service-body{padding:19px 19px 20px}
.service-body h3{font-size:1rem;line-height:1.32;margin-bottom:6px}
.service-body p{font-size:.84rem;line-height:1.55;margin-bottom:11px}
.card-link{font-size:.68rem}
.center-action{margin-top:30px}

/* Package section */
.packages{gap:17px}
.package{padding:30px 24px;border-color:rgba(179,111,163,.17)}
.package.featured{background:linear-gradient(180deg,#4c3548 0 104px,#fff 104px);box-shadow:0 20px 54px rgba(55,37,51,.12)}
.package h3{font-size:1.75rem}
.pack-sub{line-height:1.45;margin-bottom:24px}
.package li{padding:8px 0;font-size:.81rem;line-height:1.45}
.badge{top:-12px;padding:5px 13px;background:linear-gradient(135deg,#d95bc5,#b23aa0);box-shadow:0 7px 18px rgba(184,58,160,.20)}
.package .text-link{font-size:.69rem;color:#9a347f}
.package.featured .text-link{color:#8e2c7f}

/* Dark showcase */
.section-dark{background:linear-gradient(135deg,#30242e,#453143)}
.results{gap:15px}
.result{padding:8px;border-radius:15px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);transition:transform .25s ease,background .25s ease}
.result:hover{transform:translateY(-4px);background:rgba(255,255,255,.085)}
.result img{border-radius:10px}
.result span{font-size:.70rem;letter-spacing:.01em;padding:9px 3px 4px}

/* Process / reviews */
.process{gap:16px}
.step{padding:27px 25px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(198,79,181,.24)}
.step-num{margin-bottom:22px;width:38px;height:38px}
.step h3{font-size:.98rem;margin-bottom:8px}
.step p{font-size:.83rem;line-height:1.55}
.reviews-wrap{gap:20px}
.review-score{padding:34px}
.reviews{gap:14px}
.review{padding:23px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.review:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(198,79,181,.22)}
.review p{line-height:1.58;margin-bottom:0}
.rating{font-size:3.15rem}

/* CTA */
.cta .container{padding-top:62px;padding-bottom:62px}
.cta h2{font-size:clamp(2.25rem,3.7vw,3.6rem);margin-bottom:15px}
.cta .lead{max-width:650px;line-height:1.62}
.cta:before{background:linear-gradient(90deg,#332631 0 51%,rgba(51,38,49,.90) 63%,rgba(51,38,49,.35) 100%)}

/* Inner-page hero */
.page-hero{padding-top:142px!important;padding-bottom:66px!important;background:linear-gradient(135deg,#fbeaf7 0%,#fffafd 66%)}
.page-hero .container{gap:44px}
.page-hero h1{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.01;margin-bottom:16px}
.page-hero .lead{max-width:760px}
.page-hero-card{padding:28px 28px 27px;box-shadow:0 18px 46px rgba(51,38,49,.12)}
.page-hero-card p{font-size:.88rem;line-height:1.6}
.page-hero-card .btn{margin-top:6px}
.page-hero:after{opacity:.8}

/* Long-form content */
.prose{font-size:.98rem;line-height:1.74}
.prose h2{font-size:clamp(1.7rem,2.4vw,2.15rem);margin-top:48px;margin-bottom:14px}
.prose h3{margin-top:30px}
.prose p,.prose li{color:#655760}
.prose a{color:#993786;text-decoration:underline;text-underline-offset:3px}
.checklist{column-gap:42px}
.checklist li{padding:12px 0 12px 28px;line-height:1.5}
.feature{padding:28px;transition:transform .25s ease,box-shadow .25s ease}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.icon-ring{margin-bottom:20px}
.callout{padding:30px 31px;border-left-width:4px}

/* Pricing / packages page */
.price-grid,.package-deck{gap:16px}
.price-card,.package-deck article{padding:27px}
.price-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.price-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(198,79,181,.22)}
.price-value{font-size:1.8rem}
.package-deck article.featured{background:linear-gradient(145deg,#342732,#4c3548);box-shadow:0 20px 50px rgba(51,38,49,.14)}
.table-wrap{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(55,37,51,.045)}
.compare{border-collapse:collapse;width:100%}
.compare th,.compare td{padding:14px 15px;border-bottom:1px solid #f0e6ed;font-size:.82rem;line-height:1.45;vertical-align:middle}
.compare th{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:#65505e;background:#fffafd}
.compare tr:last-child td{border-bottom:0}
.compare th:nth-child(3),.compare td:nth-child(3){background:#fdf0fa}
.table-footnote{font-size:.76rem;line-height:1.55;margin-top:13px}

/* Contact */
.contact-grid{gap:30px}
.contact-card{padding:34px;background:linear-gradient(145deg,#342732,#493345);box-shadow:0 18px 50px rgba(51,38,49,.11)}
.contact-list li{padding:13px 0}
form{padding:32px;box-shadow:0 12px 38px rgba(55,37,51,.045)}
.form-grid{gap:15px}
.field label{font-size:.69rem;letter-spacing:.05em}
.field input,.field select,.field textarea{min-height:48px;padding:12px 14px;border-radius:11px;background:#fffdfE;border-color:#e5d7e1;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field textarea{min-height:128px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#d5bfd0}
.privacy-check{text-transform:none!important;letter-spacing:0!important;font-weight:500!important;line-height:1.5}

/* Blog */
.blog-grid{gap:18px}
.blog-card{box-shadow:0 8px 26px rgba(55,37,51,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(198,79,181,.22)}
.blog-body{padding:22px}
.blog-body h3{font-size:1.42rem;line-height:1.12}

/* Footer / contact channels */
.contact-strip-inner{padding-top:29px;padding-bottom:29px}
.contact-strip h2{font-size:1.85rem;margin:2px 0}
.quick-links{gap:9px}
.quick-links a{width:43px;height:43px;background:rgba(255,255,255,.70)}
.quick-links a svg{width:19px;height:19px}
.quick-links a:hover{background:#fff;box-shadow:0 8px 22px rgba(55,37,51,.10)}
.quick-links .pending-social{opacity:.5;cursor:default}
.footer{padding-top:50px}
.footer-grid{gap:38px}
.footer p,.footer a,.footer-links span{line-height:1.55}
.footer-links a{transition:color .18s ease,transform .18s ease}
.footer-links a:hover{color:#993786;transform:translateX(2px)}
.footer h4{margin-bottom:14px}
.footer-bottom{margin-top:38px;padding:15px 0}
.footer-bottom a,.footer-cookie-settings{color:#ead9e5}
.footer-cookie-settings{text-decoration:none}
.footer-cookie-settings:hover{text-decoration:underline}

/* Consent */
.cookie{display:none!important}
.consent-card{border-radius:20px;box-shadow:0 24px 70px rgba(45,31,42,.20)}
.consent-btn{font-size:.70rem}

/* Motion stays quiet and expensive-looking. */
.reveal{transform:translateY(16px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}

@media(max-width:1160px) and (min-width:1021px){
  .site-header .header-inner{width:calc(100% - 24px);padding-left:13px;padding-right:12px}
  .site-header .brand{min-width:195px}
  .site-header .brand-sub{display:none}
  .site-header .nav{gap:9px}
  .site-header .nav a,.site-header .nav-drop-btn{font-size:.64rem}
}

@media(max-width:1020px){
  .section{padding:72px 0}
  .section-sm{padding:52px 0}
  .container,.narrow{width:min(100% - 32px,1200px)}
  .site-header{top:10px!important}
  .site-header .header-inner{height:64px;width:min(100% - 20px,760px);border-radius:22px}
  .site-header .brand img.brand-logo{width:41px;height:41px;flex-basis:41px}
  .site-header .brand-title{font-size:.84rem}
  .mobile-menu{inset:84px 10px auto 10px!important;padding:17px!important;border-radius:22px;max-height:calc(100dvh - 100px)}
  .mobile-menu > a:not(.btn),.mobile-submenu-toggle{font-size:1.02rem!important}
  .mobile-menu-cta{min-height:46px!important}
  .page-hero{padding-top:116px!important;padding-bottom:48px!important}
  .page-hero .container{gap:25px}
  .page-hero-card{padding:24px}
  .split{gap:30px}
  .footer-grid{gap:30px}
}

@media(max-width:720px){
  body{font-size:15px;line-height:1.62;padding-bottom:0}
  .container,.narrow{width:min(100% - 28px,1200px)}
  .section{padding:58px 0}
  .section-sm{padding:46px 0}
  .section-head{margin-bottom:28px}
  h2{font-size:clamp(2rem,9vw,2.65rem)}
  .lead{font-size:.94rem;line-height:1.62}
  .eyebrow{font-size:.62rem;letter-spacing:.135em;margin-bottom:7px}
  .btn{min-height:46px;padding:12px 17px;font-size:.69rem}

  .site-header{top:8px!important}
  .site-header .header-inner{width:calc(100% - 16px);height:60px;padding:0 9px 0 12px;border-radius:20px}
  .site-header .brand img.brand-logo{width:38px;height:38px;flex-basis:38px}
  .site-header .brand-title{font-size:.79rem}
  .site-header .menu-btn{width:42px;height:42px;border-radius:13px}
  .mobile-menu{inset:76px 8px auto 8px!important;max-height:calc(100dvh - 90px);padding:16px!important;border-radius:20px}
  .mobile-language{padding-bottom:11px;margin-bottom:5px}
  .mobile-submenu{gap:6px}
  .mobile-submenu a{min-height:42px!important;font-size:.67rem!important;border-radius:11px!important}
  .mobile-quick{margin-top:13px;padding-top:13px}
  .mobile-quick-grid{gap:6px}
  .mobile-menu .mobile-quick-grid a{min-height:57px;border-radius:13px!important;font-size:.58rem!important}

  .hero,.hero-content{min-height:620px!important}
  .hero-content{padding-top:92px!important;padding-bottom:72px!important}
  .hero-media{background-position:60% center!important;opacity:.96}
  .hero-media:after{background:linear-gradient(180deg,rgba(43,29,40,.35) 0%,rgba(49,32,46,.52) 42%,rgba(45,29,42,.90) 100%)!important}
  .hero h1{font-size:clamp(2.65rem,12.2vw,3.55rem);line-height:.98;margin-bottom:15px}
  .hero .lead{font-size:.94rem;line-height:1.58;max-width:340px!important;margin-bottom:22px}
  .hero .btn-row{width:min(100%,330px);margin:0 auto;gap:9px}
  .hero .btn-row .btn{width:100%}

  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item{padding:18px 10px}
  .trust-num{font-size:1.22rem}
  .trust-label{font-size:.59rem}
  .trust-item:last-child{grid-column:1/-1}

  .story-img{border-radius:16px}
  .home-services.section{padding:55px 0 58px}
  .home-services .service-card{border-radius:14px!important}
  .home-services .service-card img{height:100px!important;flex-basis:100px}
  .home-services .service-body{min-height:51px;padding:9px 8px 10px!important}
  .home-services .service-body h3{font-size:.71rem!important;line-height:1.22!important}

  .packages{gap:13px}
  .package-intro{padding:0 0 6px}
  .package{padding:24px 21px;border-radius:16px}
  .package.featured{background:linear-gradient(180deg,#4c3548 0 92px,#fff 92px)}
  .package h3{font-size:1.55rem}
  .pack-sub{margin-bottom:20px}
  .package li{font-size:.78rem}

  .results{grid-template-columns:repeat(2,1fr);gap:10px}
  .result{border-radius:13px;padding:6px}
  .result span{font-size:.62rem;padding-top:7px}

  .process{gap:11px}
  .step{padding:22px 20px;border-radius:15px}
  .step-num{margin-bottom:16px}
  .reviews{gap:10px}
  .review-score{padding:26px;border-radius:16px}
  .review{padding:20px;border-radius:15px}

  .cta .container{padding-top:52px;padding-bottom:54px}
  .cta h2{font-size:2.35rem;line-height:1.02}
  .cta .lead{font-size:.92rem}
  .cta .btn-row{width:100%;gap:9px}

  .page-hero{padding-top:108px!important;padding-bottom:42px!important}
  .page-hero h1{font-size:clamp(2.35rem,10.7vw,3.15rem);line-height:1.01}
  .page-hero-card{padding:22px;border-radius:16px}
  .page-hero-card p{font-size:.82rem}

  .feature-grid{gap:11px}
  .feature{padding:23px;border-radius:15px}
  .checklist{columns:1}
  .checklist li{font-size:.88rem;padding-top:10px;padding-bottom:10px}
  .prose{font-size:.93rem;line-height:1.7}
  .prose h2{font-size:1.72rem;margin-top:38px}
  .callout{padding:24px;border-radius:15px}

  .price-grid,.package-deck{gap:11px}
  .price-card,.package-deck article{padding:23px;border-radius:15px}
  .package-deck article.featured{transform:none}
  .table-wrap{border-radius:14px;margin-right:-14px;padding-right:0}
  .compare th,.compare td{padding:12px 13px;font-size:.77rem}

  .contact-grid{gap:16px}
  .contact-card{padding:25px;border-radius:16px}
  form{padding:21px;border-radius:16px}
  .form-grid{gap:12px}
  .field input,.field select,.field textarea{min-height:46px}

  .blog-card{border-radius:15px}
  .blog-body{padding:19px}

  .footer{padding:44px 0 92px}
  .footer-grid{gap:27px}
  .footer-bottom{margin-top:31px}
  .footer-bottom .container{gap:8px;line-height:1.6}

  .mobile-sticky{left:8px;right:8px;bottom:8px;border:1px solid rgba(51,38,49,.09);border-radius:16px;overflow:hidden;box-shadow:0 12px 34px rgba(51,38,49,.18);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
  .mobile-sticky a{padding:11px 5px;font-size:.65rem}
  .consent-banner{bottom:70px}
  .consent-card{border-radius:18px}
  .consent-copy h2{font-size:1.18rem}
}

@media(max-width:390px){
  .hero h1{font-size:2.62rem}
  .home-services .service-card img{height:92px!important;flex-basis:92px}
  .home-services .service-body h3{font-size:.68rem!important}
  .mobile-menu .mobile-quick-grid a{min-height:54px}
}

@media(hover:none){
  .service-card:hover,.step:hover,.review:hover,.price-card:hover,.feature:hover,.blog-card:hover,.result:hover{transform:none;box-shadow:inherit}
}


/* V23 polish: elegant compact cards in home results section on mobile */
.section-dark .results{align-items:stretch}
.section-dark .result{overflow:hidden;display:flex;flex-direction:column;padding:0;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.10)}
.section-dark .result img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:0}
.section-dark .result span{padding:11px 10px 13px;font-size:.76rem;line-height:1.25;font-weight:700;letter-spacing:.01em}
@media (max-width: 720px){
  .section-dark .section-head{margin-bottom:22px}
  .section-dark .results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .section-dark .result{border-radius:16px}
  .section-dark .result img{height:118px;aspect-ratio:auto}
  .section-dark .result span{padding:9px 8px 11px;font-size:.68rem;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
}
@media (max-width: 400px){
  .section-dark .results{gap:10px}
  .section-dark .result img{height:108px}
  .section-dark .result span{font-size:.64rem;padding:8px 7px 10px;min-height:44px}
}

/* V24 polish: make mobile imagery more compact and premium across the site */
@media (max-width: 720px){
  .split{gap:22px}
  .story-img{border-radius:18px;overflow:hidden;margin:0 auto}
  .story-img img{height:250px!important;aspect-ratio:auto!important;object-fit:cover;object-position:center}
  .service-lead .story-img img{height:224px!important}
  .blog-card img{height:182px;aspect-ratio:auto;object-fit:cover}
  .service-card img{object-position:center}
}
@media (max-width: 480px){
  .section{padding:64px 0}
  .section-sm{padding:42px 0}
  .story-img img{height:220px!important}
  .service-lead .story-img img{height:198px!important}
  .blog-card img{height:168px}
}


/* V26: compact premium cards for the all-services page on mobile */
@media (max-width: 720px){
  .page-hero + .section-soft .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .page-hero + .section-soft .service-card{border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-height:auto}
  .page-hero + .section-soft .service-card img{height:112px!important;aspect-ratio:auto!important;object-fit:cover;object-position:center;display:block}
  .page-hero + .section-soft .service-body{padding:10px 10px 12px}
  .page-hero + .section-soft .service-body h3{font-size:.74rem;line-height:1.25;margin:0;min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center}
  .page-hero + .section-soft .service-body p,
  .page-hero + .section-soft .service-body .card-link{display:none}
}
@media (max-width: 400px){
  .page-hero + .section-soft .services-grid{gap:10px}
  .page-hero + .section-soft .service-card img{height:102px!important}
  .page-hero + .section-soft .service-body{padding:9px 8px 10px}
  .page-hero + .section-soft .service-body h3{font-size:.69rem;min-height:34px}
}


/* V27: elegant privacy consent checkbox */
.privacy-check{
  gap:14px;
  align-items:center;
}
.privacy-check input[type=checkbox]{
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  min-width:22px;
  margin:0;
  border:1.5px solid rgba(118,95,107,.38);
  border-radius:6px;
  background:linear-gradient(180deg,#fffefd 0%,#fff8fc 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 4px 12px rgba(72,45,63,.06);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
  flex:0 0 auto;
}
.privacy-check input[type=checkbox]::after{
  content:"";
  width:10px;
  height:6px;
  border:2px solid #fff;
  border-top:0;
  border-right:0;
  transform:rotate(-45deg) scale(0);
  transition:transform .16s ease;
  margin-top:-1px;
}
.privacy-check input[type=checkbox]:hover{
  border-color:rgba(184,74,170,.62);
  box-shadow:0 0 0 4px rgba(184,74,170,.08), 0 6px 14px rgba(72,45,63,.08);
}
.privacy-check input[type=checkbox]:focus-visible{
  outline:none;
  border-color:rgba(184,74,170,.75);
  box-shadow:0 0 0 4px rgba(184,74,170,.14), 0 6px 14px rgba(72,45,63,.08);
}
.privacy-check input[type=checkbox]:checked{
  background:linear-gradient(180deg,#d562c6 0%,#b84aaa 100%);
  border-color:#b84aaa;
  box-shadow:0 0 0 4px rgba(184,74,170,.10), 0 8px 16px rgba(184,74,170,.16);
}
.privacy-check input[type=checkbox]:checked::after{
  transform:rotate(-45deg) scale(1);
}
.privacy-check span{
  display:block;
}
@media(max-width:720px){
  .privacy-check{gap:12px;align-items:flex-start}
  .privacy-check input[type=checkbox]{margin-top:2px}
}


/* V28: refined privacy consent row + premium form CTA */
.privacy-check{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  gap:11px!important;
  align-items:start!important;
  padding:12px 13px;
  margin:1px 0 2px;
  border:1px solid rgba(184,74,170,.10);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,250,253,.72),rgba(253,244,250,.58));
  color:#6f606a!important;
  font-size:.73rem!important;
  line-height:1.48!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.privacy-check input[type=checkbox]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:1px solid rgba(119,93,109,.38)!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.privacy-check input[type=checkbox]::after{
  content:""!important;
  width:7px!important;
  height:4px!important;
  border:1.8px solid #fff!important;
  border-top:0!important;
  border-right:0!important;
  transform:rotate(-45deg) scale(0)!important;
  transform-origin:center;
  transition:transform .14s ease!important;
  margin-top:-1px!important;
}
.privacy-check input[type=checkbox]:hover{
  border-color:rgba(184,74,170,.60)!important;
  box-shadow:0 0 0 3px rgba(184,74,170,.06)!important;
}
.privacy-check input[type=checkbox]:focus-visible{
  outline:none!important;
  border-color:#b84aaa!important;
  box-shadow:0 0 0 3px rgba(184,74,170,.12)!important;
}
.privacy-check input[type=checkbox]:checked{
  background:linear-gradient(180deg,#ca58bb 0%,#b84aaa 100%)!important;
  border-color:#b84aaa!important;
  box-shadow:0 3px 9px rgba(184,74,170,.18)!important;
}
.privacy-check input[type=checkbox]:checked::after{
  transform:rotate(-45deg) scale(1)!important;
}
.privacy-check span{
  display:block;
  padding-top:0;
  color:#6f606a;
}
.privacy-check a{
  color:#9f3f91!important;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
form .field.full:has(.privacy-check){
  margin-top:1px;
}
form .field.full:has(.privacy-check) + .field.full{
  margin-top:2px;
}
form .field.full > .btn[type=submit]{
  min-height:48px;
  border-radius:999px;
  letter-spacing:.055em;
  box-shadow:0 9px 24px rgba(184,74,170,.16);
}
form .field.full > .btn[type=submit]:hover{
  box-shadow:0 13px 30px rgba(184,74,170,.23);
}
@media(max-width:720px){
  .privacy-check{
    grid-template-columns:17px minmax(0,1fr);
    gap:10px!important;
    padding:10px 11px;
    border-radius:11px;
    font-size:.69rem!important;
    line-height:1.44!important;
  }
  .privacy-check input[type=checkbox]{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    margin-top:1px!important;
    border-radius:5px!important;
  }
  form .field.full > .btn[type=submit]{
    min-height:46px;
    font-size:.70rem!important;
    margin-top:2px;
  }
}

/* V29: small, subtle premium privacy checkbox */
.privacy-check{
  grid-template-columns:15px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:10px 12px!important;
}
.privacy-check input[type="checkbox"]{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  max-width:15px!important;
  max-height:15px!important;
  padding:0!important;
  margin:2px 0 0!important;
  border:1px solid rgba(112,89,104,.38)!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.privacy-check input[type="checkbox"]::after{
  width:6px!important;
  height:3px!important;
  border-width:1.5px!important;
  margin-top:-1px!important;
}
.privacy-check input[type="checkbox"]:hover{
  border-color:rgba(184,74,170,.58)!important;
  box-shadow:0 0 0 2px rgba(184,74,170,.06)!important;
}
.privacy-check input[type="checkbox"]:focus-visible{
  box-shadow:0 0 0 3px rgba(184,74,170,.10)!important;
}
.privacy-check input[type="checkbox"]:checked{
  background:#c653b7!important;
  border-color:#c653b7!important;
  box-shadow:none!important;
}
@media(max-width:720px){
  .privacy-check{
    grid-template-columns:15px minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px 10px!important;
  }
  .privacy-check input[type="checkbox"]{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    max-width:15px!important;
    max-height:15px!important;
    margin-top:2px!important;
  }
}


/* V30: mobile intro wordmark spacing fix */
@media(max-width:720px){
  .brand-intro-stage{width:min(92vw,420px);transform:translateY(-.5vh)}
  .brand-intro-mark{width:min(66vw,248px);margin-bottom:20px}
  .intro-wordmark{margin-top:0;font-size:clamp(1rem,5vw,1.3rem);letter-spacing:.14em;line-height:1.15;position:relative;z-index:2;background:transparent}
  .intro-tagline{margin-top:10px;font-size:.58rem;letter-spacing:.15em;max-width:94%;line-height:1.5}
}
@media(max-width:430px){
  .brand-intro-stage{width:min(90vw,360px)}
  .brand-intro-mark{width:min(64vw,230px);margin-bottom:22px}
  .intro-wordmark{font-size:1.18rem;letter-spacing:.12em}
  .intro-tagline{font-size:.54rem;letter-spacing:.14em}
}


/* V31: branded contact icons with original app colors */
.quick-links a{
  border:none;
  box-shadow:0 8px 18px rgba(52,39,50,.10);
}
.quick-links a:hover{
  transform:translateY(-2px) scale(1.02);
  filter:brightness(1.03) saturate(1.04);
  box-shadow:0 10px 22px rgba(52,39,50,.14);
}
.quick-links .pending-social{opacity:1;cursor:default}

.quick-links a:nth-child(1){background:#111827;color:#fff}
.quick-links a:nth-child(2){background:#25D366;color:#fff}
.quick-links a:nth-child(3){background:#64748b;color:#fff}
.quick-links a:nth-child(4){background:#7360F2;color:#fff}
.quick-links a:nth-child(5){background:#EA4335;color:#fff}
.quick-links a:nth-child(6){background:linear-gradient(135deg,#F58529 0%,#FEDA77 18%,#DD2A7B 50%,#8134AF 78%,#515BD4 100%);color:#fff}
.quick-links a:nth-child(7){background:#1877F2;color:#fff}
.quick-links a:nth-child(8){background:#FF0000;color:#fff}
.quick-links a:nth-child(9){background:#111111;color:#fff}

.contact-card .quick-links a,
.contact-strip .quick-links a,
.mobile-menu .quick-links a{
  color:#fff;
}

.quick-links a:nth-child(9){
  box-shadow:0 8px 18px rgba(52,39,50,.10), inset 10px 0 0 rgba(37,244,238,.16), inset -10px 0 0 rgba(254,44,85,.16);
}

@media(max-width:720px){
  .mobile-menu .quick-links{gap:10px}
  .mobile-menu .quick-links a{width:44px;height:44px}
}


/* V32: center TikTok icon and remove extra visual ring */
.quick-links a[aria-label="TikTok"]{
  display:grid;
  place-items:center;
  background:#111111;
  color:#fff;
  box-shadow:0 8px 18px rgba(52,39,50,.10);
}
.quick-links a[aria-label="TikTok"] svg{
  display:block;
  width:18px;
  height:18px;
  margin:0;
  transform:none;
}

/* V33: WhatsApp brand green in mobile sticky CTA */
@media(max-width:720px){
  .mobile-sticky a:nth-child(2){
    background:#25D366;
    color:#fff;
    border-right:0;
  }
  .mobile-sticky a:nth-child(2):hover,
  .mobile-sticky a:nth-child(2):active{
    background:#1fbd5a;
    color:#fff;
  }
}

/* V34: three separate floating mobile action buttons */
@media(max-width:720px){
  .mobile-sticky{
    left:12px;
    right:12px;
    bottom:10px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
  }
  .mobile-sticky a{
    min-height:46px;
    padding:11px 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(52,39,50,.10)!important;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:var(--navy);
    box-shadow:0 10px 24px rgba(52,39,50,.14);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    font-size:.65rem;
    font-weight:800;
    line-height:1;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  }
  .mobile-sticky a:hover,
  .mobile-sticky a:active{
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(52,39,50,.18);
  }
  .mobile-sticky a:nth-child(2){
    background:#25D366;
    color:#fff;
    border-color:#25D366!important;
  }
  .mobile-sticky a:nth-child(2):hover,
  .mobile-sticky a:nth-child(2):active{
    background:#1fbd5a;
  }
  .mobile-sticky a:last-child{
    background:linear-gradient(135deg,#d45bc0,#b844a6);
    color:#fff;
    border-color:transparent!important;
  }
}
@media(max-width:390px){
  .mobile-sticky{gap:6px;left:9px;right:9px}
  .mobile-sticky a{min-height:44px;padding:10px 5px;font-size:.61rem}
}


/* V35: ensure white text on purple header/mobile CTA buttons */
.site-header .nav a.nav-cta,
.site-header .nav a.nav-cta:visited,
.site-header .nav a.nav-cta:hover,
.site-header .nav a.nav-cta:focus-visible,
.mobile-menu a.mobile-menu-cta,
.mobile-menu a.mobile-menu-cta:visited,
.mobile-menu a.mobile-menu-cta:hover,
.mobile-menu a.mobile-menu-cta:focus-visible{
  color:#fff !important;
}
.site-header .nav a.nav-cta:after,
.mobile-menu a.mobile-menu-cta:after{
  display:none !important;
}


/* V36: ensure white text on active purple language switch buttons */
.lang-switch a.active,
.lang-switch a.active:visited,
.lang-switch a.active:hover,
.lang-switch a.active:focus-visible,
.site-header .nav .lang-switch a.active,
.site-header .nav .lang-switch a.active:visited,
.site-header .nav .lang-switch a.active:hover,
.site-header .nav .lang-switch a.active:focus-visible,
.mobile-language .lang-switch a.active,
.mobile-language .lang-switch a.active:visited,
.mobile-language .lang-switch a.active:hover,
.mobile-language .lang-switch a.active:focus-visible{
  color:#fff !important;
}


/* V37 — new Kristall Servis circular logo integration */
.brand img.brand-logo{
  border-radius:50%;
  background:transparent;
  box-shadow:0 4px 14px rgba(18,48,39,.16);
  object-fit:contain;
}
.site-header .brand img.brand-logo{
  width:48px;
  height:48px;
  flex-basis:48px;
}
.footer .brand img.brand-logo{
  width:52px;
  height:52px;
  flex-basis:52px;
}
.brand-intro-mark{
  aspect-ratio:1/1;
  width:min(55vw,320px);
}
.intro-logo{
  border-radius:50%;
  object-fit:contain;
}
.intro-logo-reveal{
  border-radius:50%;
  filter:drop-shadow(0 16px 28px rgba(18,48,39,.14));
}
@media(max-width:720px){
  .brand-intro-mark{width:min(61vw,232px);margin-bottom:22px}
  .site-header .brand img.brand-logo{width:42px;height:42px;flex-basis:42px}
  .footer .brand img.brand-logo{width:48px;height:48px;flex-basis:48px}
}
@media(max-width:430px){
  .brand-intro-mark{width:min(59vw,218px);margin-bottom:22px}
}


/* V38 — owner's complete service text, same design language as existing premium UI */
.owner-section{scroll-margin-top:120px}
.owner-section-head{text-align:center;max-width:790px;margin:0 auto 30px}
.owner-section-head h2{font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.12;margin:10px 0 0}
.owner-section .lead{max-width:830px;margin:0 auto 23px;color:#70606c;line-height:1.7}
.owner-section .owner-section-head + .lead{text-align:center}
.owner-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.owner-package-card{min-width:0;border:1px solid #ead7e4;border-radius:19px;padding:24px 19px;display:flex;flex-direction:column;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(68,38,60,.045);transition:transform .2s,box-shadow .2s,border-color .2s}
.owner-package-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(68,38,60,.10);border-color:#d59fc9}
.owner-package-card.is-accent{border-color:#bd78b2;background:#fff5fc}
.owner-package-index{color:#af4c9f;letter-spacing:.16em;font-size:.67rem;font-weight:800}
.owner-package-card h3{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);margin:13px 0 8px}
.owner-package-card strong{font-size:.79rem;color:#5a4555;line-height:1.5}
.owner-package-card p{font-size:.8rem;color:#756570;line-height:1.65;flex:1;margin:11px 0 17px}
.owner-package-card a{color:#9c318c;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.owner-under-grid{text-align:center;margin:24px auto 0}
.owner-copy-card{padding:28px;background:white;border:1px solid #ead8e7;border-radius:18px;min-width:0}
.owner-copy-card h3{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:14px;color:#372737}
.owner-copy-card p{font-size:.92rem;color:#71616c;line-height:1.7}
.owner-stairs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.owner-stair-argentum{background:#fff4fb;border-color:#d5a3ca}
.owner-list{max-width:980px;margin:15px auto 4px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.owner-list li{position:relative;font-size:.87rem;color:#635461;line-height:1.62;padding:11px 10px 11px 28px;border-bottom:1px solid #ecdeea}
.owner-list li:before{content:"✓";position:absolute;left:4px;top:12px;color:#ba4da8;font-weight:800}
.owner-extra-list{counter-reset:none;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:0;margin:19px 0}
.owner-extra-list li{padding:13px 13px;display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid #eddae8;border-radius:12px;min-width:0;line-height:1.54;color:#665360;font-size:.85rem}
.owner-num{font-size:.70rem;color:#a94797;font-weight:850;letter-spacing:.02em;flex:0 0 23px;padding-top:2px;font-variant-numeric:tabular-nums}
.owner-note{padding:18px 22px;background:#fcebf7;border-left:3px solid #c455b5;border-radius:0 12px 12px 0;line-height:1.68;font-size:.89rem;color:#5b4554;margin-top:20px}
.owner-hint{color:#81707b;text-align:center;font-size:.85rem}
.owner-accordion{border:1px solid #e9cbe1;border-radius:15px;background:#fff;overflow:hidden}
.owner-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:18px 20px;color:#8c2d7d;font-weight:800;font-size:.89rem}
.owner-accordion summary::-webkit-details-marker{display:none}
.owner-accordion summary span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fae9f6;font-size:1.2rem;line-height:1}
.owner-accordion[open] summary span{transform:rotate(45deg)}
.owner-accordion .owner-extra-list{margin:0 16px 16px}
.owner-inline-link{color:#9b2f8f;font-size:.85rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.owner-link-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.owner-link-cards a{display:flex;flex-direction:column;gap:7px;border:1px solid #ead7e4;background:#fff;border-radius:15px;padding:20px}
.owner-link-cards strong{color:#4d3348;font-size:1.06rem}
.owner-link-cards span{color:#ad429e;font-size:.79rem;line-height:1.45}
@media(max-width:1020px){.owner-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .owner-section{padding:55px 0}.owner-section-head{margin-bottom:22px}.owner-section-head h2{font-size:clamp(1.9rem,9vw,2.55rem)}
 .owner-stairs-grid,.owner-list,.owner-extra-list,.owner-link-cards{grid-template-columns:1fr}
 .owner-package-grid{gap:10px}.owner-package-card{padding:16px 13px;border-radius:15px}.owner-package-card h3{font-size:1.33rem}.owner-package-card p{font-size:.73rem;line-height:1.48}.owner-package-card strong{font-size:.71rem}.owner-package-card a{font-size:.62rem}
 .owner-copy-card{padding:21px}.owner-extra-list{gap:8px}.owner-extra-list li{font-size:.82rem;padding:12px 11px}
 .owner-note{font-size:.82rem;padding:15px}.owner-accordion .owner-extra-list{margin:0 10px 10px}
}
@media(max-width:360px){.owner-package-grid{grid-template-columns:1fr}.owner-package-card h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.owner-package-card{transition:none}.owner-package-card:hover{transform:none}}


/* V40 — homepage family-service emphasis and owner-provided hero line */
.hero .hero-family-label{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:8px 12px;text-transform:none;line-height:1.18;margin-bottom:18px}
.hero .hero-family-label strong{color:#fff;font-family:var(--sans);font-size:clamp(1.26rem,2.4vw,1.72rem);letter-spacing:-.025em;font-weight:850}
.hero .hero-family-label span{color:#f5d5ed;font-family:var(--sans);font-size:.72rem;letter-spacing:.13em;font-weight:750;text-transform:uppercase}
.hero .hero-tagline{color:#ffe0f4;font-family:var(--serif);font-size:clamp(1.18rem,2.4vw,1.65rem);font-weight:500;line-height:1.32;max-width:720px;margin:-2px auto 17px;text-wrap:balance;text-shadow:0 2px 16px rgba(36,23,32,.20)}
@media(max-width:720px){
  .hero,.hero-content{min-height:720px!important}
  .hero .hero-family-label{flex-direction:column;align-items:center;gap:4px;margin-bottom:14px}
  .hero .hero-family-label strong{font-size:1.35rem}
  .hero .hero-family-label span{font-size:.65rem}
  .hero .hero-tagline{font-size:clamp(1.14rem,5vw,1.32rem);max-width:340px;margin:0 auto 13px;line-height:1.33}
}
@media(max-width:390px){.hero .hero-tagline{font-size:1.13rem}}


/* V43 — owner revision, consistent with V41 magenta palette and unchanged V42 hero photo. */
.hero .hero-family-label strong.v43-large-family{font-size:clamp(1.89rem,3.6vw,2.58rem);font-weight:850;line-height:1.06;letter-spacing:-.035em}
.hero .hero-tagline.v43-large-slogan{font-size:clamp(1.77rem,3.6vw,2.475rem);line-height:1.19;max-width:860px;margin:4px auto 20px;color:#fff;text-shadow:0 3px 18px rgba(31,14,28,.7)}
.hero .hero-family-label{margin-bottom:17px}
.v43-google-cta{text-align:center;margin:22px auto 0}
.v43-google-footer{display:inline-flex;align-items:center;margin:13px 0 0;font-weight:750;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
.v43-pricing-criteria .section-head{max-width:850px;margin-bottom:30px}
.v43-criteria-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v43-criteria-grid li{display:flex;align-items:center;gap:17px;min-width:0;background:#fff;border:1px solid #eec7e9;border-radius:14px;padding:17px 19px;color:#493348;font-weight:650;line-height:1.4;box-shadow:0 9px 25px rgba(76,35,67,.035)}
.v43-criterion-num{font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:850;color:#9a308b;letter-spacing:.07em}
.v43-pricing-criteria .owner-note{margin-top:28px}
.v43-bio-prices{background:linear-gradient(150deg,#fff5ff 0%,#ffe8ff 60%,#fff7ff 100%)}
.v43-bio-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.v43-bio-head h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.15rem);margin:10px 0 12px;color:#382239;line-height:1.12;max-width:750px}
.v43-bio-head .lead{max-width:740px}
.v43-bio-head .btn{flex-shrink:0}
.v43-price-table{border:1px solid #edcae8;background:#fff;border-radius:19px;box-shadow:0 16px 38px rgba(65,30,58,.055);overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.v43-price-row{display:flex;align-items:center;justify-content:space-between;gap:17px;min-width:0;padding:17px 23px;border-bottom:1px solid #f0e3ef;font-size:.88rem;line-height:1.4}
.v43-price-row:nth-child(odd){border-right:1px solid #f0e3ef}
.v43-price-row span{color:#564354}.v43-price-row strong{font-weight:850;color:#823176;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.v43-carpet-price{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:25px 29px;border-radius:15px;background:#45223f;color:#fff}
.v43-carpet-price div{display:flex;flex-direction:column;gap:4px}.v43-carpet-price div strong{font-size:1.12rem}.v43-carpet-price div span{font-size:.81rem;color:#ffe1f7}.v43-carpet-price>strong{font-size:clamp(1.3rem,3vw,1.8rem);white-space:nowrap}
.v43-pricing-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px}.v43-pricing-bottom>div:first-child{max-width:730px}.v43-pricing-bottom h2{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.8rem);margin:10px 0 12px}.v43-pricing-bottom p{line-height:1.65}.v43-pricing-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){
 .hero .hero-family-label strong.v43-large-family{font-size:clamp(1.85rem,7.8vw,2.2rem)}
 .hero .hero-tagline.v43-large-slogan{font-size:clamp(1.58rem,6.7vw,1.98rem);max-width:350px;line-height:1.23;margin:5px auto 15px}
 .hero .hero-content{padding-top:100px;padding-bottom:72px}
 .v43-criteria-grid,.v43-price-table{grid-template-columns:1fr}
 .v43-criteria-grid li{padding:14px 16px}.v43-bio-head,.v43-pricing-bottom{display:flex;flex-direction:column;align-items:stretch;gap:19px}
 .v43-price-row:nth-child(odd){border-right:0}.v43-price-row{padding:13px 16px;font-size:.83rem}
 .v43-bio-head .btn{align-self:flex-start}.v43-pricing-actions{justify-content:flex-start}
 .v43-carpet-price{padding:20px;gap:12px}.v43-carpet-price>strong{font-size:1.25rem}
}
@media(max-width:365px){.hero .hero-family-label strong.v43-large-family{font-size:1.7rem}.hero .hero-tagline.v43-large-slogan{font-size:1.45rem}.v43-price-row{font-size:.79rem;gap:10px}.v43-price-row strong{font-size:.79rem}}

/* V45: visible reference prices + digital price lists */
.v45-price-pair{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:125px;text-align:right}
.v43-price-row .v45-price-pair .v45-price-current{font-size:.98rem;color:#68245e;white-space:nowrap}
.v43-price-row .v45-price-anchor,.v45-price-anchor{display:block;color:#63515f;font-size:.67rem;line-height:1.5;font-weight:500;white-space:normal}
.v45-price-anchor b{font-weight:850;color:#632153}
.v43-carpet-price .v45-carpet-pair{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right;min-width:0}
.v43-carpet-price .v45-carpet-pair strong{font-size:clamp(1.3rem,3vw,1.75rem);color:#fff;white-space:nowrap}
.v43-carpet-price .v45-carpet-pair small{color:#ffe8fb;font-size:.73rem;line-height:1.5}
.v45-extra-price{padding-block:50px;background:#fff9ff}
.v45-extra-price h2{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.5rem);margin:9px 0 23px}
.v45-one-price{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #efc8e9;border-radius:17px;background:#fff;padding:20px 25px;max-width:740px}
.v45-one-price>span{color:#453243;font-weight:700}
.v45-inline-anchor{display:block;margin:6px 0 0;font-size:.76rem;font-weight:650;color:#7e3470;line-height:1.6}
.v45-download-section{background:linear-gradient(145deg,#fff8ff,#ffe9ff);padding-block:65px}
.v45-download-card{border:1px solid #eeb2e8;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(73,28,62,.08);padding:34px 38px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:30px;align-items:center}
.v45-download-card h2,.v45-archive-list h2{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.5rem);margin:10px 0 12px;color:#40263d}
.v45-download-card p{line-height:1.7;color:#574553;margin:0 0 10px}
.v45-download-card .v45-download-note,.v45-download-note{font-size:.8rem;color:#6d5567;line-height:1.65}
.v45-download-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch}
.v45-download-actions .btn{text-align:center;justify-content:center}
.v45-archive-link{font-weight:750;font-size:.8rem;color:#7e2674;text-decoration:underline;text-underline-offset:4px;text-align:center;margin-top:4px}
.v45-archive-list{margin:26px 0 0;background:#fff;padding:25px 30px;border:1px solid #eeb2e8;border-radius:18px}
.v45-archive-list p{color:#635061;line-height:1.6}
.v45-archive-row{display:flex;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid #f0dbea;border-bottom:1px solid #f0dbea;padding:16px 0}
.v45-archive-row>span{font-weight:750;color:#56364d}.v45-archive-row>div{display:flex;gap:15px;flex-wrap:wrap}.v45-archive-row a{font-weight:800;color:#84277a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.v45-price-pair{min-width:112px}.v43-price-row .v45-price-anchor{font-size:.66rem}.v45-download-card{grid-template-columns:1fr;padding:25px 20px;gap:17px}.v45-download-section{padding-block:45px}.v45-one-price{padding:17px;gap:10px}.v45-archive-list{padding:20px}.v45-archive-row{align-items:flex-start;flex-direction:column}}
@media(max-width:380px){.v43-price-row{gap:8px}.v45-price-pair{min-width:105px}.v43-price-row .v45-price-anchor{font-size:.62rem}.v43-carpet-price .v45-carpet-pair strong{font-size:1.13rem}}

/* V47 — accessible Web3Forms hCaptcha integration */
[data-contact-form] .kd-captcha-field { min-width: 0; }
[data-contact-form] .kd-captcha-label { display: block; margin-bottom: 10px; }
[data-contact-form] .kd-captcha-panel {
  min-width: 0; padding: 16px 18px 12px; border: 1px solid #efd5e9;
  border-radius: 17px; background: #fffafd;
}
[data-contact-form] .kd-captcha-panel .h-captcha { display:block; min-height:78px; }
[data-contact-form] .kd-captcha-instructions,
[data-contact-form] .kd-captcha-privacy {
  font-size: .77rem; font-weight: 450; line-height: 1.55; color: #6b5269;
}
[data-contact-form] .kd-captcha-instructions { margin: 8px 0 0; }
[data-contact-form] .kd-captcha-privacy { margin: 7px 0 0; }
[data-contact-form] .kd-captcha-privacy a { color: #6d235f; text-underline-offset: 2px; }
@media (max-width: 390px) {
  [data-contact-form] .kd-captcha-panel { padding: 12px 10px 10px; overflow: hidden; }
  [data-contact-form] .kd-captcha-panel .h-captcha {
    width: 303px; transform: scale(.82); transform-origin: top left;
    margin-bottom: -14px;
  }
}


/* V48 — owner review: keep the circular brand mark clearly visible in the mobile header */
@media(max-width:720px){
  .site-header .brand{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;overflow:visible!important}
  .site-header .brand img.brand-logo{display:block!important;visibility:visible!important;opacity:1!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;position:relative!important;z-index:3!important}
}
@media(max-width:390px){
  .site-header .brand img.brand-logo{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important}
}
\n\n/* V50 — clearer, accessible form feedback after Web3Forms submission */\n[data-contact-form] .form-status{\n  display:none; margin-top:14px; min-height:0; font-size:.84rem; line-height:1.5;\n  font-weight:650; border-radius:14px; color:#604d5c;\n}\n[data-contact-form] .form-status:not(:empty){\n  display:flex; align-items:flex-start; gap:11px; padding:13px 15px; border:1px solid #eadde7; background:#fffafd;\n}\n[data-contact-form] .form-status::before{\n  flex:0 0 25px; width:25px; height:25px; border-radius:999px; display:grid; place-items:center;\n  font-size:.82rem; font-weight:900; line-height:1; margin-top:-1px;\n}\n[data-contact-form] .form-status.is-success{\n  color:#155b35; background:#edf9f2; border-color:#b9e6ca; box-shadow:0 10px 26px rgba(25,105,62,.08);\n}\n[data-contact-form] .form-status.is-success::before{content:'✓';color:#fff;background:#218a52;}\n[data-contact-form] .form-status.is-pending{color:#62335d;background:#fff5fe;border-color:#edcfea;}\n[data-contact-form] .form-status.is-pending::before{content:'…';color:#fff;background:#8a347d;}\n[data-contact-form] .form-status.is-warning{color:#75530f;background:#fff9e8;border-color:#f0dfa1;}\n[data-contact-form] .form-status.is-warning::before{content:'!';color:#fff;background:#b98618;}\n[data-contact-form] .form-status.is-error{color:#8b2d35;background:#fff1f2;border-color:#efc1c5;}\n[data-contact-form] .form-status.is-error::before{content:'!';color:#fff;background:#bb4650;}\n@media(max-width:520px){\n  [data-contact-form] .form-status:not(:empty){padding:12px 13px;gap:9px;font-size:.81rem;border-radius:12px}\n  [data-contact-form] .form-status::before{flex-basis:23px;width:23px;height:23px}\n}\n

/* V51 — human-readable current + reference prices */
.v51-price-explainer{padding-block:48px;background:#fff}
.v51-price-guide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:34px;align-items:center;padding:34px;border:1px solid #efc7eb;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#fff7ff 100%);box-shadow:0 16px 44px rgba(73,28,62,.07)}
.v51-price-guide-copy h2{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.2rem);margin:8px 0 16px;color:#40263d}
.v51-price-guide-copy p{margin:0 0 10px;line-height:1.75;color:#5f4b5c}
.v51-price-guide-copy p strong{color:#632153}
.v51-price-legend{display:grid;gap:12px}
.v51-price-legend>div{padding:18px 20px;border-radius:16px;background:#fff;border:1px solid #ead7e6;display:grid;gap:4px}
.v51-price-legend>div.is-anchor{background:#4a2144;color:#fff;border-color:#4a2144}
.v51-price-legend span{font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#a52b98}
.v51-price-legend .is-anchor span{color:#ffb6fa}
.v51-price-legend strong{font-size:1.05rem;color:#40263d}
.v51-price-legend .is-anchor strong{color:#fff}
.v51-price-legend small{font-size:.76rem;color:#7a6876}
.v51-price-legend .is-anchor small{color:#ead9e7}

/* Stronger labels for fixed current / reference prices */
.v43-price-row .v45-price-current{display:block}
.v43-price-row .v45-price-current::before{content:"Važeća cijena";display:block;margin-bottom:2px;font-family:var(--sans);font-size:.62rem;line-height:1.2;letter-spacing:.07em;text-transform:uppercase;color:#9a4a90;font-weight:850}
html[lang="en"] .v43-price-row .v45-price-current::before{content:"Current price"}
.v43-price-row .v45-price-anchor{margin-top:4px;padding-top:5px;border-top:1px solid #f0dbea}
.v43-carpet-price .v45-carpet-pair>strong::before{content:"Važeća cijena";display:block;margin-bottom:3px;font-family:var(--sans);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:#ffd4fb;font-weight:850}
html[lang="en"] .v43-carpet-price .v45-carpet-pair>strong::before{content:"Current price"}

.v51-cleaning-prices{padding-block:68px}
.v51-cleaning-head{max-width:900px;margin-bottom:28px}
.v51-service-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v51-service-price-card{background:#fff;border:1px solid #eccfe8;border-radius:18px;padding:23px;box-shadow:0 10px 30px rgba(75,31,67,.045);display:flex;flex-direction:column;min-height:255px}
.v51-service-kicker{font-size:.66rem;line-height:1.4;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#a52b98;margin-bottom:6px}
.v51-service-price-card h3{font-family:var(--serif);font-size:1.55rem;line-height:1.05;margin:0 0 17px;color:#40263d}
.v51-service-price-lines{display:grid;gap:8px;margin-bottom:14px}
.v51-service-price-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:11px;background:#fff7ff;border:1px solid #f0ddeb}
.v51-service-price-lines>div.is-anchor{background:#4a2144;border-color:#4a2144}
.v51-service-price-lines span{font-size:.69rem;font-weight:800;color:#765c70}
.v51-service-price-lines strong{font-size:.82rem;text-align:right;color:#74276a;white-space:nowrap}
.v51-service-price-lines .is-anchor span{color:#ead9e7}
.v51-service-price-lines .is-anchor strong{color:#fff}
.v51-service-price-card p{font-size:.78rem;line-height:1.6;color:#786675;margin:auto 0 0}
.v51-assessment-note{margin-top:18px;padding:22px 24px;border-left:4px solid #fd58fd;border-radius:14px;background:#fff;box-shadow:0 9px 28px rgba(75,31,67,.04)}
.v51-assessment-note strong{display:block;color:#40263d;font-size:1rem;margin-bottom:5px}
.v51-assessment-note p{margin:0 0 8px;color:#665463;line-height:1.65}

@media(max-width:1020px){.v51-price-guide{grid-template-columns:1fr}.v51-price-legend{grid-template-columns:1fr 1fr}.v51-service-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.v51-price-explainer,.v51-cleaning-prices{padding-block:40px}.v51-price-guide{padding:22px 18px;gap:20px;border-radius:18px}.v51-price-legend{grid-template-columns:1fr}.v51-service-price-grid{grid-template-columns:1fr;gap:11px}.v51-service-price-card{min-height:0;padding:19px}.v51-service-price-lines>div{align-items:flex-start;flex-direction:column;gap:3px}.v51-service-price-lines strong{text-align:left;white-space:normal}.v51-assessment-note{padding:18px}.v43-price-row{align-items:flex-start}.v45-price-pair{min-width:128px}}


/* V53 hourly pricing */
.v53-rate-strip{padding:24px 0;background:#fff7ff;border-top:1px solid #f2deee;border-bottom:1px solid #f2deee}
.v53-rate-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:30px;align-items:center;background:#fff;border:1px solid #e9cbe5;border-radius:20px;padding:24px 28px;box-shadow:0 10px 30px rgba(75,31,67,.05)}
.v53-rate-card h2{font-size:clamp(1.45rem,2.4vw,2.1rem);margin:3px 0 8px}.v53-rate-card p{margin:0;color:#776575;max-width:700px}
.v53-rate-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v53-rate-values>div{padding:15px;border:1px solid #edd8e9;border-radius:14px;background:#fff7ff}.v53-rate-values>div.anchor{background:#4a2144;border-color:#4a2144}.v53-rate-values span{display:block;font-size:.68rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#85567d;margin-bottom:6px}.v53-rate-values strong{font-size:1.15rem;color:#6b2462;white-space:nowrap}.v53-rate-values .anchor span{color:#ead9e7}.v53-rate-values .anchor strong{color:#fff}.v53-hourly-card .v51-service-price-lines strong{font-size:.98rem}.v53-hourly-card{min-height:280px}
@media(max-width:860px){.v53-rate-card{grid-template-columns:1fr}.v53-rate-values{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.v53-rate-strip{padding:18px 0}.v53-rate-card{padding:19px 17px;border-radius:16px;gap:18px}.v53-rate-values{grid-template-columns:1fr}.v53-rate-values strong{font-size:1.05rem}.v53-hourly-card{min-height:0}}
