/* PestGone — aubergine ink, caution yellow, clean mint. Archivo (wide for display, normal for text). */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url("fonts/archivo.woff2") format("woff2")}
:root{
  --ink:#24123F; --ink-2:#3B2363; --ink-soft:#5E4B80;
  --yel:#FFCC26; --yel-d:#F2B705;
  --mint:#2FD69E; --mint-d:#12A877; --mint-t:#0A7352;
  --lilac:#EEE8FB; --lilac-2:#CDBFF0;
  --snow:#FBFAFE; --line:#E2DBF2; --text:#1D1233; --mute:#615577; --warn:#C0263B;
  --f:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --safe:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f);font-stretch:100%;color:var(--text);background:var(--snow);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--ink-2);text-underline-offset:3px}
h1,h2,h3{color:var(--ink);line-height:1.05;margin:0 0 .5em;font-stretch:118%;font-weight:850;letter-spacing:-.015em}
h1{font-size:clamp(2.3rem,7vw,4.4rem)}
h2{font-size:clamp(1.55rem,4.2vw,2.25rem)}
h3{font-size:1.15rem;font-stretch:110%}
.h-big{font-size:clamp(2rem,6vw,3.3rem);margin-bottom:.35em}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
.center{text-align:center}.small{font-size:.88rem}.muted{color:var(--mute)}.nowrap{white-space:nowrap}.mt{margin-top:32px}
.sub{color:var(--mute);font-size:1.1rem;max-width:560px;margin-bottom:28px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.prelaunch{background:var(--ink);color:var(--yel);text-align:center;font-size:.78rem;padding:4px;font-weight:600}

/* illustrations */
.ill{width:56px;height:56px;flex:none;overflow:visible}
.ill-xs{width:26px;height:26px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:13px 22px;font-weight:800;font-stretch:110%;font-size:1rem;text-decoration:none;border:2.5px solid transparent;cursor:pointer;font-family:inherit;line-height:1.15;transition:transform .08s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(2px)}
.btn-go{background:var(--yel);color:var(--ink);border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}
.btn-go:hover{background:#FFD84F}
.btn-go:active{box-shadow:0 2px 0 var(--ink)}
.btn-line{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}.btn-ghost:hover{border-color:#fff}
.btn-lg{padding:16px 26px;font-size:1.06rem}.btn-sm{padding:8px 14px;font-size:.9rem;box-shadow:0 3px 0 var(--ink)}.btn-block{display:flex;width:100%}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(251,250,254,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:22px;height:66px}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.logo-mark{width:38px;height:38px}
.logo-word{font-size:1.45rem;font-weight:900;font-stretch:125%;color:var(--ink);letter-spacing:-.03em}
.nav{display:flex;gap:4px;margin-left:10px}
.nav a{text-decoration:none;color:var(--ink);font-weight:650;font-size:.97rem;padding:8px 12px;border-radius:10px}
.nav a:hover{background:var(--lilac)}
.top-cta{margin-left:auto;display:flex;align-items:center;gap:16px}
.phone{font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap}
.top .btn-go{box-shadow:0 3px 0 var(--ink);padding:10px 18px}
.call-ico{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;background:var(--lilac);color:var(--ink);align-items:center;justify-content:center}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:12px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:20px;height:2.5px;border-radius:2px;background:#fff}
.menu-panel{position:absolute;left:12px;right:12px;top:72px;background:#fff;border:2.5px solid var(--ink);border-radius:20px;box-shadow:0 6px 0 var(--ink);padding:10px;display:flex;flex-direction:column}
.menu-panel a{padding:14px 14px;text-decoration:none;color:var(--ink);font-weight:750;font-size:1.1rem;border-radius:12px}
.menu-panel a:not(.btn):hover{background:var(--lilac)}
.menu-panel .btn{margin-top:8px}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:56px 0 64px}
.hero::before{content:"";position:absolute;inset:auto -10% -40% auto;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,#4B2C80 0,transparent 65%);pointer-events:none}
.hero-in>*,.page-hero-in>*,.two>*{min-width:0}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.strike-head{color:#fff;font-size:clamp(3rem,6.6vw,5.6rem);line-height:.98;margin:0 0 22px;font-stretch:125%;font-weight:900;letter-spacing:-.035em}
.sh-line,.sh-gone{display:block}
.sh-line s{position:relative;white-space:nowrap;text-decoration:none;color:#D9CFF3}
.sh-line s::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:.17em;border-radius:.1em;background:var(--yel);transform:scaleX(0) rotate(-2deg);transform-origin:left center;animation:strike .38s cubic-bezier(.6,0,.3,1) forwards}
.sh-line:nth-child(2) s::after{animation-delay:.25s}
.sh-line:nth-child(3) s::after{animation-delay:.65s}
.sh-line:nth-child(4) s::after{animation-delay:1.05s}
.sh-gone{color:var(--mint);opacity:0;transform:translateY(.15em);animation:gone .45s ease-out 1.5s forwards}
@keyframes strike{to{transform:scaleX(1) rotate(-2deg)}}
@keyframes gone{to{opacity:1;transform:none}}
.hero-sub{font-size:1.2rem;color:#E4DCF7;max-width:460px;margin:0}

.hero-pick{background:#fff;color:var(--text);border-radius:28px;padding:24px;box-shadow:0 8px 0 var(--yel)}
.pick-q{font-size:1.5rem;margin-bottom:16px}
.picker{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pick{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px 16px;border-radius:20px;background:var(--lilac);text-decoration:none;color:var(--ink);border:2.5px solid transparent;transition:border-color .15s,transform .15s}
.pick:hover{border-color:var(--ink);transform:translateY(-2px)}
.pick-art{width:100%;aspect-ratio:1.6;display:grid;place-items:center}
.pick-art .ill{width:58%;height:auto}
.pick-name{font-weight:850;font-stretch:112%;line-height:1.1;font-size:1rem}
.pick .tag{position:absolute;top:10px;right:-6px}
.pick-go{font-size:.85rem;font-weight:750;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 8px;border-radius:999px;border:2px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;background:#fff}
.chip:hover{border-color:var(--ink)}

/* price tag sticker */
.tag{display:inline-flex;align-items:baseline;gap:4px;background:var(--yel);color:var(--ink);font-weight:900;font-stretch:115%;font-size:1.25rem;line-height:1;padding:7px 12px 7px 16px;border-radius:6px 10px 10px 6px;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);transform:rotate(4deg);box-shadow:0 2px 0 rgba(36,18,63,.2)}
.tag-from{font-size:.68rem;font-weight:700;font-stretch:100%}
.tag-sm{font-size:1rem}

/* promise strip */
.promise{background:var(--yel);border-bottom:2.5px solid var(--ink)}
.promise-in{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px 20px}
.promise p{margin:0;color:var(--ink);font-size:1.02rem}
.promise b{font-stretch:120%;font-weight:900;font-size:1.15rem;display:block}

/* sections */
.sec{padding:76px 0}.sec-lilac{background:var(--lilac)}.pt0{padding-top:12px}
.sec-ink{background:var(--ink);color:#E4DCF7}
.sec-ink h2{color:#fff}.sec-ink b{color:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}

/* how it works: a real sequence */
.track{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:t;position:relative}
.track li{counter-increment:t;position:relative;padding:68px 24px 0 0}
.track li::before{content:counter(t);position:absolute;left:0;top:0;width:50px;height:50px;border-radius:50%;background:var(--yel);border:2.5px solid var(--ink);color:var(--ink);font-weight:900;font-stretch:125%;font-size:1.3rem;display:grid;place-items:center;z-index:1}
.track li::after{content:"";position:absolute;left:50px;right:0;top:24px;border-top:2.5px dashed var(--lilac-2)}
.track li:last-child::after{display:none}
.track b{display:block;font-size:1.25rem;font-stretch:115%;font-weight:850;color:var(--ink);margin-bottom:4px}
.track span{color:var(--mute)}
.two .track{grid-template-columns:1fr}
.two .track li{padding:0 0 26px 66px}.two .track li::after{left:24px;top:50px;bottom:0;right:auto;border-top:0;border-left:2.5px dashed var(--lilac-2)}

/* service list */
.svc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.svc{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:12px 16px 12px 12px;border-radius:18px;background:#fff;border:2px solid var(--line);text-decoration:none;color:var(--ink)}
.svc:hover{border-color:var(--ink)}
.svc-art{grid-row:1/3;width:52px;height:52px;border-radius:14px;background:var(--lilac);display:grid;place-items:center}
.svc-art .ill{width:40px;height:40px}
.svc-name{font-weight:800;font-stretch:108%;line-height:1.2}
.svc-price{font-size:.88rem;color:var(--mute);font-weight:600}.svc-price.has{color:var(--mint-t);font-weight:800}

/* price cards */
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.price-card{background:#fff;border:2.5px solid var(--ink);border-radius:24px;padding:22px;display:flex;flex-direction:column;box-shadow:0 6px 0 var(--ink)}
.pc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.pc-head .ill{width:72px;height:72px}
.price-card h3 a{text-decoration:none;color:var(--ink)}
.price-card .ticks{flex:1}

.ticks{list-style:none;padding:0;margin:0 0 18px}
.ticks li{position:relative;padding-left:30px;margin-bottom:9px}
.ticks li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:6px;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10.5 3.2 3L15 6.5' fill='none' stroke='%2324123F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.dots{padding-left:20px}.dots li{margin-bottom:6px}.dots li::marker{color:var(--ink-soft)}

.why{list-style:none;padding:0}.why li{margin-bottom:16px;padding-left:18px;border-left:3px solid var(--yel)}
.area-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.area-list a{display:inline-block;padding:8px 15px;background:#fff;border:2px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;font-size:.93rem;color:var(--ink)}
.area-list a:hover{border-color:var(--ink)}
.sec-ink .area-list a{background:transparent;color:#fff;border-color:#5A4585}
.sec-ink .area-list a:hover{border-color:var(--yel);color:var(--yel)}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:24px}
.loc{display:flex;flex-direction:column;gap:4px;padding:18px;border:2px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:var(--mute);font-size:.9rem}
.loc b{color:var(--ink);font-size:1.2rem;font-stretch:115%}.loc:hover{border-color:var(--ink)}

/* faq */
.faq details{border-bottom:2px solid var(--line)}
.faq summary{cursor:pointer;font-weight:800;color:var(--ink);padding:18px 40px 18px 0;list-style:none;position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5v10M5 10h10' stroke='%2324123F' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--yel)}
.faq p{color:var(--mute);margin-top:-4px}

/* inner page hero */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 0;margin:0;font-size:.85rem;color:var(--mute)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--lilac-2)}
.crumbs a{color:var(--mute)}
.page-hero{padding:20px 0 60px}
.page-hero-in{display:grid;grid-template-columns:1.35fr .85fr;gap:48px;align-items:start}
.page-hero .lead{color:var(--mute);font-size:1.2rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.price-box{background:#fff;border:2.5px solid var(--ink);border-radius:26px;padding:22px;box-shadow:0 7px 0 var(--ink)}
.pb-art{position:relative;background:var(--lilac);border-radius:18px;display:grid;place-items:center;padding:18px;margin-bottom:14px}
.pb-art .ill{width:120px;height:120px}
.pb-art .tag{position:absolute;top:14px;right:-8px}
.pb-label{font-weight:800;color:var(--ink);margin:0 0 4px}
.pb-price{font-size:2.6rem;font-weight:900;font-stretch:120%;color:var(--ink);margin:0 0 6px;letter-spacing:-.02em;line-height:1}
.pb-price small{font-size:.95rem;color:var(--mute);font-weight:600;font-stretch:100%;letter-spacing:0}
.pb-quote{font-size:1.5rem}
.pb-list{list-style:none;padding:0;margin:6px 0 10px}
.pb-list li{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:2px dashed var(--line)}
.pb-list a{text-decoration:none;font-weight:750;color:var(--ink)}
.pb-list b{font-stretch:115%}
.steps-4{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:h}
.steps-4 li{counter-increment:h;background:#fff;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:4px}
.steps-4 li::before{content:counter(h);width:38px;height:38px;border-radius:50%;background:var(--yel);border:2px solid var(--ink);font-weight:900;display:grid;place-items:center;margin-bottom:8px;color:var(--ink)}
.steps-4 b{color:var(--ink);font-size:1.1rem}.steps-4 span{color:var(--mute)}

/* pricing table */
.ptable{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:20px;overflow:hidden;border:2px solid var(--line)}
.ptable th,.ptable td{padding:14px 16px;text-align:left;border-bottom:2px solid var(--line);vertical-align:middle}
.ptable tr:last-child td{border-bottom:0}
.ptable th{background:var(--lilac);font-size:.9rem;color:var(--ink)}
.ptable td a{font-weight:800;text-decoration:none;color:var(--ink);display:block}
.ptable td .btn{display:inline-flex}

/* booking */
.booker>*{min-width:0}
.booker{display:grid;grid-template-columns:1fr 290px;gap:28px;background:#fff;border:2.5px solid var(--ink);border-radius:28px;padding:28px;box-shadow:0 8px 0 var(--ink);max-width:1020px;scroll-margin-top:84px}
.bk-progress{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:0}
.bk-progress li{font-size:.85rem;font-weight:750;color:var(--mute);padding-top:10px;position:relative}
.bk-progress li::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:6px;background:var(--lilac)}
.bk-progress li.on{color:var(--ink)}.bk-progress li.on::before{background:var(--ink)}
.bk-form fieldset{border:0;margin:0;padding:0;min-width:0}
.js .bk-step{display:none}.js .bk-step.on{display:block;animation:stepin .25s ease-out}
@keyframes stepin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.bk-step legend{font-size:1.5rem;font-weight:850;font-stretch:115%;color:var(--ink);margin-bottom:16px;padding:0;line-height:1.1}
.booker label,.quick label{display:block;font-weight:700;font-size:.95rem;margin-bottom:14px;color:var(--ink)}
select,input,textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:1rem;padding:14px 15px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--text)}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--lilac)}
.bk-services{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.bk-opt{margin:0!important;cursor:pointer}
.bk-opt input,.bk-pill input,.bk-day input{position:absolute;opacity:0;width:1px;height:1px}
.bk-opt-in{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;border:2px solid var(--line);border-radius:16px;padding:10px 12px;height:100%;transition:border-color .12s,background .12s}
.bk-opt-in .ill{grid-row:1/3;width:40px;height:40px}
.bk-opt-name{font-weight:800;color:var(--ink);font-size:.98rem;line-height:1.2}
.bk-opt-price{font-size:.83rem;color:var(--mute);font-weight:600}.bk-opt-price.has{color:var(--mint-t);font-weight:800}
.bk-opt input:checked+.bk-opt-in,.bk-pill input:checked+span,.bk-day input:checked+span{border-color:var(--ink);background:var(--yel)}
.bk-opt input:checked+.bk-opt-in .bk-opt-price{color:var(--ink)}
.bk-opt input:focus-visible+.bk-opt-in,.bk-pill input:focus-visible+span,.bk-day input:focus-visible+span{outline:3px solid var(--mint);outline-offset:2px}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opt{font-weight:500;color:var(--mute)}
.bk-days{display:grid;grid-auto-flow:column;grid-auto-columns:76px;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:12px;scroll-snap-type:x mandatory}
.bk-day{margin:0!important;cursor:pointer;scroll-snap-align:start}
.bk-day span{display:flex;flex-direction:column;align-items:center;border:2px solid var(--line);border-radius:14px;padding:8px 4px;font-size:.8rem;color:var(--mute);font-weight:700;line-height:1.3}
.bk-day b{font-size:1.5rem;color:var(--ink);font-stretch:115%}
.bk-windows{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.bk-pill{margin:0!important;cursor:pointer}
.bk-pill span{display:flex;flex-direction:column;align-items:center;border:2px solid var(--line);border-radius:14px;padding:12px 6px;font-weight:800;color:var(--ink);text-align:center}
.bk-pill small{font-weight:600;color:var(--mute)}
.bk-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}
.bk-check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.hp{position:absolute!important;left:-5000px}
.bk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.bk-nav .btn{min-width:120px}
.bk-err{color:var(--warn);font-weight:700;font-size:.92rem;margin:12px 0 0}
.bk-summary{background:var(--lilac);border-radius:20px;padding:20px;align-self:start;position:sticky;top:90px}
.bk-summary h3{margin-bottom:12px}
.bk-summary dl{margin:0 0 16px}
.bk-summary dt{font-size:.8rem;color:var(--mute);font-weight:700}
.bk-summary dd{margin:0 0 10px;font-weight:800;color:var(--ink)}
.bk-done,.bk-fail{grid-column:1/-1;text-align:center;padding:30px 10px}
.bk-done-ico{width:72px;height:72px;border-radius:50%;background:var(--mint);border:2.5px solid var(--ink);color:var(--ink);font-size:2.1rem;font-weight:900;display:grid;place-items:center;margin:0 auto 14px}
.booker.done .bk-form,.booker.done .bk-summary,.booker.done .bk-progress{display:none}
.booker.sending button[type=submit]{opacity:.6;pointer-events:none}

/* band + footer */
.band{background:var(--yel);border-top:2.5px solid var(--ink);padding:48px 0}
.band-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.band-big{font-size:clamp(2rem,6vw,3.4rem);font-weight:900;font-stretch:125%;color:var(--ink);margin:0;letter-spacing:-.03em;line-height:1}
.band .btn-go{background:var(--ink);color:#fff;box-shadow:0 4px 0 #0E0620}
.band .btn-ghost{color:var(--ink);border-color:var(--ink)}
.foot{background:var(--ink);color:#CFC4E8;padding:56px 0 100px;font-size:.93rem}
.foot a{color:#fff;text-decoration:none}.foot a:hover{color:var(--yel)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr .8fr;gap:32px}
.foot h2{color:var(--yel);font-size:1rem;margin-bottom:12px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin-bottom:7px}
.cols2{columns:2}
.foot-logo{font-size:1.4rem;font-weight:900;font-stretch:125%;color:#fff}
.foot-base{border-top:1px solid #3F2B63;margin-top:32px;padding-top:18px;font-size:.85rem}
.mobilebar{display:none}

@media (max-width:980px){
  .nav,.top-cta{display:none}.menu{display:block}.call-ico{display:flex}
  .hero-in,.page-hero-in,.two{grid-template-columns:1fr;gap:32px}
  .prices{grid-template-columns:1fr}
  .booker{grid-template-columns:1fr}
  .bk-summary{position:static;order:-1}
  .foot-grid{grid-template-columns:1fr 1fr}
  .mobilebar{display:grid;grid-template-columns:1fr;position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe));z-index:60;background:var(--ink);border-radius:20px;padding:8px;gap:8px;box-shadow:0 10px 30px rgba(36,18,63,.35);transition:transform .25s}
  .mobilebar a{text-align:center;padding:14px 18px;border-radius:14px;font-weight:850;font-stretch:112%;text-decoration:none;color:#fff;border:2px solid #5A4585}
  .mobilebar a.go{background:var(--yel);border-color:var(--yel);color:var(--ink)}
  body.page-book .mobilebar,body.bk-active .mobilebar,body.hero-active .mobilebar{transform:translateY(160%)}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .sec{padding:56px 0}
  .hero{padding:30px 0 40px}
  .strike-head{font-size:clamp(2.5rem,13.2vw,4rem);font-stretch:118%;margin-bottom:16px}
  .hero-sub{font-size:1.05rem}
  .hero-pick{padding:18px 14px;border-radius:24px}
  .pick-q{font-size:1.3rem}
  .picker{grid-template-columns:1fr;gap:10px}
  .pick{display:grid;grid-template-columns:70px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:10px 14px 10px 10px}
  .pick-art{grid-row:1/3;width:70px;aspect-ratio:1;background:#fff;border-radius:16px}
  .pick-art .ill{width:54px}
  .pick-name{font-size:1.08rem;align-self:end}
  .pick-go{align-self:start}
  .pick .tag{position:static;grid-row:1/3;grid-column:3;transform:rotate(4deg)}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:14px -14px 0;padding:0 14px 4px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .promise-in{grid-template-columns:1fr;gap:10px;padding:18px 16px}
  .promise p{display:flex;gap:10px;align-items:baseline}
  .promise b{display:inline;font-size:1.05rem;white-space:nowrap}
  .track{grid-template-columns:1fr}
  .track li{padding:0 0 28px 68px}
  .track li::after{left:24px;top:50px;bottom:0;right:auto;border-top:0;border-left:2.5px dashed var(--lilac-2)}
  .booker{padding:16px;border-radius:24px;box-shadow:0 6px 0 var(--ink)}
  .bk-services,.bk-row{grid-template-columns:1fr}
  .bk-windows{grid-template-columns:1fr}
  .bk-pill span{flex-direction:row;justify-content:space-between;padding:14px 16px}
  .bk-summary{padding:12px 14px;border-radius:16px}
  .bk-summary h3,.bk-summary ul{display:none}
  .bk-summary dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:.92rem}
  .bk-summary dd{margin:0}
  .bk-nav{position:sticky;bottom:0;background:#fff;margin:16px -16px -16px;padding:12px 16px calc(12px + var(--safe));border-top:2px solid var(--line);border-radius:0 0 22px 22px;z-index:5}
  .bk-nav .btn-go{flex:1}
  .foot-grid{grid-template-columns:1fr}
  .price-box{box-shadow:0 5px 0 var(--ink)}
  .ptable th,.ptable td{padding:10px 8px;font-size:.92rem}
  .ptable .btn-sm{padding:8px 12px}
  .ptable td.nowrap{white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition:none!important;scroll-behavior:auto!important}
}

/* booking: day/window states added with the shared booking rules */
.bk-day.today span{border-style:dashed}
.bk-hint{margin:6px 0 0}
.bk-windows:empty::before{content:"Choose a day to see the available time windows.";color:var(--mute);font-weight:600;grid-column:1/-1}
.bk-windows.one{grid-template-columns:1fr}
.bk-err[hidden]{display:none}
.booker.sending button[type=submit]{opacity:.6;pointer-events:none}
.picker .pick:last-child:nth-child(odd){grid-column:1/-1}

.hero-h1{font-size:.95rem;font-weight:700;letter-spacing:.02em;margin:0 0 .6rem;color:#ffd21f;text-transform:none}

.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:24px 0}
.plan-card{background:#fff;border:3px solid var(--ink,#24123F);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px}
.plan-card h2{margin:0}.plan-card .ticks{flex:1}
.plan-pop{background:var(--lilac,#ece7fa)}
