/* MedSpasNear design system. One file. Tokens first, then base, layout, components, pages. */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bodoni-moda-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/bodoni-moda-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/instrument-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/instrument-sans-latin-600-normal.woff2) format("woff2")}

:root{
  color-scheme:light;
  /* colour: porcelain canvas, aubergine ink, one plum action colour, brass for decoration only */
  --canvas:#FBF2EE;      /* page */
  --canvas-2:#F4E3DD;    /* tinted band */
  --card:#FFFCFA;        /* card surface */
  --line:#E6D1C9;        /* hairlines, 1.3:1 decorative only */
  --line-ui:#9A7B8F;     /* input borders, 3:1+ on canvas */
  --ink:#2A1226;         /* text */
  --ink-2:#5A4155;       /* secondary text */
  --plum:#6B1F5C;        /* actions, links, marks */
  --plum-hover:#4F1544;
  --plum-tint:#F2DFEC;   /* chip fill */
  --brass:#B08A4A;       /* decoration, never text */
  --night:#26101F;       /* dark band, footer */
  --night-ink:#F6E9E4;   /* text on night */
  --night-2:#D9BFD0;     /* secondary text on night */
  --focus:#1F5FBF;
  /* type */
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --text:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* scale */
  --fs-s:.875rem; --fs-b:1.0625rem; --fs-l:1.25rem;
  --fs-h3:1.5rem; --fs-h2:clamp(1.9rem,3.4vw,2.6rem); --fs-h1:clamp(2.5rem,6.2vw,4.5rem);
  /* space (4px base) */
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;
  --gut:20px; --wrap:1200px;
  --r-s:10px; --r-m:18px; --r-l:28px; --arch:999px 999px 22px 22px;
  --shadow-1:0 1px 2px rgba(42,18,38,.06),0 6px 18px -8px rgba(42,18,38,.14);
  --shadow-2:0 2px 4px rgba(42,18,38,.06),0 18px 40px -16px rgba(42,18,38,.28);
}
@media(min-width:640px){:root{--gut:32px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 var(--fs-b)/1.55 var(--text);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--plum-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3);line-height:1.15}
h1 em,h2 em{font-style:italic;color:var(--plum)}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gut);top:-60px;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:var(--r-s);z-index:99}
.skip:focus{top:8px}
.eyebrow{font:600 .8125rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--plum)}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:20;background:rgba(251,242,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:var(--s4);height:60px}
.logo{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);min-height:44px}
.logo svg{width:28px;height:34px;flex:none}
.logo b{font:500 1.5rem/1 var(--display);letter-spacing:-.02em}
.logo b i{color:var(--plum);font-style:italic;font-weight:500}
.nav{margin-left:auto;display:none;gap:var(--s2);align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;padding:.65rem .9rem;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover{background:var(--plum-tint)}
.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--plum);border-radius:0}
.saved-link{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line-ui);border-radius:999px;padding:.5rem .95rem;min-height:44px;color:var(--ink);text-decoration:none;font-weight:500;background:var(--card)}
.saved-link:hover{border-color:var(--plum);color:var(--plum)}
.saved-link svg{width:18px;height:18px}
.saved-link .n{background:var(--plum);color:#fff;border-radius:99px;font-size:.75rem;min-width:1.35rem;height:1.35rem;display:inline-grid;place-items:center;padding:0 .35rem}
.menu{margin-left:auto}
.menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:grid;place-items:center;border-radius:99px;font-weight:600}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--plum-tint)}
.menu nav{position:absolute;left:0;right:0;top:60px;background:var(--canvas);border-bottom:1px solid var(--line);padding:var(--s3) var(--gut) var(--s4);display:grid;box-shadow:var(--shadow-2)}
.menu nav a{padding:.8rem 0;min-height:44px;color:var(--ink);text-decoration:none;font-weight:500;font-size:1.125rem;border-bottom:1px solid var(--line)}
.top .saved-link{margin-left:auto;padding:.5rem .75rem}
.top .saved-link span:not(.n){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.menu{margin-left:0}
@media(min-width:900px){.nav{display:flex}.menu{display:none}.top .saved-link{margin-left:var(--s2);padding:.5rem .95rem}.top .saved-link span:not(.n){position:static;width:auto;height:auto;clip:auto;overflow:visible}}

/* ---------- breadcrumb + group tabs (same place on every page of a group) ---------- */
.crumbs{font-size:var(--fs-s);padding-block:var(--s3) 0;color:var(--ink-2)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 .45rem}
.crumbs li{display:inline-flex;align-items:center;gap:.45rem}
.crumbs li:not(:last-child)::after{content:"/";color:var(--line-ui)}
.crumbs a{color:var(--ink-2);display:inline-flex;align-items:center;min-height:32px}
.crumbs [aria-current]{color:var(--ink);font-weight:500}

.tabs{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;padding-block:var(--s3);margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line-ui);background:var(--card);color:var(--ink);text-decoration:none;font-weight:500;font-size:1rem;white-space:nowrap}
.tab small{color:var(--ink-2);font-size:.8125rem;font-weight:500}
.tab:hover{border-color:var(--plum);color:var(--plum)}
.tab[aria-current=page]{background:var(--plum);border-color:var(--plum);color:#fff}
.tab[aria-current=page] small{color:#EBD3E5}
.chip-toggle{cursor:pointer}
.chip-toggle[aria-pressed=true]{background:var(--plum-tint);border-color:var(--plum);color:var(--plum-hover)}
.chip-toggle[aria-pressed=true]::before{content:"";width:.5rem;height:.5rem;border-radius:99px;background:var(--plum)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.35rem;border-radius:999px;border:1.5px solid var(--plum);background:var(--plum);color:#fff;text-decoration:none;font:600 1rem/1.1 var(--text);cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--plum-hover);color:#fff;border-color:var(--plum-hover)}
.btn.ghost{background:transparent;color:var(--plum)}
.btn.ghost:hover{background:var(--plum-tint);color:var(--plum-hover)}
.btn.sm{min-height:44px;padding:.55rem 1.05rem;font-size:.9375rem}
.btn svg{width:18px;height:18px;flex:none}
.btn.on-night{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)}
.btn.on-night:hover{background:#fff;color:var(--night)}

/* ---------- finder ---------- */
.finder{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:var(--s4);display:grid;gap:var(--s3)}
.finder label{display:block;font:600 .8125rem/1.2 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.35rem}
.field{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--line-ui);border-radius:var(--r-m);background:#fff;padding:0 .9rem;min-height:56px}
.field:focus-within{border-color:var(--plum);box-shadow:0 0 0 3px var(--plum-tint)}
.field svg{width:20px;height:20px;color:var(--plum);flex:none}
.field input,.field select{flex:1;min-width:0;border:0;background:transparent;font:500 1.0625rem var(--text);color:var(--ink);min-height:52px;outline:0;appearance:none;-webkit-appearance:none}
.field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%236B1F5C' stroke-width='2'%3E%3Cpath d='m1 1 6 6 6-6'/%3E%3C/svg%3E") right center no-repeat;padding-right:1.4rem}
.field input::placeholder{color:#76606F}
.finder-foot{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font-size:var(--fs-s);color:var(--ink-2)}
.locate{all:unset;box-sizing:border-box;cursor:pointer;color:var(--plum);font-weight:600;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;text-decoration:underline;text-underline-offset:.2em}
.locate:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.locate svg{width:18px;height:18px}
@media(min-width:900px){
  .finder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;padding:var(--s5)}
  .finder .btn,.finder .finder-foot{grid-column:1/-1}
  .finder .btn{min-height:56px;font-size:1.0625rem}
  .near-form .finder{grid-template-columns:1fr}
}

/* ---------- home hero ---------- */
.hero{padding-block:var(--s5) var(--s6);position:relative}
.hero-grid{display:grid;gap:var(--s5);align-items:center}
.hero h1{max-width:12ch}
.hero .lede{font-size:1.1875rem;color:var(--ink-2);max-width:34rem;margin-top:var(--s4)}
.hero .lede b{color:var(--ink);font-weight:600}
.hero-art{position:relative}
.hero-art .arch{position:relative;z-index:1;border-radius:var(--r-l);overflow:hidden;aspect-ratio:16/7;box-shadow:var(--shadow-2);background:var(--canvas-2)}
.hero-art .arch img{width:100%;height:100%;object-fit:cover;object-position:18% 50%}
.hero-art::before{content:"";display:none;position:absolute;inset:-14px -14px auto auto;width:78%;aspect-ratio:4/5;border:1.5px solid var(--brass);border-radius:var(--arch);transform:translate(10px,-8px);opacity:.7}
.hero .finder{margin-top:var(--s5)}
.nums{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--s2) var(--s5);margin-top:var(--s4);padding:0;list-style:none}
.nums li{display:flex;flex-direction:column;gap:.1rem;color:var(--ink-2);font-size:var(--fs-s)}
.nums b{font:500 2rem/1 var(--display);color:var(--ink)}
@media(min-width:900px){
  .hero{padding-block:var(--s6) var(--s7)}
  .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s7)}
  .hero-art{margin-right:14px}
}
/* phone: hero picture becomes a short arch strip under the finder so real numbers stay on screen one */
@media(min-width:900px){.hero-art .arch{border-radius:var(--arch);aspect-ratio:4/5}.hero-art::before{display:block}}

/* ---------- sections ---------- */
.band{background:var(--canvas-2);padding-block:var(--s7)}
.sec{padding-block:var(--s7)}
.sec-head{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);justify-content:space-between;align-items:end;margin-bottom:var(--s5)}
.sec-head p{color:var(--ink-2);max-width:34rem}
.link-arrow{font-weight:600;display:inline-flex;align-items:center;gap:.4rem;min-height:44px}

/* service picture cards, arch top */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
.svc{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;transition:transform .2s,box-shadow .2s}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.svc .pic{margin:10px 10px 0;border-radius:999px 999px 12px 12px;overflow:hidden;aspect-ratio:4/3.4;background:var(--canvas-2)}
.svc .pic img{width:100%;height:100%;object-fit:cover}
.svc .body{padding:var(--s3) var(--s4) var(--s4);display:grid;gap:.25rem}
.svc h3{font-size:1.25rem}
.svc h3 a{color:var(--ink);text-decoration:none}
.svc h3 a::after{content:"";position:absolute;inset:0}
.svc .count{font-size:var(--fs-s);color:var(--ink-2)}
.svc .count b{color:var(--plum);font-weight:600}
.svc:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.svc h3 a:focus-visible{outline:0}
@media(min-width:900px){.svc-grid{grid-template-columns:repeat(4,1fr);gap:var(--s5)}.svc h3{font-size:1.375rem}}

/* city tiles */
.city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.city{display:flex;flex-direction:column;justify-content:center;gap:.2rem;gap:var(--s3);padding:var(--s4);min-height:68px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);text-decoration:none;color:var(--ink)}
.city:hover{border-color:var(--plum);box-shadow:var(--shadow-1)}
.city strong{font:500 1.25rem/1.1 var(--display)}
.city span{color:var(--ink-2);font-size:var(--fs-s)}
.city span b{color:var(--plum);font-weight:600}
@media(min-width:640px){.city-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.city-grid{grid-template-columns:repeat(4,1fr)}}

/* night band */
.night{background:var(--night);color:var(--night-ink);padding-block:var(--s7);position:relative;overflow:hidden}
.night h2{color:var(--night-ink)} .night h2 em{color:#EBB9DC}
.night p{color:var(--night-2)}
.facts3{display:grid;gap:var(--s5);margin-top:var(--s6);padding:0;list-style:none}
.facts3 li{border-top:1px solid rgba(246,233,228,.28);padding-top:var(--s4)}
.facts3 b{display:block;font:500 clamp(2.6rem,6vw,3.75rem)/1 var(--display);color:var(--night-ink)}
.facts3 span{color:var(--night-2)}
@media(min-width:900px){.facts3{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.night .btn{margin-top:var(--s5)}

/* ---------- footer ---------- */
.foot{background:var(--night);color:var(--night-2);padding-block:var(--s7) var(--s6);font-size:var(--fs-s)}
.foot .logo{color:var(--night-ink)} .foot .logo b i{color:#EBB9DC}
.foot-grid{display:grid;gap:var(--s5)}
.foot h2{font:600 .8125rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--night-ink);margin-bottom:var(--s3)}
.foot ul{list-style:none;margin:0;padding:0;display:grid}
.foot li a{color:var(--night-2);text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.foot li a:hover{color:#fff;text-decoration:underline}
.foot .legal{border-top:1px solid rgba(246,233,228,.2);margin-top:var(--s6);padding-top:var(--s4);display:grid;gap:var(--s2)}
@media(min-width:900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
@media(max-width:899px){.foot-grid>div:nth-child(n+3){display:none}}

/* ---------- list page ---------- */
.page-head{padding-block:var(--s2) var(--s3)}
.page-head h1{font-size:clamp(2.1rem,5.2vw,3.5rem);max-width:20ch}
.answer{font-size:var(--fs-l);line-height:1.45;color:var(--ink);max-width:46rem;margin-top:var(--s3)}
.answer b{font-weight:600;color:var(--plum)}
.listing{display:grid;gap:var(--s5);padding-bottom:var(--s7)}
.cards{display:grid;gap:var(--s4);list-style:none;margin:0;padding:0}
.aside{display:none}
@media(min-width:900px){
  .listing{grid-template-columns:minmax(0,1fr) 300px;gap:var(--s6);align-items:start}
  .aside{display:grid;gap:var(--s4);position:sticky;top:84px}
}
.aside-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s4)}
.aside-card h2{font-size:1.25rem;margin-bottom:var(--s2)}
.aside-card p,.aside-card li{font-size:var(--fs-s);color:var(--ink-2)}
.aside-pic{border-radius:999px 999px var(--r-m) var(--r-m);overflow:hidden;aspect-ratio:4/4.4;background:var(--canvas-2)}
.aside-pic img{width:100%;height:100%;object-fit:cover}
details.note{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:0 var(--s4)}
details.note summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600}
details.note p{padding-bottom:var(--s4);color:var(--ink-2);font-size:var(--fs-s)}

/* THE SIGNATURE: the Week Card on every business card */
.biz{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s4);display:grid;gap:var(--s3);transition:box-shadow .2s,border-color .2s}
.biz:hover{box-shadow:var(--shadow-2);border-color:#D5B7CA}
.biz:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.biz-head{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:start}
.biz h3{font-size:1.5rem;line-height:1.1}
.biz h3 a{color:var(--ink);text-decoration:none}
.biz h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-m)}
.biz h3 a:focus-visible{outline:0}
.meta{color:var(--ink-2);font-size:var(--fs-s);margin-top:.35rem;display:flex;flex-wrap:wrap;gap:0 .6rem}
.meta span:not(:last-child)::after{content:"·";margin-left:.6rem;color:var(--line-ui)}
.meta .dist{color:var(--plum);font-weight:600}
.save{position:relative;z-index:2;width:44px;height:44px;border-radius:99px;border:1px solid var(--line-ui);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--plum);padding:0}
.save:hover{background:var(--plum-tint)}
.save svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.save[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:#fff}
.save[aria-pressed=true] svg{fill:currentColor}

.week-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4)}
.week{display:flex;gap:5px;list-style:none;margin:0;padding:0}
.week li{width:30px;height:34px;border-radius:99px 99px 9px 9px;display:grid;place-items:center;font:600 .75rem/1 var(--text);border:1.5px solid var(--line);color:#6D5568;background:transparent}
.week li.open{background:var(--plum);border-color:var(--plum);color:#fff}
.week li.appt{border:1.5px dashed var(--plum);color:var(--plum);background:var(--plum-tint)}
.week li.today{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--brass)}
.week-cap{font-size:var(--fs-s);color:var(--ink-2)}
.week-cap b{color:var(--ink);font-weight:600}
.week-key{display:flex;gap:var(--s3);font-size:.8125rem;color:var(--ink-2);flex-wrap:wrap}
.week-key i{display:inline-block;width:12px;height:12px;border-radius:99px 99px 3px 3px;margin-right:.35rem;vertical-align:-1px}
.week-key .o{background:var(--plum)} .week-key .a{border:1.5px dashed var(--plum);background:var(--plum-tint)} .week-key .n{border:1.5px solid var(--line-ui)}

.svc-line{font-size:var(--fs-s);color:var(--ink)}
.svc-line span{color:var(--ink-2)}
.fits{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.fit{display:inline-flex;align-items:center;gap:.4rem;min-height:30px;padding:.2rem .7rem;border-radius:99px;background:var(--plum-tint);color:var(--plum-hover);font-size:.8125rem;font-weight:600}
.fit svg{width:14px;height:14px}
.fit.check{background:transparent;border:1px solid var(--plum);}
.biz-foot{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center}
.call{position:relative;z-index:2}
.biz-foot .tel{font-weight:600;color:var(--ink);font-size:var(--fs-s)}

/* pager + misc */
.pager{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}
.faq{background:var(--canvas-2);padding-block:var(--s7)}
.faq-grid{display:grid;gap:var(--s5);margin-top:var(--s5)}
.faq details{border-top:1px solid var(--line-ui);padding:0}
.faq summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);font:500 1.25rem/1.25 var(--display);list-style:none;padding-block:.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--text);color:var(--plum);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 var(--s4);color:var(--ink-2);max-width:42rem}
@media(min-width:900px){.faq-grid{grid-template-columns:1fr 1fr;gap:0 var(--s7)}}
.near-list{display:grid;gap:var(--s3)}
.mini{display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline;padding:var(--s3) var(--s4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);text-decoration:none;color:var(--ink);min-height:56px;position:relative}
.mini strong{font:500 1.125rem/1.2 var(--display)}
.mini span{color:var(--ink-2);font-size:var(--fs-s);white-space:nowrap}

/* ---------- profile ---------- */
.prof-head{padding-block:var(--s2) var(--s5);display:grid;gap:var(--s4)}
.prof-head h1{font-size:clamp(2.2rem,5.6vw,3.9rem);max-width:18ch}
.prof-sub{color:var(--ink-2);font-size:var(--fs-l);margin-top:var(--s2)}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.actions .btn:first-child,.actions .save-btn{grid-column:1/-1}
@media(min-width:640px){.actions{display:flex;flex-wrap:wrap}}
.prof-grid{display:grid;gap:var(--s5);padding-bottom:var(--s7)}
@media(min-width:900px){.prof-grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s7);align-items:start}.prof-side{position:sticky;top:84px}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s5)}
.panel+.panel{margin-top:var(--s4)}
.panel h2{font-size:1.75rem;margin-bottom:var(--s3)}
.hours-lines{list-style:none;margin:var(--s3) 0 0;padding:0;font-size:var(--fs-s);color:var(--ink-2);display:grid;gap:.4rem}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.chip{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .9rem;border-radius:99px;border:1px solid var(--line-ui);background:#fff;font-size:.9375rem;font-weight:500;color:var(--ink)}
.chip.soft{border-color:var(--line);color:var(--ink-2);background:transparent;font-weight:400}
table.facts{width:100%;border-collapse:collapse;font-size:1rem}
table.facts th,table.facts td{text-align:left;padding:.8rem 0;border-top:1px solid var(--line);vertical-align:top}
table.facts tr:first-child th,table.facts tr:first-child td{border-top:0}
table.facts th{width:36%;font-weight:600;color:var(--ink-2);padding-right:var(--s3)}
.ppl{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));list-style:none;margin:0;padding:0}
.ppl li{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
.ppl b{display:block;font:500 1.125rem/1.2 var(--display)}
.ppl span{color:var(--ink-2);font-size:var(--fs-s)}
.loc{display:grid;gap:.25rem}
.source{font-size:var(--fs-s);color:var(--ink-2);border-top:1px solid var(--line);padding-top:var(--s4);margin-top:var(--s5)}
.source b{color:var(--ink);font-weight:600}

/* ---------- near me ---------- */
.near-grid{display:grid;gap:var(--s5);padding-bottom:var(--s7)}
@media(min-width:900px){.near-grid{grid-template-columns:320px minmax(0,1fr);gap:var(--s6);align-items:start}.near-form{position:sticky;top:84px}}
.near-form .finder{box-shadow:var(--shadow-1);grid-template-columns:1fr}
.result-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}
.result-head p{color:var(--ink-2)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ====================== integration with the engine markup ====================== */
html:not(.js) .js-only{display:none!important}
[hidden]{display:none!important}
.vh{clip-path:inset(50%)}
.skip{border:0;font:inherit;font-weight:600;min-height:44px;cursor:pointer}
.logo-in{display:inline-flex;align-items:center;gap:.55rem}
img.ph{width:100%;height:100%;object-fit:cover;display:block}
.ph--empty{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--plum-tint),var(--canvas-2))}
main:focus{outline:none}
.pgno{font:500 .4em/1 var(--text);color:var(--ink-2);white-space:nowrap}
.hero-text{min-width:0}
.hero h1{max-width:12ch}

/* header: Treatments dropdown (desktop) and nested list (phone menu) */
.nav{margin-left:auto}
.tmenu{position:relative}
.tmenu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.65rem .9rem;border-radius:999px;min-height:44px;font-weight:500;color:var(--ink)}
.tmenu summary::-webkit-details-marker{display:none}
.tmenu summary::after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.tmenu summary:hover,.tmenu[open] summary{background:var(--plum-tint)}
.tmenu summary[aria-current=page]{box-shadow:inset 0 -2px 0 var(--plum);border-radius:0}
.tpanel{position:absolute;right:-120px;top:calc(100% + 10px);width:min(820px,92vw);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-2);padding:var(--s5);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4) var(--s5)}
.tpanel .tg{font:600 .8125rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--plum);margin:0 0 .25rem}
.tpanel ul{list-style:none;margin:0;padding:0}
.tpanel a{display:flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.9375rem}
.tpanel a:hover{color:var(--plum);text-decoration:underline}
.menu nav a[aria-current=page]{color:var(--plum)}
.menu .mt{border-bottom:1px solid var(--line)}
.menu .mt summary{min-height:44px;justify-content:flex-start;font-weight:500;font-size:1.125rem;display:flex;align-items:center;border-radius:0;background:none}
.menu .mt summary::after{content:"+";margin-left:auto;font-weight:400;color:var(--plum)}
.menu .mt[open] summary::after{content:"\2212"}
.menu .mt ul{list-style:none;margin:0;padding:0 0 var(--s3);display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s4)}
.menu .mt ul a{border-bottom:0;font-size:1rem;padding:.5rem 0}
.menu{margin-left:var(--s2)}
.top .saved-link{margin-left:auto}
@media(min-width:900px){.menu{display:none}.nav{margin-left:auto}.top .saved-link{margin-left:var(--s2)}}

/* crumbs live under the header on every page */
.crumbs{padding-block:var(--s3) 0}
.crumbs .wrap{padding-block:0}

/* hero numbers, sections */
.svc-grid,.city-grid,.near-list,.cards{list-style:none;margin:0;padding:0}
.city-grid li{display:flex}.city-grid .city{flex:1;justify-content:center}
.sub-h{font:500 1.5rem/1.15 var(--display);margin:var(--s7) 0 var(--s4)}
.sub-h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:var(--s6) 0 var(--s4)}
.sub-h2:first-child{margin-top:0}
.sub-h2 em{font-style:italic;color:var(--plum)}
h3 em,.near-sec h2 em,.faq h2 em{font-style:italic;color:var(--plum)}
.night-p{max-width:36rem;margin-top:var(--s4)}
.night .eyebrow{color:#EBB9DC;margin-bottom:var(--s3)}
.nb{margin-top:var(--s7)}
.all-svc{margin-top:var(--s5)}
details.note{margin-top:var(--s5)}
details.note summary{font-size:1rem}
details.note>ul,details.note>h3{margin:0}
details.note>.chips{padding:0 0 var(--s4)}
details.note .inline-list{padding-bottom:var(--s3)}
.inline-list{list-style:none;display:flex;flex-wrap:wrap;gap:0 var(--s4);margin:0;padding:0}
.inline-list a{display:inline-flex;align-items:center;min-height:44px}
.inline-list small,.chips small,.tab small{color:var(--ink-2);font-size:.8125rem;margin-left:.1rem}
.mini-h{font:600 .9375rem/1.2 var(--text);margin:var(--s4) 0 0;letter-spacing:0}
.muted{color:var(--ink-2)}
.towns{list-style:none;margin:0;padding:0;display:grid}
.towns li{padding:var(--s3) 0;border-top:1px solid var(--line);line-height:1.8}
.towns a{display:inline-block;padding:.35rem 0}

/* chips as links */
a.chip{min-height:44px;color:var(--plum);text-decoration:none;font-weight:600;background:var(--card)}
a.chip:hover{border-color:var(--plum);background:var(--plum-tint);color:var(--plum-hover)}
.chips .chip small{margin-left:.45rem}
.state-chips{margin-top:var(--s4)}
.state-sec{padding-bottom:var(--s7)}
.chips .chip.soft{min-height:36px}

/* list pages */
.page-head h1 em{font-style:italic;color:var(--plum)}
.answer a{font-weight:500}
.filter-status{font-size:var(--fs-s);color:var(--ink-2);margin:0 0 var(--s3)}
.empty{color:var(--ink-2);margin:var(--s4) 0}
.near-sec{margin-top:var(--s7)}
.near-sec h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:var(--s4)}
.near-sec .chips{margin-top:var(--s3)}
.near-list{display:grid;gap:var(--s3)}
@media(min-width:640px){.near-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mini:hover{border-color:var(--plum)}
.mini strong{min-width:0;overflow-wrap:anywhere}
.mini span{text-align:right}
.mini:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.listing>div{min-width:0}
.listing .note{margin-top:var(--s5)}
.aside-pic{margin:0}
.aside-card a{font-weight:500}
.pager{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}
.pager ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}
.pager-count{color:var(--ink-2);font-size:var(--fs-s)}
.pg{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 .6rem;border-radius:999px;border:1px solid var(--line-ui);background:var(--card);color:var(--ink);text-decoration:none;font-weight:600}
a.pg:hover{border-color:var(--plum);color:var(--plum)}
span.pg[aria-current]{background:var(--plum);border-color:var(--plum);color:#fff}
.pager .gap{color:var(--ink-2);padding:0 .2rem}
.faq .wrap>h2,.faq--flat>h2{max-width:30ch}
.faq--flat{background:none;padding:0;margin-top:var(--s7)}
.faq--flat h2{font-size:1.75rem}
.faq--flat .faq-grid{grid-template-columns:1fr;margin-top:var(--s3)}
.faq a{font-weight:500}
.faq .faq-grid{align-items:start}

/* the business card */
.biz,.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s4);display:grid;gap:var(--s3);min-width:0;transition:box-shadow .2s,border-color .2s}
.biz:hover,.card:hover{box-shadow:var(--shadow-2);border-color:#D5B7CA}
.biz:focus-within,.card:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.cards{display:grid;gap:var(--s4)}
.biz h3,.card-name{font:500 1.5rem/1.1 var(--display);margin:0;overflow-wrap:anywhere;text-wrap:balance}
.biz h3 a,.card-name a{color:var(--ink);text-decoration:none}
.card-name a::after{content:"";position:absolute;inset:0;border-radius:var(--r-m)}
.card-name a:focus-visible{outline:0}
.biz-head>div,.card-top>*:first-child{min-width:0}
.meta{overflow-wrap:anywhere}
.biz[hidden]{display:none}
.svc-line{line-height:1.45}
.fit.check svg{flex:none}
.biz-foot .tel{display:none}

/* cards drawn by the finder and the saved page (same look, same markup of the engine script) */
.grid.cards{display:grid;gap:var(--s4)}
.card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);align-items:start}
.card-meta{color:var(--ink-2);font-size:var(--fs-s);margin-top:-.4rem}
.card-addr{font-size:var(--fs-s);color:var(--ink)}
.card-addr .dist{color:var(--plum);font-weight:600;margin-left:.4rem}
.card .chips{gap:var(--s2)}
.card .chips .chip{min-height:30px;padding:.2rem .7rem;font-size:.8125rem;font-weight:600;background:var(--plum-tint);border-color:transparent;color:var(--plum-hover)}
.card .chips .chip--more{background:transparent;border-color:var(--line);color:var(--ink-2);font-weight:500}
.card-foot{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center}
.card .mark{display:inline-flex;align-items:center;gap:.4rem;min-height:30px;padding:.2rem .7rem;border-radius:99px;border:1px solid var(--plum);color:var(--plum-hover);font-size:.8125rem;font-weight:600}
.card .mark::before{content:"";width:.6em;height:.35em;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translateY(-1px)}
.card a.phone{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.05rem;border-radius:999px;background:var(--plum);color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem}
.card a.phone::before{content:"Call\00a0"}
.card a.phone:hover{background:var(--plum-hover)}
.card .save{justify-self:end}
.results:not(:empty){margin:0}
.results h2{font:500 1.5rem/1.2 var(--display);margin:0 0 var(--s4);text-wrap:balance}
.results h2:focus{outline:none}
.near-empty .answer{margin-top:0}
.strip{margin-top:var(--s5);border-radius:var(--r-l);overflow:hidden;aspect-ratio:16/9;background:var(--canvas-2);box-shadow:var(--shadow-1)}
.strip.wide{aspect-ratio:16/6;margin-top:var(--s2)}
.near-empty .strip{margin-top:var(--s5)}
.nf-grid{align-items:center}
.nf-grid .strip{margin-top:0}
.f-msg{margin:0;font-size:var(--fs-s);color:#8C1A14}
.f-msg:empty{display:none}
.field:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.field input:focus-visible,.field select:focus-visible{outline:0}
.locate[hidden]{display:none}

/* profile */
.prof-head .chips{margin-top:var(--s1)}
.prof-head>div:first-child{min-width:0}
.prof-head h1{overflow-wrap:anywhere}
.panel h2 em{font-style:italic;color:var(--plum)}
.panel-h3{font:500 1.25rem/1.2 var(--display);margin:var(--s6) 0 var(--s3)}
.locs{display:grid;gap:var(--s5)}
.loc{gap:.3rem;color:var(--ink-2)}
.loc b{color:var(--ink);font-weight:600}
.loc-tel{font-weight:600;color:var(--plum);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.more-note{margin-top:var(--s3);color:var(--ink-2);font-size:var(--fs-s)}
.more-sec{padding-bottom:var(--s7)}
.more-link{margin-top:var(--s4)}
.more-link a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.source a{font-weight:500}
.hours-lines li{overflow-wrap:anywhere}
.prof-side .week-row{margin-top:var(--s2)}
.prof-side .panel{padding:var(--s5)}

/* reading pages */
.prose{max-width:44rem;padding-bottom:var(--s7)}
.prose h2{font-size:clamp(1.6rem,2.6vw,2rem);margin:var(--s6) 0 var(--s3)}
.prose h2 em{font-style:italic;color:var(--plum)}
.prose p{margin:0 0 var(--s4)}
.prose ul{margin:0 0 var(--s4);padding-left:1.2em}
.mailline{padding:var(--s3) var(--s4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m)}
.saved-clear{margin:var(--s5) 0 var(--s7)}
.saved-grid{padding-bottom:var(--s5)}

/* footer */
.foot-grid{grid-template-columns:minmax(0,1fr)}
.foot-blurb{margin-top:var(--s3);max-width:26rem}
.foot ul.cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}
.foot li a{min-height:44px}
.foot .legal p{max-width:46rem}
@media(min-width:640px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid>div:first-child{grid-column:1/-1}}
@media(min-width:900px){.foot-grid{grid-template-columns:1.2fr 1.7fr .9fr 1fr}.foot-grid>div:first-child{grid-column:auto}}
@media(max-width:899px){.foot-grid>div:nth-child(n+3){display:block}}
.prof-head h1{margin-top:var(--s3)}
.card{gap:var(--s2)}
.card-meta{margin-top:-.2rem}
.results,.results h2{scroll-margin-top:76px}
.sub-h2:first-child{margin-top:var(--s5)}
.filter-scope{align-self:center;flex:none;font-size:.9rem;font-weight:600;color:var(--ink);padding-inline-end:var(--s2);white-space:nowrap}

/* ====================== review round 1 ====================== */
button,select,input,textarea{font:inherit;color:inherit}
/* 44 px touch targets without growing the look */
.crumbs{padding-block:0}
.crumbs a{min-height:44px;padding-inline:.1rem}
.crumbs li:last-child{min-width:0}
.crumbs [aria-current]{display:inline-flex;align-items:center;min-height:44px}
.logo{min-height:44px;min-width:44px}
.loc-tel{min-height:44px}
.foot a,.foot li a,.foot .logo{display:inline-flex;align-items:center;min-height:44px}
.foot .legal a{min-height:44px}
.source a{display:inline-flex;align-items:center;min-height:44px}
/* 404: same top space as the other pages */
.nf-head{padding-top:var(--s7)}
@media(min-width:900px){.nf-head{padding-top:72px}}
.nf-grid{padding-bottom:var(--s5)}
/* home counts */
.nums{margin-top:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:var(--s2) var(--s4);max-width:34rem}
.nums li{text-align:left;align-items:flex-start;min-width:0}
@media(min-width:900px){.nums{margin-top:var(--s6)}}
/* home: All treatments is a normal ghost button, not a bar */
.all-svc{display:block;width:fit-content;max-width:100%;background:transparent;border:0;padding:0;margin-top:var(--s5)}
.all-svc summary{display:inline-flex;min-height:48px;padding:.6rem 1.35rem;border-radius:999px;border:1.5px solid var(--plum);color:var(--plum);font-weight:600;list-style:none;cursor:pointer}
.all-svc summary::-webkit-details-marker{display:none}
.all-svc summary:hover{background:var(--plum-tint);color:var(--plum-hover)}
.all-svc[open]{width:auto}
.all-svc[open] summary{margin-bottom:var(--s4)}
.all-svc>.chips{padding:0}
/* FAQ: one calm column */
.faq-grid,.faq .faq-grid{grid-template-columns:1fr;max-width:48rem}
@media(min-width:900px){.faq-grid,.faq .faq-grid{grid-template-columns:1fr;gap:0}}
.faq details{padding-block:0}
/* profile head with an arch picture */
.prof-head{align-items:start}
.prof-art{display:none}
@media(min-width:900px){
  .prof-head{grid-template-columns:minmax(0,1fr) 240px;column-gap:var(--s7);align-items:start}
  .prof-head>.prof-main,.prof-head>.actions,.prof-head>.chips{grid-column:1}
  .prof-art{display:block;grid-column:2;grid-row:1/span 3}
  .prof-art .arch{border-radius:var(--arch);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow-2);background:var(--canvas-2)}
  .prof-art .arch img{width:100%;height:100%;object-fit:cover}
}
.prof-grid--solo{grid-template-columns:minmax(0,1fr)!important}
.hours-note{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-s)}
.muted-s{color:var(--ink-2);font-size:var(--fs-s);margin:calc(var(--s2) * -1) 0 var(--s3)}
.locs-more{margin-top:var(--s4)}
.locs-more .locs{padding-block:var(--s2) var(--s4)}
/* near me: the picture closes the page, the state tiles come first */
.strip--end{aspect-ratio:16/7;margin-top:var(--s6);margin-bottom:var(--s7)}
.strip img,.strip--end img{width:100%;height:100%;object-fit:cover}
.towns a{min-height:44px;display:inline-flex;align-items:center;padding:0}
.crumbs ol{flex-wrap:nowrap}
.crumbs li{flex:none}
.crumbs li:last-child{flex:0 1 auto;min-width:0}
.crumbs [aria-current]{display:block;line-height:44px;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.showing{font-size:var(--fs-s);color:var(--ink-2);margin:0 0 var(--s3)}
.skip{display:inline-block}
.idx-grid{margin-bottom:var(--s6)}
.idx-group .sub-h2{margin-top:var(--s5)}
.page-head + .idx-grid,.page-head + .idx-group{margin-top:var(--s3)}
[data-answer]{margin-bottom:var(--s4);padding:.25rem 0}[data-answer]:focus{outline:0}

/* ====================== round 3 ====================== */
/* touch width: short footer and breadcrumb words get a 44px target in both axes */
.foot li a,.foot .legal a,.crumbs a{min-width:44px;padding-inline:.25rem;justify-content:flex-start}
.crumbs a{justify-content:center}
/* header: full list of treatments sits under the panel */
.tpanel .tall{grid-column:1/-1;margin:0;padding-top:var(--s3);border-top:1px solid var(--line)}
.tpanel .tall a{display:inline-flex;color:var(--plum);font-weight:600}
/* profile head: kind and town only in the eyebrow, parent brand on its own line, note beside the buttons */
.eyebrow{line-height:1.4}
.prof-part{color:var(--ink-2);font-size:var(--fs-s);margin-top:var(--s1)}
.hours-note{margin:0;padding:0;border:0;color:var(--ink-2);font-size:var(--fs-s)}
.prof-head>.hours-note{grid-column:1}
.also-serves{margin-top:var(--s4);color:var(--ink-2);font-size:var(--fs-s)}
.also-serves b{color:var(--ink);font-weight:600;margin-right:.35rem}
/* near me: "Show the next 10" is a real button */
.showing[data-showing]{display:grid;justify-items:center;gap:var(--s3);margin:var(--s4) 0 0;text-align:center}
.showing .linklike{font:600 .9375rem/1.2 var(--text);min-height:44px;min-width:44px;padding:.55rem 1.4rem;border-radius:999px;border:1.5px solid var(--plum);background:transparent;color:var(--plum);cursor:pointer}
.showing .linklike:hover{background:var(--plum-tint);color:var(--plum-hover)}
.showing .linklike:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
/* names are the stretched link of the card: give the link itself a 44px band too */
.svc h3 a,.biz h3 a,.card-name a{display:inline-block;padding-block:.5rem;margin-block:-.25rem;min-height:44px;min-width:44px}
/* near me before a search: the picture sits under the lede, beside the finder, with its own shape so it never shows as an empty box */
.strip--side{aspect-ratio:16/10;border-radius:var(--r-l,28px);overflow:hidden;background:var(--canvas-2);margin-top:var(--s4)}
@media(min-width:900px){.strip--side{aspect-ratio:16/9;min-height:300px}}
.state-sec{padding-bottom:var(--s7)}

/* round 3 fixes: short town names get a 44px target; empty Saved has an action */
.inline-list a{min-width:44px;justify-content:center}
.empty-saved{display:grid;justify-items:start;gap:var(--s4);padding:var(--s4) 0 var(--s7)}
.empty-saved p{margin:0}
.empty-saved[hidden]{display:none}
.meta .office{flex-basis:100%}
.meta span:has(+ .office)::after{display:none}
.saved-grid:empty{display:none}
.empty-saved{padding-top:0}
