
/* =========================================================
   BroomStar · brand system v5
   Type scale  : H1 74 · H2 54 · H2s 42 · H3 24 · H4 19 · lede 21 · body 18 · ui 16.5 · small 15.5 · fine 14 · label 13
   Spacing     : 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96  (section band 64–104)
   Color       : one action color (#8F05BD), cream wall, ink, lavender. Sage only for savings. BoxStar magenta only on BoxStar links.
   Shape       : radius 12 / 16 / 22 / 30, pills for actions — the logo's roundness
   Icons       : own duotone set, 24-grid, 2px round stroke, lilac silhouette + white detail. No boxes around icons.
   Star        : brand moments only — labels, the H1 period, ratings, the footer.
   ========================================================= */
:root{
  --wall:#FBF9F6; --white:#fff; --plaster:#F9F1FA; --lilac:#F4E3F8; --lilac-2:#EBD0F3;
  --ink:#321B3A; --ink-2:#604769; --ink-3:#957C9E; --rule:#EEE2EF;
  --star:#8F05BD; --star-deep:#640087; --star-soft:#F9EBFD; --plum:#350047; --plum-2:#260033; --sage:#2E8A63; --sage-soft:#E4F3EB; --danger:#B0472F; --bx:#8F05BD; --water:#C4D6F0;
  --r-s:12px; --r:16px; --r-m:22px; --r-l:30px;
  --display:"Gabarito",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --t-h1:clamp(42px,5.2vw,74px); --t-h2:clamp(32px,3.8vw,54px); --t-h2s:clamp(28px,3.1vw,42px); --t-h3:24px; --t-h4:19px;
  --t-lede:clamp(18px,1.5vw,21px); --t-body:18px; --t-ui:16.5px; --t-s:15.5px; --t-xs:14px; --t-label:13px;
  --s1:8px; --s2:12px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:64px; --s8:96px;
  --gutter:clamp(18px,3.4vw,44px); --max:1320px; --band:clamp(64px,7.5vw,104px);
  --shadow:0 1px 2px rgba(50,27,58,.05),0 14px 40px -20px rgba(50,27,58,.25);
  --shadow-lg:0 2px 4px rgba(50,27,58,.06),0 30px 70px -30px rgba(50,27,58,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--wall);color:var(--ink);font-family:var(--display);font-size:var(--t-body);line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.locked{overflow:hidden}
img,svg,picture{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--star);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- type --- */
.display{font-weight:800;letter-spacing:-.024em;line-height:1.02}
.h-xl{font-size:var(--t-h1);line-height:.98;letter-spacing:-.03em}
.h-lg{font-size:var(--t-h2);line-height:1.04;letter-spacing:-.026em}
.h-md{font-size:var(--t-h2s);line-height:1.08;letter-spacing:-.02em}
h3{font-size:var(--t-h3);font-weight:700;letter-spacing:-.018em;line-height:1.2}
.serif{font-family:var(--serif);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;font-weight:400;letter-spacing:-.005em}
.label{display:inline-flex;align-items:center;gap:9px;font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--star-deep)}
.label .st{width:14px;height:14px;flex:none}
.lede{font-size:var(--t-lede);line-height:1.5;color:var(--ink-2);max-width:58ch;margin-top:var(--s3)}
.body{color:var(--ink-2);max-width:58ch;font-size:var(--t-body)}
.num{font-variant-numeric:tabular-nums lining-nums}
.st{display:inline-block;width:1em;height:1em;background:url(/boxstar-assets/star.svg) no-repeat center/contain;vertical-align:-.1em}
.period{display:inline-block;width:.5em;height:.5em;margin-left:.14em;vertical-align:.02em;background:url(/boxstar-assets/star.svg) no-repeat center/contain;transform-origin:50% 50%}
/* Give heading stars the same breathing room as a word space. */
#h1 .period,#f-h2 .period{margin-left:.28em}
#h1 .hero-last .period{margin-left:.32em}
#h1 .star-tail,#f-h2 .star-tail{display:inline-block;white-space:nowrap}
.sec-head{max-width:800px;margin-bottom:var(--s6)}
.sec-head h2{margin-top:var(--s3)}
section{padding:var(--band) 0;scroll-margin-top:72px}
.alt{background:var(--white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}

/* --- icons --- */
symbol{overflow:visible}
.ic{--fl:var(--lilac);--ac:#fff;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;color:var(--star-deep)}
.ic.s{width:20px;height:20px}.ic.m{width:28px;height:28px}.ic.l{width:32px;height:32px}.ic.xl{width:40px;height:40px;stroke-width:1.8}
.ic.ink{color:currentColor}
.on-dark .ic,.ic.on-dark{--fl:rgba(255,255,255,.22);--ac:rgba(255,255,255,0);color:#fff}
.btn .ic{--fl:rgba(255,255,255,.28);--ac:rgba(255,255,255,0);color:currentColor;width:20px;height:20px}
.btn.line .ic,.btn.white .ic{--fl:var(--lilac);--ac:#fff;color:var(--star-deep)}
.tile{width:36px;height:36px;border-radius:50%;background:var(--lilac);color:var(--star-deep);display:grid;place-items:center;flex:none}
.tile .ic{--fl:transparent;width:18px;height:18px}
.mark{width:52px;height:52px;border-radius:16px;background:var(--star);display:grid;place-items:center;flex:none;box-shadow:0 8px 20px -10px rgba(50,27,58,.5)}
.mark .ic{--fl:rgba(255,255,255,.24);--ac:rgba(255,255,255,0);color:#fff;width:26px;height:26px}
.mark.white{background:#fff;box-shadow:none}
.mark.white .ic{--fl:var(--lilac);--ac:#fff;color:var(--star-deep)}

/* --- buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--star);color:#fff;font-weight:700;font-size:var(--t-ui);line-height:1;padding:17px 26px;border-radius:999px;border:2px solid var(--star);cursor:pointer;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s,box-shadow .18s ease;box-shadow:0 8px 24px -12px rgba(143,5,189,.55)}
.btn:hover{background:var(--star-deep);border-color:var(--star-deep);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.lg{padding:19px 30px;font-size:17.5px}
.btn.sm{padding:13px 20px;font-size:15.5px}
.btn.line{background:#fff;color:var(--ink);border-color:var(--rule);box-shadow:none}
.btn.line:hover{border-color:var(--ink-3);background:#fff}
.btn.line.star{color:var(--star-deep);border-color:var(--lilac-2)}
.btn.line.star:hover{border-color:var(--star)}
.btn.white{background:#fff;color:var(--star-deep);border-color:#fff;box-shadow:none}
.btn.white:hover{background:var(--star-soft);border-color:var(--star-soft)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);box-shadow:none}
.btn.ghost:hover{border-color:#fff;background:transparent}
.btn.ghost .ic{--fl:rgba(255,255,255,.22);--ac:rgba(255,255,255,0);color:#fff}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.link{color:var(--star-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;background:none;border:0;padding:0;cursor:pointer}
.link:hover{color:var(--star)}

/* --- header --- */
#hdr{position:sticky;top:0;z-index:50;background:rgba(251,249,246,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--rule)}
#hdr .bar{display:flex;align-items:center;gap:24px;height:76px}
#hdr .logo img{height:38px;width:auto}
#hdr nav.main{display:none;gap:22px;margin-left:6px;font-weight:600;font-size:15.5px;color:var(--ink-2);white-space:nowrap}
#hdr nav.main a:hover{color:var(--ink)}
#hdr .right{margin-left:auto;display:flex;align-items:center;gap:12px}
#hdr .hours{display:none;align-items:center;gap:8px;font-size:15px;color:var(--ink-2);font-weight:500;white-space:nowrap;margin-right:6px}
#hdr .hours .ic{width:20px;height:20px}
#hdr .btn{padding:13px 20px;font-size:15.5px;display:none}
#hdr .btn.tel{display:none;color:var(--ink);gap:9px}
.iconbtn{display:inline-flex;width:46px;height:46px;border:1.5px solid var(--rule);background:#fff;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.iconbtn .ic{width:22px;height:22px;color:var(--ink);--fl:var(--lilac)}
#mnav{display:none;flex-direction:column;gap:2px;padding:6px 0 18px;border-top:1px solid var(--rule);font-weight:600;font-size:18px}
#mnav.open{display:flex}
#mnav a{padding:14px 4px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:14px}
#mnav a.btn{margin-top:14px;border-bottom:0;justify-content:center;display:inline-flex;font-size:16.5px}
@media (min-width:1180px){#hdr nav.main{display:flex} #hdr .btn,#hdr .btn.tel{display:inline-flex} .iconbtn{display:none}}
@media (min-width:1360px){#hdr .hours{display:inline-flex}}
@media (min-width:880px) and (max-width:1179px){#hdr .btn,#hdr .btn.tel{display:inline-flex} .iconbtn.tel{display:none}}

/* --- hero --- */
.hero{padding:clamp(32px,4.5vw,64px) 0 0}
.hero-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
.hero h1{max-width:none}
.hero h1 .eyebrow{display:flex;align-items:center;gap:9px;font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--star-deep);line-height:1.4;margin-bottom:var(--s4)}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line>span{display:inline-block;transform:translateY(105%);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1 .line:nth-child(3)>span{animation-delay:.09s}
.hero h1 .line:nth-child(4)>span{animation-delay:.18s}
.hero h1 .period{opacity:0;transform:translateY(-1.4em) rotate(-30deg);animation:drop .8s cubic-bezier(.34,1.4,.64,1) .7s forwards}
@keyframes rise{to{transform:none}}
@keyframes drop{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero h1 .line>span,.hero h1 .period{animation:none;transform:none;opacity:1}}
@media (max-width:639px){.hero h1 .line{display:inline;overflow:visible} .hero h1 .line>span{display:inline;animation:none;transform:none} .hero h1 .line::after{content:" "}}
.hero .sub{font-size:var(--t-lede);line-height:1.5;color:var(--ink-2);margin:var(--s4) 0 0;max-width:36ch}
.hero .sub b{color:var(--ink);font-weight:700}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--s5);align-items:center}
.hero .call{margin:var(--s3) 0 0;font-size:var(--t-s);color:var(--ink-3)}
.hero .call a{font-weight:700;color:var(--ink-2)}
.chips{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:10px;margin-top:var(--s5)}
.chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--rule);border-radius:999px;padding:9px 18px 9px 12px;font-size:var(--t-ui);font-weight:600;color:var(--ink-2);line-height:1.2}
.chip .ic{width:24px;height:24px}
@media (max-width:520px){.chips{grid-template-columns:1fr 1fr} .chip{border-radius:16px;align-items:flex-start;padding:10px 12px;font-size:15px} .chip .ic{margin-top:-1px}}
.hero-media{position:relative}
.hero-media .ph{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:var(--lilac);box-shadow:var(--shadow-lg);position:relative}
.frame picture,.hero-media .ph picture,.svc-ph picture,.bring .ph picture{position:absolute;inset:0;overflow:hidden}
.frame img,.hero-media .ph img,.svc-ph img,.bring .ph img{width:100%;height:100%;object-fit:cover}
.hero-media img{object-position:50% 45%}
.photo-tag{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:999px;padding:8px 14px 8px 10px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.photo-tag .ic{width:18px;height:18px}
.ticket{position:absolute;left:-20px;bottom:-24px;background:#fff;border-radius:var(--r-m);padding:18px 20px 16px;box-shadow:var(--shadow-lg);border:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;min-width:270px}
.ticket>.ic{grid-row:1/3;width:40px;height:40px}
.ticket .k{font-size:14px;color:var(--ink-3);font-weight:600;letter-spacing:.01em}
.ticket .v{display:flex;align-items:baseline;gap:8px;line-height:1}
.ticket .v b{font-size:34px;font-weight:800;letter-spacing:-.03em}
.ticket .v span{font-size:15px;color:var(--ink-2);font-weight:600}
.ticket a{grid-column:1/3;margin-top:6px;padding-top:12px;border-top:1px dashed var(--rule);font-size:15px;font-weight:700;color:var(--star-deep);display:flex;align-items:center;gap:6px}
.ticket a .ic{width:18px;height:18px}
@media (min-width:880px){.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr);gap:clamp(36px,5vw,72px)} .hero-media{margin-bottom:24px}}
@media (max-width:879px){.hero-media{margin:8px 0 36px} .ticket{left:14px;bottom:-18px;min-width:0;right:14px}}
.lineage{margin-top:clamp(44px,5vw,64px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr}
.lineage>*{display:flex;align-items:center;gap:14px;padding:18px 0;font-size:var(--t-ui);font-weight:700;color:var(--ink);line-height:1.3}
.lineage .ic{width:30px;height:30px}
.lineage small{display:block;font-weight:500;color:var(--ink-3);font-size:var(--t-s);margin-top:2px}
.lineage a:hover{color:var(--star-deep)}
@media (min-width:700px){.lineage{grid-template-columns:1fr 1fr} .lineage>*{padding:20px 18px 20px 0}}
@media (min-width:1080px){.lineage{grid-template-columns:repeat(4,1fr)} .lineage>*+*{border-left:1px solid var(--rule);padding-left:22px}}
@media (max-width:699px){.lineage>*+*{border-top:1px solid var(--rule)}}

/* --- permission band --- */
.perm{padding-top:calc(var(--band)*.9)}
.perm-grid{display:grid;gap:30px;align-items:center}
.frame{border-radius:var(--r-l);overflow:hidden;background:var(--lilac);position:relative}
.perm .frame{aspect-ratio:4/5;max-width:460px}
.perm .quote{font-size:clamp(32px,3.8vw,50px);line-height:1.08;margin:var(--s3) 0 var(--s4);max-width:16ch;color:var(--ink)}
.mini-list{display:grid;gap:14px;margin-top:var(--s5)}
.mini-list li{display:flex;align-items:center;gap:14px;font-weight:700;font-size:var(--t-body);color:var(--ink)}
.mini-list li small{display:block;font-weight:500;color:var(--ink-3);font-size:var(--t-s);margin-top:1px}
.mini-list .ic{width:32px;height:32px}
@media (min-width:880px){.perm-grid{grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:clamp(40px,6vw,90px)}}
@media (max-width:879px){.perm .frame{aspect-ratio:4/3;max-width:none}}

/* --- services --- */
.svc-grid{display:grid;gap:18px}
.svc-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-m);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.svc-ph{aspect-ratio:16/10;background:var(--lilac);position:relative}
.svc-ph picture{border-radius:var(--r-m) var(--r-m) 0 0}
.svc-ph .mark{position:absolute;left:20px;bottom:-24px}
.svc-body{padding:38px 24px 24px;display:flex;flex-direction:column;flex:1}
.svc-body .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.svc-body h3{font-size:var(--t-h3);font-weight:800}
.svc-body .from{font-size:15px;font-weight:700;color:var(--star-deep);background:var(--star-soft);border-radius:999px;padding:7px 12px;white-space:nowrap}
.svc-body .from b{font-size:16px}
.svc-body p{margin:12px 0 0;color:var(--ink-2);font-size:var(--t-ui);line-height:1.5}
.checks{display:grid;gap:9px;margin:var(--s3) 0 0}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--ink-2);line-height:1.4}
.checks .ic{width:20px;height:20px;color:var(--sage);margin-top:2px;--fl:transparent}
.svc-body .foot{margin-top:auto;padding-top:var(--s4)}
@media (min-width:760px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:760px) and (max-width:1000px){.svc-grid{gap:12px} .svc-body{padding:34px 16px 18px}}

/* --- rate card --- */
.rate .grid{display:grid;gap:34px;align-items:start}
.choices{display:flex;flex-direction:column;gap:var(--s5)}
.choice .label{color:var(--ink-3);margin-bottom:14px;gap:10px}
.choice .label .ic{width:26px;height:26px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.opts label>span{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--rule);background:var(--wall);border-radius:999px;padding:12px 18px;font-weight:600;font-size:16px;line-height:1;transition:background .15s,border-color .15s,color .15s;min-height:46px}
.opts label>span em{font-style:normal;color:var(--sage);font-weight:700;font-size:13.5px}
.opts input:checked+span{background:var(--star);border-color:var(--star);color:#fff}
.opts input:checked+span em{color:#fff;opacity:.9}
.opts input:focus-visible+span{outline:3px solid var(--star);outline-offset:2px}
.opts label:hover>span{border-color:var(--ink-3)}
.opts.big{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.opts.big label{display:block}
.opts.big label>span{flex-direction:column;align-items:flex-start;gap:6px;border-radius:var(--r);padding:16px 16px 14px;line-height:1.25;height:100%;width:100%}
.opts.big .ic{width:30px;height:30px;margin-bottom:6px}
.opts.big b{font-size:17px}
.opts.big small{font-weight:500;font-size:14.5px;color:var(--ink-3);line-height:1.35}
.opts.big input:checked+span .ic{--fl:rgba(255,255,255,.24);--ac:rgba(255,255,255,0);color:#fff}
.opts.big input:checked+span small{color:rgba(255,255,255,.85)}
@media (max-width:520px){.opts.big{grid-template-columns:1fr 1fr} .opts.big label:last-child{grid-column:1/3}}
.more-link{background:none;border:0;padding:8px 2px;color:var(--star-deep);font-weight:700;font-size:15.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}
.more-link .ic{width:16px;height:16px;transition:transform .2s;--fl:transparent}
.more-link[aria-expanded="true"] .ic{transform:rotate(180deg)}
.always{padding-top:var(--s5);border-top:1px solid var(--rule)}
.always .label{color:var(--ink-3);margin-bottom:var(--s3)}
.always ul{display:grid;gap:14px 24px}
.always li{display:flex;gap:12px;align-items:center;font-size:var(--t-ui);font-weight:600;color:var(--ink);line-height:1.3}
.always .ic{width:30px;height:30px}
@media (min-width:600px){.always ul{grid-template-columns:1fr 1fr}}
.mini{display:grid;gap:10px;padding-top:var(--s5);border-top:1px solid var(--rule)}
.mini .label{color:var(--ink-3);margin-bottom:4px}
.mini details{background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:0 18px}
.mini summary{cursor:pointer;font-weight:700;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;font-size:16.5px;align-items:center}
.mini summary::-webkit-details-marker{display:none}
.mini summary .ic{width:20px;height:20px;transition:transform .2s;--fl:transparent}
.mini details[open] summary .ic{transform:rotate(180deg)}
.mini p{margin:0 0 16px;color:var(--ink-2);font-size:var(--t-s);line-height:1.5}
.receipt{position:sticky;top:92px}
.paper{background:#fff;border:1px solid var(--rule);border-radius:var(--r-m);padding:26px 26px 24px;box-shadow:var(--shadow);position:relative}
.paper .ph-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.paper .ph-head h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.paper .ph-head .st{width:18px;height:18px}
.paper .lines{margin:14px 0 0;font-size:var(--t-ui)}
.paper .lines div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--rule);color:var(--ink-2)}
.paper .lines div span:last-child{white-space:nowrap;font-weight:600;color:var(--ink)}
.paper .lines .save span{color:var(--sage)}
.paper .total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px 0 6px}
.paper .total .t{color:var(--ink-2);font-weight:600;font-size:16px;padding-bottom:8px}
.paper .total b{font-size:52px;font-weight:800;letter-spacing:-.035em;line-height:1}
.paper .first{margin:10px 0 0;padding:14px 16px;background:var(--star-soft);border-radius:var(--r-s);font-size:15px;color:var(--ink-2);line-height:1.5}
.paper .first b{color:var(--ink)}
.paper .first label{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding-top:12px;border-top:1px dashed var(--lilac-2);cursor:pointer;font-size:14.5px}
.paper .first input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--star)}
.paper .quote-note{margin:14px 0 0;padding:14px 16px;border-radius:var(--r-s);background:var(--star-soft);font-size:15.5px;color:var(--ink-2);display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.paper .quote-note .ic{width:28px;height:28px}
.paper .acts{display:grid;gap:10px;margin-top:18px}
.paper .fine{margin:14px 0 0;font-size:var(--t-xs);color:var(--ink-3);line-height:1.5;display:flex;gap:9px;align-items:flex-start}
.paper .fine .ic{width:18px;height:18px;margin-top:2px}
@media (min-width:880px){.rate .grid{grid-template-columns:minmax(0,1.3fr) minmax(360px,.85fr);gap:clamp(32px,4vw,60px)}}
@media (max-width:879px){.receipt{position:static}}

/* --- reviews --- */
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;max-width:none}
.rev-head>div{max-width:800px}
.polaroid{display:none;flex:none;margin:-24px 28px 4px 0;width:236px;background:#fff;padding:10px 10px 12px;border-radius:4px;box-shadow:0 1px 0 rgba(50,27,58,.06),0 22px 40px -22px rgba(50,27,58,.45),0 2px 6px rgba(50,27,58,.08);transform:rotate(3deg)}
.polaroid picture{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lilac)}
.polaroid img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.polaroid figcaption{font-family:var(--serif);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;font-size:17px;color:var(--ink-2);text-align:center;padding:10px 0 2px}
@media (min-width:880px){.polaroid{display:block}}
.rev-grid{display:grid;gap:16px}
.rev{background:#fff;border:1px solid var(--rule);border-radius:var(--r-m);padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}
.rev .stars{display:flex;gap:4px;align-items:center}
.rev .stars .st{width:16px;height:16px}
.rev .stars small{margin-left:8px;font-size:13.5px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}
.rev blockquote{font-family:var(--serif);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;font-size:19.5px;line-height:1.4;color:var(--ink);flex:1}
.rev .who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--rule)}
.rev .av{width:44px;height:44px;border-radius:50%;background:var(--lilac);color:var(--star-deep);display:grid;place-items:center;font-weight:800;font-size:15px;letter-spacing:.02em;flex:none}
.rev .who b{display:block;font-size:16.5px;color:var(--ink)}
.rev .who span{font-size:var(--t-s);color:var(--ink-3)}
.rev.sum{background:var(--star);border-color:var(--star);color:#fff;box-shadow:none}
.rev.sum .big{font-size:56px;font-weight:800;letter-spacing:-.04em;line-height:1}
.rev.sum .big small{display:block;font-size:15.5px;font-weight:500;letter-spacing:0;line-height:1.45;color:rgba(255,255,255,.85);margin-top:10px}
.rev.sum p{font-size:16px;color:rgba(255,255,255,.88);line-height:1.5;flex:1}
.rev.sum .st{filter:brightness(0) invert(1)}
@media (min-width:640px){.rev-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.rev-grid{grid-template-columns:repeat(4,1fr)}}

/* --- how it works --- */
.how-grid{display:grid;gap:40px;align-items:center}
.steps{display:grid;gap:26px}
.step{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.step .ic{width:40px;height:40px;margin-top:4px}
.step .k{display:block;font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--star-deep);margin-bottom:6px}
.step h3{font-size:22px;margin-bottom:6px}
.step p{color:var(--ink-2);font-size:var(--t-ui);line-height:1.5}
.cardwrap{position:relative;padding:28px 0 8px}
.card{position:relative;background:url(/img/paper.jpg) center/cover #F4EFE9;border-radius:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(50,27,58,.05),0 1px 0 rgba(50,27,58,.08),0 24px 50px -24px rgba(50,27,58,.45),0 2px 6px rgba(50,27,58,.07);padding:24px 28px 22px;transform:rotate(-1.4deg);max-width:540px;margin:0 auto}
@supports (background-image:image-set(url("a.webp") type("image/webp"))){.card{background-image:image-set(url(/img/paper.webp) type("image/webp"),url(/img/paper.jpg) type("image/jpeg"))}}
/* a soft lift at the bottom-right corner, like card stock that has been handled */
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(215deg,rgba(50,27,58,.045),rgba(50,27,58,0) 28%),linear-gradient(35deg,rgba(50,27,58,.035),rgba(50,27,58,0) 22%);pointer-events:none}
/* tape: a real strip of translucent washi, torn at both ends, sitting over the top edge */
.card .tape{position:absolute;left:50%;top:-13px;width:124px;height:32px;transform:translateX(-50%) rotate(-2.5deg);background:linear-gradient(180deg,rgba(239,214,248,.82),rgba(228,194,240,.74));background-blend-mode:multiply;box-shadow:0 1px 2px rgba(50,27,58,.12),inset 0 0 0 1px rgba(255,255,255,.35);clip-path:polygon(0% 0%,100% 0%,98.2% 11%,99.5% 22%,98.1% 33%,99.6% 44%,98.1% 56%,99.4% 67%,98.4% 78%,99.3% 89%,100% 100%,0% 100%,0.4% 89%,1.8% 78%,0.4% 67%,1.6% 56%,0.6% 44%,2.0% 33%,0.5% 22%,1.7% 11%);z-index:3}
.card .tape::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 3px,transparent 3px 9px);opacity:.6}
/* stickers: die-cut vinyl — white border, glossy fill, real shadow, hanging off the edge */
.stk{position:absolute;z-index:4;pointer-events:none;overflow:visible;filter:drop-shadow(0 1px 1px rgba(50,27,58,.22)) drop-shadow(0 9px 14px rgba(50,27,58,.2))}
.stk-star{right:-38px;bottom:-34px;width:124px;height:128px;transform:rotate(14deg)}
.stk-paw{right:-22px;top:-10px;width:56px;height:56px;transform:rotate(-9deg)}
.card li{position:relative}
.stk .sheen{animation:sheen 7s ease-in-out infinite}
@keyframes sheen{0%,60%{transform:translateX(-140px) skewX(-18deg)}90%,100%{transform:translateX(160px) skewX(-18deg)}}
.stk .glit{animation:glit 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.stk .glit:nth-child(3n){animation-delay:-1.1s}.stk .glit:nth-child(3n+1){animation-delay:-2.3s;animation-duration:2.7s}.stk .glit:nth-child(4n){animation-duration:4.1s}
@keyframes glit{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
.spark{position:absolute;z-index:5;pointer-events:none;color:#F2B93B;animation:twinkle 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.spark.s1{right:-8px;bottom:78px;width:22px;height:22px}
.spark.s2{right:78px;bottom:-30px;width:14px;height:14px;animation-delay:-.9s;color:#DC8CF2}
.spark.s3{right:-40px;bottom:12px;width:12px;height:12px;animation-delay:-1.7s}
.spark.s4{right:104px;bottom:-14px;width:9px;height:9px;animation-delay:-2.1s;animation-duration:3.4s}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.55) rotate(0)}50%{opacity:1;transform:scale(1) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.stk .sheen,.stk .glit,.spark{animation:none}.spark{opacity:.8}}
@media (max-width:600px){.card li.w-paw{padding-right:40px}.stk-star{right:2px;bottom:-22px;width:98px;height:102px}.stk-paw{right:-10px;top:-8px;width:48px;height:48px}.spark.s3{right:-4px;bottom:40px}.spark.s1{right:60px;bottom:64px}.spark.s2{right:96px;bottom:-4px}.spark.s4{right:120px;bottom:16px}}
.card .head{position:relative;display:flex;justify-content:space-between;gap:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:8px 0 6px}
.card .head b{color:var(--ink)}
/* the divider is drawn, not ruled: a marker stroke with tapered ends */
.card .rule{position:relative;display:block;width:100%;height:10px;color:var(--star);margin:0 0 4px}
.card ul{position:relative}
.card li{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:13px 0 11px;border-bottom:1px solid #D9E1F0;font-size:17px;line-height:1.4}
.card li:last-child{border-bottom:0}
.card li b{color:var(--ink-3);font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding-top:4px}
.card li span{font-family:var(--serif);font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;font-size:19px;color:var(--ink)}
.card li em{font-style:italic;color:var(--star-deep)}
.card-cap{text-align:center;font-size:var(--t-s);color:var(--ink-3);margin:var(--s4) 0 0}
@media (max-width:600px){.card{padding:20px 18px 56px} .card .head{font-size:11.5px;letter-spacing:.1em} .card li{grid-template-columns:64px 1fr;font-size:16px} .card li span{font-size:17px} .card li b{font-size:11px}}
.facts{display:grid;gap:16px;margin-top:clamp(36px,4vw,56px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--rule)}
.facts li{display:flex;gap:14px;align-items:center;font-size:var(--t-ui);color:var(--ink-2);line-height:1.4}
.facts li b{display:block;color:var(--ink);font-weight:700;font-size:17px}
.facts .ic{width:32px;height:32px}
@media (min-width:880px){.how-grid{grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px)} .facts{grid-template-columns:repeat(3,1fr)}}

/* --- included --- */
.cols{display:grid;gap:16px}
.col{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-m);padding:0 24px 14px;overflow:hidden}
.col-ph{position:relative;height:196px;margin:0 -24px 0;background:var(--lilac)}
.col-ph picture{position:absolute;inset:0}
.col-ph img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.col-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.55) 68%,#fff 100%)}
.col h3{font-size:22px;display:flex;align-items:center;gap:12px;margin:-40px 0 10px;position:relative}
.col h3 .ic{width:30px;height:30px}
.col li{padding:10px 0;border-top:1px solid var(--rule);font-size:var(--t-ui);color:var(--ink-2);line-height:1.45}
.col li b{color:var(--ink);font-weight:700}
@media (min-width:640px){.cols{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.cols{grid-template-columns:repeat(4,1fr)}}
.notin{display:grid;gap:16px;margin-top:16px}
.notin>div{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-m);padding:24px;font-size:var(--t-ui);color:var(--ink-2);line-height:1.55;display:flex;gap:18px;align-items:flex-start}
.notin .ic{width:36px;height:36px;margin-top:2px}
.notin .ic.sage{color:var(--sage);--fl:var(--sage-soft)}
.notin .ic.rose{color:var(--danger);--fl:#FBEAE5}
.notin b{color:var(--ink)}
.notin h3{font-size:19px;margin-bottom:8px;color:var(--ink)}
@media (min-width:880px){.notin{grid-template-columns:1fr 1fr}}
.bring{margin-top:16px;display:grid;gap:0;background:var(--lilac);border-radius:var(--r-l);overflow:hidden}
.bring .ph{aspect-ratio:16/10;position:relative}
.bring .ph img{object-position:60% 55%}
.bring .txt{padding:clamp(28px,4vw,52px)}
.bring h3{font-size:clamp(28px,3.1vw,40px);font-weight:800;letter-spacing:-.025em;line-height:1.04}
.bring h3 span{color:var(--star-deep)}
.bring p{margin:16px 0 0;color:var(--ink-2);font-size:var(--t-body);max-width:48ch}
.bring ul{margin:var(--s4) 0 0;display:grid;gap:16px}
.bring li{display:flex;gap:14px;align-items:flex-start;font-size:var(--t-ui);color:var(--ink-2);line-height:1.5}
.bring li b{display:block;color:var(--ink);font-weight:700;font-size:17px}
.bring li .ic{width:34px;height:34px;--fl:#fff;margin-top:2px}
@media (min-width:880px){.bring{grid-template-columns:1fr 1.1fr;align-items:center} .bring .ph{aspect-ratio:auto;height:100%;min-height:460px}}

/* --- team --- */
.team .faces{display:grid;gap:18px}
.team .frame{aspect-ratio:3/4}
.team figcaption{margin:14px 4px 0;font-size:var(--t-ui);color:var(--ink-2);line-height:1.45;display:flex;gap:10px;align-items:center}
.team figcaption .ic{width:24px;height:24px}
.team figcaption b{color:var(--ink);font-weight:700}
@media (min-width:700px){.team .faces{grid-template-columns:1.25fr 1fr 1fr;align-items:end} .team .faces figure:first-child .frame{aspect-ratio:4/5}}
@media (max-width:699px){.team .faces{grid-template-columns:1fr 1fr;gap:14px} .team .faces figure:first-child{grid-column:1/3} .team .faces figure:first-child .frame{aspect-ratio:4/3} .team .faces figure:first-child img{object-position:50% 30%}}

/* --- why --- */
.why-grid{display:grid;gap:16px}
.feat{background:#fff;border:1px solid var(--rule);border-radius:var(--r-m);padding:26px 24px;display:flex;flex-direction:column;gap:14px}
.feat .ic{width:40px;height:40px}
.feat h3{font-size:20px;line-height:1.25}
.feat p{color:var(--ink-2);font-size:var(--t-ui);line-height:1.5}
@media (min-width:640px){.why-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why .after{margin:var(--s6) 0 0;font-size:clamp(22px,2.3vw,30px);line-height:1.3;max-width:34ch;color:var(--ink)}

/* --- guarantee --- */
.gua{padding-top:0;margin-top:calc(-1 * clamp(36px,4.5vw,64px));position:relative;z-index:2}
.why.alt{padding-bottom:calc(var(--band) + clamp(24px,3vw,44px))}
.gua .block{position:relative;overflow:hidden;background:var(--star);color:#fff;border-radius:var(--r-l);padding:clamp(34px,5vw,68px) clamp(24px,5vw,68px);display:grid;gap:36px;align-items:center}
.gua .block .ph{position:absolute;inset:0;z-index:0;pointer-events:none}
.gua .block .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:grayscale(1) contrast(1.15);mix-blend-mode:luminosity;opacity:.46}
.gua .block::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,var(--star) 0 36%,rgba(143,5,189,.84) 58%,rgba(143,5,189,.62) 100%),linear-gradient(0deg,rgba(100,0,135,.55),rgba(100,0,135,0) 60%);pointer-events:none}
.gua .block::after{content:"";position:absolute;z-index:1;right:26px;bottom:22px;width:84px;height:84px;background:url(/boxstar-assets/star.svg) no-repeat center/contain;opacity:.16;filter:brightness(0) invert(1);pointer-events:none;transform:rotate(-14deg)}
.gua .label{color:#fff}
.gua .label .st{filter:brightness(0) invert(1)}
.gua h2{font-size:var(--t-h2);letter-spacing:-.03em;line-height:1.02;max-width:12ch;position:relative;margin-top:var(--s3)}
.gua .txt{position:relative;z-index:2}
.gua .lede{color:rgba(255,255,255,.88);max-width:40ch}
.gua .rows{position:relative;z-index:2;display:grid}
.gua .rows li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.22);font-size:var(--t-ui);line-height:1.45;color:rgba(255,255,255,.86)}
.gua .rows li:first-child{border-top:0;padding-top:0}
.gua .rows li:last-child{padding-bottom:0}
.gua .rows b{display:block;color:#fff;font-weight:700;font-size:19px;margin-bottom:3px}
.gua .act{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--s5);align-items:center;position:relative}
.gua .act small{font-size:var(--t-s);color:rgba(255,255,255,.8);flex-basis:100%}
@media (min-width:880px){.gua .block{grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px)}}

/* --- bundle --- */
.box-grid{display:grid;gap:30px;align-items:center}
.box .pair{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:var(--s4)}
.box .pair img{height:34px;width:auto}
.box .pair .x{font-weight:800;font-size:26px;color:var(--ink-3)}
.box ul{margin:var(--s4) 0 0;display:grid;gap:16px}
.box li{display:flex;gap:14px;align-items:flex-start;font-size:var(--t-body);color:var(--ink-2);line-height:1.45}
.box li b{color:var(--ink)}
.box li .ic{width:32px;height:32px;margin-top:0}
.box .box-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:var(--s5);align-items:center}
.bx-link{display:inline-flex;align-items:center;gap:7px;color:var(--bx);font-weight:700;font-size:var(--t-ui)}
.bx-link .ic{width:18px;height:18px;color:var(--bx);--fl:transparent}
.box .press{margin:var(--s4) 0 0;font-size:var(--t-s);color:var(--ink-3);max-width:60ch;line-height:1.5}
.box .press b{color:var(--ink-2);font-weight:600}
.box .off{background:var(--star-soft);border:1px solid var(--lilac-2);border-radius:var(--r-l);padding:34px 30px;text-align:center;display:grid;gap:8px;justify-items:center}
.box .off .mark{margin-bottom:8px}
.box .off b{font-size:clamp(48px,5.6vw,80px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--star-deep)}
.box .off span{color:var(--ink);font-size:18px;font-weight:700}
.box .off small{color:var(--ink-2);font-size:var(--t-s);max-width:30ch;margin-top:6px;line-height:1.5}
@media (min-width:880px){.box-grid{grid-template-columns:1.25fr .75fr;gap:clamp(36px,5vw,80px)}}

/* --- areas + map --- */
.areas-grid{display:grid;gap:36px;align-items:start}
.areas-grid>*{min-width:0}
.zipbox{margin-top:var(--s5);background:#fff;border:1px solid var(--rule);border-radius:var(--r-m);padding:20px;box-shadow:var(--shadow)}
.zipbox .lbl{font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:9px;margin-bottom:12px}
.zipbox .lbl .ic{width:22px;height:22px}
.zipbox form{display:flex;gap:8px}
.zipbox input{flex:1;min-width:0;height:50px;border:1.5px solid var(--rule);border-radius:var(--r-s);padding:0 14px;font:inherit;font-size:17px;background:#fff;color:var(--ink)}
.zipbox input:focus{outline:none;border-color:var(--star);box-shadow:0 0 0 3px rgba(143,5,189,.18)}
.zipbox .btn{padding:0 20px;height:50px;font-size:16px}
.zipbox .out{margin:12px 0 0;font-size:var(--t-s);line-height:1.5;color:var(--ink-3);min-height:1.4em}
.zipbox .out.ok{color:var(--sage);font-weight:600}
.zipbox .out.no{color:var(--danger);font-weight:600}
.zipbox .out a{text-decoration:underline;text-underline-offset:3px}
.mapcard{background:#fff;border:1px solid var(--rule);border-radius:var(--r-l);padding:12px;box-shadow:var(--shadow);position:relative}
.dmv{width:100%;height:auto;display:block;font-family:var(--display)}
.dmv .ctx{fill:#F8F3F9;stroke:#fff;stroke-width:1.2}
.dmv .srv{fill:#F3DFF8;stroke:#fff;stroke-width:1.4;transition:fill .2s}
.dmv .srv.dc{fill:#EBCEF4}
.dmv .edge{fill:none;stroke:var(--star);stroke-width:1.6;stroke-dasharray:4 4;stroke-linejoin:round}
.dmv .inner{fill:none;stroke:#fff;stroke-width:1.2}
.dmv .river{fill:none;stroke:var(--water);stroke-width:5;stroke-linejoin:round;stroke-linecap:round}
.dmv .city circle{fill:var(--star);stroke:#fff;stroke-width:2;transition:r .15s,fill .15s;cursor:default}
.dmv .city text{font-size:13px;font-weight:600;fill:var(--ink-2);paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}
.dmv .city.hi circle,.dmv .city:hover circle{r:7;fill:var(--star-deep)}
.dmv .city.hi text,.dmv .city:hover text{fill:var(--star-deep);font-weight:700}
.dmv .st{font-size:12.5px;font-weight:700;letter-spacing:.16em;fill:#C3ACC9}
.dmv .water{font-size:11.5px;font-style:italic;fill:#8FA9D3;letter-spacing:.02em}
.dmv .office path{fill:var(--star)}
.dmv .office text{font-size:12px;font-weight:700;fill:var(--star-deep);paint-order:stroke;stroke:#fff;stroke-width:3.5px}
.legend{display:flex;gap:18px;flex-wrap:wrap;position:absolute;left:20px;bottom:16px;font-size:13.5px;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-radius:999px;padding:8px 14px;border:1px solid var(--rule)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{display:inline-block;width:22px;border-top:2px dashed var(--star)}
.legend .st{width:14px;height:14px}
.legend .dot{width:10px;height:10px;border-radius:50%;background:var(--star);border:2px solid #fff;box-shadow:0 0 0 1px var(--star)}
@media (max-width:640px){.dmv .city:not(.major) text{display:none} .dmv .city.major text{font-size:19px} .dmv .st{font-size:18px} .dmv .water{display:none} .dmv .office text{font-size:17px} .dmv .city circle{r:6} .legend{position:static;margin-top:10px}}
.areas .lists{display:grid;gap:26px;margin-top:var(--s6)}
.areas h3{margin:0 0 12px;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:700;display:flex;align-items:center;gap:10px}
.areas h3 .ab{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--lilac);font-size:12px;font-weight:800;letter-spacing:0;color:var(--star-deep)}
.areas ul{display:flex;flex-wrap:wrap;gap:8px}
.areas li a{display:inline-block;padding:9px 14px;border:1.5px solid var(--rule);border-radius:999px;font-weight:600;font-size:15.5px;background:var(--white);transition:border-color .15s,background .15s,color .15s}
.areas li a:hover,.areas li a.hi{border-color:var(--star);color:var(--star-deep);background:var(--star-soft)}
.areas .fine{font-size:var(--t-s);color:var(--ink-3);margin:var(--s4) 0 0;max-width:70ch;line-height:1.55}
@media (min-width:880px){.areas-grid{grid-template-columns:minmax(300px,.75fr) 1.25fr;gap:clamp(36px,4vw,64px)} .areas .lists{grid-template-columns:1fr 1fr 1fr}}

/* --- faq --- */
.faq-grid{display:grid;gap:30px;align-items:start}
.faq .ask{margin-top:var(--s5);background:var(--star-soft);border:1px solid var(--lilac-2);border-radius:var(--r-m);padding:24px}
.faq .ask h3{font-size:19px;margin-bottom:8px}
.faq .ask p{font-size:var(--t-s);color:var(--ink-2);line-height:1.5}
.faq .ask .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font-weight:700;font-size:clamp(17px,1.5vw,19.5px);letter-spacing:-.01em;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary .tile{transition:transform .25s}
.faq details[open] summary .tile{transform:rotate(180deg)}
.faq p{margin:-4px 0 22px;color:var(--ink-2);max-width:64ch;font-size:17px;line-height:1.55}
@media (min-width:880px){.faq-grid{grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:clamp(36px,5vw,80px)}}

/* --- footer --- */
footer{position:relative;overflow:hidden;background:var(--plum);color:#fff;padding:var(--band) 0 0;isolation:isolate}
footer::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>")}
/* the big bright wordmark: masked gradient, lit from below, cut by the page edge */
/* the big wordmark stands on the floor of the page, fully visible */
.giant{position:relative;display:block;width:min(96vw,1560px);margin:clamp(24px,3.5vw,52px) auto clamp(20px,2.5vw,40px);height:calc(min(96vw,1560px) * 100 / 543);overflow:hidden;pointer-events:none}
@media (max-width:879px){footer{padding-bottom:72px}}
.f-top{display:grid;gap:40px;align-items:start}
.f-top>*{min-width:0}
.f-cta h2{font-size:clamp(38px,5vw,72px);letter-spacing:-.03em;line-height:.98;max-width:11ch}
.f-cta h2 .period{filter:brightness(0) invert(1);opacity:0;transform:translateY(-1.2em) rotate(-30deg)}
.f-cta h2.in .period{animation:drop .8s cubic-bezier(.34,1.4,.64,1) .1s forwards}
@media (prefers-reduced-motion:reduce){.f-cta h2 .period{opacity:1;transform:none}}
.f-cta .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:var(--s5)}
.f-cta .about{margin-top:var(--s6);max-width:58ch;color:rgba(255,255,255,.72);font-size:var(--t-s);line-height:1.6}
.f-cta .about b{color:#fff;font-weight:700}
.f-contact{display:grid;gap:10px}
.f-contact a,.f-contact div{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:16px 18px;transition:background .15s,border-color .15s}
.f-contact a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.f-contact .ic{width:32px;height:32px}
.f-contact small{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:3px}
.f-contact b{font-size:19px;font-weight:700;color:#fff;letter-spacing:-.01em;overflow-wrap:anywhere}
.f-contact span{display:block;font-size:var(--t-s);color:rgba(255,255,255,.72);line-height:1.4}
.f-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:var(--s7);padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.14);font-size:var(--t-ui)}
.f-links h4{margin:0 0 12px;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:#EDB8FF;font-weight:700}
.f-links a{display:block;padding:6px 0;color:rgba(255,255,255,.82)}
.f-links a:hover{color:#fff}
.f-links .cities{display:flex;flex-wrap:wrap;gap:4px 14px}
.f-links .cities a{padding:4px 0;font-size:15.5px}
.f-bot{margin-top:var(--s6);padding:26px 0 calc(var(--s5) + 8px);border-top:1px solid rgba(255,255,255,.14);display:grid;gap:18px;font-size:var(--t-xs);color:rgba(255,255,255,.6);line-height:1.6}
.f-legal{display:flex;align-items:center;gap:22px}
.f-legal .emblem{width:96px;height:96px;flex:none}
@media (max-width:599px){.f-legal{align-items:flex-start}.f-legal .emblem{width:80px;height:80px}}
.f-bot .brands{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.f-bot .brands .from{opacity:.65}
.f-bot .brands .bxl{height:22px;width:auto;opacity:.9}
@media (min-width:880px){.f-top{grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,96px)} .f-links{grid-template-columns:1fr 1.4fr 1fr} .f-bot{grid-template-columns:1fr auto;align-items:end}}
@media (max-width:599px){.f-links{grid-template-columns:1fr;gap:26px}}

/* --- mobile bar --- */
.mobar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,249,246,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--rule)}
.mobar .btn{padding:14px 16px;font-size:15.5px}
.mobar .btn.line{background:#fff}
@media (min-width:880px){.mobar{display:none}}
@media (max-width:879px){body{padding-bottom:78px}}

/* --- booking sheet --- */
.sheet-bg{position:fixed;inset:0;z-index:100;background:rgba(50,27,58,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade .2s ease}
@keyframes fade{from{opacity:0}}
.sheet{background:#fff;width:100%;max-width:620px;max-height:calc(100dvh - 24px);overflow:auto;border-radius:var(--r-l) var(--r-l) 0 0;padding:24px 22px calc(24px + env(safe-area-inset-bottom));position:relative;animation:up .28s cubic-bezier(.2,.7,.2,1);-webkit-overflow-scrolling:touch}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@media (min-width:640px){.sheet-bg{align-items:center;padding:24px} .sheet{border-radius:var(--r-l);padding:30px 32px;max-height:calc(100vh - 48px)}}
@media (prefers-reduced-motion:reduce){.sheet,.sheet-bg{animation:none}}
.sheet-x{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:0;background:var(--plaster);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.sheet-x:hover{background:var(--lilac)}
.sheet-x .ic{--fl:transparent;color:var(--ink-2)}
.sheet h2{font-size:28px;font-weight:800;letter-spacing:-.025em;padding-right:48px}
.sheet .sub{color:var(--ink-3);font-size:var(--t-s);margin-top:6px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--plaster);padding:5px;border-radius:14px;margin-top:20px}
.tabs button{border:0;background:transparent;border-radius:10px;padding:12px;font-weight:700;font-size:16px;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .15s,color .15s}
.tabs button .ic{width:20px;height:20px;color:var(--ink-3);--fl:transparent}
.tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(50,27,58,.12)}
.tabs button[aria-selected="true"] .ic{color:var(--star-deep);--fl:var(--lilac)}
.summary{margin-top:18px;background:var(--star-soft);border:1px solid var(--lilac-2);border-radius:var(--r);padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:center}
.summary>.ic{grid-area:1/1/3/2;width:34px;height:34px}
.summary .d{grid-area:1/2/2/3;font-size:15.5px;color:var(--ink-2);font-weight:600;line-height:1.35}
.summary .p{grid-area:1/3/2/4;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1;text-align:right}
.summary .p small{display:block;font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:0;margin-top:4px}
.summary .n{grid-area:2/2/3/4;font-size:14px;color:var(--ink-3);font-weight:500;line-height:1.45}
.summary .n .link{font-size:14px}
.sheet form{margin-top:20px;display:grid;gap:14px}
.sheet .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:440px){.sheet .row2{grid-template-columns:1fr}}
.field{display:grid;gap:7px}
.field label{font-size:15px;font-weight:700;color:var(--ink)}
.field label small{font-weight:500;color:var(--ink-3)}
.sheet input:not([type=checkbox]):not([type=radio]),.sheet select,.sheet textarea{width:100%;height:50px;border:1.5px solid var(--rule);border-radius:var(--r-s);padding:0 14px;font:inherit;font-size:17px;background:#fff;color:var(--ink)}
.sheet textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical;line-height:1.45}
.sheet input:focus,.sheet select:focus,.sheet textarea:focus{outline:none;border-color:var(--star);box-shadow:0 0 0 3px rgba(143,5,189,.18)}
.sheet .msg{font-size:14px;margin:-4px 2px 0;color:var(--ink-3);min-height:1.2em}
.sheet .msg.ok{color:var(--sage);font-weight:600}
.sheet .msg.no{color:var(--danger);font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;inset:0;opacity:0;margin:0}
.pills span{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--rule);background:#fff;border-radius:999px;padding:10px 14px;font-weight:600;font-size:15px;line-height:1;min-height:42px}
.pills span .ic{width:16px;height:16px;--fl:transparent;color:currentColor}
.pills input:checked+span{background:var(--star);border-color:var(--star);color:#fff}
.pills input:focus-visible+span{outline:3px solid var(--star);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-3);line-height:1.45;cursor:pointer}
.consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--star)}
.sheet .btn{margin-top:4px}
.sheet .secure{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--ink-3);line-height:1.5}
.sheet .secure .ic{width:18px;height:18px;margin-top:1px}
.sheet .err{display:none;background:#FBEAE5;color:var(--danger);border-radius:var(--r-s);padding:12px 14px;font-size:14.5px;font-weight:600}
.sheet .err.show{display:block}
.done{margin-top:18px;text-align:center;padding:10px 0 6px}
.done .ic.big{width:64px;height:64px;margin:0 auto 18px;color:var(--sage);--fl:var(--sage-soft)}
.done h3{font-size:26px;font-weight:800}
.done p{color:var(--ink-2);margin-top:8px;font-size:17px;line-height:1.5}
.done ul{margin:var(--s4) 0 0;text-align:left;display:grid;gap:10px}
.done li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--ink-2);line-height:1.45;background:var(--plaster);border-radius:var(--r-s);padding:12px 14px}
.done li .ic{width:20px;height:20px;margin-top:1px;--fl:transparent}
.done .btn{margin-top:var(--s4)}

/* --- Google Maps mode (optional) --- */
.gmap{width:100%;aspect-ratio:69/56;border-radius:22px;overflow:hidden;background:var(--plaster)}
.gm-m,.gm-office{position:relative;transform:translateY(50%)}
.gm-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--star);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(50,27,58,.3);transition:transform .15s}
.gm-m:hover .gm-dot,.gm-m.open .gm-dot{transform:scale(1.25)}
.gmap.z-hi .gm-m::after{content:attr(data-name);position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:3px;background:#fff;border-radius:999px;padding:4px 9px;font:700 12.5px/1.2 var(--display);color:var(--ink);box-shadow:0 1px 3px rgba(50,27,58,.22);white-space:nowrap;pointer-events:none}
.gm-card{position:absolute;left:50%;bottom:22px;transform:translateX(-50%) translateY(6px);opacity:0;pointer-events:none;background:#fff;border-radius:14px;box-shadow:0 12px 30px -12px rgba(50,27,58,.45),0 1px 2px rgba(50,27,58,.1);padding:12px 14px;width:max-content;max-width:240px;font-family:var(--display);color:var(--ink);transition:opacity .15s,transform .15s;text-align:left;z-index:2}
.gm-card b{display:block;font-size:15px;font-weight:800;line-height:1.2}
.gm-card b small{display:block;font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.gm-card span{display:block;font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.35}
.gm-btn{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--star-deep)}
.gm-m.open .gm-card,.gm-office.open .gm-card{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.gm-cluster{width:40px;height:40px;border-radius:50%;background:var(--star);color:#fff;font:800 13.5px/34px var(--display);text-align:center;border:3px solid #fff;box-shadow:0 2px 8px rgba(50,27,58,.3);transform:translateY(50%)}
.gm-star{display:block;width:32px;height:32px;background:url(/boxstar-assets/star.svg) no-repeat center/contain;filter:drop-shadow(0 2px 3px rgba(50,27,58,.35))}
.gm-office .gm-card{bottom:36px}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* Hero review concept — overrides are deliberately last in the cascade. */
#top{scroll-margin-top:76px}
#hdr.hero-header{background:#8F05BD;border-color:transparent;color:#FBF9F6;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
#hdr.hero-header .bar{height:76px;gap:32px}
#hdr.hero-header .logo{flex:none;display:block}
#hdr.hero-header .logo img{height:38px;width:211.856489173244px;object-fit:contain}
#hdr.hero-header nav.main{gap:26px;margin-left:auto;font-size:15px;color:#FBF9F6}
#hdr.hero-header nav.main a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
#hdr.hero-header .right{margin-left:18px;gap:25px}
#hdr.hero-header .header-call{font-size:15px;font-weight:600;white-space:nowrap}
#hdr.hero-header .header-call:hover{text-decoration:underline;text-underline-offset:5px}
#hdr.hero-header .header-cta{display:inline-flex;background:#FBF9F6;border-color:#FBF9F6;color:#640087;box-shadow:none;padding:14px 20px}
#hdr.hero-header .iconbtn{background:transparent;border-color:rgba(251,249,246,.38);color:#FBF9F6}
#hdr.hero-header .iconbtn .ic{color:currentColor;--fl:transparent}
#hdr.hero-header.is-light,#hdr.hero-header.menu-open{background:#FBF9F6;color:#321B3A;border-color:#EEE2EF}
#hdr.hero-header.is-light nav.main,#hdr.hero-header.menu-open nav.main{color:#604769}
#hdr.hero-header.is-light nav.main a:hover{color:#321B3A}
#hdr.hero-header.is-light .header-cta,#hdr.hero-header.menu-open .header-cta{background:#8F05BD;border-color:#8F05BD;color:#fff}
#hdr.hero-header.is-light .iconbtn,#hdr.hero-header.menu-open .iconbtn{border-color:#EEE2EF;color:#321B3A}
#hdr.hero-header #mnav{background:#FBF9F6;color:#321B3A}
.hero{background:#8F05BD;color:#FBF9F6;padding:42px 0 0;overflow:hidden}
.hero .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:46px;align-items:center;min-height:502px}
.hero .hero-eyebrow{font-size:14px;line-height:1.5;font-weight:600;letter-spacing:.01em;color:#FBF9F6;margin-bottom:23px;max-width:490px}
.hero .hero-eyebrow span{font-weight:400}
.hero h1{font-size:clamp(48px,4.8vw,69px);line-height:1.02;letter-spacing:-.038em;color:#FBF9F6;max-width:none}
.hero h1>span{display:block;white-space:nowrap}
.hero h1 .hero-last{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.052em;line-height:1.07}
.hero h1 .hero-dot{font-family:var(--display);font-style:normal;padding-left:2px}
.hero .sub{color:#FBF9F6;font-size:20px;line-height:1.48;max-width:44ch;margin:24px 0 0}
.hero .sub strong{display:block;font-weight:600}
.hero .sub>span{display:block;font-size:19px;font-weight:400}
.hero .cta-row{margin:27px 0 0;gap:26px;align-items:center;flex-wrap:nowrap}
.hero .cta-row .btn{background:#FBF9F6;border-color:#FBF9F6;color:#640087;box-shadow:none;padding:20px 28px;font-size:18px}
.hero .cta-row .btn:hover,#hdr.hero-header .header-cta:hover{background:#fff;border-color:#fff}
#hdr.hero-header.is-light .header-cta:hover{background:#640087;border-color:#640087}
.hero .hero-text-link{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600;padding:14px 0;white-space:nowrap}
.hero .hero-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero .hero-text-link .ic{color:currentColor;width:18px;height:18px;--fl:transparent}
.hero .hero-price{font-size:14px;color:#FBF9F6;margin-top:12px}
.hero .hero-media{margin:0;position:relative;align-self:center;padding-bottom:24px}
.hero .hero-media .ph{aspect-ratio:1.3;border-radius:28px;box-shadow:none;background:#FBF9F6}
.hero .hero-media .ph img{object-position:center center}
.hero .hero-note{position:absolute;right:17px;bottom:7px;transform:rotate(-5deg);padding:15px 22px 17px;background:#FBF9F6;color:#350047;box-shadow:0 6px 16px #321B3A18;font:italic 500 25px/1.1 var(--serif);letter-spacing:-.03em}
.hero .hero-note span{display:block}
.hero .hero-proofs{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(251,249,246,.3);margin-top:29px;padding:23px 0 25px}
.hero .hero-proofs li{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.4;font-weight:500}
.hero .hero-proofs .ic{width:18px;height:18px;color:#FBF9F6;--fl:transparent}
.hero :focus-visible,#hdr.hero-header:not(.is-light):not(.menu-open) :focus-visible{outline-color:#FBF9F6}
@media(min-width:1180px){#hdr.hero-header nav.main{display:flex}#hdr.hero-header .iconbtn{display:none}}
@media(min-width:880px) and (max-width:1179px){#hdr.hero-header .right{margin-left:auto}#hdr.hero-header .header-call{display:none}.hero .hero-grid{gap:30px;min-height:450px}.hero h1{font-size:clamp(42px,4.7vw,55px)}.hero .hero-eyebrow{font-size:13px}.hero .sub{font-size:18px}.hero .sub>span{font-size:17px}.hero .hero-proofs li{font-size:13px}}
@media(max-width:879px){
#hdr.hero-header .bar{height:76px;gap:20px}#hdr.hero-header .logo img{width:190.259468432282px;height:35px}#hdr.hero-header .right{margin-left:auto;gap:0}#hdr.hero-header .header-call,#hdr.hero-header .header-cta{display:none}#hdr.hero-header .iconbtn{display:flex;width:44px;height:44px}
.hero{padding-top:29px}.hero .hero-grid{grid-template-columns:1fr;gap:30px;min-height:0}.hero .hero-eyebrow{font-size:13px;line-height:1.5;max-width:345px;margin-bottom:20px}.hero .hero-eyebrow span{display:block}.hero h1{font-size:clamp(39px,10.9vw,54px);line-height:1.02;letter-spacing:-.037em}.hero .sub{font-size:17px;line-height:1.5;max-width:39ch;margin-top:21px}.hero .sub>span{font-size:17px}.hero .cta-row{margin-top:24px;gap:24px}.hero .cta-row .btn{font-size:17px;padding:18px 23px}.hero .hero-text-link{font-size:16px}.hero .hero-price{font-size:13px;margin-top:11px}.hero .hero-media{margin:0;padding-bottom:19px}.hero .hero-media .ph{aspect-ratio:1.4;border-radius:24px}.hero .hero-note{font-size:22px;right:15px;bottom:3px;padding:13px 17px 15px}.hero .hero-proofs{margin-top:17px;padding:22px 0 27px;flex-direction:column;gap:13px}.hero .hero-proofs li{font-size:14px}.mobar{grid-template-columns:1fr;opacity:0;visibility:hidden;transform:translateY(100%);transition:transform .2s ease,opacity .2s ease,visibility .2s}.mobar.hero-cta-passed{opacity:1;visibility:visible;transform:none}.mobar [data-tel],.mobar [data-sms]{display:none}.mobar .btn{padding:15px 16px}#mnav.open{max-height:calc(100dvh - 76px);overflow:auto}
}
@media(prefers-reduced-motion:reduce){#hdr.hero-header,.mobar{transition:none}.hero .btn{transition:none}}


/* Hero review v2 — falling brand star, useful contact details, expressive lineage. */
#hdr.hero-header .bar{gap:24px}
#hdr.hero-header nav.main{gap:22px}
#hdr.hero-header .right{gap:21px}
#hdr.hero-header .header-call{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;line-height:1.2;min-width:0;padding:7px 0}
#hdr.hero-header .header-call .header-phone{font-size:16px;font-weight:700;letter-spacing:.015em;white-space:nowrap}
#hdr.hero-header .header-call small{font-size:11.5px;font-weight:400;letter-spacing:.015em;opacity:.8;white-space:nowrap}
#hdr.hero-header #mnav .menu-contact{display:none}
.hero h1 .period.hero-star{display:inline-block;width:.45em;height:.45em;margin-left:.16em;vertical-align:.055em;background:#FBF9F6;-webkit-mask:url(/boxstar-assets/star.svg) no-repeat center / contain;mask:url(/boxstar-assets/star.svg) no-repeat center / contain;transform-origin:50% 50%;opacity:0;transform:translateY(-1.4em) rotate(-30deg);animation:drop .8s cubic-bezier(.34,1.4,.64,1) .7s forwards}
.hero .hero-lineage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(251,249,246,.3);margin-top:27px;padding:25px 0 28px;gap:0}
.hero .hero-proof{display:flex;align-items:flex-start;gap:13px;min-width:0;color:#FBF9F6;padding-right:18px}
.hero .hero-proof+.hero-proof{padding-left:23px;border-left:1px solid rgba(251,249,246,.25)}
.hero .hero-proof:last-child{padding-right:0}
.hero .hero-proof>.ic{width:28px;height:28px;margin-top:2px;color:#FBF9F6;--fl:rgba(251,249,246,.16);--ac:transparent;stroke-width:1.75}
.hero .hero-proof>span{display:block;min-width:0}
.hero .hero-proof b{display:block;font-size:16px;font-weight:650;line-height:1.3;letter-spacing:-.01em}
.hero .hero-proof small{display:block;margin-top:6px;font-size:12.5px;line-height:1.5;font-weight:400;color:rgba(251,249,246,.8)}
.hero a.hero-proof:hover b{text-decoration:underline;text-underline-offset:4px}
@media(min-width:880px) and (max-width:1179px){
#hdr.hero-header .header-call{display:flex}#hdr.hero-header .right{gap:23px}.hero .hero-proof{gap:9px;padding-right:12px}.hero .hero-proof+.hero-proof{padding-left:13px}.hero .hero-proof>.ic{width:23px;height:23px}.hero .hero-proof b{font-size:13.5px}.hero .hero-proof small{font-size:11.5px}
}
@media(max-width:879px){
#hdr.hero-header .bar{gap:20px}#hdr.hero-header .right{gap:0}#hdr.hero-header .header-call{display:none}#hdr.hero-header #mnav .menu-contact{display:flex;gap:13px;padding:16px 4px}#hdr.hero-header .menu-contact b{display:block;font-size:18px;font-weight:700}#hdr.hero-header .menu-contact small{display:block;font-size:13px;font-weight:400;color:#745B79;margin-top:3px}
.hero .hero-lineage{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:19px;padding:23px 0 27px;row-gap:25px}.hero .hero-proof{gap:10px;padding-right:12px}.hero .hero-proof+.hero-proof{padding-left:16px}.hero .hero-proof:nth-child(3){padding-left:0;border-left:0}.hero .hero-proof>.ic{width:25px;height:25px}.hero .hero-proof b{font-size:14px;line-height:1.3}.hero .hero-proof small{font-size:11.5px;line-height:1.45;margin-top:6px}.hero .hero-proof small br{display:none}.hero .hero-proof small br::after{content:' '}
}
@media(max-width:359px){.hero .hero-lineage{grid-template-columns:1fr;row-gap:18px}.hero .hero-proof+.hero-proof{padding-left:0;border-left:0}.hero .hero-proof b{font-size:15px}.hero .hero-proof small{font-size:12px}.hero .hero-proof small br{display:initial}}
@media(prefers-reduced-motion:reduce){.hero h1 .period.hero-star{animation:none;opacity:1;transform:none}}


/* Footer wordmark: a single glass pass awakens the B-star, which joins the trailing mark. */
.giant.footer-wordmark{overflow:visible;--footer-mark:#EFDCF3}
.footer-wordmark .footer-wordmark-base,.footer-wordmark .footer-star-rest{fill:var(--footer-mark)}
.footer-wordmark .footer-star-born{fill:#FBF9F6;filter:drop-shadow(0 .8px .6px rgba(53,0,71,.32))}
.footer-wordmark .footer-star-rest{opacity:1}
/* The waiting pose matches frame zero: the terminal star has not arrived yet. */
.footer-wordmark:is([data-polish-state="idle"],[data-polish-state="running"],[data-polish-state="paused"]) .footer-star-rest{opacity:0}
.footer-wordmark .footer-glass-sweep{opacity:0;transform:translateX(-70px);transform-box:view-box;transform-origin:0 0}
.footer-wordmark .footer-star-travel{opacity:0;transform:translate(32.997715355805px,68.22256928839px);transform-box:view-box;transform-origin:0 0}
.footer-wordmark .footer-r-spark{opacity:0;transform:rotate(-16deg) scale(.25);transform-box:fill-box;transform-origin:center}
.footer-wordmark.is-polishing .footer-glass-sweep-medium{animation:footerGlassMedium 1.120s linear 0.364s both}
.footer-wordmark.is-polishing .footer-glass-sweep-wide{animation:footerGlassWide 1.204s linear 0.532s both}
.footer-wordmark.is-polishing .footer-star-rest{animation:footerStarRest 1.96s linear both}
.footer-wordmark.is-polishing .footer-star-travel{animation:footerStarTravel 1.96s linear both,footerStarPresence 1.96s linear both}
.footer-wordmark.is-polishing .footer-star-born{animation:footerStarFinish 1.96s linear both}
.footer-wordmark.is-polishing .footer-r-spark{animation:footerRSpark 0.350s cubic-bezier(.22,.65,.35,1) 1.610000s both}
@keyframes footerGlassMedium{0%{opacity:0;transform:translateX(-20px)}3%{opacity:1}95%{opacity:1}100%{opacity:0;transform:translateX(585.436966292135px)}}
@keyframes footerGlassWide{0%{opacity:0;transform:translateX(-30px)}3%{opacity:1}95%{opacity:1}100%{opacity:0;transform:translateX(605.436966292135px)}}
/* The same B contour is used by both actors. The flying actor stays visible until scene cleanup. */
@keyframes footerStarRest{0%,100%{opacity:0}}
@keyframes footerStarPresence{0%{opacity:0}0.8928571%,100%{opacity:1}}
@keyframes footerStarFinish{0%,56.4483818%{fill:#FBF9F6;filter:drop-shadow(0 .8px .6px rgba(53,0,71,.32))}61.8055246%,100%{fill:var(--footer-mark);filter:drop-shadow(0 .8px .6px rgba(53,0,71,0))}}
@keyframes footerStarTravel{
  0.0000000%{transform:translate(32.997715355805px,68.22256928839px) rotate(0.000000deg) scale(1.00000000)}
  0.5952381%{transform:translate(32.997715355805px,68.22256928839px) rotate(0.000000deg) scale(1.00000000)}
  0.8928571%{transform:translate(32.997715355805px,68.22256928839px) rotate(0.000000deg) scale(1.00000000)}
  1.1904762%{transform:translate(33.047702138015px,68.187368167345px) rotate(0.035501deg) scale(1.00000197)}
  1.7857143%{transform:translate(34.139723538132px,67.421613069924px) rotate(0.811068deg) scale(1.00004506)}
  2.3809524%{transform:translate(37.323501982554px,65.22451945419px) rotate(3.072225deg) scale(1.00017068)}
  2.9761905%{transform:translate(42.229906855586px,61.942063068915px) rotate(6.556812deg) scale(1.00036427)}
  2.9761905%{transform:translate(42.229906855586px,61.942063068915px) rotate(6.556812deg) scale(1.00036427)}
  3.5714286%{transform:translate(47.505444412317px,58.552576941978px) rotate(10.303562deg) scale(1.00057242)}
  4.1666667%{transform:translate(52.780981969048px,55.30809081504px) rotate(14.050311deg) scale(1.00078057)}
  4.7619048%{transform:translate(58.056519525779px,52.208604688102px) rotate(17.797061deg) scale(1.00098873)}
  5.3571429%{transform:translate(63.33205708251px,49.254119561165px) rotate(21.543810deg) scale(1.00119688)}
  5.9523810%{transform:translate(68.607594639241px,46.444633434227px) rotate(25.290560deg) scale(1.00140503)}
  6.5476190%{transform:translate(73.883132195972px,43.780147307289px) rotate(29.037310deg) scale(1.00161318)}
  7.1428571%{transform:translate(79.158670786705px,41.260661183907px) rotate(32.784059deg) scale(1.00182134)}
  7.7380952%{transform:translate(84.434208343436px,38.886176056969px) rotate(36.530809deg) scale(1.00202949)}
  8.3333333%{transform:translate(89.709745900167px,36.656689930032px) rotate(40.277559deg) scale(1.00223764)}
  8.9285714%{transform:translate(94.985283456898px,34.572203803094px) rotate(44.024308deg) scale(1.00244579)}
  9.5238095%{transform:translate(100.260821013629px,32.632717676157px) rotate(47.771058deg) scale(1.00265395)}
  10.1190476%{transform:translate(105.53635857036px,30.838231549219px) rotate(51.517808deg) scale(1.00286210)}
  10.7142857%{transform:translate(110.811896127091px,29.188746422281px) rotate(55.264557deg) scale(1.00307025)}
  11.3095238%{transform:translate(116.087434717824px,27.684260298899px) rotate(59.011307deg) scale(1.00327841)}
  11.9047619%{transform:translate(121.362972274555px,26.324774171961px) rotate(62.758056deg) scale(1.00348656)}
  12.5000000%{transform:translate(126.638509831286px,25.110288045024px) rotate(66.504806deg) scale(1.00369471)}
  13.0952381%{transform:translate(131.914047388017px,24.040802918086px) rotate(70.251556deg) scale(1.00390286)}
  13.6904762%{transform:translate(137.189584944748px,23.116316791148px) rotate(73.998305deg) scale(1.00411102)}
  14.2857143%{transform:translate(142.465122501479px,22.336830664211px) rotate(77.745055deg) scale(1.00431917)}
  14.8809524%{transform:translate(147.74066005821px,21.702344537273px) rotate(81.491805deg) scale(1.00452732)}
  15.4761905%{transform:translate(153.016198648943px,21.212859413891px) rotate(85.238554deg) scale(1.00473548)}
  16.0714286%{transform:translate(158.291736205674px,20.868373286953px) rotate(88.985304deg) scale(1.00494363)}
  16.6666667%{transform:translate(163.567273762405px,20.668887160016px) rotate(92.732054deg) scale(1.00515178)}
  17.2619048%{transform:translate(168.842811319136px,20.614401033078px) rotate(96.478803deg) scale(1.00535993)}
  17.8571429%{transform:translate(174.118348875867px,20.70491490614px) rotate(100.225553deg) scale(1.00556809)}
  18.4523810%{transform:translate(179.393886432598px,20.940429779203px) rotate(103.972303deg) scale(1.00577624)}
  19.0476190%{transform:translate(184.669423989329px,21.320943652265px) rotate(107.719052deg) scale(1.00598439)}
  19.6428571%{transform:translate(189.944962580062px,21.846457528883px) rotate(111.465802deg) scale(1.00619254)}
  20.2380952%{transform:translate(195.220500136793px,22.516971401945px) rotate(115.212551deg) scale(1.00640070)}
  20.8333333%{transform:translate(200.496037693524px,23.332486275007px) rotate(118.959301deg) scale(1.00660885)}
  21.4285714%{transform:translate(205.771575250255px,24.29300014807px) rotate(122.706051deg) scale(1.00681700)}
  22.0238095%{transform:translate(211.047112806986px,25.398514021132px) rotate(126.452800deg) scale(1.00702516)}
  22.6190476%{transform:translate(216.322650363717px,26.649027894195px) rotate(130.199550deg) scale(1.00723331)}
  23.2142857%{transform:translate(221.598187920448px,28.044542767257px) rotate(133.946300deg) scale(1.00744146)}
  23.8095238%{transform:translate(226.873726511181px,29.585056643875px) rotate(137.693049deg) scale(1.00764961)}
  24.4047619%{transform:translate(232.149264067912px,31.270570516937px) rotate(141.439799deg) scale(1.00785777)}
  25.0000000%{transform:translate(237.424801624643px,33.101084389999px) rotate(145.186549deg) scale(1.00806592)}
  25.5952381%{transform:translate(242.700339181374px,35.076598263062px) rotate(148.933298deg) scale(1.00827407)}
  26.1904762%{transform:translate(247.975876738105px,37.197113136124px) rotate(152.680048deg) scale(1.00848222)}
  26.7857143%{transform:translate(253.251414294836px,39.462627009186px) rotate(156.426798deg) scale(1.00869038)}
  27.3809524%{transform:translate(258.526951851567px,41.873140882249px) rotate(160.173547deg) scale(1.00889853)}
  27.9761905%{transform:translate(263.8024904423px,44.428654758867px) rotate(163.920297deg) scale(1.00910668)}
  28.5714286%{transform:translate(269.078027999031px,47.129169631929px) rotate(167.667046deg) scale(1.00931484)}
  29.1666667%{transform:translate(274.353565555762px,49.974683504991px) rotate(171.413796deg) scale(1.00952299)}
  29.7619048%{transform:translate(279.629103112493px,52.965197378054px) rotate(175.160546deg) scale(1.00973114)}
  30.3571429%{transform:translate(284.904640669224px,56.100711251116px) rotate(178.907295deg) scale(1.00993929)}
  30.9523810%{transform:translate(290.180178225955px,59.381226124178px) rotate(182.654045deg) scale(1.01014745)}
  31.5476190%{transform:translate(295.455715782686px,62.806739997241px) rotate(186.400795deg) scale(1.01035560)}
  32.1428571%{transform:translate(300.731254373419px,66.377253873858px) rotate(190.147544deg) scale(1.01056375)}
  32.7380952%{transform:translate(306.00679193015px,70.092767746921px) rotate(193.894294deg) scale(1.01077191)}
  33.3333333%{transform:translate(311.282329486881px,73.953281619983px) rotate(197.641044deg) scale(1.01098006)}
  33.9285714%{transform:translate(316.557867043612px,77.958796493045px) rotate(201.387793deg) scale(1.01118821)}
  34.2171032%{transform:translate(319.115095817293px,79.95258049373px) rotate(203.203968deg) scale(1.01128911)}
  34.5238095%{transform:translate(321.833404600343px,78.417846366108px) rotate(205.134543deg) scale(1.01139636)}
  35.1190476%{transform:translate(327.108942157074px,75.54918023917px) rotate(208.881292deg) scale(1.01160452)}
  35.7142857%{transform:translate(332.384479713804px,72.825514112233px) rotate(212.628042deg) scale(1.01181267)}
  36.3095238%{transform:translate(337.660018304538px,70.24684798885px) rotate(216.374792deg) scale(1.01202082)}
  36.9047619%{transform:translate(342.935555861269px,67.813181861913px) rotate(220.121541deg) scale(1.01222897)}
  37.5000000%{transform:translate(348.211093418px,65.524515734975px) rotate(223.868291deg) scale(1.01243713)}
  38.0952381%{transform:translate(353.486630974731px,63.380849608037px) rotate(227.615041deg) scale(1.01264528)}
  38.6904762%{transform:translate(358.762168531462px,61.3821834811px) rotate(231.361790deg) scale(1.01285343)}
  39.2857143%{transform:translate(364.037706088193px,59.528517354162px) rotate(235.108540deg) scale(1.01306159)}
  39.8809524%{transform:translate(369.313243644924px,57.819851227224px) rotate(238.855290deg) scale(1.01326974)}
  40.4761905%{transform:translate(374.588782235657px,56.256185103842px) rotate(242.602039deg) scale(1.01347789)}
  41.0714286%{transform:translate(379.864319792388px,54.837518976905px) rotate(246.348789deg) scale(1.01368604)}
  41.6666667%{transform:translate(385.139857349119px,53.563852849967px) rotate(250.095539deg) scale(1.01389420)}
  42.2619048%{transform:translate(390.41539490585px,52.435186723029px) rotate(253.842288deg) scale(1.01410235)}
  42.8571429%{transform:translate(395.690932462581px,51.451519596092px) rotate(257.589038deg) scale(1.01431050)}
  43.4523810%{transform:translate(400.966470019311px,50.612853469154px) rotate(261.335787deg) scale(1.01451865)}
  44.0476190%{transform:translate(406.242007576042px,49.919187342216px) rotate(265.082537deg) scale(1.01472681)}
  44.6428571%{transform:translate(411.517546166776px,49.370521218834px) rotate(268.829287deg) scale(1.01493496)}
  45.2380952%{transform:translate(416.793083723507px,48.966855091896px) rotate(272.576036deg) scale(1.01514311)}
  45.8333333%{transform:translate(422.068621280238px,48.708188964959px) rotate(276.322786deg) scale(1.01535127)}
  46.4285714%{transform:translate(427.344158836969px,48.594522838021px) rotate(280.069536deg) scale(1.01555942)}
  46.6720282%{transform:translate(429.501892477935px,48.589814179449px) rotate(281.601984deg) scale(1.01564455)}
  47.0238095%{transform:translate(432.6196963937px,48.625856711084px) rotate(283.816285deg) scale(1.01576757)}
  47.6190476%{transform:translate(437.89523395043px,48.802190584146px) rotate(287.563035deg) scale(1.01597572)}
  48.2142857%{transform:translate(443.170771507161px,49.123524457208px) rotate(291.309785deg) scale(1.01618388)}
  48.8095238%{transform:translate(448.446310097895px,49.589858333826px) rotate(295.056534deg) scale(1.01639203)}
  49.4047619%{transform:translate(453.721847654626px,50.201192206888px) rotate(298.803284deg) scale(1.01660018)}
  50.0000000%{transform:translate(458.997385211357px,50.957526079951px) rotate(302.550033deg) scale(1.01680834)}
  50.5952381%{transform:translate(464.272922768088px,51.858859953013px) rotate(306.296783deg) scale(1.01701649)}
  51.1904762%{transform:translate(469.548460324819px,52.905193826075px) rotate(310.043533deg) scale(1.01722464)}
  51.7857143%{transform:translate(474.82399788155px,54.096527699138px) rotate(313.790282deg) scale(1.01743279)}
  52.3809524%{transform:translate(480.09953543828px,55.4328605722px) rotate(317.537032deg) scale(1.01764095)}
  52.9761905%{transform:translate(485.375074029014px,56.914194448818px) rotate(321.283782deg) scale(1.01784910)}
  53.5714286%{transform:translate(490.650611585745px,58.54052832188px) rotate(325.030531deg) scale(1.01805725)}
  54.1666667%{transform:translate(495.926149142476px,60.311862194943px) rotate(328.777281deg) scale(1.01826540)}
  54.7619048%{transform:translate(501.201686699207px,62.228196068005px) rotate(332.524031deg) scale(1.01847356)}
  55.3571429%{transform:translate(506.477224255937px,64.289529941067px) rotate(336.270780deg) scale(1.01868171)}
  55.9523810%{transform:translate(511.752761812668px,66.49586381413px) rotate(340.017530deg) scale(1.01888986)}
  56.4483818%{transform:translate(516.148769616286px,68.44511443461px) rotate(343.139627deg) scale(1.01906331)}
  56.5476190%{transform:translate(517.028000542681px,68.84706065968px) rotate(343.764067deg) scale(1.01909800)}
  57.1428571%{transform:translate(522.207103925504px,71.296452944984px) rotate(347.442328deg) scale(1.01930235)}
  57.7380952%{transform:translate(526.996617919435px,73.685968631813px) rotate(350.843898deg) scale(1.01949133)}
  58.3333333%{transform:translate(531.150499564783px,75.855138704382px) rotate(353.794034deg) scale(1.01965522)}
  58.9285714%{transform:translate(534.509547634697px,77.674983751168px) rotate(356.179669deg) scale(1.01978776)}
  59.5238095%{transform:translate(537.001398499156px,79.06298295069px) rotate(357.949412deg) scale(1.01988608)}
  60.1190476%{transform:translate(538.640530260976px,79.993644085732px) rotate(359.113543deg) scale(1.01995075)}
  60.7142857%{transform:translate(539.528260687811px,80.503520536233px) rotate(359.744020deg) scale(1.01998578)}
  61.3095238%{transform:translate(539.852749280148px,80.690918286393px) rotate(359.974475deg) scale(1.01999858)}
  61.8055246%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  61.9047619%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  62.5000000%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  63.0952381%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  63.6904762%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  64.2857143%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  64.8809524%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  65.4761905%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  66.0714286%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  66.6666667%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  67.2619048%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  67.8571429%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  68.4523810%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  69.0476190%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  69.6428571%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  70.2380952%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  70.8333333%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  71.4285714%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  72.0238095%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  72.6190476%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  73.2142857%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  73.8095238%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  74.4047619%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  75.0000000%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  75.5952381%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  76.1904762%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  76.7857143%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  77.3809524%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  77.9761905%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  78.5714286%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  79.1666667%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  79.7619048%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  80.3571429%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  80.9523810%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  81.5476190%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  82.1428571%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  82.7380952%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  83.3333333%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  83.9285714%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  84.5238095%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  85.1190476%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  85.7142857%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  86.3095238%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  86.9047619%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  87.5000000%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  88.0952381%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  88.6904762%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  89.2857143%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  89.8809524%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  90.4761905%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  91.0714286%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  91.6666667%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  92.2619048%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  92.8571429%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  93.4523810%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  94.0476190%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  94.6428571%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  95.2380952%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  95.8333333%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  96.4285714%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  97.0238095%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  97.6190476%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  98.2142857%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  98.8095238%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  99.4047619%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
  100.0000000%{transform:translate(539.888689138577px,80.711707865169px) rotate(360.000000deg) scale(1.02000000)}
}
@keyframes footerRSpark{0%{opacity:0;transform:rotate(-16deg) scale(.25)}28%{opacity:1;transform:rotate(5deg) scale(1)}47%{opacity:1;transform:rotate(8deg) scale(.91)}73%{opacity:.45;transform:rotate(10deg) scale(.71)}100%{opacity:0;transform:rotate(12deg) scale(.35)}}
@media(prefers-reduced-motion:reduce){
.footer-wordmark[data-polish-state] .footer-star-rest{animation:none;opacity:1}
.footer-wordmark.is-polishing .footer-glass-sweep,.footer-wordmark.is-polishing .footer-star-travel,.footer-wordmark.is-polishing .footer-r-spark{animation:none;opacity:0}
.footer-wordmark.is-polishing .footer-star-rest{animation:none;opacity:1}
.footer-wordmark.is-polishing .footer-star-born{animation:none;filter:none}
}

/* Contact shadows: one brief, stationary sign of impact. */
.footer-wordmark .footer-contact-shadow{fill:var(--plum);opacity:0;pointer-events:none}
.footer-wordmark.is-polishing .footer-contact-mid{animation:footerContact 0.116667s linear 0.641489s both}
@keyframes footerContact{0%{opacity:0}25%{opacity:.27}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.footer-wordmark.is-polishing .footer-contact-shadow{animation:none;opacity:0}}
/* End contact shadows */

.footer-wordmark[data-polish-state] .footer-star-rest{opacity:1}.footer-wordmark .footer-star-travel{opacity:0}

/* BroomStar / BoxStar-family color system, 2026-10-01.
   Brand violet = actions. Bright violet = small accents. Plum = readable content.
   The exact user-selected #FF00EE belongs to large words and selected stars.
   Small section labels use the darker same-hue ink; controls never use candy fills. */
:root{
  --wall:#FFFFFF;--plaster:#F7F3FF;--star-soft:#F7F3FF;
  --ink:#350047;--ink-2:#574163;--ink-3:#786483;
  --rule:#EEE2EF;--bx-control:#9E87A8;
  --bx-candy:#FF00EE;--bx-accent-ink:#B800AC;--bx-paper:#FFFCFF;
  --bx-bright:#B100E8;
  --bx-success-ink:#267650;--danger:#A9284B;
}

/* Continuous navigation, including light, open-menu and mobile states. */
#hdr.hero-header.is-light,#hdr.hero-header.menu-open{
  background:#fff;color:var(--ink);border-color:var(--rule);
}
#hdr.hero-header.is-light nav.main,#hdr.hero-header.menu-open nav.main{color:var(--ink-2)}
#hdr.hero-header.is-light nav.main a:hover,#hdr.hero-header.menu-open nav.main a:hover{color:var(--star)}
#hdr.hero-header.is-light .iconbtn,#hdr.hero-header.menu-open .iconbtn{color:var(--ink);border-color:var(--bx-control)}
#hdr.hero-header #mnav{background:#fff;color:var(--ink)}
#hdr.hero-header .menu-contact small{color:var(--ink-3)}
#hdr.hero-header.menu-open .header-cta:hover{background:var(--star-deep);border-color:var(--star-deep);color:#fff}
.mobar{background:rgba(255,255,255,.96)}

/* Action contract: purple on white, light on purple, darken on hover. */
.btn{box-shadow:none}
.btn.line.star{background:#fff;border-color:var(--star);color:var(--star)}
.btn.line.star:hover{background:var(--star);border-color:var(--star);color:#fff}
.btn.line.star .ic{color:currentColor;--fl:transparent}
.link,.more-link,.bx-link{color:var(--star)}
.link:hover,.more-link:hover,.bx-link:hover{color:var(--star-deep)}
.more-link .ic,.bx-link .ic{color:currentColor}
.bx-link{text-decoration:underline;text-underline-offset:4px}
.f-cta .btn:not(.ghost){background:#fff;border-color:#fff;color:var(--star-deep)}
.f-cta .btn:not(.ghost):hover{background:var(--star-soft);border-color:var(--star-soft)}
.f-cta .btn:not(.ghost) .ic{color:currentColor;--fl:transparent}
.gua :focus-visible,footer :focus-visible{outline-color:#fff}

/* Section signposts. These do not target form labels or utility captions. */
.sec-head .label,.perm .label,.areas .label,.faq .label{color:var(--bx-accent-ink)}
.sec-head .label .st,.perm .label .st,.areas .label .st,.faq .label .st,.legend .st{
  background:var(--bx-candy);filter:none;
  -webkit-mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
  mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
}
.gua .label{color:#fff}
.sec-head h2,.box h2,.areas h2{color:var(--star)}
.bx-highlight,.bring h3 span{color:var(--bx-candy)}
.bring{background:var(--bx-paper);border:1px solid var(--rule)}

/* On purple, stars stay light. Only the footer has candy punctuation.
   The large animated wordmark remains independent. */
.hero h1 .period.hero-star{background:#FBF9F6}
.f-cta h2 .period{
  background:var(--bx-candy);filter:none;
  -webkit-mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
  mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
}

/* Original drawings and soft fills; intermediate bright-violet outlines on light surfaces.
   Specific white, cream, semantic and interactive-state rules retain their colors. */
.ic{color:var(--bx-bright)}
.svc-ph .mark{background:#fff;box-shadow:0 3px 12px #35004714}
.svc-ph .mark .ic{color:var(--bx-bright);--fl:var(--lilac);--ac:#fff}
.mark.white .ic{color:var(--bx-bright)}
.step .k,.svc-body .from{color:var(--bx-bright)}
.feat{border-color:#E7DDED}

/* Room cards: an unfiltered photo, then a distinct title on the white card. */
.col-ph{width:calc(100% + 48px);height:auto;min-height:196px;aspect-ratio:3/2}
.col-ph::after{content:none;background:none}
.col:first-child .col-ph img{object-position:50% 4%}
.col h3{margin:20px 0 16px;line-height:1.2;color:var(--ink)}
@media(min-width:1080px) and (max-width:1199px){
  .col h3{font-size:20px;gap:10px}
}

/* Tactile paper and natural photography; remove unrelated gold/blue decoration. */
.card li{border-bottom-color:#DFD3E8}
.card .head,.card li b{color:var(--ink-2)}
.spark.s1,.spark.s3{color:var(--bx-candy)}
.spark.s2,.spark.s4{color:var(--star)}
.stk-star .glit{fill:#fff}

/* Geographic meaning stays legible: purple coverage, blue water, pink office star. */
.dmv .office path{fill:var(--bx-candy)}
.dmv .st{fill:var(--ink-2)}
.dmv .water{fill:#536D94}
.box .off{background:var(--star-soft);border-color:var(--rule)}
.box .off b{color:var(--bx-bright)}

/* Utility states are distinct from decorative accents. Visible boundaries and focus. */
.opts label>span,.pills span,.zipbox input,
.sheet input:not([type=checkbox]):not([type=radio]),.sheet select,.sheet textarea{border-color:var(--bx-control)}
.opts label:hover>span,.pills label:hover>span{border-color:var(--star-deep)}
.opts input:checked+span,.pills input:checked+span{background:var(--star);border-color:var(--star);color:#fff}
.opts input:focus-visible+span,.pills input:focus-visible+span{outline-color:var(--star-deep)}
.opts.big small,.sheet .sub,.field label small,.sheet .secure,.paper .fine{color:var(--ink-3)}
.opts.big input:checked+span small{color:#fff}
.opts input:checked+span em{color:#fff;opacity:1}
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}

/* Secondary footer copy and status text retain readable contrast. */
.f-bot .brands .from{opacity:1}
.paper .lines .save span,.zipbox .out.ok,.sheet .msg.ok{color:var(--bx-success-ink)}
.opts label>span em{color:var(--bx-success-ink)}
.opts input:checked+span em{color:#fff}
/* Keep the paper sticker inside the page at intermediate desktop widths. */
@media(min-width:601px){.cardwrap .stk-star{right:-14px}}
.how{overflow:clip}
.sheet input:not([type=checkbox]):not([type=radio]):focus,.sheet select:focus,.sheet textarea:focus,.zipbox input:focus{
  border-color:var(--star-deep);outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--star);
}

.notin .ic.rose{--fl:#FFF0F4}
.sheet .err{background:#FFF0F4}

/* Footer composition: use the left column instead of narrow inner text caps. */
.f-cta h2{max-width:14ch;text-wrap:balance}
.f-cta .about{max-width:70ch}
@media(min-width:880px){
  .f-top{grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);gap:clamp(32px,4vw,64px)}
}

/* ZIP feedback takes space only after a check; keep the live region present. */
.zipbox{padding:20px;box-shadow:0 2px 3px #35004704,0 12px 28px -20px #35004726}
.zipbox .out{min-height:0;margin:0}
.zipbox .out:not(:empty){margin-top:12px}

/* Quiet social links sit with the brand introduction, separate from contact cards. */
.f-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.f-social a{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:44px;padding:10px 16px;border:1px solid #EFDCF34D;border-radius:999px;
  color:#FBF9F6;background:#FFFFFF06;font-size:14px;font-weight:600;line-height:1.2;
  text-decoration:none;transition:background .18s,color .18s,border-color .18s;
}
.f-social a:hover{background:#FBF9F6;border-color:#FBF9F6;color:var(--plum)}
.f-social a:focus-visible{outline:2px solid #FBF9F6;outline-offset:4px}
.f-social svg{width:19px;height:19px;flex:0 0 19px;color:inherit}
.f-social .social-arrow{width:13px;height:13px;flex-basis:13px;margin-left:4px;opacity:.7}
@media(max-width:359px){.f-social .social-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.f-social a{transition:none}}

@media(max-width:879px){.box .pair img:first-child{max-width:calc(51.421477954671% - 20.568591181868px)}}

/* October 2: real people, remembered details, and one tactile equipment story. */
.svc,.rate,.incl,.how,.team,.reviews,.box,.areas,.faq{--band:clamp(60px,6.25vw,88px)}
.svc .sec-head,.incl .sec-head,.team .sec-head{max-width:860px}
.svc .sec-head .lede{max-width:57ch}
.svc-body .top{align-items:flex-start;flex-direction:column;gap:12px}
.svc-body .from{background:transparent;padding:0;font-size:15px;font-weight:500;color:var(--ink-2)}
.svc-body .from b{font-size:27px;font-weight:800;color:var(--star);letter-spacing:-.025em}
.svc-body p{min-height:4.5em}
.svc .checks{padding-top:18px;border-top:1px solid var(--rule);margin-top:20px}
.svc-card{box-shadow:none}
.svc-card:hover{box-shadow:var(--shadow)}
.perm .body{max-width:37ch}
.incl{padding-bottom:var(--band)}
.incl .col{box-shadow:none}
.scope-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;align-items:start}
.scope-notes details{border:1px solid var(--rule);border-radius:16px;background:#fff}
.scope-notes summary{display:flex;align-items:center;gap:12px;padding:20px 22px;cursor:pointer;list-style:none;font-size:17px;font-weight:700;line-height:1.3;min-height:68px}
.scope-notes summary::-webkit-details-marker{display:none}
.scope-notes summary>.ic{width:26px;height:26px;flex:0 0 26px}
.scope-notes summary>.scope-chevron{width:20px;height:20px;flex-basis:20px;margin-left:auto;transition:transform .2s}
.scope-notes details[open] .scope-chevron{transform:rotate(180deg)}
.scope-content{border-top:1px solid var(--rule);padding:20px 22px;color:var(--ink-2);font-size:16px;line-height:1.55}
.how{background:#F9F5FC;border-block:1px solid #EEE2EF}
.how .sec-head{max-width:850px}
.how .card{background-color:#FFFCFF}
.team .sec-head{display:grid;gap:0}
.team .lede{max-width:56ch}
.team-care{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:32px;margin-top:36px;border-top:1px solid var(--rule)}
.team-care-item{display:flex;gap:14px;align-items:flex-start}
.team-care-item>.ic{width:34px;height:34px;flex:0 0 34px}
.team-care h3{font-size:20px;line-height:1.2;letter-spacing:-.015em;margin:0 0 10px}
.team-care p{font-size:16px;line-height:1.5;color:var(--ink-2)}
.reviews{padding-bottom:clamp(40px,5vw,64px)}
.gua{margin-top:0;padding-top:0;padding-bottom:var(--band)}
.box .h-lg{max-width:14ch}
.areas .h-md{max-width:16ch}

/* The three illustrations have one shared baseline and deliberate visual weights. */
.care-kit{margin-top:clamp(48px,5.5vw,76px);padding-top:clamp(36px,4vw,56px);border-top:1px solid var(--rule);background:#fff;scroll-margin-top:104px}
.kit-intro{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:36px}
.kit-intro h3{font-size:clamp(30px,3.5vw,46px);font-weight:800;line-height:1.07;letter-spacing:-.028em;color:var(--star)}
.kit-intro h3 .serif{color:var(--ink);font-weight:400;letter-spacing:-.025em}
.kit-intro>p{font-size:18px;line-height:1.5;color:var(--ink-2);padding-bottom:4px;max-width:34ch;justify-self:end}
.kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(32px,5vw,72px);margin-top:24px}
.kit-item{min-width:0}
.kit-art{height:228px;display:grid;place-items:end center;margin:0 0 24px}
.kit-art picture{display:block;position:static;width:190px;height:190px;max-width:100%}
.kit-art img{display:block;position:static;width:100%;height:100%;object-fit:contain}
.kit-equipment .kit-art picture{width:220px;height:220px}
.kit-cloths .kit-art picture{width:184px;height:184px}
.kit-kicker{display:block;font-size:12px;letter-spacing:.095em;text-transform:uppercase;font-weight:700;color:#786483;margin-bottom:12px}
.kit-copy h4{font-size:clamp(23px,2.3vw,30px);line-height:1.1;letter-spacing:-.025em;font-weight:800;color:var(--ink);margin:0 0 14px}
.kit-copy p{font-size:16.5px;line-height:1.52;color:var(--ink-2);max-width:34ch}
.kit-foot{border-top:1px solid var(--rule);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:var(--ink-2)}
.kit-foot a{display:inline-flex;gap:10px;align-items:center;color:var(--star-deep);font-weight:600;min-height:44px}
.kit-foot a .ic{width:18px;height:18px}
.kit-foot a:hover{text-decoration:underline;text-underline-offset:4px}

/* Keep both stages of a recurring plan visible without changing the calculation. */
.paper .first{margin-top:18px;padding:18px;background:#F7EEFB;border:1px solid #EBD6F3}
.first-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.first-price>span{font-size:17px;font-weight:700;color:var(--ink)}
.first-price>b{font-size:38px!important;font-weight:800;line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
#first-txt>p{font-size:14px;line-height:1.45;margin-top:10px;max-width:31ch}
.paper .first label{font-size:13.5px;line-height:1.45}
.paper .total{padding-top:20px;gap:18px}
.paper .total .t{font-size:16px;max-width:65%;line-height:1.25;text-transform:none;letter-spacing:0}
.paper .total b{font-size:42px}
.price-context{font-size:13px;line-height:1.45;color:var(--ink-2);margin-top:16px}

@media(min-width:1000px){
  .team .sec-head{grid-template-columns:1.15fr 1fr;column-gap:60px;align-items:end;max-width:none}
  .team .sec-head>.label{grid-column:1/-1}
  .team .sec-head .lede{margin:0;padding-bottom:4px}
}
@media(min-width:640px) and (max-width:999px){
  .kit-grid{gap:28px}.kit-art{height:204px}.kit-art picture{width:170px;height:170px}.kit-equipment .kit-art picture{width:188px;height:188px}.kit-cloths .kit-art picture{width:160px;height:160px}
  .kit-intro{grid-template-columns:1fr;gap:18px}.kit-intro>p{justify-self:start;max-width:none}.kit-intro>p br{display:none}
  .team-care{gap:22px}.team-care-item{display:block}.team-care-item>.ic{margin-bottom:16px}
}
@media(max-width:759px){.svc-body p{min-height:0}.svc-body .top{flex-direction:row;align-items:baseline}.svc .checks{margin-top:16px;padding-top:16px}}
@media(max-width:639px){
  .kit-intro{display:block}.kit-intro>p{margin-top:18px;font-size:17px;max-width:32ch;justify-self:start}
  .scope-notes{grid-template-columns:1fr;gap:12px;margin-top:24px}.scope-notes summary{padding:18px;font-size:16px}.scope-content{padding:18px}
  .kit-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}
  .kit-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center}
  .kit-art{width:110px;height:140px;margin:0}.kit-art picture{width:104px;height:104px}.kit-equipment .kit-art picture{width:110px;height:110px}.kit-cloths .kit-art picture{width:104px;height:104px}
  .kit-copy h4{font-size:23px;margin-bottom:10px}.kit-copy p{font-size:15.5px;line-height:1.45}.kit-kicker{font-size:11px;line-height:1.3;letter-spacing:.07em;margin-bottom:8px}
  .kit-foot{display:block;margin-top:28px}.kit-foot a{margin-top:6px;font-size:13.5px}.kit-foot>span{display:block}
  .team-care{grid-template-columns:1fr;gap:24px;margin-top:28px;padding-top:28px}.team-care-item{display:flex}
  .team-care h3{font-size:20px}.team-care p{font-size:16px}
  .paper .first{padding:15px}.first-price>b{font-size:36px!important}.paper .total b{font-size:40px}
}
@media(max-width:359px){
  .kit-item{grid-template-columns:82px minmax(0,1fr);gap:16px}.kit-art{width:82px}.kit-art picture,.kit-equipment .kit-art picture,.kit-cloths .kit-art picture{width:82px;height:82px}
  .kit-copy h4{font-size:21px}.kit-copy p{font-size:15px}.kit-kicker{display:none}
  .svc-body .top{gap:8px}.svc-body h3{font-size:22px}
}



/* One hierarchy, with deliberate display / reading / interface roles. */
:root{
  --t-h1:clamp(48px,4.8vw,68px);--t-h2:clamp(36px,4vw,54px);--t-h2s:clamp(34px,3.3vw,44px);
  --t-h3:24px;--t-h4:20px;--t-lede:20px;--t-body:18px;--t-ui:16px;--t-s:14px;--t-xs:14px;--t-label:12px;
  --band:88px;--s6:40px;--gutter:clamp(20px,3.4vw,48px);
}
.svc,.rate,.incl,.how,.team,.reviews,.box,.areas,.faq{--band:88px}
body{line-height:1.55}
section{scroll-margin-top:92px}
.display,.hero h1{letter-spacing:-.035em}
.h-lg{font-size:var(--t-h2);line-height:1.08}
.h-md{font-size:var(--t-h2s);line-height:1.1}
h2,h3,h4{text-wrap:balance}
.sec-head{margin-bottom:40px;max-width:800px}
.sec-head h2{margin-top:12px}
.lede{font-size:var(--t-lede);line-height:1.5;margin-top:16px;max-width:56ch;text-wrap:pretty}
.label{font-size:var(--t-label);letter-spacing:.11em;line-height:1.4}
.btn,.btn.sm,.btn.lg{font-size:16px;line-height:1.25;min-height:52px;padding:14px 24px}
.btn.sm{min-height:48px;padding:12px 20px}
.btn.lg{min-height:56px;padding:16px 26px}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
.hero h1{font-size:var(--t-h1)}
.hero .sub,.hero .sub>span{font-size:20px;line-height:1.5}
.hero .hero-eyebrow{font-size:14px}
.hero .hero-price{font-size:14px}
.hero .hero-proof b{font-size:16px;font-weight:700}
.hero .hero-proof small{font-size:14px;line-height:1.4}
.hero .cta-row .btn{font-size:16px;min-height:56px;padding:16px 26px}
.hero .hero-text-link{font-size:16px;min-height:48px}
#hdr.hero-header nav.main,#hdr.hero-header .header-call .header-phone{font-size:16px}
#hdr.hero-header .header-call small{font-size:12px}
#hdr nav.main a{display:flex;align-items:center;min-height:44px}
.perm .quote{font-size:clamp(36px,3.7vw,50px);line-height:1.12}
.mini-list li{font-size:18px;line-height:1.4}
.mini-list li small{font-size:16px;line-height:1.45;color:var(--ink-2)}
.svc-body h3,.col h3{font-size:24px;font-weight:750;line-height:1.2;letter-spacing:-.02em}
.svc-body .top{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.svc-body .from{font-size:14px;line-height:1.3;color:var(--ink-2)}
.svc-body .from b{font-size:28px;font-weight:750}
.svc-body p{font-size:16px;line-height:1.5;min-height:6em;text-wrap:pretty;margin-top:16px}
.svc-body{padding:38px 24px 24px}
.svc-body .foot .btn{width:100%}
.svc-body .foot{padding-top:24px}
.checks li{font-size:16px;line-height:1.45}
.service-details{margin-top:20px;border-top:1px solid var(--rule)}
.service-details>summary{display:none}
.svc .checks{border:0;margin:0;padding-top:18px;gap:12px}
.svc-ph .deep-detail img{object-position:50% 30%;filter:brightness(1.07)}
.col{padding:0;min-width:0}
.col-ph{display:block;margin:0;width:100%;min-height:0;height:auto;aspect-ratio:3/2}
.col h3{margin:20px 24px 16px;gap:10px}
.col h3 .ic{width:28px;height:28px}
.room-content{padding:0 24px 16px}
.room-content li{font-size:16px;line-height:1.5}
.room-details>summary{cursor:default}
.room-heading{display:block}
.room-hint,.room-action,.room-details>summary>.disclosure-chevron{display:none}
.scope-notes summary{font-size:16px;line-height:1.4;min-height:64px}
.scope-content{font-size:16px;line-height:1.5}
.kit-intro h3{font-size:var(--t-h2s);line-height:1.12}
.kit-intro>p{font-size:18px;line-height:1.5}
.kit-copy h4{font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:750;margin-bottom:12px}
.kit-copy p{font-size:16px;line-height:1.5}
.kit-kicker{font-size:12px;line-height:1.4;letter-spacing:.09em}
.kit-foot,.kit-foot a{font-size:14px;line-height:1.5}
.step h3,.team-care h3{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.step p,.team-care p,.facts li{font-size:16px;line-height:1.5}
.step .k{font-size:12px;line-height:1.4}
.team figcaption{font-size:16px;line-height:1.5;align-items:flex-start}
.team figcaption .ic{margin-top:2px;flex:none}
.team-care{gap:32px}
.rev blockquote{font-size:20px;line-height:1.5}
.rev .stars small,.rev .who>div>span{font-size:14px;line-height:1.4}
.rev .who b{font-size:16px}
.rev.sum .big{font-size:44px;line-height:1.08}
.rev.sum .big small{font-size:14px}
.reviews-controls{display:none}
.gua h2{font-size:var(--t-h2);line-height:1.08;max-width:14ch}
.gua .block{grid-template-areas:'intro' 'promises' 'action';gap:28px}
.gua .txt{grid-area:intro}.gua .rows{grid-area:promises}.gua .act{grid-area:action;margin-top:0;z-index:2}
.gua .rows b{font-size:20px;line-height:1.3}
.gua .rows li{font-size:16px;line-height:1.5}
.gua .act small{font-size:14px;line-height:1.5}
.box li{font-size:18px;line-height:1.5}
.box .off span{font-size:18px;line-height:1.4}
.box .off small,.box .press{font-size:14px;line-height:1.5}
.bx-link{min-height:44px}
.areas .lede{font-size:var(--t-lede)}
.area-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.area-details h3{font-size:12px;line-height:1.4}
.area-details .disclosure-chevron,.footer-details .disclosure-chevron{display:none}
.areas li a{font-size:16px;line-height:1.25;min-height:44px;display:flex;align-items:center;padding:10px 14px}
.areas .fine{font-size:14px;line-height:1.55}
.faq summary{font-size:18px;line-height:1.4;min-height:68px}
.faq p{font-size:16px;line-height:1.6}
.faq .label{font-size:var(--t-label);line-height:1.4;margin:0}
.faq .ask h3{font-size:20px;line-height:1.3}
.faq .ask p{font-size:16px;line-height:1.5;margin:0}
.f-cta h2{font-size:clamp(40px,4.8vw,68px);line-height:1.05}
.f-cta .about{font-size:16px;line-height:1.6}
.f-contact b{font-size:20px;line-height:1.3}
.f-contact span{font-size:14px;line-height:1.5}
.f-contact small{font-size:12px;line-height:1.4}
.f-links{font-size:16px}
.f-links a,.f-links .cities a{font-size:16px;min-height:44px;display:flex;align-items:center;padding:10px 0;line-height:1.4}
.f-links .cities{gap:0 20px}
.f-bot{font-size:14px;line-height:1.55}
.footer-details>summary{display:flex;justify-content:space-between;align-items:center}
.footer-details h4{font-size:12px;line-height:1.4}

/* Choices and the receipt have the same order for sight, touch and screen readers. */
.count-studio{display:contents}
.opts label>span,.opts.big small{font-size:16px;line-height:1.4}
.opts label>span{min-height:48px}
.opts.big b{font-size:18px;line-height:1.3}
.opts label>span em{font-size:14px;line-height:1.3}
.choice .label{color:var(--ink-2);margin-bottom:12px;font-size:12px}
.choice .label .ic{width:24px;height:24px}
.choices{gap:28px}
.more-link{min-height:44px;padding-block:12px;font-size:16px}
.price-help{display:grid;gap:28px;min-width:0}
.price-help .always,.price-help .mini{padding-top:24px}
.price-help .always li{font-size:16px;line-height:1.5;align-items:flex-start}
.price-help .always .ic{width:26px;height:26px}
.mini summary{font-size:16px;line-height:1.4;min-height:56px}
.mini p{font-size:16px;line-height:1.5}
.receipt{scroll-margin-top:100px}
.receipt:focus{outline:none}
.receipt:focus-visible .paper{outline:3px solid var(--star);outline-offset:4px}
.paper .ph-head h3{font-size:24px;line-height:1.2}
.paper .lines{font-size:16px;line-height:1.5}
.paper .first label,#first-txt>p{font-size:14px;line-height:1.5}
.paper .first label{min-height:44px}
.first-price>b{font-size:40px!important}
.paper .total b{font-size:40px}
.paper .total .t{font-size:16px;line-height:1.35;padding-bottom:2px;max-width:60%}
.paper .fine,.price-context{font-size:14px;line-height:1.5}
.paper .quote-note{font-size:16px;line-height:1.5}
.mob-estimate{display:none}

/* The form keeps a close control in view, even after the keyboard and long scroll. */
.sheet{padding-top:0;overscroll-behavior:contain;scroll-padding-top:80px}
.sheet-tools{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--rule);padding:14px 0;margin-bottom:20px}
.sheet-tools>span{font-size:12px;line-height:1.3;letter-spacing:.1em;font-weight:700;color:var(--ink-3)}
.sheet-x{position:static;width:48px;height:48px;flex:none}
.sheet h2{font-size:28px;line-height:1.15;padding-right:0}
.sheet .sub{font-size:16px;line-height:1.5;margin-top:10px}
.sheet input:not([type=checkbox]):not([type=radio]),.sheet select,.sheet textarea{font-size:16px;min-height:52px}
.field label{font-size:16px;line-height:1.4}
.tabs button,.pills span{font-size:16px;line-height:1.25;min-height:48px}
.sheet .btn{white-space:normal;min-height:56px;line-height:1.3;text-align:center}
.consent{font-size:14px;line-height:1.5;min-height:44px;padding:8px 0}
.consent input,.paper .first input{width:22px;height:22px}
.sheet [aria-invalid=true]{border-color:var(--danger)!important;background:#FFF6F8!important}
.sheet .err{font-size:14px;line-height:1.5}
.summary .d{font-size:16px;line-height:1.4}
.summary .n,.summary .p small,.summary .n .link{font-size:14px;line-height:1.5}
.summary .n .link{min-height:44px;display:flex;width:max-content;align-items:center}
body.nav-open{overflow:hidden}
.nav-shade{display:none}
body.nav-open .nav-shade{display:block;position:fixed;inset:0;z-index:45;background:#35004730;border:0;padding:0;cursor:pointer;backdrop-filter:blur(2px)}
body.locked .nav-shade{display:none}
body.locked .mobar,body.nav-open .mobar{visibility:hidden;opacity:0;pointer-events:none}
.mobar.receipt-actions-visible{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%)}
@media(min-width:880px){
  /* Keep the review photo beside the heading after the shared section-head width rule. */
  .reviews .rev-head{max-width:none;flex-wrap:nowrap}
  .reviews .rev-head>div{min-width:0}
  .reviews .rev-head>.polaroid{width:clamp(200px,18vw,236px)}
  .rate .grid{grid-template-columns:minmax(0,1.3fr) minmax(350px,.85fr);column-gap:48px;row-gap:32px}
  .receipt{grid-column:2;grid-row:1/3}
  .price-help{grid-column:1;grid-row:2}
  .gua .block{grid-template-areas:'intro promises' 'action promises';grid-template-columns:1.05fr .95fr;column-gap:48px;row-gap:28px}
  .gua .rows{align-self:center}
}
@media(min-width:760px) and (max-width:1079px){
  .svc-grid{grid-template-columns:1fr;gap:24px}
  .svc-card{display:grid;grid-template-columns:38% minmax(0,1fr)}
  .svc-ph{aspect-ratio:3/2;min-height:0;height:auto;align-self:center;margin:24px 0 36px 24px;width:calc(100% - 24px);border-radius:16px}
  .svc-ph picture{border-radius:16px}
  .svc-ph .mark{left:16px;bottom:-20px;width:44px;height:44px;border-radius:14px}
  .svc-body{padding:24px}
  .svc-body p{min-height:0}
  .svc-body .top{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
  .cols{grid-template-columns:1fr 1fr}
}
@media(min-width:1080px) and (max-width:1199px){
  .svc-body{padding-inline:20px}
  .cols{grid-template-columns:1fr 1fr}
  .col-ph{aspect-ratio:2/1}
}
@media(max-width:1179px){
  #hdr.hero-header #mnav{position:absolute;left:0;right:0;top:100%;margin:0;padding:12px var(--gutter) max(28px,env(safe-area-inset-bottom));border-top:1px solid var(--rule)}
  #hdr.hero-header #mnav.open{display:flex;max-height:calc(100dvh - 77px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 32px #35004720}
  #mnav a{min-height:56px;font-size:20px;padding:14px 0}
  #mnav a.btn{margin-top:16px;font-size:16px;min-height:52px}
  #hdr.hero-header #mnav .menu-contact{display:flex;min-height:72px}
  #mnav .menu-contact b{font-size:18px}
  #mnav .menu-contact small{font-size:14px}
}
@media(max-width:879px){
  :root{--t-h2:36px;--t-h2s:34px;--t-lede:18px;--t-body:16px;--band:64px}
  .svc,.rate,.incl,.how,.team,.reviews,.box,.areas,.faq{--band:64px}
  #hdr.hero-header .bar{height:68px}
  #hdr.hero-header .logo img{width:176.889884164068px;height:auto;max-height:36px}
  #hdr.hero-header .iconbtn{width:48px;height:48px}
  #hdr.hero-header #mnav.open{max-height:calc(100dvh - 69px)}
  section,.care-kit{scroll-margin-top:88px}
  .rv{opacity:1;transform:none;transition:none}
  .sec-head{margin-bottom:32px}
  .hero{padding-top:28px}
  .hero .hero-grid{gap:28px}
  .hero h1{font-size:clamp(36px,10.3vw,54px);line-height:1.05}
  .hero h1>span{white-space:normal}
  .hero .sub,.hero .sub>span{font-size:18px;line-height:1.5}
  .hero .hero-eyebrow{font-size:14px;margin-bottom:20px}
  .hero .hero-proof b{font-size:16px;line-height:1.3}
  .hero .hero-proof small{font-size:14px;line-height:1.4;margin-top:6px}
  .hero .hero-lineage{grid-template-columns:1fr 1fr;padding:24px 0 28px;gap:24px 20px}
  .hero .hero-proof,.hero .hero-proof+.hero-proof{display:block;border:0;padding:0}
  .hero .hero-proof>.ic{width:26px;height:26px;margin:0 0 10px}
  .perm{padding-block:64px}
  .perm-grid{gap:32px}
  .perm .quote{font-size:36px;max-width:18ch;margin-top:12px;margin-bottom:20px}
  .perm .body{font-size:18px;line-height:1.5;max-width:none}
  .mini-list{gap:20px;margin-top:28px}
  .mini-list li{align-items:flex-start;font-size:18px}
  .mini-list li .ic{width:28px;height:28px}
  .rate .grid{gap:28px}
  .receipt{position:static;scroll-margin-top:92px}
  .paper{padding:24px}
  .price-help{gap:20px}
  .price-help .always ul{grid-template-columns:1fr 1fr;gap:20px}
  .price-help .always li{display:block}
  .price-help .always .ic{margin-bottom:10px}
  .paper .total b{font-size:36px}
  .paper .first{padding:16px}
  .first-price>b{font-size:36px!important}
  .price-context{margin-top:14px}
  .mobar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #35004708}
  .mob-estimate{display:flex;flex-direction:column;min-width:0;gap:3px;line-height:1.3}
  .mob-estimate b{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
  .mob-estimate span{font-size:12px;color:var(--ink-2);line-height:1.35}
  .mobar .btn{font-size:16px;min-height:50px;padding:12px 20px}
  .mobar:not(.has-price) .mob-estimate b{font-size:14px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  footer{padding-bottom:0}
  .team .sec-head{max-width:600px}
  .team-care{gap:24px;margin-top:28px;padding-top:28px}
  .gua .block{padding:32px 24px;gap:28px}
  .gua h2{max-width:none}
  .gua .rows li{grid-template-columns:40px 1fr;gap:14px;padding:20px 0;align-items:start}
  .gua .rows .mark{width:40px;height:40px;border-radius:12px}
  .gua .rows .mark .ic{width:24px;height:24px}
  .gua .act{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .gua .act small{grid-column:1/-1}
  .gua .act .btn{white-space:normal;text-align:center;padding-inline:14px}
  .box li{font-size:16px;line-height:1.5}
  .box .box-cta{gap:8px}
  .box .off{padding:28px;gap:10px}
  .areas-grid{gap:28px}
  .areas .h-md{max-width:18ch}
  .mapcard{padding:8px}
  .legend{gap:12px;font-size:12px;line-height:1.3;margin-top:0;padding:10px 8px;border:0}
  .faq-grid{gap:28px}
  .faq .ask{margin-top:4px;padding:24px}
  .faq summary{font-size:18px;padding-block:20px}
  .faq summary .tile{width:32px;height:32px}
  .faq p{font-size:16px;line-height:1.6}
  .f-top{gap:32px}
  .f-cta .about{margin-top:28px}
  .f-contact{gap:12px}
  .f-contact a{padding:18px;grid-template-columns:28px minmax(0,1fr);gap:14px}
  .f-contact .ic{width:28px;height:28px}
  .f-contact b{font-size:18px}
  .f-bot{margin-top:32px;padding-block:24px}
}
@media(max-width:759px){
  :root{--t-h3:22px;--t-h4:20px;--gutter:20px}
  .h-lg,.h-md{font-size:34px;line-height:1.12;letter-spacing:-.03em}
  .hero .hero-media .ph{aspect-ratio:1.4;border-radius:20px}
  .hero .hero-note{font-size:22px;right:12px;padding:12px 16px 14px}
  .hero .cta-row{gap:22px;flex-wrap:wrap;margin-top:24px}
  .hero .hero-price{font-size:14px;line-height:1.4}
  .hero .sub{margin-top:20px}
  .perm .frame{aspect-ratio:4/3;border-radius:20px}
  .perm .quote{font-size:34px;line-height:1.15}
  .svc-grid{gap:24px}
  .svc-card{border-radius:20px}
  .svc-ph{aspect-ratio:16/9}
  .svc-ph .mark{width:44px;height:44px;border-radius:14px;left:20px;bottom:-20px}
  .svc-ph .mark .ic{width:24px;height:24px}
  .svc-body{padding:34px 20px 20px}
  .svc-body h3{font-size:24px}
  .svc-body .top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
  .svc-body .from{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline;justify-content:flex-end;max-width:110px}
  .svc-body .from b{font-size:24px}
  .svc-body p{min-height:0;margin-top:14px}
  .service-details{margin-top:18px}
  .service-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;font-size:16px;font-weight:600;color:var(--ink-2);cursor:pointer}
  .disclosure-chevron{width:20px;height:20px;transition:transform .2s;color:currentColor;--fl:transparent}
  details[open]>summary>.disclosure-chevron{transform:rotate(180deg)}
  .svc .checks{padding-top:0;padding-bottom:12px}
  .svc-body .foot{padding-top:4px}
  .svc-body .foot .btn{min-height:52px}
  .count-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .count-options label>span{width:100%;height:56px;padding:8px 4px;display:flex;flex-direction:column;gap:0;justify-content:center;border-radius:14px;font-size:18px;line-height:1.1}
  .count-studio{display:block;font-size:12px;line-height:1.2;margin-bottom:2px}
  .opts.big{grid-template-columns:1fr;gap:10px}
  .opts.big label:last-child{grid-column:auto}
  .opts.big label>span{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;column-gap:14px;row-gap:4px;min-height:88px;padding:16px;border-radius:16px;position:relative}
  .opts.big .ic{width:28px;height:28px;margin:0;grid-column:1;grid-row:1/3;align-self:center}
  .opts.big b{font-size:18px;grid-column:2;grid-row:1;line-height:1.25}
  .opts.big small{font-size:14px;grid-column:2;grid-row:2;line-height:1.4}
  .opts.big label>span::after{content:'';width:20px;height:20px;border:1.5px solid var(--bx-control);border-radius:50%;grid-column:3;grid-row:1/3;align-self:center}
  .opts.big input:checked+span::after{border:5px solid #fff;background:var(--star)}
  #freq .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #freq .opts label>span{width:100%;min-height:54px;justify-content:center;padding:12px 6px;border-radius:14px;gap:6px;font-size:16px}
  #freq .opts label>span em{font-size:13px}
  #addons{display:grid;grid-template-columns:1fr;gap:8px}
  #addons label>span{display:flex;width:100%;min-height:54px;padding:12px 14px;border-radius:14px;gap:10px;font-size:16px;line-height:1.4}
  #addons label>span::before{content:'';width:22px;height:22px;flex:none;border:1.5px solid var(--bx-control);border-radius:6px;background:#fff}
  #addons input:checked+span::before{content:'✓';color:var(--star);border-color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px}
  #addons label>span em{margin-left:auto;white-space:nowrap;font-size:14px}
  .paper{padding:22px 20px;border-radius:20px;box-shadow:none}
  .paper .total{padding-top:18px;align-items:center}
  .paper .first{margin-top:18px}
  .paper .ph-head h3{font-size:24px}
  .price-help .always ul{grid-template-columns:1fr;gap:16px}
  .price-help .always li{display:flex;align-items:flex-start;gap:12px}
  .price-help .always .ic{margin:0}
  .cols{grid-template-columns:1fr;gap:12px}
  .col{border-radius:18px}
  .room-details>summary{display:grid;grid-template-columns:92px minmax(0,1fr) 20px;align-items:center;column-gap:14px;row-gap:0;padding:12px;cursor:pointer;min-height:120px}
  .room-details .col-ph{grid-column:1;grid-row:1/4;width:92px;height:96px;aspect-ratio:auto;border-radius:10px;overflow:hidden}
  .room-details h3{grid-column:2;grid-row:1;font-size:22px;margin:0;line-height:1.15;display:block;align-self:end}
  .room-details h3 .ic{display:none}
  .room-hint{grid-column:2;grid-row:2;display:block;font-size:14px;color:var(--ink-2);line-height:1.35;margin-top:7px}
  .room-action{grid-column:2;grid-row:3;display:block;font-size:12px;font-weight:600;line-height:1.3;color:var(--star);margin-top:8px;align-self:start}
  .room-details>summary>.disclosure-chevron{grid-column:3;grid-row:1/4;display:block;color:var(--star)}
  .room-content{padding:0 20px 12px}
  .room-content li{font-size:16px;padding:12px 0}
  .room-details .when-open{display:none}
  .room-details[open] .when-open{display:inline}
  .room-details[open] .when-closed{display:none}
  .scope-notes{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .scope-notes summary{padding:18px;font-size:16px;min-height:68px}
  .scope-notes summary>.ic{width:24px;height:24px}
  .scope-content{padding:18px;font-size:16px}
  .care-kit{margin-top:48px;padding-top:40px}
  .kit-intro{display:block}
  .kit-intro h3{font-size:32px;line-height:1.12}
  .kit-intro>p{font-size:18px;max-width:none;margin-top:18px;padding:0}
  .kit-intro>p br{display:none}
  .kit-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .kit-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;align-items:center}
  .kit-art{width:104px;height:136px;margin:0;place-items:center}
  .kit-art picture,.kit-equipment .kit-art picture,.kit-cloths .kit-art picture{width:104px;height:104px}
  .kit-copy h4{font-size:22px;line-height:1.2;margin-bottom:10px}
  .kit-copy p{font-size:16px;line-height:1.5}
  .kit-kicker{display:none}
  .kit-foot{display:block;margin-top:28px;padding-top:18px}
  .kit-foot>span{display:block}
  .kit-foot a{font-size:14px;min-height:48px;margin-top:4px}
  .how-grid{gap:36px}
  .steps{gap:28px}
  .step{grid-template-columns:32px minmax(0,1fr);gap:16px;position:relative}
  .step>.ic{width:30px;height:30px;margin-top:2px}
  .step:not(:last-child)::after{content:'';position:absolute;top:44px;left:15px;width:1px;bottom:-16px;background:#E4D4EB}
  .step h3{font-size:22px;line-height:1.25}
  .step p{font-size:16px;line-height:1.5}
  .cardwrap{padding:16px 3px 0}
  .card{padding:20px 18px 44px;transform:rotate(-.7deg)}
  .card .head{font-size:12px;line-height:1.4;letter-spacing:.05em;gap:16px}
  .card .head>b{max-width:64%;font-weight:700}
  .card li{grid-template-columns:54px minmax(0,1fr);gap:12px;padding-block:12px}
  .card li b{font-size:12px;line-height:1.4;letter-spacing:.04em}
  .card li span{font-size:18px;line-height:1.45}
  .card-cap{font-size:14px;line-height:1.5;margin-top:20px;padding-inline:12px}
  .facts{gap:20px;margin-top:36px;padding-top:28px}
  .facts li{font-size:16px;align-items:flex-start}
  .facts .ic{width:28px;height:28px}
  .team .faces{grid-template-columns:1fr 1fr;gap:24px 14px}
  .team .frame{border-radius:18px}
  .team .faces figure:first-child{grid-column:1/-1}
  .team .faces figure:first-child .frame{aspect-ratio:4/3}
  .team figcaption{font-size:14px;line-height:1.4;margin:12px 0 0;display:block}
  .team figcaption .ic{display:none}
  .team figcaption b{display:block;font-size:16px;margin-bottom:4px}
  .team-care{grid-template-columns:1fr;gap:24px}
  .team-care-item{gap:14px}
  .team-care h3{font-size:20px;line-height:1.3}
  .team-care p{font-size:16px}
  .team-care-item>.ic{width:30px;height:30px;flex-basis:30px}
  .reviews{overflow:hidden;padding-bottom:40px}
  .rev-grid{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:calc(-1 * var(--gutter));padding:2px var(--gutter) 8px 2px;scroll-padding-left:2px}
  .rev-grid::-webkit-scrollbar{display:none}
  .rev{flex:0 0 calc(100% - 24px);min-width:0;scroll-snap-align:start;padding:24px;border-radius:20px;box-shadow:none;gap:20px}
  .rev blockquote{font-size:20px;line-height:1.5}
  .rev .who{align-items:flex-start;padding-top:16px}
  .rev .who>div>span{font-size:14px;line-height:1.45;display:block;margin-top:3px}
  .rev.sum .big{font-size:36px}
  .reviews-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:14px;color:var(--ink-2)}
  .reviews-controls>div{display:flex;gap:10px}
  .reviews-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--bx-control);border-radius:50%;background:#fff;color:var(--star);cursor:pointer}
  .reviews-controls button[disabled]{opacity:.35;cursor:default}
  [data-review-prev] .ic{transform:rotate(90deg)}
  [data-review-next] .ic{transform:rotate(-90deg)}
  .gua{padding-bottom:64px}
  .gua .block{border-radius:22px;padding:30px 22px}
  .gua h2{font-size:34px;line-height:1.12}
  .gua .lede{font-size:18px;line-height:1.5}
  .gua .rows b{font-size:20px}
  .box .pair{flex-wrap:nowrap;gap:12px}
  .box .pair img{max-width:calc(50% - 20px);height:28px;object-fit:contain}
  .box .pair .x{font-size:20px}
  .box .h-lg{max-width:none}
  .box .off{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;text-align:left;justify-items:start;padding:24px}
  .box .off .mark{display:none}
  .box .off b{font-size:48px;grid-row:1/3;align-self:center}
  .box .off span{font-size:18px;line-height:1.4}
  .box .off small{grid-column:1/-1;max-width:none;margin-top:8px;font-size:14px;line-height:1.5}
  .areas .lists{grid-template-columns:1fr;gap:0;margin-top:28px;border-top:1px solid var(--rule)}
  .area-details{border-bottom:1px solid var(--rule)}
  .area-details>summary{min-height:64px;padding:16px 0;cursor:pointer}
  .area-details h3{margin:0;font-size:14px;line-height:1.3;letter-spacing:.04em}
  .area-details .disclosure-chevron,.footer-details .disclosure-chevron{display:block}
  .area-details .disclosure-content{padding-bottom:20px}
  .areas .fine{margin-top:24px}
  .dmv .city text,.dmv .city.major text,.dmv .office text{display:none}
  .dmv .city:is([data-city="ashburn"],[data-city="reston"],[data-city="bethesda"],[data-city="rockville"],[data-city="arlington"]) text{display:block;font-size:26px;stroke-width:4px}
  .dmv .st{font-size:25px;letter-spacing:.09em}
  .zipbox{margin-top:24px;padding:20px;box-shadow:none}
  .faq .ask .row{gap:10px}
  .faq .ask .row>.btn{flex:1;padding-inline:12px}
  .f-cta h2{font-size:42px;max-width:12ch}
  .f-cta .row{gap:12px;margin-top:28px}
  .f-cta .row .btn{flex:1;min-height:52px;padding-inline:14px}
  .f-links{display:block;margin-top:32px;padding-top:0;border-top:1px solid #FFFFFF26}
  .footer-details{border-bottom:1px solid #FFFFFF26}
  .footer-details>summary{min-height:64px;padding:18px 0;cursor:pointer}
  .footer-details h4{font-size:14px;letter-spacing:.07em;margin:0}
  .footer-details .disclosure-chevron{color:#fff}
  .footer-details .disclosure-content{padding-bottom:20px}
  .f-links .cities{gap:0 20px}
  .giant.footer-wordmark{margin-block:16px 24px}
  .sheet-bg{padding:0;align-items:stretch}
  .sheet{max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding:0 20px max(28px,env(safe-area-inset-bottom))}
  .sheet-tools{margin-bottom:24px;min-height:72px;padding:12px 0}
  .sheet h2{font-size:28px}
  .summary{padding:18px;grid-template-columns:28px minmax(0,1fr);gap:12px;margin-top:20px}
  .summary>.ic{grid-column:1;grid-row:1;width:28px;height:28px;align-self:start}
  .summary .d{grid-column:2;grid-row:1;font-size:16px;line-height:1.4}
  .summary .p{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;text-align:left;font-size:32px;border-top:1px solid var(--rule);padding-top:12px}
  .summary .p>span{white-space:nowrap}
  .summary .p small{font-size:14px;line-height:1.4;margin:0;white-space:nowrap}
  .summary .n{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.5}
  .sheet .row2{grid-template-columns:1fr}
  .sheet form{gap:18px;margin-top:24px}
  .tabs button{padding:12px 8px;gap:6px}
  .tabs button .ic{width:18px;height:18px}
  .pills{display:grid;grid-template-columns:1fr;gap:8px}
  .pills label>span{width:100%;justify-content:center;min-height:48px;border-radius:12px}
  .sheet .secure{font-size:14px;line-height:1.5}
  .done h3{font-size:24px;line-height:1.2}
  .done p{font-size:16px}
}
@media(max-width:359px){
  :root{--gutter:16px}
  .h-lg,.h-md,.perm .quote,.gua h2{font-size:32px}
  .hero h1{font-size:34px}
  .hero .hero-eyebrow{font-size:13px}
  .hero .cta-row{gap:16px}
  .hero .cta-row .btn{padding-inline:20px}
  .hero .hero-note{font-size:20px}
  .hero .hero-lineage{grid-template-columns:1fr 1fr;gap:24px 16px}
  .hero .hero-proof b{font-size:14px}
  .hero .hero-proof small{font-size:13px}
  .svc-body .top{grid-template-columns:1fr;gap:8px}
  .svc-body .from{justify-content:flex-start;max-width:none}
  .count-options{gap:6px}
  #freq .opts label>span{font-size:14px;gap:4px}
  .paper{padding-inline:16px}
  .paper .first{padding:14px}
  .room-details>summary{grid-template-columns:76px minmax(0,1fr) 18px;gap:10px;padding:10px}
  .room-details .col-ph{width:76px;height:100px}
  .room-details h3{font-size:20px}
  .room-hint{font-size:14px}
  .kit-item{grid-template-columns:84px minmax(0,1fr);gap:16px}
  .kit-art{width:84px}
  .kit-art picture,.kit-equipment .kit-art picture,.kit-cloths .kit-art picture{width:84px;height:84px}
  .kit-copy h4{font-size:20px}
  .kit-copy p{font-size:16px}
  .mobar{gap:10px}
  .mobar .btn{font-size:14px;padding-inline:16px}
  .mob-estimate b{font-size:16px}
  .mob-estimate span{font-size:12px}
  .mobar:not(.has-price) .mob-estimate b{font-size:13px}
  .box .off{grid-template-columns:1fr;gap:8px}
  .box .off b{grid-row:auto}
  .gua .act{grid-template-columns:1fr}
  .f-cta h2{font-size:38px}
  .f-cta .row .btn{padding-inline:12px}
}
@media(hover:none){
  .svc-card:hover,.btn:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .rev-grid{scroll-behavior:auto}
  .disclosure-chevron{transition:none}
}



/* More reading space, with the current price always within reach. */
.hero .cta-row{gap:16px}
.hero .cta-row .hero-text-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:56px;padding:16px 26px;border:1.5px solid #FBF9F6;
  border-radius:999px;background:transparent;color:#FBF9F6;
  font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;
  box-shadow:none;
}
.hero .cta-row .hero-text-link:hover{
  background:#FFFFFF14;border-color:#fff;color:#fff;text-decoration:none;
}
.hero .cta-row .hero-text-link .ic{width:20px;height:20px}

/* Author metadata and the avatar are different elements, not shared text spans. */
.rev .who>.av{
  display:grid;place-items:center;flex:0 0 44px;
  width:44px;height:44px;margin:0;padding:0;
  font-size:15px;font-weight:800;line-height:1;letter-spacing:.02em;
  text-align:center;color:var(--star-deep);
}
.rev .who>div{min-width:0}

/* The guarantee stands on its promise and actions. */
.gua .block{background:var(--star)}
.gua .block::before,.gua .block::after{content:none;display:none}

@media(max-width:879px){
  #hdr.hero-header{transition:transform .18s ease,background-color .18s ease,border-color .18s ease}
  #hdr.hero-header .bar{height:60px}
  #hdr.hero-header .logo img{width:160.435011218573px;max-height:32px}
  #hdr.hero-header .iconbtn{width:44px;height:44px}
  #hdr.hero-header #mnav.open{max-height:calc(100dvh - 61px)}
  body.phone-header-away #hdr{transform:translateY(calc(-100% - 1px))}
  section,.care-kit{scroll-margin-top:80px}
  .receipt{scroll-margin-top:84px}
  .mobar{padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom))}
  .mobar .btn{min-height:48px;padding-block:11px}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media(max-width:759px){
  .hero .cta-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px}
  .hero .cta-row .btn{min-width:0;min-height:56px;padding:14px 12px;gap:8px;justify-content:center;white-space:nowrap}
  .hero .cta-row .btn .ic{width:20px;height:20px;flex:0 0 20px}
  .gua .act{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}
  .gua .act .btn{width:100%;min-width:0;min-height:56px;padding:16px 20px;justify-content:center}
  .gua .act small{margin-top:2px}
}
@media(prefers-reduced-motion:reduce){
  #hdr.hero-header{transition:none}
}

/* Keep the booking sheet's grid tracks independent of native control widths.
   An unbounded automatic minimum on a field can widen the whole sheet. */
.sheet-bg,.sheet,#sheet-main,#sheet-done,
.sheet form,.sheet .row2,.sheet .field,
.sheet .tabs,.sheet .pills,.sheet .summary{
  min-width:0;
  min-inline-size:0;
  box-sizing:border-box;
}
.sheet{
  width:100%;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-x:none;
}
.sheet form,.sheet .field{grid-template-columns:minmax(0,1fr)}
.sheet .row2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sheet .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.sheet .row2>*,.sheet .field>*,.sheet .summary>*,
.sheet .tabs>*,.sheet .pills>*,.sheet .consent>span,.sheet .secure>span{
  min-width:0;
  min-inline-size:0;
}
.sheet input:not([type=checkbox]):not([type=radio]),
.sheet select,.sheet textarea{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  min-inline-size:0;
  max-inline-size:100%;
  min-height:52px;
  font-size:16px;
}
/* iOS WebKit can add padding outside a date input's percentage width.
   Let the grid stretch an auto-sized control instead. The native date picker,
   locale formatting, min/max dates and appearance remain intact.
   https://bugs.webkit.org/show_bug.cgi?id=301648 */
.sheet .field input[type="date"]{
  width:auto;
  inline-size:auto;
  justify-self:stretch;
  text-align:left;
}
.sheet .summary .d,.sheet .summary .n,.sheet .msg,.sheet .err{
  overflow-wrap:anywhere;
}
.sheet .msg:empty{display:none}
@media(max-width:759px){
  .sheet-bg{
    width:100%;
    max-width:100%;
    min-height:0;
    overscroll-behavior:none;
  }
  .sheet{
    max-width:100%;
    height:100dvh;
    max-height:100dvh;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
  }
  .sheet .row2,.sheet .pills{grid-template-columns:minmax(0,1fr)}
  .sheet .btn{min-width:0;max-width:100%}
}

/* One attached pass: the cleaning discount leads; the moving discount is its stub.
   Load after phone-design.css. All rules stay inside the replacement .box .off. */
.box .off.off-pass{
  --pass-pad:24px;
  display:block;
  position:relative;
  width:100%;
  min-width:0;
  max-width:460px;
  justify-self:center;
  justify-items:stretch;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  border:1px solid var(--rule);
  border-radius:22px;
  background:var(--white,#fff);
  color:var(--ink);
  text-align:left;
  box-shadow:0 2px 3px #35004704,0 16px 32px -24px #35004738;
  font-family:var(--display);
  font-size:var(--t-ui,16px);
  line-height:1.5;
}
.box .off.off-pass>.pass-main,
.box .off.off-pass>.pass-stub,
.box .off.off-pass>.pass-note{
  width:100%;
  max-width:none;
  justify-self:stretch;
}
.box .off.off-pass p{
  min-width:0;
  margin:0;
}
.box .off.off-pass span{
  max-width:none;
  margin:0;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}
.box .off.off-pass strong{
  color:inherit;
  font-weight:750;
}
.box .off.off-pass .pass-main{
  padding:var(--pass-pad) var(--pass-pad) 28px;
  background:var(--bx-paper,#FFFCFF);
}
.box .off.off-pass .pass-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink-2);
  font-size:var(--t-label,12px);
  font-weight:700;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.box .off.off-pass .pass-star{
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  background:var(--bx-candy,#FF00EE);
  -webkit-mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
  mask:url(/boxstar-assets/star.svg) no-repeat center / contain;
}
.box .off.off-pass .pass-saving{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
  color:var(--star);
  font-size:52px;
  line-height:1;
  letter-spacing:-.045em;
  font-variant-numeric:tabular-nums lining-nums;
}
.box .off.off-pass .pass-saving strong{
  font-size:inherit;
  line-height:inherit;
}
.box .off.off-pass .pass-saving>span{
  font-size:26px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
}
.box .off.off-pass .pass-offer{
  margin-top:12px;
  color:var(--ink);
}
.box .off.off-pass .pass-offer strong{
  display:block;
  font-size:var(--t-h3,24px);
  line-height:1.2;
  letter-spacing:-.02em;
}
.box .off.off-pass .pass-offer>span{
  display:block;
  margin-top:7px;
  color:var(--ink-2);
  font-size:var(--t-ui,16px);
  line-height:1.5;
}
.box .off.off-pass .pass-stub{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:20px;
  padding:20px var(--pass-pad);
  border-top:1px dashed var(--bx-control,#9E87A8);
  border-bottom:1px solid var(--rule);
  background:var(--star-soft);
}
.box .off.off-pass .pass-stub::before,
.box .off.off-pass .pass-stub::after{
  content:"";
  position:absolute;
  z-index:1;
  top:-9px;
  width:18px;
  height:18px;
  border:1px solid var(--rule);
  border-radius:50%;
  background:var(--white,#fff);
  pointer-events:none;
}
.box .off.off-pass .pass-stub::before{left:-10px}
.box .off.off-pass .pass-stub::after{right:-10px}
.box .off.off-pass .pass-extra{
  color:var(--star-deep);
  line-height:1.15;
}
.box .off.off-pass .pass-and{
  display:block;
  margin-bottom:4px;
  color:var(--ink-2);
  font-size:var(--t-xs,14px);
  font-weight:500;
  line-height:1.3;
}
.box .off.off-pass .pass-extra strong{
  display:block;
  white-space:nowrap;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.box .off.off-pass .pass-extra-copy{
  color:var(--ink);
  font-size:var(--t-ui,16px);
  line-height:1.45;
}
.box .off.off-pass .pass-note{
  padding:18px var(--pass-pad) 22px;
  color:var(--ink-2);
  font-size:var(--t-xs,14px);
  line-height:1.5;
  overflow-wrap:break-word;
}
@media(max-width:359px){
  .box .off.off-pass{--pass-pad:20px;border-radius:20px}
  .box .off.off-pass .pass-saving{font-size:48px}
  .box .off.off-pass .pass-stub{gap:16px}
}

.faq .faq-sidebar{min-width:0;align-self:start}
.faq .ask{container:faq-contact / inline-size}
.faq .ask>.row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}
.faq .ask>.row>.btn{min-width:0;min-height:48px;padding:12px 16px;font-size:15px;line-height:1.3;justify-content:center;gap:10px;white-space:nowrap;background:#fff;color:var(--star);border:1.5px solid var(--ink-3);box-shadow:none}
.faq .ask>.row>.btn .ic{width:19px;height:19px;flex:none}
.faq .ask>.row>.btn:hover{background:#fff;border-color:var(--star);box-shadow:none;transform:none}
.faq .ask>.row>.btn:focus-visible{outline:2px solid var(--star);outline-offset:3px}
.faq-question{position:relative;isolation:isolate;overflow:visible;padding-top:20px;margin-top:22px;border-top:1px solid var(--lilac-2)}
.faq-question-body{display:grid;gap:16px;transition:opacity .18s,transform .22s ease}
.faq-question-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:end}
.faq-question label{display:grid;gap:8px;min-width:0;font-size:14px;line-height:1.35;font-weight:600;color:var(--ink)}
.faq-question .faq-label{display:block}.faq-label>span{font-weight:400;color:var(--ink-2);white-space:nowrap}
.faq-question input,.faq-question textarea{display:block;width:100%;min-width:0;margin:0;border:1px solid var(--ink-3);border-radius:12px;background:#fff;color:var(--ink);font:400 16px/1.4 var(--display);padding:12px 14px;min-height:48px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.faq-question textarea{min-height:88px;max-height:240px;resize:vertical}
.faq-question input::placeholder,.faq-question textarea::placeholder{color:#806C87;opacity:1}
.faq-question input:focus,.faq-question textarea:focus{outline:none;border-color:var(--star);box-shadow:inset 0 0 0 1px var(--star)}
.faq-question input[aria-invalid=true],.faq-question textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
.faq-question-send{display:flex;align-items:center;justify-content:flex-start;gap:13px;margin-top:2px}
.faq-question-send .btn.sm{width:100%;min-height:48px;font-size:15px;padding:12px 18px;gap:14px;justify-content:space-between;white-space:nowrap}
.faq-question-send .btn .ic{width:18px;height:18px;flex:none}
.faq .ask .faq-question-status{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2)}
.faq .ask .faq-question-status.is-error{color:var(--danger)}
.faq-question.is-sending .faq-question-body,.faq-question.is-complete .faq-question-body{opacity:0;transform:translateY(-6px);pointer-events:none}
.question-result{position:absolute;inset:20px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 18px;text-align:center;opacity:0;pointer-events:none}
.question-result[hidden]{display:none!important}
.is-sending .question-result,.is-complete .question-result{opacity:1;pointer-events:auto}
.question-star{position:relative;width:40px;height:42px;margin-bottom:18px;flex:none;opacity:0;transform:scale(.85) rotate(-8deg)}
.question-star>img{display:block;width:40px;height:42px;max-width:none}
.question-star-shine{position:absolute;inset:0;opacity:0;background:linear-gradient(110deg,transparent 36%,#fff9 48%,#fff 50%,#fff9 52%,transparent 64%);background-size:300% 100%;background-position:100% 0;-webkit-mask:url('/boxstar-assets/star.svg') center/contain no-repeat;mask:url('/boxstar-assets/star.svg') center/contain no-repeat}
.question-spark{position:absolute;right:-10px;top:-4px;width:12px;height:12px;fill:var(--bx-candy);opacity:0;transform:scale(0)}
.question-result-copy h4{font:600 24px/1.15 var(--display);letter-spacing:-.5px;color:var(--ink);margin:0}
.faq .ask .question-result-copy p{font-size:15px;line-height:1.5;color:var(--ink-2);margin:9px 0 0;max-width:28ch}
.question-again{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:13px;padding:8px 4px;background:none;border:0;color:var(--star);font:500 13px var(--display);cursor:pointer}
.question-again .ic{width:15px;height:15px;transition:transform .15s}.question-again:hover .ic{transform:translateX(3px)}
.question-again:focus-visible{outline:2px solid var(--star);outline-offset:3px;border-radius:6px}
.is-sending .question-star{opacity:.5;transform:none;transition:opacity .2s .15s}
.is-sending .question-result-copy h4{font-size:18px;font-weight:500}.is-sending .question-result-copy p,.is-sending .question-again{display:none}
.is-complete .question-star{animation:question-star-in .56s cubic-bezier(.2,.7,.3,1) both}
.is-complete .question-star-shine{animation:question-shine .5s .12s ease-out both}
.is-complete .question-spark{animation:question-spark .38s .22s ease-out both}
.is-complete .question-result-copy{animation:question-copy-in .28s .48s ease-out both}
.is-complete .question-again{animation:question-copy-in .28s .6s ease-out both}
@keyframes question-star-in{0%{opacity:0;transform:scale(.8) rotate(-10deg)}32%{opacity:1;transform:scale(1.1) rotate(5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes question-shine{0%{opacity:0;background-position:100% 0}18%{opacity:1}80%{opacity:1}100%{opacity:0;background-position:0 0}}
@keyframes question-spark{0%,100%{opacity:0;transform:scale(0) rotate(-15deg)}45%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes question-copy-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@container faq-contact (min-width:360px){.faq .ask>.row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container faq-contact (min-width:400px){.faq-question-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.faq-question-send .btn.sm{width:auto;justify-content:center;padding-inline:22px}}
@media(min-width:880px){.faq .faq-sidebar{position:sticky;top:104px;transform:none!important}.faq .faq-sidebar.faq-sidebar-tall{position:static}.faq .faq-sidebar .ask{margin-top:25px}.faq .faq-sidebar .ask h3{font-size:19px}.faq .faq-sidebar .ask>p{font-size:15px}.faq .faq-sidebar .ask>.row{margin-top:16px}}
@media(max-width:879px){.faq .faq-sidebar{position:static}}
@media(max-width:359px){.faq .ask{padding:20px}}
@media(prefers-reduced-motion:reduce){.faq-question-body{transition:none}.is-complete .question-star,.is-complete .question-result-copy,.is-complete .question-again{animation:none;opacity:1;transform:none}.is-complete .question-star-shine,.is-complete .question-spark{animation:none;opacity:0}}
html{background:#8F05BD}html.at-page-bottom{background:#350047}

/* Direct-contact fallback: same actions and spacing, no inactive data collection. */
[data-contact-inactive]{display:none!important}
#book:not([hidden])~#quote[data-contact-secondary]{display:none!important}
.contact-fallback{margin-top:22px;padding:22px;background:var(--star-soft);border:1px solid var(--lilac-2);border-radius:var(--r);min-width:0}
.sheet .contact-fallback h3{font-size:20px;line-height:1.25;letter-spacing:-.02em;max-width:27ch;padding:0}
.sheet .contact-fallback-copy{font-size:16px;line-height:1.5;color:var(--ink-2);margin:10px 0 0}
.contact-fallback-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.contact-fallback-actions .btn{min-width:0;min-height:50px;padding:14px 16px;font-size:16px;line-height:1.2;white-space:normal;box-shadow:none}
.contact-fallback-actions .btn.line{color:var(--star-deep);border-color:var(--lilac-2)}
.contact-email{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 0;color:var(--star-deep);font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}
.contact-email>span{min-width:0;overflow-wrap:anywhere}
.contact-email>.ic{width:19px;height:19px;flex:none;--fl:transparent}
.contact-email>.contact-arrow{margin-left:auto;width:16px;height:16px}
.contact-email:hover>span{text-decoration:underline;text-underline-offset:4px}
.contact-email:focus-visible{outline:2px solid var(--star);outline-offset:3px;border-radius:6px}
.contact-fallback>.contact-email{margin-top:9px}
.sheet .contact-fallback-note{font-size:13px;line-height:1.5;color:var(--ink-2);margin:7px 0 0}
.faq-question.is-contact-only{padding-top:0;margin-top:12px;border-top:0}
.faq-contact-fallback .contact-email{font-size:14px}
@media(max-width:359px){.contact-fallback{padding:18px}.contact-fallback-actions{gap:9px}.contact-fallback-actions .btn{font-size:15px;padding-inline:12px}.contact-email{font-size:14px}}

