
:root{--bg:220 20% 97%;--fg:220 20% 20%;--card:0 0% 100%;--primary:220 35% 35%;
--muted:215 15% 95%;--muted-fg:215 12% 45%;--accent:38 85% 58%;--accent-fg:220 40% 15%;
--border:215 15% 91%;--radius:.75rem;
--grad-hero:linear-gradient(135deg,hsl(220,25%,30%) 0%,hsl(220,22%,42%) 100%);
--grad-accent:linear-gradient(160deg,hsl(42,100%,58%) 0%,hsl(30,100%,50%) 100%);
--grad-go:linear-gradient(160deg,hsl(152,62%,40%) 0%,hsl(158,66%,31%) 100%);
--shadow-card:0 1px 4px hsl(220 20% 20%/.03),0 4px 14px hsl(220 20% 20%/.04);
--shadow-elev:0 4px 18px hsl(220 20% 20%/.06),0 12px 36px hsl(220 20% 20%/.04);
--shadow-hero:0 8px 32px hsl(220 25% 30%/.18)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:hsl(var(--bg));color:hsl(var(--fg));line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;line-height:1.15;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px}
header{position:sticky;top:0;z-index:40;background:hsl(0 0% 100%/.85);backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border))}
.nav{display:flex;align-items:center;gap:14px;height:64px}
.logo img{height:38px;display:block}
.loc{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:hsl(var(--muted-fg));padding:6px 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card));font-family:'DM Sans',sans-serif;cursor:pointer;transition:border-color .12s,color .12s}.loc:hover{border-color:hsl(var(--muted-fg));color:hsl(var(--fg))}.loc-caret{font-size:10px;opacity:.65}
/* Zone + city picker. Built to scale: regions are a list, not two buttons,
   so a third market is a data change and nothing else. */
.zz-ov{position:fixed;inset:0;z-index:200;background:hsl(220 25% 12%/.5);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:70px 16px 16px}
.zz-ov.open{display:flex}
.zz{background:hsl(var(--card));border-radius:18px;width:100%;max-width:440px;max-height:76vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px hsl(220 25% 12%/.3)}
.zz-head{padding:16px 18px 12px;border-bottom:1px solid hsl(var(--border))}
.zz-head h3{font-family:'Space Grotesk',sans-serif;font-size:17px;margin:0 0 10px}
.zz-zones{display:flex;gap:7px;flex-wrap:wrap}
.zz-zone{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--fg));border-radius:999px;padding:7px 14px}
.zz-zone.on{background:hsl(var(--primary)/.1);border-color:hsl(var(--primary));color:hsl(var(--primary))}
.zz-search{width:100%;margin-top:11px;padding:11px 13px;border:1.5px solid hsl(var(--border));border-radius:11px;font-family:'DM Sans',sans-serif;font-size:15px;background:hsl(var(--muted));outline:0;box-sizing:border-box}
.zz-search:focus{border-color:hsl(var(--primary));background:hsl(var(--card))}
.zz-list{overflow-y:auto;padding:8px}
.zz-city{display:block;width:100%;text-align:left;background:0;border:0;border-radius:10px;padding:11px 12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:14.5px;color:hsl(var(--fg))}
.zz-city:hover{background:hsl(var(--muted))}
.zz-city.here{font-weight:700;color:hsl(var(--primary))}
.zz-none{padding:16px;text-align:center;color:hsl(var(--muted-fg));font-size:13.5px}
.zz-x{position:absolute;top:78px;right:calc(50% - 210px);background:hsl(var(--card));border:1px solid hsl(var(--border));width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;z-index:201}
@media(max-width:520px){.zz-x{right:20px}}
.nav .spacer{flex:1}
.navlinks{display:flex;gap:20px;font-size:14px;font-weight:500;color:hsl(var(--muted-fg))}
.navlinks a:hover{color:hsl(var(--primary))}
.home-entry{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1.5px solid hsl(var(--primary)/.3);border-radius:999px;color:hsl(var(--primary));font-size:13px;font-weight:700;white-space:nowrap;transition:background .12s,border-color .12s}
.home-entry:hover{background:hsl(var(--primary)/.07);border-color:hsl(var(--primary))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;padding:11px 18px;border-radius:var(--radius);border:0;cursor:pointer;font-family:'DM Sans'}
.btn-accent{background:hsl(var(--primary));color:#fff}
.btn-call{background:var(--grad-accent);color:hsl(var(--accent-fg));box-shadow:0 4px 14px hsl(38 85% 50%/.35);font-weight:700}
.nav-call{background:var(--grad-accent);color:hsl(var(--accent-fg));border:0;box-shadow:0 4px 14px hsl(38 85% 50%/.28);white-space:nowrap;flex-shrink:0}
.nav-call .call-label{flex-shrink:0}
.nav-call:hover{filter:brightness(1.04)}
/* Colour carries meaning: ORANGE means "call us", GREEN means "go". They used
   to be the same, so the phone button and the commit button competed on every
   screen. Every action that moves the customer forward — price it, book it,
   confirm it — is green now. */
.btn-go{background:var(--grad-go);color:#fff;box-shadow:0 4px 14px hsl(152 60% 30%/.32);font-weight:700}
.btn-go:hover{filter:brightness(1.04)}
/* The customer's own photos on the booking review — proof the estimate is
   about their job, not a generic price. */
.zv-photos{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 12px}
.zv-photos img{width:58px;height:58px;object-fit:cover;border-radius:9px;border:1.5px solid hsl(var(--border));cursor:zoom-in}
.btn-outline{background:hsl(var(--card));border:1.5px solid hsl(var(--primary));color:hsl(var(--primary))}
.zmBtn{display:none;width:44px;height:44px;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid hsl(var(--border));border-radius:12px;background:transparent;cursor:pointer;padding:0}
@media(max-width:860px){.navlinks{display:none}.zmBtn{display:flex}.nav-call{display:none}}
.zmBtn i{display:block;width:18px;height:2.5px;background:hsl(var(--fg));border-radius:2px}
/* The panel never spans the full width: --zm-w always leaves 66px to its left,
   which is where the ✕ lives. Keeping the ✕ OUTSIDE the panel is what lets the
   panel start at its own top edge instead of reserving a band to hold it. */
.zmOv{position:fixed;inset:0;z-index:120;background:hsl(220 30% 12%/.5);backdrop-filter:blur(2px);display:none;--zm-w:min(320px,100vw - 66px)}
.zmOv.open{display:block}
/* Full height. height:auto ("the panel ends with its last row") shipped and
   read as a BUG on a real phone — the drawer stopped mid-screen above a strip
   of dimmed page (Tamir, 2026-08-24 screenshot). A drawer runs edge to edge:
   height 100%, no bottom radius, safe-area padding instead of a max-height. */
.zmSheet{position:absolute;top:0;right:0;width:var(--zm-w);height:100%;overflow-y:auto;background:hsl(var(--card,0 0% 100%));background-color:#fff;box-shadow:-10px 0 40px hsl(220 28% 20%/.18);display:flex;flex-direction:column;padding:14px 0 calc(14px + env(safe-area-inset-bottom))}
.zmSearch{display:flex;align-items:center;gap:9px;margin:0 16px 12px;padding:0 13px;min-height:48px;width:auto;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--muted));font:600 15px 'DM Sans';color:hsl(var(--muted-fg));cursor:pointer;text-align:left;justify-content:flex-start}
.zmSearch svg{flex:0 0 17px;width:17px;height:17px;fill:none;stroke:hsl(var(--muted-fg));stroke-width:2;stroke-linecap:round}
.zmSheet h2.zmSr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.zmSheet a,.zmSheet button.zmItem{display:flex;align-items:center;justify-content:space-between;gap:11px;min-height:56px;padding:0 20px;margin:0 4px;border:0;border-top:1px solid hsl(var(--border));background:transparent;font:600 15.5px 'DM Sans';color:hsl(var(--fg));text-decoration:none;cursor:pointer;text-align:left;width:calc(100% - 8px);box-sizing:border-box}
.zmSheet a:active,.zmSheet button.zmItem:active{background:hsl(var(--muted))}
.zmSheet a::after{content:'›';color:hsl(var(--muted-fg));font-size:20px;font-weight:400;opacity:.55}
.zmSheet a.zmCall::after{content:none}
.zmSheet a.zmCall{margin:0 16px 18px;width:auto;min-height:54px;justify-content:center;border:0;border-top:0;border-radius:14px;background:var(--grad-accent);color:hsl(220 40% 16%);font-weight:800;box-shadow:0 4px 14px hsl(38 90% 45%/.28)}
.zmSheet .zmMeta{margin-left:auto;font-weight:500;color:hsl(var(--muted-fg));font-size:13px}
/* Sits on the scrim beside the panel at every width. It is a child of .zmOv,
   not of .zmSheet — the panel scrolls, and a scroll container clips anything
   positioned outside it. */
.zmClose{position:absolute;top:10px;right:calc(var(--zm-w) + 10px);width:42px;height:42px;border:0;border-radius:50%;background:hsl(0 0% 100%/.92);font-size:19px;cursor:pointer}
@media(max-width:560px){.home-entry{min-height:36px;padding:0 11px}.nav-call{padding:9px 10px;font-size:12px}.nav-call .call-label{display:inline}}@media(max-width:430px){.loc{font-size:12px;padding:0 10px;min-height:44px;display:inline-flex;align-items:center;gap:4px;max-width:44vw}.loc-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{gap:6px}.wrap{padding-left:12px;padding-right:12px}.logo img{height:34px}}
.hero{background:var(--grad-hero);color:#fff;padding:48px 0 116px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 78% 12%,hsl(38 85% 58%/.16),transparent 70%)}
.hero .wrap{position:relative;z-index:2;text-align:center}
.crumb{font-size:13px;color:hsl(210 30% 88%/.75);margin-bottom:16px;font-weight:500}
/* Google positions .pac-container against <body> with inline coordinates,
   which no amount of arithmetic survives: the booking sheet is fixed, iOS
   keyboards move the visual viewport, and pinch-zoom decouples layout from
   visual pixels entirely (Tamir saw the list floating mid-page). So the
   dropdown is REPARENTED into this wrapper and pinned by CSS instead —
   !important in a stylesheet beats Google's inline styles, so it simply
   sits under the input in normal flow, at every zoom, keyboard or not. */
.zb-acwrap{position:relative}
.zb-acwrap .pac-container{position:absolute!important;top:calc(100% + 4px)!important;left:0!important;width:100%!important;max-height:42vh;overflow-y:auto;z-index:1200!important;border-radius:12px;box-shadow:0 10px 30px hsl(215 30% 12%/.18)}
.zb-acwrap .pac-item{padding:9px 10px;font-size:14px;line-height:1.35;cursor:pointer}
.zb-acwrap .pac-logo:after{margin:4px 8px}
.crumb a:hover{color:#fff}
.hero h1{font-size:40px;font-weight:700;max-width:780px;margin:0 auto 14px}
.hero h1 em{font-style:normal;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p.sub{font-size:17px;color:hsl(210 30% 92%/.9);max-width:560px;margin:0 auto 24px}
.trustrow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;justify-content:center}
.trustrow .pill{background:hsl(0 0% 100%/.12);color:#fff;border:1px solid hsl(0 0% 100%/.18)}
.trustrow .g{background:hsl(152 55% 45%/.2);border-color:hsl(152 55% 55%/.4);color:hsl(152 60% 82%)}
.addr{background:hsl(var(--card));border-radius:16px;box-shadow:var(--shadow-hero);padding:16px;display:flex;gap:12px;align-items:center;max-width:640px}
.addr .field{flex:1;display:flex;align-items:center;gap:10px;background:hsl(var(--muted));border-radius:var(--radius);padding:12px 14px}
.addr input{border:0;background:transparent;outline:0;font-family:'DM Sans';font-size:15px;width:100%;color:hsl(var(--fg))}
.orcall{margin-top:14px;font-size:14px;color:hsl(210 30% 90%/.85)}
.orcall a{color:hsl(38 85% 66%);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.hero h1{font-size:30px}.addr{flex-direction:column;align-items:stretch}}
.hubHero{min-height:330px;padding:44px 0 150px;background:linear-gradient(hsl(220 34% 18%/.48),hsl(220 34% 18%/.68)),url('img/services-hub-hero.jpg') center 42%/cover no-repeat}
.hubHero:after{background:linear-gradient(180deg,hsl(220 30% 22%/.02),hsl(220 30% 22%/.34))}
.hubHero .wrap{max-width:820px}.hubHero h1{max-width:720px;margin-bottom:0;font-size:48px;font-weight:800;text-shadow:0 2px 18px hsl(220 35% 10%/.28)}.hubHero.hubHeroPersonalized h1{overflow-wrap:anywhere}
.hubSearchButton{width:min(680px,100%);min-height:64px;margin:0 auto;display:flex;align-items:center;gap:13px;border:0;border-radius:18px;padding:0 18px;background:#fff;color:hsl(var(--muted-fg));box-shadow:0 14px 38px hsl(220 35% 10%/.24);font:700 17px 'DM Sans';cursor:pointer;text-align:left}.hubSearchButton strong{flex:1;color:hsl(220 18% 42%);font-weight:650}.hubSearchButton .hubSearchIcon{font-size:23px;color:hsl(var(--primary))}.hubSearchButton .hubSearchGo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--grad-accent);color:hsl(220 38% 18%);font-size:20px}
.hubHeroSub{margin:14px 0 0;font:600 19.5px/1.35 'DM Sans';color:hsl(0 0% 100%/.95);text-shadow:0 2px 14px hsl(220 35% 10%/.4)}@media(max-width:760px){.hubHeroSub{font-size:17px;margin-top:14px}}.hubHero .trustrow{margin:14px 0 8px}.hubHero .pill{font-weight:800;background:hsl(0 0% 100%/.92);border-color:hsl(0 0% 100%/.92);color:hsl(152 45% 30%)}
.hubBrowsePage{padding-bottom:86px}.hubBrowse{position:relative;margin-top:-104px;z-index:6}.hubBrowsePanel{padding:26px 0 20px;border-radius:28px 28px 0 0;background:hsl(var(--bg))}.hubBrowse .wrap{max-width:1220px}.hubRailSection{margin-top:30px}.hubRailSection:first-child{margin-top:0}.hubRailHead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}.hubRailHead h2{font-size:27px;margin:0}.hubRailHead p{margin:4px 0 0;color:hsl(var(--muted-fg));font-size:13px}.hubRailAll{border:0;background:hsl(var(--muted));color:hsl(var(--primary));width:46px;height:46px;border-radius:50%;font-size:23px;cursor:pointer}
/* Compact How-Zelli-works: a reminder above the rails, not a section. *//* Same strip, just trimmed: the step descriptions and the kicker go, the   headline and the three bold labels stay (Tamir, 2026-08-21). */.zhwTight{margin:2px 0 0}.zhwTight .zhwKicker{display:none}.zhwTight .zhwTitle p{display:none}.zhwTight .zhwTitle h2{margin:0;font-size:25px}@media(max-width:760px){.zhwTight .zhwTitle h2{font-size:21px}}.zhwTight .zhwCard span{display:none}.zhwTight .zhwCard{padding:30px 10px 12px;display:flex;align-items:center;justify-content:center}.zhwTight .zhwRow{align-items:stretch;gap:14px}
/* One line, equal heights: the middle step used to hang lower than its
   neighbours purely because its label wraps to more lines. */
.zhwGrid{align-items:stretch}
.zhwLane{display:flex;align-items:stretch}
.zhwCard{height:100%}.zhwTight .zhwCard b{display:block}.zhwTight .zhwGrid{margin-bottom:-18px}.zhwTight .zhwLane{margin-top:-2px}/* and the gap between the category icons and this strip closes up */.hubCatsTop{margin-bottom:-8px}.hubCatsTop{margin-top:0}.hubCatsTop .hubCategoryRail{padding-top:0}.hubCatsHero .hubCategory{color:#fff;text-shadow:0 1px 8px hsl(220 35% 10%/.5)}.hubCatsHero .hubCategoryIcon{background:hsl(0 0% 100%/.94);border-color:hsl(0 0% 100%/.94)}.hubCategoryRail{display:grid;grid-template-columns:repeat(6,112px);gap:12px;overflow:visible;padding:2px 0 10px}.hubCardRail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 10px}/* Two rows that scroll as one unit: flagship on top, popular beneath. */.hubCardRail2{display:grid;grid-auto-flow:column;grid-auto-columns:248px;grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch;row-gap:12px}.hubCardRail2 .hubServiceCard{flex:none;width:auto;height:100%}@media(max-width:760px){.hubCardRail2{grid-auto-columns:calc((100vw - 46px)/2)}.hubCardRail2 .hubServiceCard{flex-basis:auto}}.hubCardRail::-webkit-scrollbar{display:none}.hubCategory{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;color:hsl(var(--fg));font:800 13px 'DM Sans';cursor:pointer}.hubCategoryIcon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#fff;border:1px solid hsl(var(--border));font-size:31px;box-shadow:var(--shadow-card)}.hubCategory:hover .hubCategoryIcon,.hubCategory:focus-visible .hubCategoryIcon,.hubCategory.active .hubCategoryIcon{border-color:hsl(var(--accent));transform:translateY(-2px)}.hubCategory.active .hubCategoryIcon{background:hsl(var(--accent)/.12)}
.hubServiceCard{flex:0 0 270px;display:block;overflow:hidden;border:1px solid hsl(var(--border));border-radius:18px;background:#fff;box-shadow:var(--shadow-card);scroll-snap-align:start;transition:.15s}.hubServiceCard:hover{transform:translateY(-2px);box-shadow:var(--shadow-elev)}.hubServiceCard img{display:block;width:100%;height:164px;object-fit:cover;object-position:50% 28%;background:hsl(var(--muted))}.hubServiceBody{padding:12px 14px 14px}.hubServiceBody h3{font-size:17px;margin:0}.hubServiceMeta{margin-top:4px;color:hsl(var(--muted-fg));font-size:12.5px}.hubServiceMeta b{color:hsl(var(--primary))}.hubServiceBlurb{margin:2px 0 0;font-size:12.5px;line-height:1.35;color:hsl(var(--muted-fg));min-height:calc(2 * 1.35em)}.hubCardRail .hubServiceCard{display:flex;flex-direction:column}.hubCardRail .hubServiceBody{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.hubCardRail .hubServiceMeta{margin-top:auto;padding-top:6px}.hubCardRail .hubServiceMeta:empty{min-height:1.4em}.hubCardRail .hubServiceTag{margin-top:6px}@media(max-width:760px){.hubCardRail .hubServiceBlurb{font-size:11.5px}}.hubServiceTag{display:inline-flex;margin-top:8px;border-radius:999px;padding:4px 9px;background:hsl(152 55% 45%/.1);color:hsl(152 45% 31%);font-size:10.5px;font-weight:800}
.hubRecent[hidden]{display:none}.hubCatalog{padding:38px 0 18px}.hubCatalog .sec-head{margin-bottom:18px}.hubCatalog .grid{align-items:stretch}.hubCatalog .svc[hidden]{display:none}.hubNoResults{display:none;padding:26px;border:1px dashed hsl(var(--border));border-radius:16px;text-align:center;color:hsl(var(--muted-fg));background:#fff}.hubNoResults.show{display:block}
.hubSearchOverlay{position:fixed;inset:0;z-index:220;display:none;align-items:flex-start;justify-content:center;padding:76px 16px 18px;background:hsl(220 30% 12%/.58);backdrop-filter:blur(5px)}.hubSearchOverlay.open{display:flex}.hubSearchSheet{width:min(640px,100%);max-height:78vh;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 22px 70px hsl(220 30% 10%/.34)}.hubSearchTop{display:flex;align-items:center;gap:9px;padding:14px;border-bottom:1px solid hsl(var(--border))}.hubSearchTop input::-webkit-search-cancel-button{-webkit-appearance:none}.hubSearchTop input{flex:1;min-width:0;border:0;outline:0;background:hsl(var(--muted));border-radius:13px;padding:14px;font:650 16px 'DM Sans';color:hsl(var(--fg))}.hubSearchClose{width:44px;height:44px;border:0;border-radius:50%;background:hsl(var(--muted));font-size:22px;cursor:pointer}.hubSearchResults{overflow-y:auto;padding:8px}.hubSearchResult{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:10px;border-radius:13px}.hubSearchResult:hover,.hubSearchResult:focus-visible{background:hsl(var(--muted))}.hubSearchResult img{width:58px;height:46px;object-fit:cover;border-radius:10px}.hubSearchResult b{font:800 14px 'Space Grotesk'}.hubSearchResult small{display:block;color:hsl(var(--muted-fg));font-size:11.5px}.hubSearchResult span{font-size:20px}.hubSearchEmpty{padding:26px;text-align:center;color:hsl(var(--muted-fg))}
.hubBottomNav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid hsl(var(--border));background:hsl(0 0% 100%/.94);backdrop-filter:blur(14px);box-shadow:0 -8px 30px hsl(220 28% 20%/.08)}.hubBottomCall,.hubBottomBook{min-width:0;height:58px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;border:0;border-radius:18px;font:900 14px/1.05 'DM Sans';cursor:pointer}.hubBottomCall>span:last-child,.hubBottomBook>span:last-child{white-space:nowrap}.hubBottomCall{background:var(--grad-accent);color:hsl(220 40% 16%);box-shadow:0 8px 24px hsl(38 88% 48%/.26)}.hubBottomBook{background:hsl(var(--primary));color:#fff;box-shadow:0 8px 24px hsl(220 35% 25%/.18)}.hubBottomCall .ico,.hubBottomBook .ico{font-size:23px;line-height:1}.hubBottomCall .ico{display:grid;place-items:center;color:hsl(145 70% 30%)}.hubBottomCall .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.hubHero{min-height:268px;padding:30px 0 108px;background-position:50% 30%}.hubHero h1{font-size:34px;line-height:1.06}.hubSearchButton{min-height:58px;border-radius:17px;padding:0 13px;font-size:15px}.hubSearchButton .hubSearchGo{width:38px;height:38px}.hubHero .trustrow{gap:6px;margin-top:14px}.hubHero .pill{font-size:10.5px;padding:5px 8px}.hubBrowse{margin-top:-88px}.hubBrowsePanel{padding-top:18px}.hubRailSection{margin-top:25px}.hubRailSection:first-child + .hubRailSection{margin-top:18px}.hubRailHead h2{font-size:22px}.hubRailHead p{font-size:12px}.hubCardRail{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.hubCategoryRail{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-left:0;margin-right:0;padding:2px 0 4px}.hubCategory{gap:5px;font-size:9.5px;line-height:1.05;text-align:center}.hubCategoryIcon{width:clamp(46px,14.36vw,56px);height:clamp(46px,14.36vw,56px);border-radius:clamp(15px,4.7vw,19px);font-size:clamp(21px,6.7vw,26px)}.hubCardRail .hubServiceCard{display:flex;flex-basis:calc((100% - 10px)/2);flex-direction:column;padding:10px;border-radius:var(--radius)}.hubCardRail .hubServiceCard img{height:auto;aspect-ratio:16/9;margin-bottom:8px;border-radius:10px}.hubCardRail .hubServiceBody{display:flex;flex:1;flex-direction:column;padding:0;text-align:center}.hubCardRail .hubServiceBody h3{font-size:14.5px;line-height:1.3}.hubCardRail .hubServiceMeta{font-size:12.5px;line-height:1.35}.hubCardRail .hubServiceTag{align-self:center;margin-top:auto;padding:2px 8px;font-size:11.5px}.hubBottomNav{display:grid}.hubCatalog{padding-top:30px}.hubSearchOverlay{align-items:flex-start;padding:14px 12px 18px}.hubSearchSheet{max-height:calc(100dvh - 32px);border-radius:22px}.hubBrowsePage footer{padding-bottom:118px}}
@media(max-width:370px){.hubBottomNav{padding-left:7px;padding-right:7px;gap:7px}.hubBottomCall,.hubBottomBook{font-size:12px;padding:0 9px}.hubHero h1{font-size:31px}}
@media(max-width:760px){.hubHero{min-height:262px;padding-bottom:104px}.hubBrowse{margin-top:-86px}.hubBrowsePanel{padding-top:12px}.hubRailHead{margin-bottom:8px}}
@media(max-width:760px){.hubHero.hubHeroPersonalized{min-height:350px;padding-bottom:86px}}
@media(max-width:370px){.hubHero{min-height:338px;padding-bottom:82px}.hubHero.hubHeroPersonalized{min-height:360px;padding-bottom:86px}}
.serviceHero{background:hsl(215 20% 96%);padding:0 0 16px;overflow:visible;color:hsl(var(--fg))}
.serviceHero:after{display:none}
.serviceVisual{height:320px;position:relative;overflow:hidden}
.serviceVisual img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block}
.serviceVisual:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,hsl(220 28% 18%/.72))}
.serviceCrumb{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);z-index:2;max-width:calc(100% - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:hsl(220 30% 25%/.88);color:#fff;border:1px solid hsl(0 0% 100%/.22);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;backdrop-filter:blur(5px)}
.serviceCrumb a{color:inherit}
.serviceHeroCard{position:relative;z-index:3;margin:-42px auto 0;max-width:900px;background:#fff;border:1px solid hsl(var(--border));border-radius:22px;padding:22px 24px 14px;box-shadow:var(--shadow-elev)}
.serviceHeroCard h1{font-size:34px;text-align:center;max-width:720px;margin:0 auto 8px;line-height:1.1}
.serviceHeroCard h1 em{font-style:normal;color:hsl(34 92% 46%)}
.serviceHeroCard p.sub{text-align:center;color:hsl(var(--muted-fg));font-size:15px;margin:0 auto 18px;max-width:620px}
.serviceHeroCard .pricecard{background:hsl(215 25% 97%);box-shadow:none}
.serviceHeroCard .pricecard thead{display:table-header-group}
.completePrices{display:block;text-align:center;color:hsl(34 92% 35%);font-weight:800;font-size:12.5px;margin:10px 0 0;text-decoration:none}
.completePrices.button{width:100%;border:0;background:transparent;cursor:pointer;font-family:'DM Sans';overflow-anchor:none}
.serviceHeroCard h1,.serviceHeroCard .pcTitle h3,.serviceHeroCard .instantCta strong{font-weight:800}
.serviceHeroCard .pricecard td:first-child{font-weight:650}.serviceHeroCard .pricecard td.price{font-weight:800}
.junkCatalogRow{display:flex;align-items:center;gap:12px}.junkCatalogIcon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:13px;background:hsl(214 35% 94%);font-size:20px}.zqSelected .junkCatalogIcon{background:hsl(152 55% 90%)}.junkCatalogCopy{min-width:0}.junkCatalogCopy b{display:block;font:800 15px/1.15 'Space Grotesk'}.junkCatalogCopy small{display:block;margin-top:3px;color:hsl(var(--muted-fg));font-size:11px;line-height:1.25}.junkSectionLabel{padding:0 8px 7px;color:hsl(var(--muted-fg));font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.junkPriceCard thead{display:none!important}
.serviceHeroCard.junkHeroCard{max-width:none;margin:-14px 0 0;border:0;border-radius:22px 22px 0 0;background:hsl(215 20% 96%);box-shadow:none}.junkHeroCard .junkPriceCard,.junkHeroCard .junkCardHeadline,.junkHeroCard>.homeOsPromo{width:min(1220px,calc(100% - 64px));max-width:none;margin-left:auto;margin-right:auto}.junkCardHeadline{text-align:left;margin-top:0;margin-bottom:14px}.junkCardHeadline h1{margin:0!important;max-width:none!important;text-align:left!important;font-size:28px!important;line-height:1.05;color:hsl(var(--fg))}.junkCardHeadline h1 em{font-style:normal;color:hsl(34 92% 46%)}.junkCardHeadline p{margin:5px 0 0;font-size:15px;color:hsl(var(--muted-fg))}.junkCardHeadline p em{font-style:normal;font-weight:800;color:hsl(34 92% 46%)}
.junkHeroCard .junkPriceCard{padding:0;border:0;background:transparent}
.serviceHeroCard.addressWoltHero{max-width:none;margin:-14px 0 0;border:0;border-radius:22px 22px 0 0;background:hsl(215 20% 96%);box-shadow:none}.addressWoltHero>h1,.addressWoltHero>p.sub,.addressWoltHero .pricecard,.addressWoltHero>.homeOsPromo{width:min(1220px,calc(100% - 64px));max-width:none!important;margin-left:auto;margin-right:auto}.addressWoltHero>.analysisWrap{position:relative;z-index:20;max-width:680px;margin-left:auto;margin-right:auto}.serviceHero:has(.addressWoltHero) .serviceVisual{height:240px}
.serviceHeroCard.catalogWoltHero{max-width:none;margin:-14px 0 0;border:0;border-radius:22px 22px 0 0;background:hsl(215 20% 96%);box-shadow:none}.catalogWoltHero>h1,.catalogWoltHero>p.sub,.catalogWoltHero .pricecard,.catalogWoltHero>.homeOsPromo{width:min(1220px,calc(100% - 64px));max-width:none!important;margin-left:auto;margin-right:auto}.catalogWoltHero>.analysisWrap{max-width:680px;margin-left:auto;margin-right:auto}.serviceHero:has(.catalogWoltHero) .serviceVisual{height:240px}.catalogWoltHero .addressPriceCard{padding:4px 0 0;border:0;background:transparent}
.addressWoltHero .addressPriceCard{padding:4px 0 0;border:0;background:transparent}.addressWoltHero .addressPriceCard .junkRailSection:first-child{margin-top:0}
.junkWoltIntro{padding:0 4px 2px;text-align:center}.junkWoltIntro h3{font-size:20px;margin:0}.junkWoltIntro p{margin:2px auto 0;color:hsl(var(--muted-fg));font-size:12px;max-width:520px}
.junkRailSection{margin-top:18px}.junkRailHead{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px 9px}.junkRailHead h3{margin:0;font-size:18px}.junkRailHead p{margin:2px 0 0;color:hsl(var(--muted-fg));font-size:11px}.junkRailHead button{border:0;background:transparent;color:hsl(34 92% 35%);font:800 12px 'DM Sans';cursor:pointer;white-space:nowrap}
.junkRail{display:flex;align-items:stretch;gap:12px;overflow-x:auto;padding:1px 2px 10px;scroll-padding-left:2px;scroll-snap-type:x mandatory;scrollbar-width:none}.junkRail::-webkit-scrollbar{display:none}
.junkProduct{position:relative;display:flex;flex:0 0 190px;min-height:228px;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:#fff;box-shadow:var(--shadow-card);scroll-snap-align:start;cursor:pointer}.junkProduct:focus-visible{outline:3px solid hsl(38 90% 55%);outline-offset:2px}.junkProduct.zqSelected{border-color:hsl(152 55% 62%);box-shadow:0 0 0 1px hsl(152 55% 62%)}.junkProductImg{display:block;width:100%;height:118px;object-fit:cover;object-position:50% 28%;background:hsl(var(--muted))}.junkProductBody{display:flex;flex:1;flex-direction:column;padding:9px 12px 10px}.junkProductTitle{display:block;font:800 14px/1.2 'Space Grotesk'}.junkProductDesc{display:block;margin-top:2px;color:hsl(var(--muted-fg));font-size:10px;line-height:1.3}.junkProductDesc:empty{display:none}.junkProduct .price{display:block;margin-top:auto;padding-top:7px;text-align:left;font-size:13px}.junkProduct .priceAdd{position:absolute;right:8px;top:8px;display:block;width:44px;height:44px}.junkProduct .priceAdd button{display:block;width:44px;height:44px;padding:0;border:2px solid #fff;border-radius:12px;background:hsl(220 35% 28%);color:#fff;font-size:22px;box-shadow:0 3px 10px hsl(220 30% 18%/.22)}.junkProduct .priceAdd button.zqOn{background:hsl(152 62% 26%);border-color:#fff;color:#fff;box-shadow:0 0 0 2px hsl(152 62% 26%),0 3px 10px hsl(220 30% 18%/.3)}.junkProduct .zqMeasure{margin-top:6px;gap:5px}.junkProduct .zqMeasure button{width:30px;height:30px}.junkProduct .zqMeasure strong{min-width:32px}.junkProduct .zqCalc{display:none}
@media(min-width:761px){.junkProduct{flex-basis:calc((100% - 36px)/4);min-width:240px}.junkProductImg{height:154px}.junkProductBody{padding:11px 14px 12px}.junkProductTitle{font-size:16px}.junkProductDesc{font-size:11px}.junkProduct .price{font-size:15px}}
.junkAnalysisResult{display:none;margin-top:12px;border:1.5px solid hsl(152 48% 66%);border-radius:15px;background:hsl(152 55% 97%);padding:12px}.junkAnalysisResult.show{display:block}.junkResultHead{display:flex;align-items:start;justify-content:space-between;gap:10px}.junkResultHead h4{margin:0;font-size:16px}.junkResultHead p{margin:2px 0 0;color:hsl(160 15% 38%);font-size:11px}.junkResultBadge{border-radius:999px;background:hsl(152 55% 89%);color:hsl(152 50% 30%);padding:4px 7px;font-size:8px;font-weight:900;white-space:nowrap}.junkResultItems{margin-top:9px;border:1px solid hsl(152 25% 80%);border-radius:11px;background:#fff;overflow:hidden}.junkResultLine{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid hsl(var(--border));font-size:11px}.junkResultLine:last-child{border-bottom:0}.junkResultLine b{font-weight:750}.junkResultLine strong{color:hsl(var(--primary));white-space:nowrap}.junkResultTotal{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:9px 10px;border-radius:10px;background:hsl(var(--primary));color:#fff}.junkResultTotal span{font-size:10px}.junkResultTotal strong{font:800 17px 'Space Grotesk'}.junkResultActions{display:flex;gap:7px;margin-top:9px}.junkResultActions button{flex:1;min-height:40px;border-radius:10px;font:800 11px 'DM Sans';cursor:pointer}.junkResultEdit{border:1px solid hsl(var(--border));background:#fff;color:hsl(var(--primary))}.junkResultContinue{border:0;background:hsl(var(--success));color:#fff}
@media(min-width:621px){.serviceVisual{height:240px}}
.homeOsPromo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:22px;padding:22px 24px;border:1px solid hsl(220 28% 80%);border-radius:18px;background:linear-gradient(135deg,hsl(220 34% 22%),hsl(220 36% 30%));color:#fff;box-shadow:var(--shadow-card)}.homeOsPromoCopy{display:flex;align-items:flex-start;gap:14px;min-width:0}.homeOsPromoIcon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:hsl(38 90% 58%);color:hsl(220 34% 20%);font-size:23px}.homeOsPromo h3{margin:0;font:800 20px/1.15 'Space Grotesk'}.homeOsPromo p{margin:5px 0 0!important;max-width:720px!important;text-align:left!important;color:hsl(215 30% 92%/.88)!important;font-size:13px!important;line-height:1.45}.homeOsPromoCta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:12px;background:hsl(38 90% 58%);color:hsl(220 34% 20%);font-weight:900;text-decoration:none;white-space:nowrap}.homeOsPromoCta:hover{background:hsl(38 95% 64%)}
.serviceTrust{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:12px auto 0;max-width:900px}
.serviceTrust .pill{font-size:11px;padding:6px 9px;background:#fff;color:hsl(var(--primary));border:1px solid hsl(var(--border));box-shadow:var(--shadow-card)}
.instantCta{margin-top:10px;width:100%;min-height:52px;border:0;border-radius:13px;padding:7px 14px;background:linear-gradient(145deg,hsl(152 55% 45%),hsl(152 57% 36%));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;text-decoration:none;font-family:'DM Sans';box-shadow:0 7px 18px hsl(152 55% 30%/.18)}
.instantCta strong{display:block;font-size:14px;line-height:1.1}.instantCta span{display:block;margin-top:4px;font-size:10.5px;line-height:1.1;color:hsl(152 60% 94%)}
.analysisWrap{max-width:900px;margin:14px auto 0}
.analysisWrap .jp,.analysisWrap .pStrip{margin-top:0}
.analysisWrap #jphoto{scroll-margin-top:84px}
@media(max-width:620px){
  .serviceVisual{height:112px}.serviceHero:has(.junkHeroCard) .serviceVisual,.serviceHero:has(.addressWoltHero) .serviceVisual,.serviceHero:has(.catalogWoltHero) .serviceVisual{height:142px}.serviceCrumb{display:none}.serviceHeroCard{margin:-30px 12px 0;padding:11px 14px 12px;border-radius:22px}.serviceHeroCard h1{font-size:23px;margin-bottom:4px}
  .serviceHeroCard p.sub{display:none}.serviceHeroCard.junkHeroCard p.sub,.serviceHeroCard.addressWoltHero p.sub,.serviceHeroCard.catalogWoltHero p.sub{display:block;font-size:11px;line-height:1.25;margin:0 auto 8px;text-align:center}.serviceHeroCard.junkHeroCard p.sub{font-size:14px;line-height:1.35;margin-bottom:10px}.serviceHeroCard .pricecard{padding:9px 14px 8px;border-radius:16px}.serviceHeroCard .pcTop{margin-bottom:7px}.serviceHeroCard .svcIcon{display:none}.serviceHeroCard .pcTitle .sub2{display:block;font-size:11px;line-height:1.4;margin-top:2px}
  .serviceHeroCard .pcTitle h3{font-size:16px}.serviceHeroCard table.prices th{padding:0 0 5px;font-size:9px}.serviceHeroCard table.prices th:nth-child(2),.serviceHeroCard table.prices td:nth-child(2){display:none}.serviceHeroCard table.prices td{padding:2px 0}.serviceHeroCard table.prices td.priceAdd{padding-left:8px}.serviceHeroCard .priceAdd button{width:44px;height:44px;padding:0;border-radius:50%;font-size:18px}.serviceHeroCard .instantCta{margin-top:7px;padding:6px 12px}.serviceTrust{display:none}.analysisWrap{margin:10px 12px 0}.serviceHeroCard .quoteBasket{display:none}.junkPriceCard .pcTop{flex-wrap:nowrap;align-items:flex-start}.junkPriceCard .pcTitle{min-width:0}.junkCatalogIcon{flex-basis:40px;height:40px;border-radius:11px;font-size:17px}.junkCatalogCopy b{font-size:13px}.junkCatalogCopy small{font-size:10px}.serviceHeroCard .junkCatalogPrice{font-size:12px;white-space:nowrap}
  .callbar .btn{font-size:13px;line-height:1.2;padding:11px 7px}
  .serviceHeroCard.junkHeroCard{width:100%;margin:-14px 0 0;padding:14px 18px 13px}.junkHeroCard .junkPriceCard{padding:6px 0 0;background:transparent;border:0}.junkHeroCard .junkPriceCard,.junkHeroCard .junkCardHeadline,.junkHeroCard>.homeOsPromo,.addressWoltHero>h1,.addressWoltHero>p.sub,.addressWoltHero .pricecard,.addressWoltHero>.homeOsPromo,.catalogWoltHero>h1,.catalogWoltHero>p.sub,.catalogWoltHero .pricecard,.catalogWoltHero>.homeOsPromo{width:100%}.junkHeroCard .analysisWrap{margin:10px 0 0}.junkWoltIntro,.junkRailHead{padding-left:0;padding-right:0}.junkHeroCard .junkRail,.addressWoltHero .junkRail,.catalogWoltHero .junkRail{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scroll-padding-left:18px}.junkProduct{flex-basis:166px;min-height:211px}.junkProduct .priceAdd{width:34px;height:34px}.junkProductImg{height:108px}.junkProductBody{padding:7px 10px 9px}.junkProductTitle{font-size:13px}.junkProduct .price{padding-top:6px}.junkRailSection{margin-top:15px}.junkCardHeadline{margin-bottom:10px;text-align:center}.junkCardHeadline h1{text-align:center!important;font-size:25px!important}.junkCardHeadline p{font-size:14px}
  .serviceHeroCard.addressWoltHero{width:100%;margin:-14px 0 0;padding:14px 18px 13px}.addressWoltHero>h1{font-size:25px;margin-bottom:10px}.addressWoltHero>.analysisWrap{margin:0 auto 12px}.addressWoltHero .pricecard{margin-top:0}.addressWoltHero .addressPriceCard{padding-left:0;padding-right:0}
  .serviceHeroCard.catalogWoltHero{width:100%;margin:-14px 0 0;padding:14px 18px 13px}.catalogWoltHero>h1{font-size:25px;margin-bottom:5px}.catalogWoltHero>.analysisWrap{margin:0 auto 12px}.catalogWoltHero .pricecard{margin-top:0}.catalogWoltHero .addressPriceCard{padding-left:0;padding-right:0}
  .homeOsPromo{grid-template-columns:1fr;gap:12px;margin-top:18px;padding:16px}.homeOsPromoCopy{gap:11px}.homeOsPromoIcon{flex-basis:42px;height:42px;font-size:20px}.homeOsPromo h3{font-size:17px}.homeOsPromo p{font-size:12px!important}.homeOsPromoCta{width:100%;min-height:44px}
}
@media(max-width:380px){
  .serviceVisual{height:104px}.serviceHeroCard{margin-top:-28px;padding:9px 12px 10px}.serviceHeroCard h1{font-size:22px}
  .serviceHeroCard table.prices td{padding:1px 0}.serviceHeroCard .instantCta{padding:7px 11px}.serviceTrust{gap:3px}.serviceTrust .pill{font-size:9px;padding:5px 4px}
}
@media(max-height:700px) and (max-width:380px){
  .serviceVisual{height:104px}.serviceHeroCard{margin-top:-24px;padding:8px 10px}.serviceHeroCard h1{font-size:21px;margin-bottom:3px}.serviceHeroCard .sub{display:none}
  .serviceHeroCard .pricecard{padding:6px 10px 7px}.junkHeroCard .junkPriceCard,.addressWoltHero .addressPriceCard,.catalogWoltHero .addressPriceCard{padding-left:0;padding-right:0}.serviceHeroCard .pcTop{margin-bottom:3px}.serviceHeroCard .pcTitle h3{font-size:15px}.serviceHeroCard .pcTitle .sub2{font-size:10px}
  .serviceHeroCard table.prices th{padding-bottom:4px}.serviceHeroCard table.prices td{padding:1px 0}.serviceHeroCard .priceAdd button{width:44px;height:44px;font-size:17px}
  .completePrices{margin-top:5px}.serviceHeroCard .instantCta{min-height:48px;padding:5px 10px}.serviceTrust{display:none}
}
.lift{margin-top:-80px;position:relative;z-index:5}
.section{padding:52px 0}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:hsl(var(--accent))}
.h2{font-size:27px;font-weight:700;margin:8px 0 6px}
.lead{color:hsl(var(--muted-fg));font-size:15px;max-width:640px}
.sec-head{margin-bottom:24px}
.pricecard{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:18px;box-shadow:var(--shadow-elev);padding:24px}
.pcTop{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.pcTitle{display:flex;align-items:center;gap:13px}
.svcIcon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:var(--grad-hero)}
.pcTitle h3{font-size:19px;font-weight:700}
.pcTitle .sub2{font-size:13px;color:hsl(var(--muted-fg))}
.estBadge{background:hsl(38 85% 58%/.14);color:hsl(28 75% 38%);border:1px solid hsl(38 85% 58%/.35)}
table.prices{width:100%;border-collapse:collapse}
table.prices th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-fg));font-weight:700;padding:0 8px 10px}
table.prices td{padding:12px 8px;border-top:1px solid hsl(var(--border));font-size:14.5px}
table.prices tr td:first-child{font-weight:600}
table.prices td .u{color:hsl(var(--muted-fg));font-size:12.5px;font-weight:500}
.price{font-family:'Space Grotesk';font-weight:600;color:hsl(var(--primary));white-space:nowrap;text-align:right}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.priceAdd{width:1%;white-space:nowrap;text-align:right}
.priceAdd button{border:1px solid hsl(220 35% 35%/.22);background:hsl(220 35% 35%/.06);color:hsl(var(--primary));border-radius:9px;padding:7px 10px;font:700 12px 'DM Sans';cursor:pointer}
.priceAdd button:hover{border-color:hsl(var(--accent));background:hsl(38 85% 58%/.12)}
.junkProduct[data-zq-group="new-door:pricing-choice"]{display:none}.zbUrg{display:grid;gap:8px;margin:2px 0 14px}/* Emergency opt-in: a chip, not a card. Orange because it costs more and *//* changes the promise; it must read as an exception, not the default. */.zbUrgChip{display:inline-flex;align-items:center;gap:8px;margin:2px 0 12px;padding:8px 11px;border:1.5px solid hsl(34 90% 62%);border-radius:999px;background:hsl(38 92% 96%);cursor:pointer;font:inherit;text-align:left}.zbUrgChip .t{font-weight:700;font-size:13px;color:hsl(28 60% 30%)}.zbUrgChip .d{font-size:11.5px;color:hsl(30 30% 42%)}.zbUrgChip .p{font-weight:800;font-size:12.5px;color:hsl(28 85% 38%);white-space:nowrap}.zbUrgChip:hover{border-color:hsl(34 90% 50%)}.zbUrgChip:focus-visible{outline:2px solid hsl(34 90% 45%);outline-offset:2px}.zbUrgChip.on{background:hsl(34 90% 55%);border-color:hsl(34 90% 45%)}.zbUrgChip.on .t,.zbUrgChip.on .d,.zbUrgChip.on .p{color:hsl(28 70% 18%)}@media(max-width:420px){.zbUrgChip{width:100%;justify-content:space-between}}.zbUrgOpt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid hsl(var(--border));background:#fff;border-radius:12px;padding:11px 12px;cursor:pointer;font:inherit}.zbUrgOpt .t{font-weight:700;font-size:14.5px}.zbUrgOpt .d{font-size:12px;color:hsl(var(--muted-fg));flex:1;min-width:0}.zbUrgOpt .p{font-weight:800;font-size:13.5px;white-space:nowrap;color:hsl(var(--primary))}.zbUrgOpt.on{border-color:hsl(152 45% 45%);background:hsl(152 55% 97%)}.zbUrgOpt.on .p{color:hsl(152 45% 30%)}@media(max-width:420px){.zbUrgOpt{flex-wrap:wrap}.zbUrgOpt .d{flex-basis:100%}}.ndFound{display:grid;gap:8px;margin:2px 0 4px}.ndFoundRow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid hsl(var(--border));background:#fff;border-radius:12px;padding:12px 13px;cursor:pointer;font:inherit}.ndFoundRow .k{font-size:12.5px;color:hsl(var(--muted-fg));min-width:74px}.ndFoundRow .v{font-weight:700;font-size:15px}.ndFoundRow em{margin-left:auto;font-style:normal;font-weight:700;font-size:11.5px;color:hsl(34 92% 35%)}.ndFoundRow:hover{border-color:hsl(var(--primary)/.5)}.ndLocate{display:block;margin:9px 0 0;padding:6px 0;min-height:36px;background:none;border:0;color:hsl(var(--accent));font:700 13px/1 inherit;cursor:pointer;text-align:left}.ndStart{margin:14px 0 2px;text-align:center}.ndStartBtn{display:block;width:100%;padding:15px;border:0;border-radius:12px;background:var(--grad-accent);color:hsl(var(--accent-fg));font:800 16px/1 'Space Grotesk';cursor:pointer;box-shadow:var(--shadow-card)}.ndStartBtn:hover{filter:brightness(1.04)}.ndStartSub{margin:8px 0 0;font-size:12.5px;color:hsl(var(--muted-fg));line-height:1.45}#ndOv .zb{max-height:88vh;overflow:auto}#ndBody h3{margin:2px 0 3px;font:800 19px/1.2 'Space Grotesk'}#ndBody .zsub{margin-bottom:13px}.ndOpts{display:grid;gap:9px}.ndOpt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid hsl(var(--border));background:#fff;border-radius:12px;padding:12px 13px;cursor:pointer;font:inherit}.ndOpt:hover{border-color:hsl(var(--primary)/.5);background:hsl(var(--muted)/.45)}.ndOpt:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.ndOpt svg{flex:none;width:44px;height:auto;color:hsl(var(--primary))}.ndOpt .t{font-weight:700;font-size:15px;display:block}.ndOpt .d{font-size:12.5px;color:hsl(var(--muted-fg));line-height:1.35;display:block;margin-top:1px}.ndOpt .p{margin-left:auto;font-weight:800;font-size:14px;white-space:nowrap;color:hsl(var(--primary));text-align:right}.ndPop{display:block;font-style:normal;font-size:11px;font-weight:700;color:hsl(152 45% 32%);margin-top:2px}.ndBack{background:none;border:0;color:hsl(var(--muted-fg));font:600 13px/1 inherit;padding:13px 2px 2px;cursor:pointer;text-decoration:underline}.ndPrice{text-align:center;padding:2px 0 4px}.ndPrice .lbl{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-fg))}.ndPrice .amt{font:800 40px/1 'Space Grotesk';letter-spacing:-.02em;margin:5px 0 0}.ndSum{margin:12px 0 0}.ndSumHead{margin:0 0 7px;font-size:12.5px;font-weight:700;color:hsl(var(--muted-fg))}.ndChips{display:flex;flex-wrap:wrap;gap:7px}.ndChip{display:inline-flex;align-items:baseline;gap:7px;border:1px solid hsl(var(--border));background:#fff;border-radius:999px;padding:7px 12px;font:700 13px/1 inherit;cursor:pointer}.ndChip em{font-style:normal;font-weight:700;font-size:11px;color:hsl(34 92% 35%)}.ndChip:hover{border-color:hsl(var(--primary)/.55)}.ndIncl{margin:13px 0 0;padding:12px 13px;background:hsl(152 55% 96%);border:1px solid hsl(152 35% 82%);border-radius:12px}.ndIncl b{font-size:12.5px;color:hsl(152 45% 28%);display:block;margin-bottom:6px}.ndIncl ul{margin:0;padding-left:17px;display:grid;gap:4px;font-size:13px;color:hsl(160 15% 30%)}.ndCta{display:block;width:100%;margin-top:13px;padding:14px;border:0;border-radius:12px;background:var(--grad-go);color:#fff;font:800 15.5px/1 'Space Grotesk';cursor:pointer}.ndNote{font-size:12px;color:hsl(var(--muted-fg));text-align:center;margin-top:9px;line-height:1.45}@media(max-width:520px){.ndOpt svg{width:36px}.ndPrice .amt{font-size:34px}}.pricecard tr.zqSelected{background:hsl(152 55% 45%/.09)}.pricecard tr.zqSelected td:first-child{color:hsl(220 30% 20%)}.pricecard tr.zqSelected[data-zq-kind]:not([data-zq-kind="none"]) td.price{display:none}.priceAdd button.zqOn{background:hsl(var(--success));border-color:hsl(var(--success));color:#fff}.zqMeasure{display:none;align-items:center;gap:7px;margin-top:8px}.zqSelected .zqMeasure{display:flex}.zqMeasure button{width:30px;height:30px;border:1px solid hsl(152 35% 65%);border-radius:9px;background:#fff;color:hsl(152 50% 30%);font-weight:900}.zqMeasure strong{font-size:12px;min-width:48px;text-align:center}.zqCalc{margin-left:2px;font-size:11px;color:hsl(var(--primary));font-weight:800}.zqQuoteMinimum{margin:9px 0 2px;border-radius:10px;padding:8px 10px;background:hsl(38 90% 96%);color:hsl(35 45% 30%);font-size:11px;line-height:1.35}.pcIntro{font-size:11px;color:hsl(var(--muted-fg));margin-top:3px}.zqSavedProperty{border:1.5px solid hsl(152 45% 68%);background:hsl(152 55% 96%);border-radius:14px;padding:12px}.zqSavedHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.zqSavedHead b{font:800 16px/1.15 'Space Grotesk'}.zqSavedAuto{border-radius:999px;padding:5px 8px;background:hsl(152 55% 90%);color:hsl(152 45% 32%);font-size:9px;font-weight:900}.zqSavedProperty p{margin:4px 0 10px;color:hsl(160 15% 38%);font-size:11.5px;line-height:1.3}.zqSavedLine{display:flex;justify-content:space-between;gap:8px;border:1px solid hsl(152 20% 75%);background:#fff;border-radius:10px;padding:10px;font-size:11.5px;font-weight:800}.zqSavedReady{color:hsl(152 48% 34%)}
.zgFixedQuote{display:none;margin:14px 0;padding:16px;border:1px solid hsl(152 35% 72%);border-radius:8px;background:hsl(152 55% 97%)}
html[data-zelli-garage-quote-session="ready"] .zgFixedQuote{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px}
html[data-zelli-garage-quote-session="ready"] .ndStart{display:none}
.zgFixedQuote b{font:800 18px/1.2 'Space Grotesk';color:hsl(160 35% 24%)}.zgFixedQuote strong{font:800 28px/1 'Space Grotesk';color:hsl(152 48% 29%)}.zgFixedQuote span{font-size:12px;color:hsl(var(--muted-fg))}
.zgFixedQuote button{grid-column:2;grid-row:1/3;min-width:160px;padding:13px;border:0;border-radius:8px;background:hsl(var(--success));color:#fff;font:800 14px/1 'Space Grotesk';cursor:pointer}
@media(max-width:520px){html[data-zelli-garage-quote-session="ready"] .zgFixedQuote{grid-template-columns:1fr}.zgFixedQuote button{grid-column:1;grid-row:auto;width:100%;min-width:0}.zgFixedQuote strong{font-size:25px}}
.pcFoot{margin-top:16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:hsl(var(--muted));border-radius:var(--radius);padding:14px 16px}
.pcFoot .x{font-size:13px;color:hsl(var(--muted-fg))}
.pcFoot .x b{color:hsl(var(--fg))}
.pcFoot .btns{display:flex;gap:10px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}
/* two-up phone layout lives after the .svc/.ph base rules below — CSS order matters */
.svc{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-card);transition:.15s;display:block}
.svc:hover{box-shadow:var(--shadow-elev);transform:translateY(-2px)}
.svc .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:19px;background:hsl(var(--muted));margin-bottom:12px}
.svc h4{font-size:16px;font-weight:600;margin-bottom:3px}
.svc .from{font-size:13px;color:hsl(var(--muted-fg))}
.svc .from b{color:hsl(var(--primary));font-family:'Space Grotesk'}
.svc .tag{margin-top:11px;display:inline-block;font-size:11px;font-weight:600;color:hsl(152 45% 32%);background:hsl(152 55% 45%/.12);padding:3px 9px;border-radius:999px}
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:860px){.areas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:540px){.areas{grid-template-columns:repeat(2,1fr)}}
.area{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:13px 15px;transition:.15s}
.area:hover{border-color:hsl(var(--accent))}
.area .n{font-weight:600;font-size:14px}
.area .m{font-size:12px;color:hsl(var(--muted-fg));margin-top:2px}
.area.active{background:var(--grad-hero);color:#fff;border:0}
.area.active .m{color:hsl(210 30% 88%/.8)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-card)}
.step .num{width:34px;height:34px;border-radius:10px;background:var(--grad-accent);color:hsl(var(--accent-fg));display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;margin-bottom:12px}
.step h4{font-size:16px;margin-bottom:5px}
.step p{font-size:13.5px;color:hsl(var(--muted-fg))}
.about{display:grid;gap:14px;max-width:760px;margin:0 auto}
.aboutCard{background:hsl(var(--card));border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-card);display:flex;gap:16px}
.aboutCard .ic2{flex-shrink:0;width:46px;height:46px;border-radius:999px;background:hsl(38 85% 58%/.12);display:grid;place-items:center;font-size:20px}
.aboutCard h4{font-size:16px;margin-bottom:4px}
.aboutCard p{font-size:14px;color:hsl(var(--muted-fg))}
.aboutCard .badge{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:hsl(152 45% 32%);background:hsl(152 55% 45%/.12);padding:2px 8px;border-radius:999px;vertical-align:2px}
.band{background:var(--grad-hero);color:#fff;border-radius:20px;padding:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;box-shadow:var(--shadow-hero)}
@media(max-width:760px){.band{grid-template-columns:repeat(2,1fr);gap:22px}}
.stat .k{font-family:'Space Grotesk';font-weight:700;font-size:28px}
.stat .k em{font-style:normal;color:hsl(38 85% 66%)}
.stat .l{font-size:13px;color:hsl(210 30% 90%/.8);margin-top:3px}
.cos{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;color:hsl(var(--muted-fg));font-weight:700;font-size:17px;letter-spacing:-.01em;opacity:.75}
footer{background:hsl(220 25% 16%);color:hsl(210 20% 82%);padding:38px 0 calc(38px + 74px + env(safe-area-inset-bottom));margin-top:20px;font-size:13px}
@media(min-width:761px){footer{padding-bottom:38px}}
.fgrid{display:flex;gap:40px;flex-wrap:wrap}
footer h5{color:#fff;font-family:'Space Grotesk';font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px}
footer a{display:block;color:hsl(210 20% 72%);margin-bottom:7px;padding:8px 0;min-height:36px;line-height:20px}
footer a:hover{color:hsl(var(--accent))}
.disc{margin-top:24px;padding-top:16px;border-top:1px solid hsl(220 20% 26%);color:hsl(210 15% 55%);font-size:12px;line-height:1.6}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:hsl(0 0% 100%/.92);backdrop-filter:blur(12px);border-top:1px solid hsl(var(--border));padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px}
.callbar .btn{flex:1;padding:13px 10px;font-size:15px;border-radius:18px}
.callbar .callbarCall{background:var(--grad-accent);color:hsl(220 40% 16%);border:0;box-shadow:0 8px 24px hsl(38 88% 48%/.26);font:900 14px 'DM Sans';white-space:nowrap}.callbar .callbarCall .ico{display:grid;place-items:center;line-height:1;flex:none;color:hsl(145 70% 30%)}.callbar .callbarCall .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.callbarBook{position:relative}.callbarQuoteCount{position:absolute;right:7px;top:7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:hsl(38 92% 58%);color:hsl(220 42% 20%);font-size:11px;font-weight:900;box-shadow:0 3px 9px hsl(220 35% 20%/.24)}.callbarQuoteCount[hidden]{display:none}
.zqServicePrompt{position:absolute;left:14px;right:14px;bottom:calc(100% + 10px);border:1px solid hsl(0 65% 78%);border-radius:12px;padding:10px 12px;background:hsl(0 75% 97%);color:hsl(0 64% 36%);font-size:13px;font-weight:800;text-align:center;box-shadow:0 8px 24px hsl(220 30% 20%/.18)}.zqServicePrompt[hidden]{display:none}
@media(max-width:370px){.callbar a.callbarCall{font-size:12px}}
@media(min-width:761px){.callbar{display:none}}
@media(min-width:761px){body:has(.junkHeroCard) .callbar,body:has(.addressWoltHero) .callbar,body:has(.catalogWoltHero) .callbar{display:flex;left:auto;right:18px;bottom:18px;transform:none;width:250px;padding:8px;border:1px solid hsl(var(--border));border-radius:16px;box-shadow:var(--shadow-elev)}body:has(.junkHeroCard) .callbar>a,body:has(.addressWoltHero) .callbar>a,body:has(.catalogWoltHero) .callbar>a{display:none}body:has(.junkHeroCard) .callbar .callbarBook,body:has(.addressWoltHero) .callbar .callbarBook,body:has(.catalogWoltHero) .callbar .callbarBook{min-height:58px}body:has(.junkHeroCard) .fab,body:has(.addressWoltHero) .fab,body:has(.catalogWoltHero) .fab{display:none}}

/* price table: keep the price column visible on phones */
.tscroll{overflow-x:auto}
@media(max-width:620px){
  table.prices th:nth-child(2),table.prices td:nth-child(2){display:none}
  table.prices td{font-size:13.5px;padding:11px 6px}
  table.prices th{font-size:10px}
  .price{font-size:13.5px}
  .priceAdd button{width:42px;height:42px;padding:0;font-size:20px;line-height:1;border-radius:999px}
}
/* booking modal */
.zb-ov{position:fixed;inset:0;z-index:100;background:hsl(220 25% 12%/.55);backdrop-filter:blur(3px);display:none;align-items:flex-end;justify-content:center}
.zb-ov.open{display:flex}
@media(min-width:640px){.zb-ov{align-items:center}}
.zb{background:hsl(var(--card));width:100%;max-width:440px;border-radius:22px 22px 0 0;padding:22px;box-shadow:var(--shadow-hero);max-height:92vh;overflow-y:auto;overscroll-behavior:contain}
@media(min-width:640px){.zb{border-radius:22px}}
.zb h3{font-size:19px;margin-bottom:4px}
.zb h3[tabindex="-1"]:focus,.zb .steps-progress b[tabindex="-1"]:focus{outline:none}
.zb .zsub{font-size:13px;color:hsl(var(--muted-fg));margin-bottom:16px}
.zb .zx{float:right;border:0;background:hsl(var(--muted));width:42px;height:42px;border-radius:999px;font-size:17px;cursor:pointer;color:hsl(var(--muted-fg))}
.zb label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-fg));margin:14px 0 6px}
.zb input[type=text],.zb input[type=tel],.zb input[type=email],.zb input[type=date]{width:100%;border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px;font-family:'DM Sans';font-size:15px;background:hsl(var(--muted));outline:0;color:hsl(var(--fg))}
.zb input:focus{border-color:hsl(var(--accent))}
.zb .chips{display:flex;gap:8px;flex-wrap:wrap}
.zb .chip{border:1.5px solid hsl(var(--border));background:hsl(var(--card));border-radius:999px;padding:9px 16px;min-height:42px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:'DM Sans';color:hsl(var(--fg))}
.zb .chip.on{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}
.zb .zbtns{display:flex;gap:10px;margin-top:20px}
.zb .zbtns .btn{flex:1;padding:13px}
.zb .zback{background:hsl(var(--muted));color:hsl(var(--fg))}
.zb-callback-actions{display:flex;gap:10px;flex-direction:column;margin-top:12px}
.zb-callback-actions .btn{width:100%;min-height:44px;justify-content:center}
.zb-callback-prompt{font-size:12.5px;font-weight:700;color:hsl(var(--muted-fg));margin-bottom:-3px}
.zb-callback-form{display:none;margin-top:12px;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:14px}
.zb-callback-form h4{font-family:'Space Grotesk';font-size:16px;margin:0 0 2px}
.zb-callback-form .zsub{margin-bottom:8px}
.zb-callback-form label{margin-top:10px}
.zb-callback-consent{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-fg));margin:9px 0}
/* Address step trust block: the explainer, the privacy promise and the review
   that used to have nowhere to live when the address was asked in the page hero. */
/* The address step's CTA is the one green button in the flow: it is the only
   control that produces a price, so it should not read as "next" (Tamir). */
.zbGoGreen{background:linear-gradient(180deg,hsl(152 58% 42%),hsl(152 60% 35%));color:#fff;border:0;font-weight:800}
.zbGoGreen:hover{background:linear-gradient(180deg,hsl(152 58% 38%),hsl(152 60% 31%))}
.zbGoGreen:focus-visible{outline:2px solid hsl(152 60% 28%);outline-offset:2px}
/* With no Back button the CTA owns the row. */
.zb #zs1 .zbtns:has(.zbGoGreen){grid-template-columns:1fr}
.zbWhy{display:inline-flex;align-items:center;gap:5px;margin:3px 0 0;padding:2px 0;min-height:26px;background:none;border:0;border-bottom:1px dotted hsl(var(--muted-fg)/.6);color:hsl(var(--muted-fg));font:inherit;font-size:11px;font-weight:600;cursor:pointer}
.zbWhy:hover{color:hsl(var(--fg))}
.zbWhyPanel{margin-top:8px;padding:10px 12px;border-radius:12px;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border))}
.zbWhyPanel p{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-fg))}
.zbWhyPanel .zbWhyPromise{margin-top:7px;color:hsl(var(--fg))}
.zbReview{display:block;margin-top:16px;padding-top:11px;border-top:1px solid hsl(var(--border))}.zbRevHd{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}.zbWho{font-weight:700;color:hsl(var(--fg));font-size:11.5px}
.zbStars{flex:none;color:hsl(38 92% 50%);font-size:13px;letter-spacing:.5px}
.zbReview p{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-fg))}
.zbReview p span{display:block;margin-top:3px;font-weight:700;color:hsl(var(--fg));font-size:11.5px}
@media(max-width:560px){.zbReview{margin-top:14px}.zbWhyPanel p,.zbReview p{font-size:12px}}
.zb-callback-error{display:none;color:#c0392b;font-size:12.5px;font-weight:700;margin:7px 0}
.zb-callback-success{display:none;margin-top:12px;padding:14px;border:1px solid hsl(145 45% 42%/.3);background:hsl(145 45% 42%/.1);border-radius:var(--radius);color:hsl(145 45% 25%);font-size:14px;line-height:1.5}
.zb .vary{margin-top:14px;background:hsl(38 85% 58%/.12);border:1px solid hsl(38 85% 58%/.3);border-radius:var(--radius);padding:12px 14px;font-size:13px;color:hsl(28 60% 30%)}
.zb-done-note{max-width:330px;margin:10px auto 0;text-align:center;color:hsl(var(--muted-fg));font-size:12px;line-height:1.5}
.zb .sum{background:hsl(var(--muted));border-radius:var(--radius);padding:14px;font-size:14px;margin-top:6px}
.zb .sum div{display:flex;justify-content:space-between;padding:4px 0}.sum div[hidden]{display:none}
.zb .sum .k{color:hsl(var(--muted-fg))}
.zb .sum .v{font-weight:700;text-align:right}
.zb-review-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.zb-review-actions .btn{width:100%;min-height:48px;justify-content:center}
.zb-inline-editor{display:none;margin-top:12px}
.zb-inline-note{background:hsl(216 78% 96%);border:1px solid hsl(216 55% 88%);border-radius:var(--radius);padding:10px 12px;color:hsl(218 48% 30%);font-size:13px;line-height:1.45;margin-bottom:10px}
.zb-inline-items{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card))}
.zb-inline-line{padding:12px;border-bottom:1px solid hsl(var(--border))}
.zb-inline-line:last-child{border-bottom:0}
.zb-inline-main,.zb-inline-child{display:flex;align-items:center;gap:8px}
.zb-inline-main b,.zb-inline-child span:first-child{flex:1;min-width:0}
.zb-inline-main b{font-size:15px;line-height:1.3}
.zb-inline-price{color:hsl(var(--primary));font-weight:800;white-space:nowrap}
.zb-inline-controls{display:flex;align-items:center;gap:6px;margin-top:9px;justify-content:flex-end}
.zb-inline-controls button,.zb-inline-child button{width:42px;height:42px;border:1px solid hsl(var(--border));border-radius:10px;background:#fff;color:hsl(var(--fg));font:800 18px 'DM Sans';cursor:pointer}
.zb-inline-controls button:disabled,.zb-inline-child button:disabled{opacity:.45;cursor:not-allowed}
.zb-inline-remove{color:#c0392b!important;background:transparent!important;border-color:transparent!important}
.zb-inline-children{margin-top:10px;padding:9px;border-radius:10px;background:hsl(var(--muted))}
.zb-inline-children h4{font:800 12px/1.3 'DM Sans';text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-fg));margin:0 0 5px}
.zb-inline-child{min-height:48px;border-top:1px solid hsl(var(--border));font-size:14.5px}
.zb-inline-child:first-of-type{border-top:0}
.zb-inline-total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 14px;border-radius:var(--radius);background:hsl(var(--primary));color:#fff;font-weight:800}
.zb-inline-empty{padding:18px;text-align:center;color:hsl(var(--muted-fg));font-size:14px}
.zb-inline-status{display:none;margin-top:8px;color:hsl(var(--muted-fg));font-size:12.5px;font-weight:700}
.zb .steps-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 48px 7px 0;font-size:12px;color:hsl(var(--muted-fg))}
.zb .steps-progress b{color:hsl(var(--fg));font-size:12.5px}
.zb .steps-dots{display:flex;gap:6px;margin-bottom:14px}
/* F-31: 44px minimum hit areas. Grown with padding and min-height so the
   visual layout is unchanged - only the touchable area is. */
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo img{width:auto;height:38px;object-fit:contain}
.loc{min-height:44px;display:inline-flex;align-items:center;gap:4px}
.navlinks a{display:inline-flex;align-items:center;min-height:44px}
.hubRailHead button,.railHead button,.junkRailHead button{min-height:44px;padding:6px 2px}
.btn-call{min-height:44px}
@media(pointer:coarse),(max-width:760px){.public-footer-grid a{display:flex;align-items:center;min-height:44px}}
footer img[src*='zelli-logo']{filter:brightness(0) invert(1);opacity:.92}
/* The funnel's own controls: the close affordance, the two helper links under
   the address field, and the step-1 primary, which sat at 40px. */
.zb .zx{width:44px;height:44px}
.zb .zbWhy,.zb .zbGeo{display:inline-flex;align-items:center;min-height:44px}
.zb .btn{min-height:44px}
select{min-height:44px}
@media(pointer:coarse){.zb .chip,.zbUrgOpt{min-height:44px}}
.zdStrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 8px;-webkit-overflow-scrolling:touch}
.zdStrip::-webkit-scrollbar{display:none}
.zdCell{flex:0 0 auto;width:62px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid hsl(var(--border));border-radius:13px;background:#fff;cursor:pointer;font:inherit}
.zdCell .dw{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-fg))}
.zdCell .dd{font:800 19px 'Space Grotesk'}
.zdCell .dt{font-size:9.5px;color:hsl(var(--muted-fg));min-height:12px}
.zdCell.on{border-color:hsl(var(--primary));background:hsl(var(--primary));color:#fff}
.zdCell.on .dw,.zdCell.on .dt{color:#fff;opacity:.85}
.zdCalToggle{min-height:44px;padding:0;border:0;background:none;color:hsl(var(--primary));font:700 13px 'DM Sans';text-decoration:underline;cursor:pointer}
.zbCopyRef{margin-left:6px;min-height:32px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:transparent;font:600 11.5px 'DM Sans';cursor:pointer;color:hsl(var(--muted-fg))}
.zbCopyRef.done{color:hsl(152 45% 31%);border-color:hsl(152 45% 45%)}
.zbFieldErr{display:none;margin:6px 0 0;color:hsl(0 65% 42%);font-size:12.5px;line-height:1.4;font-weight:600}
.zb .dot{height:4px;flex:1;border-radius:99px;background:hsl(var(--muted))}
.zb .dot.on{background:var(--grad-accent)}

.svc .ph{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:50% 28%;border-radius:10px;margin-bottom:11px;display:block;background:hsl(var(--muted))}
/* Phones stay TWO-up: one card per row wasted the screen and buried every
   service below the fold. Everything scales down together so two columns read
   as calm rather than cramped, and the redundant "Fixed price" pill is dropped
   here (the hero, badge strip and disclaimer all promise it already) — the
   "N services" pill on hub cards stays, because that one is real information.
   MUST stay below the .svc base rules above: equal specificity, last one wins. */
@media(max-width:540px){
  /* .wrap (22px) + .pricecard (24px) stacked to 92px of side padding, which
     squeezed each card to 136px and forced tiny type. Claw most of it back so
     the service names can stay readable at two-up. */
  .pricecard{padding-left:12px;padding-right:12px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  /* centred under the photo — at two-up the card is narrow enough that
     left-aligned text drifted away from the image it belongs to */
  .svc{padding:10px;text-align:center}
  .svc .ph{height:auto;margin-bottom:8px}
  .svc h4{font-size:14.5px;line-height:1.3}
  .svc .from{font-size:12.5px}
  .svc .tag{margin-top:6px;font-size:11.5px;padding:2px 8px}
  .svc .tagFixed{display:none}
}
.pcPhoto{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:50% 28%;border-radius:14px;margin-bottom:18px;display:block}
@media(max-width:620px){.pcPhoto{height:auto}}

.photoEst{margin-top:16px;background:hsl(210 70% 58%/.1);border:1px solid hsl(210 70% 58%/.3);border-radius:var(--radius);padding:13px 15px;font-size:13.5px;line-height:1.5}
.photoEst a{color:hsl(220 35% 35%);font-weight:700;text-decoration:underline;text-underline-offset:3px}

.zp-res{margin-top:14px}
.zp-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.zp-thumbs img{width:74px;height:74px;object-fit:cover;border-radius:10px;border:1.5px solid hsl(var(--border))}
.zp-drop{border:2px dashed hsl(var(--border));border-radius:var(--radius);padding:22px;text-align:center;cursor:pointer;background:hsl(var(--muted));font-size:14px;color:hsl(var(--muted-fg))}
.zp-drop b{color:hsl(var(--fg))}
.zp-items{background:hsl(var(--muted));border-radius:var(--radius);padding:6px 14px;margin-top:8px}
.zp-items .li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:14px}
.zp-items .li:last-child{border-bottom:0}
.zp-items .li .nm2{font-weight:600}
.zp-items .li .pr2{font-family:'Space Grotesk';font-weight:700;color:hsl(var(--primary));white-space:nowrap}
.zp-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;background:var(--grad-hero);color:#fff;border-radius:var(--radius);padding:14px 16px}
.zp-total .tl{font-size:13px;opacity:.85}
.zp-total .tv{font-family:'Space Grotesk';font-weight:700;font-size:22px}
/* --- the estimate must fit one phone screen without scrolling --- */
/* the aerial is the hero (it carries the lot outline) so it gets more width */
#zpPix img{height:150px;width:100%;object-fit:cover;border-radius:10px;display:block}
#zpPix .pxA{flex:1.35!important}
#zpHi{font-size:13px;line-height:1.35}
#zpHi b{font-weight:700}
#zp3 .zp-result-head{text-align:center;padding:0 34px;margin-bottom:12px}
#zp3 .zp-result-kicker{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--muted-fg));margin-bottom:5px}
#zp3 .zp-result-title{font-family:'Space Grotesk';font-size:21px;line-height:1.18;font-weight:700;letter-spacing:-.35px;margin:0;color:hsl(var(--fg))}
#zp3 .zp-owner-name{color:hsl(34 100% 50%)}
#zp3 .zp-result-sub{font-size:12.5px;line-height:1.4;color:hsl(var(--muted-fg));margin:5px 0 0}
#zp3 #zpHi{text-align:center;background:hsl(38 85% 58%/.1)!important;border-color:hsl(38 85% 58%/.34)!important;border-radius:12px!important;padding:9px!important;margin:0 0 11px!important}
#zp3 #zpHi .zp-owner-label{display:block;font-size:12px;color:hsl(28 55% 34%);margin-bottom:7px}
#zp3 #zpHi .zp-owner-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important;margin-top:0!important}
#zp3 #zpHi button{min-width:0;white-space:normal!important}
#zp3 .zp-total{display:block;text-align:center;background:var(--grad-hero);padding:15px 14px;border-radius:14px;margin:0 0 11px!important}
#zp3 .zp-total .tl{font-size:12px}
#zp3 .zp-total .tv{font-size:27px;line-height:1.1;margin-top:3px}
#zp3 .zp-total .zp-total-note{display:block;font-size:10.5px;opacity:.78;margin-top:4px}
#zp3 .zp-protection{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:5px 9px;border:1px solid hsl(0 0% 100%/.24);border-radius:999px;background:hsl(0 0% 100%/.12);color:#fff;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
#zp3 #zpNote{text-align:center;margin:0 auto 9px;max-width:440px;color:hsl(var(--muted-fg))}
#zp3 .zp-items{margin-top:0;border:1px solid hsl(var(--border));padding:4px 12px;background:hsl(var(--muted)/.62)}
#zp3 .zp-result-tools{display:flex;gap:8px;margin-top:9px}
#zp3 #zpQ{align-items:center;justify-content:space-between;gap:10px;padding:10px 12px!important;font-size:12.5px!important}
#zp3 #zpQ button{display:inline-block!important;flex:none;margin:0!important;white-space:nowrap}
#zp3 .zp-result-book{margin-top:12px!important}
#zp3 .zp-result-book .btn{font-size:15px;padding:14px}
.zp-lead{text-align:left}
.zp-lead-head{text-align:center;padding:2px 18px 10px}
.zp-lead-head .zp-result-kicker{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--muted-fg));margin-bottom:5px}
.zp-lead-head h3{font-size:21px;line-height:1.2;margin:0}
.zp-lead-price{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--grad-hero);color:#fff;border-radius:14px;padding:13px 15px;margin:2px 0 12px}
.zp-lead-price span{font-size:12px;opacity:.82}.zp-lead-price b{font-family:'Space Grotesk';font-size:22px;white-space:nowrap}
.zp-lead label{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-fg));margin:11px 0 5px}
.zp-lead input{width:100%;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px;font-family:'DM Sans';font-size:15px;background:hsl(var(--muted));color:hsl(var(--fg));outline:0}
.zp-lead input:focus{border-color:hsl(var(--accent))}
.zp-lead-consent{font-size:11px;line-height:1.45;color:hsl(var(--muted-fg));margin:9px 0}
.zp-lead-error{display:none;color:#c0392b;font-size:12.5px;font-weight:700;margin:7px 0}
.zp-lead-done{text-align:center;padding:14px 6px 5px}
.zp-lead-done .zp-done-icon{font-size:44px;line-height:1;margin-bottom:8px}
.zp-lead-done h3{font-size:22px;margin-bottom:7px}
.zp-lead-done p{font-size:13.5px;line-height:1.55;color:hsl(var(--muted-fg));max-width:340px;margin:0 auto}
#zpNote{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
/* The clamp keeps the estimate on one screen, but it was silently truncating
   the AI's explanation mid-sentence. Tapping opens it in full. */
#zpNote.zpOpen{-webkit-line-clamp:unset;display:block;overflow:visible}
#zpNoteMore{display:none;font-size:12px;font-weight:700;color:hsl(var(--primary));cursor:pointer;margin-top:2px}
#zpNoteMore.show{display:block}
@media(max-height:900px){
  .zb{padding:13px 15px 15px;max-height:96vh}
  .zb h3{font-size:16.5px;margin-bottom:2px}
  #zp3 .zsub{font-size:12.5px;margin-bottom:6px}
  #zpPix{margin:5px 0 5px!important}
  #zpPix img{height:124px;border-radius:9px}
  #zpPix .zpcap{font-size:10.5px!important;margin-top:3px!important}
  #zpHi{font-size:12.5px;padding:7px 10px!important;margin:5px 0 2px!important}
  #zpHi button{padding:6px 5px!important;font-size:12.5px!important}
  #zpNote{-webkit-line-clamp:2;font-size:12.5px}
  .zp-items{padding:1px 12px;margin-top:5px}
  .zp-items .li{padding:6px 0;font-size:13.5px}
  .zp-total{margin-top:8px!important;padding:10px 14px}
  .zp-total .tv{font-size:20px}
  .zb .zbtns{margin-top:8px}
  .zb .zbtns .btn{padding:11px}
  .zb .vary{margin-top:8px;padding:8px 12px;font-size:12px}
  #zp3 [style*="dashed"]{padding:8px 6px!important;font-size:12.5px!important}
}
@media(max-width:639px){
  .zb{max-height:min(88dvh,760px);margin:0 8px calc(8px + env(safe-area-inset-bottom));border-radius:22px;padding:15px}
  #zp3.zp-has-pix .zp-result-head{margin-bottom:8px}
  #zp3.zp-has-pix #zpHi{margin-bottom:8px!important}
  #zp3.zp-has-pix #zpPix{margin:5px 0 6px!important}
  #zp3.zp-has-pix #zpPix img{height:94px}
  #zp3.zp-has-pix #zpPix .zpcap{font-size:10px!important;margin-top:2px!important}
  #zp3.zp-has-pix .zp-total{padding:11px 12px;margin-bottom:7px!important}
  #zp3.zp-has-pix .zp-total .tv{font-size:25px}
  #zp3.zp-has-pix #zpNote{font-size:12px;margin-bottom:5px;-webkit-line-clamp:2}
  #zp3.zp-has-pix .zp-items .li{padding:5px 0;font-size:12.5px}
  #zp3.zp-has-pix .zp-result-tools{margin-top:7px}
  #zp3.zp-has-pix .zp-result-tools button{padding:9px 6px!important;font-size:12.5px!important}
}
@media(max-width:639px){
  .zb[data-step="2"]{max-height:calc(100dvh - 16px);padding:12px 15px 13px;overflow-y:auto;scroll-padding-bottom:78px}
  .zb[data-step="2"] .steps-progress{margin-bottom:4px}
  .zb[data-step="2"] .steps-dots{margin-bottom:8px}
  .zb[data-step="2"] h3{font-size:17px;margin-bottom:2px}
  .zb[data-step="2"] #zbAvailabilitySub{font-size:12px;line-height:1.35;margin-bottom:7px}
  .zb[data-step="2"] #zbDayLbl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .zb[data-step="2"] #zbTimeLbl{margin:8px 0 5px;font-size:10.5px}
  .zb[data-step="2"] #zbWinRow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .zb[data-step="2"] #zbWinRow .chip{min-width:0;min-height:44px;padding:6px 2px;font-size:11px;white-space:nowrap}
  .zb[data-step="2"] #zbSlotNote{font-size:11px!important;line-height:1.3;margin-top:4px!important}
  .zb[data-step="2"] #zbFreqBlock label{margin:7px 0 4px;font-size:10.5px}
  .zb[data-step="2"] #zbFreqBlock .chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .zb[data-step="2"] #zbFreqBlock .chip{min-width:0;min-height:44px;padding:5px 2px;font-size:10.5px;line-height:1.15}
  .zb[data-step="2"] #zbFreqBlock .zsub{font-size:10.5px!important;line-height:1.25;margin:3px 0 0!important}
  .zb[data-step="2"] #zs2{padding-bottom:72px}
  .zb[data-step="2"] #zs2>.zbtns{position:fixed;left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));z-index:101;width:calc(100% - 46px);max-width:410px;transform:translateX(-50%);margin:0;padding:8px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;box-shadow:0 -8px 24px hsl(220 25% 12%/.16)}
  .zb[data-step="2"] .zbtns .btn{padding:10px;min-height:44px}
}
.zp-spin{clear:both;text-align:center;padding:34px 0 30px;font-size:14px;color:hsl(var(--muted-fg))}
.zp-spin .dot2{display:inline-block;width:9px;height:9px;border-radius:99px;background:hsl(var(--accent));animation:zpb 1s infinite alternate;margin:0 3px}
.zp-spin .dot2:nth-child(2){animation-delay:.2s}.zp-spin .dot2:nth-child(3){animation-delay:.4s}
@keyframes zpb{from{opacity:.25;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}
.zp-included{margin:-1px 0 8px;padding:9px 10px 10px;background:hsl(220 35% 35%/.045);border:1px solid hsl(var(--border));border-top:0;border-radius:0 0 12px 12px}
.zp-included-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;padding:3px 0;color:hsl(var(--fg));font:800 14px 'DM Sans';cursor:pointer;text-align:left;min-height:40px}
.zp-included-toggle span{color:hsl(var(--primary));font-size:12.5px;white-space:nowrap}
.zp-included-summary{font-size:13.5px;line-height:1.4;color:hsl(var(--muted-fg));padding:2px 0 5px}
.zp-included-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px 42px;align-items:center;gap:6px;padding:7px 0;border-top:1px solid hsl(var(--border));font-size:15px;line-height:1.3}
.zp-included-row span{min-width:0;overflow-wrap:anywhere}
.zp-included-row button{width:42px;height:42px;border:1px solid #c9cdd4;border-radius:10px;background:#fff;font-size:18px;font-weight:800;cursor:pointer;line-height:1}
.zp-included-row button:disabled{opacity:.4;cursor:not-allowed}
.zp-included-row .zp-detail-remove{color:#c0392b;border-color:transparent;background:transparent}
.zp-checkout{background:#fff}
@media(max-width:639px){
  .zp-checkout{position:sticky;bottom:-15px;z-index:4;margin:10px -15px -15px;padding:1px 15px calc(12px + env(safe-area-inset-bottom));border-top:1px solid hsl(var(--border));box-shadow:0 -12px 26px hsl(220 25% 12%/.08)}
  .zp-checkout .zp-total{margin-top:9px!important}
}

.jp{margin-top:18px;background:var(--grad-hero);border-radius:16px;padding:22px;color:#fff;box-shadow:var(--shadow-hero)}
.jp h4{font-size:19px;margin-bottom:4px}
.jp .jsub{font-size:13.5px;color:hsl(210 30% 90%/.85);margin-bottom:14px}
.jp .jsteps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.jp .jstep{flex:1;min-width:100px;background:hsl(0 0% 100%/.1);border:1px solid hsl(0 0% 100%/.16);border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:600;text-align:center}
.jp .jstep .je{font-size:20px;display:block;margin-bottom:4px}
.jp .jdrop{background:hsl(0 0% 100%/.96);border:2px dashed hsl(38 85% 58%);border-radius:14px;padding:20px;text-align:center;cursor:pointer;color:hsl(220 20% 30%);font-size:14.5px;transition:.15s}
.jp .jdrop:hover{background:#fff;transform:scale(1.01)}
.jp .jdrop b{color:hsl(220 35% 35%);font-size:16px}
.jp .jthumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.jp .jthumbs img{width:70px;height:70px;object-fit:cover;border-radius:10px;border:2px solid hsl(0 0% 100%/.5)}
.jp .jgo{width:100%;margin-top:14px;padding:15px;font-size:16px;font-weight:700}
.jp .jalt{margin-top:10px;text-align:center;font-size:12.5px;color:hsl(210 30% 88%/.75)}
.jp .jalt a{color:hsl(38 85% 66%);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.jp.aiInputCard{position:relative;background:hsl(211 72% 97%);border:1px solid hsl(211 48% 85%);border-radius:18px;padding:20px;color:hsl(var(--fg));box-shadow:none;overflow:hidden}
.jp.aiInputCard:before{display:none}
.aiInputCard .aiEyebrow{text-align:center;color:hsl(218 38% 43%);font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;margin-bottom:7px}
.jp.aiInputCard h4{text-align:center;font:700 24px/1.14 'Space Grotesk';letter-spacing:-.55px;margin:0;color:hsl(var(--fg))}
.jp.aiInputCard .jsub{text-align:center;color:hsl(var(--muted-fg));font-size:13px;line-height:1.4;margin:7px 0 11px}
.aiPromise{display:flex;align-items:center;gap:8px;background:hsl(211 54% 92%);color:hsl(218 38% 38%);border-radius:11px;padding:9px 11px;font-size:12px;font-weight:700;margin:9px 0 11px}
.aiMethod{display:flex;align-items:center;gap:11px;width:100%;border:1.5px solid #d8dfe9;background:#fff;border-radius:14px;padding:12px 13px;margin:9px 0 0;text-align:left;color:hsl(var(--fg));cursor:pointer}
.aiMethod.selected{border-color:#ffb126;background:#fff8e9}
.aiMethodIcon{height:42px;width:42px;border-radius:12px;background:#eef1f6;display:grid;place-items:center;font-size:20px;flex:none}.aiMethod.selected .aiMethodIcon{background:#ffe7b7}
.aiMethod b{display:block;font-size:14px}.aiMethod small{display:block;color:hsl(var(--muted-fg));font-size:11.5px;margin-top:2px}
.aiInputCard .aiAddress{width:100%;margin-top:0!important;padding:14px!important;border:1.5px solid #d4dce7!important;background:#fff!important;border-radius:12px!important;color:hsl(var(--fg));box-shadow:0 2px 7px hsl(220 25% 20%/.035);font-size:16px!important}
.aiInputCard .aiLocate{width:100%;margin-top:7px!important;padding:8px!important;border:0!important;background:transparent!important;color:hsl(218 30% 40%)!important;text-align:center;font-weight:800!important}
.aiInputCard .jgo{border-radius:12px;box-shadow:0 5px 12px rgb(47 166 109/.16)}
.aiAltPanel{display:none;margin-top:9px}.aiAltPanel.open{display:block}
.aiInputCard .aiDrop{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-top:1px solid #d9dee7;background:transparent;color:#56627a;padding:13px 2px 2px;margin-top:10px;font-weight:700;cursor:pointer}
.aiInputCard .jalt{color:hsl(var(--muted-fg))}.aiInputCard .jalt a{color:hsl(218 38% 43%)}
.aiInputCard textarea{border:1.5px solid #d4dce7!important}
.aiInputCard .jthumbs img{border-color:#fff}
.aiInputCard .aiAddMore{width:70px;height:70px;border:1.5px dashed #bfc8d7;border-radius:10px;background:#fff;color:hsl(var(--fg));font:800 11.5px/1.2 'DM Sans';cursor:pointer;padding:6px}
.aiInputCard .aiAddMore span{display:block;font-size:20px;line-height:1;margin-bottom:4px}
.junkPhotoEstimator{background:hsl(152 55% 96%)!important;border-color:hsl(152 45% 68%)!important;padding:9px 12px!important}.junkPhotoHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.junkPhotoHead h4{text-align:left!important;font-size:19px!important;line-height:1.08!important}.junkPhotoHead .recommended{border-radius:999px;padding:4px 8px;background:hsl(152 55% 90%);color:hsl(152 45% 31%);font-size:8px;font-weight:900}.junkPhotoAction{position:relative;display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;border:1.5px solid hsl(152 20% 72%);border-radius:11px;background:#fff;padding:5px 36px;text-align:center;color:hsl(var(--fg));cursor:pointer}.junkPhotoAction .camera{position:absolute;left:10px;font-size:16px}.junkPhotoAction .copy{text-align:center}.junkPhotoAction b{display:block;font-size:12px}.junkPhotoAction small{display:none}.junkPhotoAction .add{display:none}.junkPhotoEstimator .jthumbs{margin-top:6px}
.junkPhotoEstimator{text-align:center}.junkPhotoHead{justify-content:center;position:relative}.junkPhotoHead .recommended{position:absolute;right:0}.junkPhotoEstimator .jsub{text-align:center!important}.addressEstimator{overflow:visible!important;background:hsl(152 55% 96%)!important;border-color:hsl(152 45% 68%)!important;padding:12px 14px!important}.addressEstimator .aiEyebrow{display:none}.addressEstimator h4{font-size:17px!important}.addressEstimator .jsub{font-size:11px!important;margin:3px 0 8px!important}.addressEstimator .zqSavedProperty{padding:9px 10px}.addressEstimator .zqSavedProperty p{margin:3px 0 7px}.addressEstimator .zqSavedLine{padding:8px 9px}.addressEstimator .aiPromise{margin:5px 0 7px;padding:7px 9px}.addressEstimator .aiAddress{padding:10px!important;font-size:16px!important}.addressEstimator .jgo{margin-top:7px!important;padding:10px!important}.addressEstimator .jalt{display:block;margin:8px 0 0!important;color:hsl(218 22% 42%);font-size:11px;line-height:1.35;text-align:center}.addressEstimator.hasSavedProperty>h4,.addressEstimator.hasSavedProperty>.jsub{display:none}.addressEstimator.hasSavedProperty .zqSavedProperty{border:0;background:transparent;padding:0}
.addressEstimatorHead{position:relative;display:flex;align-items:center;justify-content:center;min-height:32px;padding:0 100px}.addressEstimatorHead h4{max-width:460px;font-size:22px!important;line-height:1.12!important;text-wrap:balance}.addressEstimatorHead .recommended{position:absolute;right:0;border-radius:999px;padding:5px 9px;background:hsl(152 55% 90%);color:hsl(152 45% 31%);font-size:8px;font-weight:900}.addressEstimator.hasSavedProperty>.addressEstimatorHead{display:none}
.addressEstimator.hasSavedProperty>.addressEstimatorHead{display:flex}.zqSavedHomes{display:grid;gap:7px}.zqSavedHome{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid hsl(152 20% 75%);border-radius:11px;background:#fff;padding:9px 10px;color:hsl(var(--fg));text-align:left;cursor:pointer}.zqSavedHome:hover,.zqSavedHome:focus-visible{border-color:hsl(152 50% 48%);box-shadow:0 0 0 2px hsl(152 50% 48%/.14);outline:0}.zqSavedHomeIcon{font-size:16px}.zqSavedHomeCopy{min-width:0}.zqSavedHomeCopy b,.zqSavedHomeCopy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zqSavedHomeCopy b{font-size:12px}.zqSavedHomeCopy small{margin-top:2px;color:hsl(var(--muted-fg));font-size:10px}.zqSavedHomeGo{color:hsl(152 48% 34%);font-size:17px}.zqNewAddress{width:100%;margin-top:7px;border:0;background:transparent;padding:5px;color:hsl(218 38% 43%);font:800 11px 'DM Sans';cursor:pointer}
.addressActionRow{position:relative;display:flex;align-items:stretch;gap:7px}.addressActionRow .zb-acwrap{position:static;min-width:0;flex:1}.addressActionRow .addressGo{width:auto;flex:0 0 auto;margin:0!important;padding:0 16px!important;white-space:nowrap;box-shadow:none}.addressGoArrow{display:none}.addressEstimator .aiLocate{margin-top:3px!important;padding:4px!important;font-size:11.5px!important}.addressEstimator .aiDrop{margin-top:4px;padding:7px 2px 0;font-size:11.5px}
.aiInputCard #zrHi,.aiInputCard #zrStats{background:#fff!important;border-color:#dce2eb!important;color:hsl(var(--fg))!important}
.aiInputCard #zrPix div{color:hsl(var(--muted-fg))!important}
@media(max-width:560px){.jp.aiInputCard{padding:16px 14px}.jp.aiInputCard h4{font-size:20px}.aiInputCard .aiEyebrow{font-size:10px}.jp.aiInputCard .jsub{font-size:12px}.aiPromise{padding:8px 10px}.aiInputCard .jgo{padding:13px!important}.serviceHeroCard .analysisWrap{margin:8px 0 0}.jp.aiInputCard.junkPhotoEstimator{padding:7px 9px!important}.junkPhotoHead{gap:6px;min-height:24px;padding:0 64px}.junkPhotoHead h4{font-size:16px!important;white-space:normal}.junkPhotoHead .recommended{display:block;font-size:7px;padding:3px 6px}.junkPhotoAction{min-height:36px;padding:4px 34px}.junkPhotoAction b{font-size:11.5px}.jp.aiInputCard.addressEstimator{padding:10px 9px!important}.addressEstimatorHead{min-height:30px;padding:0 72px 0 0;justify-content:flex-start}.addressEstimatorHead h4{max-width:none;text-align:left;font-size:18px!important;line-height:1.12!important}.addressEstimatorHead .recommended{font-size:7px;padding:3px 6px}.addressEstimator .jsub{font-size:9px!important;line-height:1.15!important;margin:1px auto 5px!important}.addressEstimator .aiAddress{padding:8px!important;font-size:16px!important}.addressActionRow .addressGo{padding:0 12px!important}.addressGoLabel{display:none}.addressGoArrow{display:inline;font-size:18px}.addressEstimator .zqSavedHead b{font-size:13px}.addressEstimator .zqSavedProperty p{font-size:9.5px}.addressEstimator .zqSavedLine{font-size:10.5px}}
@media(max-width:760px){.addressEstimatorHead{padding-left:68px;padding-right:68px;justify-content:center}.addressEstimatorHead h4{max-width:100%;text-align:center}.junkHeroCard .junkRail,.addressWoltHero .junkRail,.catalogWoltHero .junkRail{margin-left:0;margin-right:-18px;padding-left:0;padding-right:18px;scroll-padding-left:0}}
.jp .jres{display:none;margin-top:14px;background:hsl(0 0% 100%/.97);border-radius:14px;padding:16px;color:hsl(220 20% 20%)}
.jp .jres .zp-total{margin-top:10px}
.jp .jspin{display:none;text-align:center;padding:18px 0;font-size:14px;color:hsl(210 30% 90%/.9)}

.pStrip{margin-top:16px;display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:linear-gradient(120deg,hsl(220 35% 35%/.06),hsl(38 85% 58%/.10));border:1.5px solid hsl(38 85% 58%/.35);transition:.15s;flex-wrap:wrap}
.pStrip:hover{box-shadow:var(--shadow-card);border-color:hsl(38 85% 58%/.6)}
.pStrip .pi{width:44px;height:44px;border-radius:12px;background:var(--grad-hero);display:grid;place-items:center;font-size:20px;flex-shrink:0}
.pStrip .pt{flex:1;min-width:200px}
.pStrip .pt b{display:block;font-size:14.5px;font-family:'Space Grotesk';letter-spacing:-.01em}
.pStrip .pt span{font-size:12.5px;color:hsl(var(--muted-fg))}
.pStrip .pt span a{font-weight:700;color:hsl(220 35% 35%);text-decoration:underline;text-underline-offset:2px}
.pStrip .btn{white-space:nowrap;padding:11px 18px;font-weight:700}
@media(max-width:560px){.pStrip .btn{width:100%}}
.fab{display:none}
@media(min-width:761px){.fab{display:flex;position:fixed;right:26px;bottom:26px;z-index:60;width:60px;height:60px;border-radius:999px;background:var(--grad-accent);color:hsl(var(--accent-fg));align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 24px hsl(38 85% 50%/.45);transition:.15s}.fab:hover{transform:scale(1.08)}}
.badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.badges .b{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-card);color:hsl(var(--fg))}
.badges .b .st{color:hsl(38 85% 50%)}
.badges .b img{width:16px;height:16px;display:block}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:860px){.why{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.why{grid-template-columns:1fr}}
.whyItem{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-card);display:flex;gap:13px;align-items:flex-start}
.whyItem .wi{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:hsl(38 85% 58%/.13);display:grid;place-items:center;font-size:18px}
.whyItem p{font-size:14px;font-weight:600;line-height:1.4}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.reviews{grid-template-columns:1fr}}
.review{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;padding:20px;box-shadow:var(--shadow-card)}
.review .stars{color:hsl(38 85% 50%);letter-spacing:2px;margin-bottom:9px;font-size:15px}
.review p{font-size:14px;color:hsl(var(--fg));margin-bottom:12px}
.review .who{display:flex;align-items:center;gap:10px}
.review .av{width:34px;height:34px;border-radius:999px;background:var(--grad-hero);color:#fff;display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:14px}
.review .nm{font-weight:700;font-size:13.5px}
.review .src{font-size:12px;color:hsl(var(--muted-fg))}
.pay{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.pay::-webkit-scrollbar{display:none}
.pay .payMark{flex:0 0 auto;width:50px;height:32px;display:grid;place-items:center;border-radius:7px;background:#fff;border:1px solid hsl(var(--border));box-shadow:0 1px 2px hsl(220 20% 20%/.06)}
.pay .payMark svg{display:block;width:38px;height:22px}
@media(max-width:420px){.pay{justify-content:flex-start}.pay .payMark{width:46px;height:30px}.pay .payMark svg{width:34px;height:20px}}
.slk{display:flex;align-items:center;gap:14px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-card);max-width:760px;margin:26px auto 0}
.slk .sh{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:var(--grad-hero);display:grid;place-items:center;font-size:22px}
.slk p{font-size:14px;color:hsl(var(--muted-fg))}
.slk p b{color:hsl(var(--fg))}
.heritageProof{padding:18px 0 34px}.proofYears{margin:0 0 14px;text-align:center;font:800 21px/1.25 'Space Grotesk';color:hsl(var(--fg))}@media(max-width:540px){.proofYears{font-size:18px;margin-bottom:11px}}.heritageProofCard{background:var(--grad-hero);color:#fff;border-radius:18px;padding:22px;box-shadow:var(--shadow-hero)}
.heritageProofTop{display:flex;align-items:center;gap:14px}.heritageProofIcon{flex:0 0 46px;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:hsl(38 85% 58%/.16);font-size:21px}
.heritageProof h2{font-size:20px;margin:0 0 4px}.heritageProof p{font-size:13.5px;line-height:1.5;color:hsl(210 30% 90%/.82);margin:0}
.heritageLogos{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.heritageLogos span{border:1px solid hsl(0 0% 100%/.18);background:hsl(0 0% 100%/.09);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;color:#fff}
@media(max-width:540px){.heritageProof{padding:12px 0 26px}.heritageProofCard{padding:17px}.heritageProofTop{align-items:flex-start}.heritageProof h2{font-size:18px}.heritageLogos{gap:6px}.heritageLogos span{font-size:10.5px;padding:5px 8px}}
/* How Zelli works — floating steps strip (homepage hub) */
.zhwStrip{position:relative;margin-top:28px;border-radius:22px;padding:28px 34px 30px;overflow:hidden}
.zhwGrid{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;align-items:center}
.zhwKicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:hsl(28 75% 35%)}
.zhwTitle h2{margin:6px 0 0;font-size:24px;font-weight:700;line-height:1.16}
.zhwTitle h2 em{font-style:normal;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.zhwTitle p{margin:6px 0 0;font-size:13px;color:hsl(28 45% 33%)}
.zhwLane{position:relative;padding:26px 0 20px}
.zhwPath{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.zhwRow{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}
.zhwCard{position:relative;background:#fff;border-radius:17px;padding:36px 16px 15px;text-align:center;box-shadow:var(--shadow-card)}
.zhwLift1{transform:none}.zhwLift2{transform:none}
.zhwIcon{position:absolute;top:-26px;left:50%;transform:translateX(-50%);width:56px;height:56px;border-radius:17px;background:linear-gradient(180deg,hsl(220 38% 32%),hsl(220 42% 24%));color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 3px 8px hsl(220 20% 20%/.16),inset 0 1px 0 hsl(220 30% 45%)}
.zhwIcon i{position:absolute;top:-7px;right:-7px;width:21px;height:21px;border-radius:50%;background:hsl(220 34% 22%);color:#fff;display:grid;place-items:center;font-style:normal;font-family:'Space Grotesk';font-weight:700;font-size:11px;box-shadow:0 2px 6px hsl(220 30% 15%/.35)}
.zhwCard b{display:block;font-family:'Space Grotesk';font-size:15.5px;font-weight:700;line-height:1.2}
.zhwCard span{display:block;font-size:12px;color:hsl(var(--muted-fg));line-height:1.35;margin-top:3px}
.zhwPage{margin:18px 0 6px}
@media(max-width:760px){
.zhwStrip{margin-top:22px;border-radius:19px;padding:17px 11px 16px}
.zhwGrid{grid-template-columns:1fr;gap:0}
.zhwTitle{text-align:center}
.zhwTitle h2{font-size:17.5px;margin-top:3px}
.zhwTitle p{display:none}
.zhwLane{margin-top:6px;padding:26px 0 16px}
.zhwRow{gap:9px}
.zhwCard{border-radius:14px;padding:29px 7px 11px}
.zhwLift1{transform:none}.zhwLift2{transform:none}
.zhwIcon{top:-21px;width:46px;height:46px;border-radius:14px;font-size:21px}
.zhwIcon i{top:-6px;right:-6px;width:18px;height:18px;font-size:10px}
.zhwCard b{font-size:12px;line-height:1.25}
.zhwCard span{font-size:10px;line-height:1.3;margin-top:2px}
}

/* Public company, support, FAQ and legal pages */
.public-page{background:hsl(var(--bg));color:hsl(var(--fg));min-height:100vh}
.public-nav-header{position:sticky;top:0;z-index:40;background:hsl(var(--bg)/.94);backdrop-filter:blur(14px);border-bottom:1px solid hsl(var(--border))}
.public-nav{min-height:74px;display:flex;align-items:center;gap:26px}
.public-nav .logo img{height:44px;width:44px;border-radius:50%}
.public-nav-links{display:flex;align-items:center;gap:22px;margin-left:auto}
.public-nav-links a{font-size:14px;font-weight:700;color:hsl(var(--muted-fg))}
.public-nav-links a:hover{color:hsl(var(--fg))}
.public-nav .public-call{margin-left:4px}
.public-hero{padding:84px 0 54px;background:radial-gradient(circle at 85% 5%,hsl(38 85% 58%/.24),transparent 30%),linear-gradient(180deg,hsl(220 30% 13%),hsl(220 25% 18%));color:#fff}
.public-hero .eyebrow{color:hsl(38 85% 63%)}
.public-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,7vw,76px);line-height:.98;letter-spacing:-.045em;max-width:880px;margin:13px 0 20px}
.public-hero p{font-size:clamp(17px,2vw,21px);line-height:1.62;max-width:720px;color:hsl(210 25% 83%)}
.public-main{padding:62px 0 86px}
.public-narrow{max-width:820px}
.public-section-head{text-align:center;max-width:700px;margin:0 auto 34px}
.public-section-head h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,4vw,46px);letter-spacing:-.035em;margin:8px 0 12px}
.public-section-head p{color:hsl(var(--muted-fg));font-size:17px;line-height:1.6}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.team-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;overflow:hidden;box-shadow:var(--shadow-card)}
.team-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
.team-copy{padding:20px}
.team-copy h2{font-family:'Space Grotesk',sans-serif;font-size:21px;margin:0 0 5px}
.team-role{font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:hsl(var(--accent));margin-bottom:12px}
.team-copy p{font-size:14px;line-height:1.58;color:hsl(var(--muted-fg))}
.faq-list{display:grid;gap:12px}
.faq-list details{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}
.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 22px;font-weight:800;font-size:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:24px;color:hsl(var(--accent));font-weight:500}
.faq-list details[open] summary:after{content:'−'}
.faq-answer{padding:0 22px 22px;color:hsl(var(--muted-fg));line-height:1.65}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin:auto}
.support-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;padding:30px;box-shadow:var(--shadow-card)}
.support-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:hsl(38 85% 58%/.17);font-size:24px;margin-bottom:20px}
.support-card h2{font-family:'Space Grotesk',sans-serif;font-size:24px;margin-bottom:9px}
.support-card p{color:hsl(var(--muted-fg));line-height:1.6;margin-bottom:20px}
.support-card .btn{width:100%;justify-content:center}
.support-status{max-width:900px;margin:18px auto 0;padding:16px 20px;border:1px solid hsl(145 45% 62%);background:hsl(145 55% 95%);border-radius:14px;color:hsl(145 55% 27%);text-align:center;font-weight:700}
.legal-page{max-width:820px}
.legal-page>p:first-child{color:hsl(var(--muted-fg));font-size:14px;margin-bottom:34px}
.legal-page section{margin:0 0 34px}
.legal-page h2{font-family:'Space Grotesk',sans-serif;font-size:21px;margin:0 0 12px}
.legal-page h3{font-size:16px;margin:20px 0 9px}
.legal-page p,.legal-page li{font-size:15px;line-height:1.72;color:hsl(220 18% 28%)}
.legal-page p+p{margin-top:10px}
.legal-page ul{padding-left:22px;margin:9px 0;display:grid;gap:7px}
.legal-page a{color:hsl(31 88% 39%);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legal-page code{background:hsl(var(--muted));padding:2px 5px;border-radius:5px;font-size:13px}
.legal-page table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}
.legal-page th,.legal-page td{text-align:left;border-bottom:1px solid hsl(var(--border));padding:10px 12px;vertical-align:top}
.legal-page .overflow-x-auto{overflow-x:auto}
.privacy-choice{text-align:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;padding:42px 26px;box-shadow:var(--shadow-card)}
.privacy-choice .big-icon{font-size:42px;margin-bottom:14px}
.privacy-choice h1{font-family:'Space Grotesk',sans-serif;font-size:34px;margin-bottom:12px}
.privacy-choice p{max-width:580px;margin:0 auto 24px;color:hsl(var(--muted-fg));line-height:1.65}
.public-footer-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(110px,1fr));gap:30px}
.public-footer-grid .brand-copy{max-width:250px;color:hsl(210 20% 68%)}
.social-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}
footer .social-row a{width:40px;height:40px;border:1px solid hsl(210 18% 34%);border-radius:10px;display:grid;place-items:center;font-weight:900;color:#fff}
footer .social-row a:hover{border-color:hsl(var(--accent));color:hsl(var(--accent))}
footer .social-row .social-icon{width:20px;height:20px;display:block}
.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid hsl(210 18% 28%);display:flex;justify-content:space-between;gap:16px;color:hsl(210 20% 60%);font-size:12px}
@media(max-width:1050px){.public-footer-grid{grid-template-columns:2fr repeat(3,1fr)}.public-footer-grid>div:nth-child(n+5){margin-top:4px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.public-nav{min-height:66px}.public-nav-links{display:none}.public-nav .public-call{margin-left:auto}.public-hero{padding:58px 0 42px}.public-main{padding:42px 0 64px}.team-grid,.support-grid{grid-template-columns:1fr}.team-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;border-radius:16px}.team-card img{width:96px;height:120px;aspect-ratio:auto}.team-copy{padding:13px 14px}.team-copy h2{font-size:17px;margin-bottom:3px}.team-role{font-size:10px;line-height:1.35;margin-bottom:7px}.team-copy p{font-size:12.5px;line-height:1.42}.public-footer-grid{grid-template-columns:1fr 1fr}.public-footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.support-card{padding:24px}.legal-page h2{font-size:19px}}

/* Blog index and article pages */
.blog-search-wrap{max-width:620px;margin:0 auto 38px}
.blog-search{position:relative}
.blog-search input{width:100%;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:999px;padding:15px 20px 15px 48px;font:inherit;font-size:15px;color:hsl(var(--fg));box-shadow:var(--shadow-card)}
.blog-search input:focus{outline:none;border-color:hsl(var(--accent));box-shadow:0 0 0 4px hsl(38 85% 58%/.18)}
.blog-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:hsl(var(--muted-fg));pointer-events:none}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px hsl(220 30% 13%/.14)}
.blog-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;background:hsl(var(--muted))}
.blog-card-copy{padding:20px 21px 23px;display:flex;flex-direction:column;flex:1}
.blog-card h2{font-family:'Space Grotesk',sans-serif;font-size:19px;line-height:1.28;letter-spacing:-.02em;margin:0 0 9px}
.blog-card h2 a{color:hsl(var(--fg))}
.blog-card h2 a:hover{color:hsl(31 88% 39%)}
.blog-card p{font-size:14px;line-height:1.56;color:hsl(var(--muted-fg));margin:0 0 14px}
.blog-date{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--accent));margin-top:auto}
.blog-empty{display:none;text-align:center;padding:44px 0;color:hsl(var(--muted-fg));font-size:16px}
.blog-empty.is-shown{display:block}

.blog-hero .eyebrow{color:hsl(38 85% 63%)}
.blog-hero h1{font-size:clamp(31px,4.6vw,54px);line-height:1.06;max-width:940px}
.blog-hero .blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;color:hsl(210 25% 83%);font-size:14px;font-weight:600}
.blog-hero .blog-meta .dot{opacity:.5}

.blog-article{max-width:800px}
.blog-cover{margin:0 0 34px;border-radius:22px;overflow:hidden;border:1px solid hsl(var(--border));box-shadow:var(--shadow-card)}
.blog-cover img{width:100%;height:auto;display:block}
.blog-body{font-size:17px;line-height:1.75;color:hsl(220 18% 26%)}
.blog-body p{margin:0 0 20px}
.blog-body h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(23px,3vw,30px);line-height:1.2;letter-spacing:-.025em;color:hsl(var(--fg));margin:38px 0 14px}
.blog-body h3{font-family:'Space Grotesk',sans-serif;font-size:19px;line-height:1.3;color:hsl(var(--fg));margin:28px 0 11px}
.blog-body ul.blog-list,.blog-body ol.blog-list{padding-left:24px;margin:0 0 22px;display:grid;gap:9px}
.blog-body li{line-height:1.68}
.blog-body strong{color:hsl(var(--fg));font-weight:700}
.blog-body h4{font-family:'Space Grotesk',sans-serif;font-size:17px;line-height:1.35;color:hsl(var(--fg));margin:22px 0 9px}
.blog-body code{background:hsl(var(--muted));padding:2px 6px;border-radius:6px;font-size:14px}
.blog-body u{text-underline-offset:3px}
.blog-body blockquote{margin:26px 0;padding:18px 24px;border-left:4px solid hsl(var(--accent));background:hsl(38 85% 58%/.09);border-radius:0 14px 14px 0;font-size:18px;line-height:1.6}
.blog-body blockquote p:last-child{margin-bottom:0}
.blog-link{color:hsl(31 88% 39%);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.blog-figure{margin:30px 0;border-radius:18px;overflow:hidden;border:1px solid hsl(var(--border))}
.blog-figure img{width:100%;height:auto;display:block}

.blog-cta{margin:44px 0 0;background:linear-gradient(180deg,hsl(220 30% 13%),hsl(220 25% 18%));border-radius:22px;padding:34px 32px;color:#fff;text-align:center}
.blog-cta h2{font-family:'Space Grotesk',sans-serif;font-size:26px;letter-spacing:-.025em;margin:0 0 10px;color:#fff}
.blog-cta p{color:hsl(210 25% 83%);line-height:1.6;max-width:520px;margin:0 auto 22px}
.blog-related{margin-top:60px;padding-top:42px;border-top:1px solid hsl(var(--border))}
.blog-related h2{font-family:'Space Grotesk',sans-serif;font-size:24px;letter-spacing:-.025em;margin:0 0 22px}
.blog-related .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:hsl(var(--muted-fg));margin-bottom:24px}
.blog-back:hover{color:hsl(31 88% 39%)}

@media(max-width:1050px){.blog-grid,.blog-related .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
.blog-grid,.blog-related .blog-grid{grid-template-columns:1fr;gap:18px}
.blog-search-wrap{margin-bottom:26px}
.blog-body{font-size:16px;line-height:1.72}
.blog-cover{border-radius:16px;margin-bottom:26px}
.blog-figure{margin:24px 0;border-radius:14px}
.blog-cta{padding:28px 22px;border-radius:18px}
.blog-cta h2{font-size:22px}
.blog-related{margin-top:44px;padding-top:32px}
}

/* Partner landing pages (Zelli × Workiz) */
.pt-hero{padding:72px 0 64px;color:#fff;background:radial-gradient(900px 640px at 82% 18%,hsl(222 70% 52%/.42),transparent 62%),radial-gradient(700px 520px at 8% 90%,hsl(224 62% 40%/.32),transparent 60%),linear-gradient(165deg,hsl(224 52% 12%),hsl(224 54% 15%) 48%,hsl(224 55% 10%))}
.pt-hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.pt-lock{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.pt-lock .z{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:.16em}
.pt-lock .x{color:hsl(0 0% 100%/.42);font-size:18px}
.pt-lock .pill{border:1.5px solid hsl(0 0% 100%/.5);border-radius:999px;padding:6px 16px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;letter-spacing:.18em}
.pt-lock .pt-workiz{display:block;height:38px;width:auto;filter:drop-shadow(0 6px 18px hsl(0 0% 0%/.35))}
.pt-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(38px,5.2vw,64px);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px}
.pt-hero h1 .accent{color:hsl(222 100% 68%);display:block}
.pt-hero .lead{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:hsl(222 45% 84%);max-width:54ch;margin:0 0 30px}
.pt-props{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 34px;padding:0;list-style:none}
.pt-props li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start}
.pt-props .ic{width:38px;height:38px;border-radius:10px;background:hsl(222 60% 40%/.5);display:grid;place-items:center;color:hsl(222 100% 82%)}
.pt-props .ic svg{width:20px;height:20px}
.pt-props b{display:block;font-family:'Space Grotesk',sans-serif;font-size:14px;line-height:1.3;margin-bottom:4px}
.pt-props span{font-size:12.5px;line-height:1.4;color:hsl(222 30% 72%)}
.pt-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pt-ctas .btn-outline{border:1.5px solid hsl(0 0% 100%/.35);color:#fff;background:transparent}
.pt-ctas .btn-outline:hover{border-color:#fff}
.pt-secure{margin:14px 0 0;font-size:12px;color:hsl(222 30% 68%)}
.pt-device{justify-self:center;margin-inline:auto;width:min(300px,100%);border-radius:38px;overflow:hidden;border:9px solid hsl(0 0% 100%/.09);box-shadow:0 50px 110px hsl(0 0% 0%/.55),0 0 0 1.5px hsl(222 100% 74%/.22);position:relative}
.pt-device img{width:100%;height:auto;display:block}
.pt-caption{text-align:center;font-size:12.5px;color:hsl(222 30% 70%);margin-top:14px;line-height:1.45}
.pt-badges{display:flex;gap:18px;justify-content:center;margin-top:22px;font-size:12px;color:hsl(222 30% 68%)}
.pt-section{padding:64px 0}
.pt-section.alt{background:hsl(var(--card))}
.pt-section h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.03em;text-align:center;margin:0 0 12px}
.pt-section .sub{text-align:center;color:hsl(var(--muted-fg));max-width:60ch;margin:0 auto 38px;line-height:1.6}
.pt-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pt-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pt-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;padding:28px 26px;box-shadow:var(--shadow-card)}
.pt-card .num{width:40px;height:40px;border-radius:12px;background:hsl(38 85% 58%/.17);color:hsl(31 88% 39%);display:grid;place-items:center;font-family:'Space Grotesk',sans-serif;font-weight:700;margin-bottom:16px}
.pt-card h3{font-family:'Space Grotesk',sans-serif;font-size:20px;margin:0 0 10px}
.pt-card p{color:hsl(var(--muted-fg));line-height:1.6;margin:0}
.pt-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px;margin:0 auto}
.pt-tier{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:22px;padding:30px 28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.pt-tier.pref{border-color:hsl(38 85% 58%);box-shadow:0 0 0 3px hsl(38 85% 58%/.18),var(--shadow-card)}
.pt-tier .tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:hsl(31 88% 39%);margin-bottom:8px}
.pt-tier h3{font-family:'Space Grotesk',sans-serif;font-size:26px;margin:0 0 6px}
.pt-tier .lead{color:hsl(var(--muted-fg));margin:0 0 18px}
.pt-tier ul{padding:0;margin:0 0 24px;list-style:none;display:grid;gap:10px}
.pt-tier li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;line-height:1.5}
.pt-tier li:before{content:'';width:20px;height:20px;border-radius:50%;background:hsl(145 55% 95%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23138a4e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.pt-tier .btn{margin-top:auto;justify-content:center}
.pt-fine{text-align:center;font-size:12.5px;color:hsl(var(--muted-fg));max-width:70ch;margin:26px auto 0;line-height:1.55}
.pt-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px;margin:0 auto}
.pt-split .pt-card h3{font-size:22px}
.pt-split .pt-card p+p{margin-top:10px}
.pt-split .btn{margin-top:18px}
.pt-form-wrap{max-width:820px;margin:0 auto;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:24px;padding:36px;box-shadow:var(--shadow-card)}
.pt-form .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.pt-form label{display:grid;gap:6px;font-size:13px;font-weight:700}
.pt-form input,.pt-form select{min-height:46px;padding:0 13px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--bg));font:inherit;font-size:16px;color:hsl(var(--fg))}
.pt-form input:focus,.pt-form select:focus{outline:none;border-color:hsl(var(--accent));box-shadow:0 0 0 4px hsl(38 85% 58%/.18)}
.pt-form fieldset{border:0;padding:0;margin:0;grid-column:1/-1}
.pt-form legend{font-size:13px;font-weight:700;margin-bottom:8px}
.pt-form .choices{display:flex;flex-wrap:wrap;gap:10px}
.pt-form .choices label{flex-direction:row;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:9px 14px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--bg));cursor:pointer}
.pt-form .choices input{min-height:0;width:16px;height:16px;accent-color:hsl(var(--accent))}
.pt-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pt-form .actions{grid-column:1/-1;display:grid;gap:10px;margin-top:6px}
.pt-form .actions .btn{justify-content:center;min-height:50px;font-size:16px}
.pt-form .status{grid-column:1/-1;font-size:14px;line-height:1.5;min-height:1.5em;color:hsl(var(--muted-fg))}
.pt-form .status.err{color:hsl(0 70% 42%);font-weight:600}
/* "Check availability" jumps here. The site header is sticky (67px), so without
   this the section title lands underneath it and the form looks skipped. */
.pt-section[id]{scroll-margin-top:88px}
.pt-form .sugwrap{position:relative;min-width:0}
.pt-form .sugg{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:var(--shadow-card);overflow:hidden;text-align:left}
.pt-form .sugg.open{display:block}
.pt-form .sugg button{display:block;width:100%;min-height:0;text-align:left;background:none;border:0;border-radius:0;padding:11px 13px;font:inherit;font-size:14px;line-height:1.35;color:hsl(var(--fg));cursor:pointer}
.pt-form .sugg button:hover,.pt-form .sugg button.active{background:hsl(var(--bg))}
.pt-form .sugg .sugg-by{padding:6px 13px 8px;font-size:11px;font-weight:600;color:hsl(var(--muted-fg));border-top:1px solid hsl(var(--border))}
.pt-thanks{display:none;text-align:center;padding:16px 0}
.pt-thanks .big{font-size:42px;margin-bottom:10px}
.pt-thanks h3{font-family:'Space Grotesk',sans-serif;font-size:26px;margin:0 0 10px}
.pt-thanks p{color:hsl(var(--muted-fg));max-width:48ch;margin:0 auto;line-height:1.6}
.pt-form-wrap.done .pt-form{display:none}.pt-form-wrap.done .pt-thanks{display:block}
.pt-close{text-align:center;padding:54px 0 70px;background:linear-gradient(180deg,hsl(220 30% 13%),hsl(220 25% 18%));color:#fff}
.pt-close h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;margin:0 0 8px}
.pt-close p{color:hsl(210 25% 83%);margin:0}
.pt-close .pt-legal{margin-top:18px;font-size:12px;line-height:1.5;color:hsl(210 20% 62%);max-width:70ch;margin-left:auto;margin-right:auto}
@media(max-width:1050px){.pt-cols{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
.pt-hero{padding:48px 0 44px}.pt-hero .wrap{grid-template-columns:1fr;gap:34px}
.pt-props{grid-template-columns:1fr;gap:14px}
.pt-device{width:min(250px,80%)}
.pt-cols,.pt-tiers,.pt-split{grid-template-columns:1fr}
.pt-section{padding:46px 0}
.pt-form-wrap{padding:24px 18px;border-radius:18px}
.pt-form .grid{grid-template-columns:1fr}
.pt-ctas .btn{width:100%;justify-content:center}
}
