/* 1Stop Beauty Bar: B's light site and time strokes, C's chrome 1 and type. See DESIGN.md. */
:root{
  --paper:#f4efe7; --card:#fffdf9; --ink:#15120f; --ink-2:#5f5750; --ink-3:#8b827a; --line:#e2d9cc;
  --hair-root:#4f321d; --hair-mid:#ad7240; --hair-end:#ecc389;
  --nail-a:#c47a71; --nail-b:#f3cabf;
  --face-a:#34200f; --face-b:#7d5139;
  --open:#2f9e5b;
  --serif:"Fraunces",Georgia,serif; --sans:"Instrument Sans",system-ui,sans-serif;
  --head:92px; --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--head)}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
img{display:block;max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.defs{position:absolute;width:0;height:0}
[hidden]{display:none!important}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 26px;border-radius:999px;font:600 17px/1 var(--sans);letter-spacing:.01em;white-space:nowrap;transition:transform .12s ease-out,background .15s}
.btn:active{transform:scale(.97)}
.btn.ink{background:var(--ink);color:var(--card)}
.btn.line{border:1.5px solid var(--ink)}
.btn.small{height:44px;padding:0 20px;font-size:15px}

/* header: brand, open chip, language; section tabs */
.bar{position:sticky;top:0;z-index:30;background:rgba(244,239,231,.97);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(226,217,204,.8)}
.bar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;height:52px;padding:0 16px}
.brand{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.brand b{font:800 20px/1 var(--serif);font-variation-settings:"opsz" 48;letter-spacing:-.01em}
.brand i{font:italic 500 17px/1 var(--serif);font-variation-settings:"opsz" 36;color:var(--ink-2)}
.tools{display:flex;align-items:center;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border-radius:16px;background:var(--card);box-shadow:0 0 0 1px var(--line);font-weight:600;font-size:14px;white-space:nowrap}
.chip i,.status i,.hours li.now i{width:8px;height:8px;border-radius:50%;background:#b9b2aa;flex:none}
.is-open .chip i,.is-open .status i,.is-open .hours li.now i{background:var(--open);box-shadow:0 0 0 3px rgba(47,158,91,.16)}
.chip .long{display:none}
.lang{display:flex;height:32px;padding:3px;border-radius:16px;background:#e9e2d7}
.lang button{min-width:36px;padding:0 8px;border-radius:13px;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--ink-2)}
.lang button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(40,25,10,.18)}
.tabs{display:flex;justify-content:space-between;height:40px;padding:0 16px}
.tabs a{position:relative;display:flex;align-items:center;font-weight:600;font-size:15px;color:var(--ink-2)}
.tabs a.on{color:var(--ink)}
.tabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--ink)}
.wide-only{display:none!important}

/* hero: the chrome 1 */
.hero{position:relative}
.monument{position:relative;height:clamp(360px,115vw,430px);pointer-events:none}
.monument .glyph{position:absolute;left:14px;top:-2px;font-size:clamp(440px,144vw,540px)}
.glyph{display:block;font-family:var(--serif);font-weight:900;font-variation-settings:"opsz" 144;line-height:.8;color:transparent;
  background:
    linear-gradient(100deg,rgba(255,255,255,0) 16%,rgba(255,255,255,.62) 27%,rgba(255,255,255,0) 38%),
    linear-gradient(180deg,#ffffff 0%,#e9e8e5 12%,#b1b5b9 26%,#555a5f 40%,#1d2125 47%,#f7f6f3 52%,#c5c8cb 62%,#858a8f 78%,#e0dbd3 90%,#fbfaf8 100%);
  background-size:100% 100%,100% 150%;background-position:0 0,50% calc(50% + var(--my,0) * 60%);
  -webkit-background-clip:text;background-clip:text;
  filter:url(#chrome) drop-shadow(0 34px 28px rgba(70,48,25,.26))}
/* flow-root keeps the heading's negative margin inside, so the offer list anchors to the hero */
.copy{display:flow-root;padding:0 16px}
.offer{position:absolute;right:16px;top:30px;list-style:none;text-align:right;font-weight:600;font-size:14px;line-height:2.05;letter-spacing:.22em;text-transform:uppercase}
.offer .fam{display:block;width:150px;margin:6px 0 0 auto;font-weight:500;font-size:13px;line-height:1.5;letter-spacing:.12em;color:var(--ink-3)}
.stop{position:relative;margin-top:-112px;text-align:right;font:900 96px/.84 var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.02em}
.sub{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px}
.sub i{font:italic 500 28px/1 var(--serif);font-variation-settings:"opsz" 72}
.sub span{font-size:14px;color:var(--ink-2);text-align:right}
.status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;margin-top:16px;font-size:15px}
.status b,.status > span{white-space:nowrap}
.status span{color:var(--ink-2)}
.cta{display:grid;gap:10px;margin-top:14px}
.cta .btn{width:100%}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}
.strip button{position:relative;display:block;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#e8e1d6}
.strip img{width:100%;height:100%;object-fit:cover}
.see{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-weight:600;font-size:15px;border-bottom:1.5px solid var(--ink);line-height:1.2}

/* sections */
section.block{padding:56px 16px 8px}
h2{font:900 40px/1 var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.02em}
h2 em{font-style:italic;font-weight:500}
.lede{margin-top:12px;font-size:17px;color:var(--ink-2);max-width:32ch}

/* prices: the menu as time strokes */
.menu-top{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px}
.menu-top > span{font-weight:600;font-size:14px;color:var(--ink-3)}
.scale{display:none}
.cat{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding-bottom:8px;border-bottom:1.5px solid var(--ink);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.cat span{font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink-2)}
/* a row: the count circle (tap the number to remove one) and the body (tap to add one) */
.item{display:grid;grid-template-columns:40px 1fr;border-bottom:1px solid var(--line)}
.qty{display:flex;align-items:flex-start;width:40px;min-height:52px;padding-top:15px}
.qty b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink-3);font:700 14px/1 var(--sans);color:var(--card);font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s,transform .18s var(--ease)}
.qty b:empty::before{content:"+";margin-top:-2px;font:500 19px/1 var(--sans);color:var(--ink-2)}
.item.on .qty b{background:var(--ink);border-color:var(--ink)}
.qty:active b{transform:scale(.86)}
.item.bump .qty b{transform:scale(1.2)}
.body{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:8px;width:100%;padding:14px 0;align-items:center;text-align:left}
.nm{font:650 20px/1.15 var(--serif);font-variation-settings:"opsz" 36}
.pr{font:800 20px/1.15 var(--serif);font-variation-settings:"opsz" 36;font-variant-numeric:lining-nums tabular-nums;text-align:right;white-space:nowrap}
.pr.ask{font-style:italic;font-weight:500;color:var(--ink-3)}
.track{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.track .stroke{flex:none}
.dur{font-weight:600;font-size:13px;color:var(--ink-3);white-space:nowrap}
.nt{grid-column:1/-1;font-size:14px;color:var(--ink-2);margin-top:-2px}
.fine{margin-top:18px;font-size:13px;color:var(--ink-3)}

/* strokes: hair runs root to golden ends, nails are lacquer, face is espresso; length = time */
.stroke{position:relative;display:block;height:26px;border-radius:13px;min-width:26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 4px rgba(0,0,0,.14),0 5px 9px -5px rgba(60,30,10,.5)}
.stroke::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.1) 32%,rgba(255,255,255,0) 50%,rgba(0,0,0,.05) 78%,rgba(0,0,0,.16))}
.stroke::after{content:"";position:absolute;left:9px;right:14px;top:4px;height:5px;border-radius:5px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92) 14%,rgba(255,255,255,.38) 62%,rgba(255,255,255,0))}
.stroke.hair{background:repeating-linear-gradient(180deg,rgba(40,20,5,.07) 0 1px,rgba(0,0,0,0) 1px 3px),linear-gradient(90deg,var(--hair-root) 0%,#865632 24%,var(--hair-mid) 50%,var(--hair-end) 88%,#f7ddb0 100%)}
.stroke.nails{background:linear-gradient(90deg,var(--nail-a),var(--nail-b) 55%,#e3a79c)}
.stroke.face{background:repeating-linear-gradient(180deg,rgba(0,0,0,.08) 0 1px,rgba(0,0,0,0) 1px 3px),linear-gradient(90deg,var(--face-a),var(--face-b) 60%,#5a3826)}

/* the visit: one price, one time */
.vcard{background:var(--card);border-radius:24px;padding:18px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -22px rgba(70,40,15,.35),0 0 0 1px var(--line)}
.vh{display:flex;justify-content:space-between;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.total{display:flex;align-items:baseline;gap:8px;margin-top:6px;height:90px}
.total small{font-weight:600;font-size:17px;color:var(--ink-2)}
.total b{font:900 84px/1 var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.total.empty b{font:italic 500 32px/1.2 var(--serif);color:var(--ink-3);letter-spacing:0}
.time{margin-top:2px;font-weight:600;font-size:17px;color:var(--ink-2);min-height:24px}
.ruler{position:relative;height:18px;margin-top:16px;border-top:1px solid var(--line)}
.ruler span,.scale span{position:absolute;top:4px;font-size:13px;font-weight:600;color:var(--ink-3);transform:translateX(-50%);white-space:nowrap}
.ruler span:first-child,.scale span:first-child{transform:none}
.ruler span:last-child{transform:translateX(-100%)}
/* the visit timeline: one fixed lane per kind (hair, nails, face), bars only; names live in the list below */
.lanes{position:relative;height:84px;margin-top:10px}
.lanes .stroke{position:absolute;height:22px;border-radius:11px;min-width:10px;transition:left .35s var(--ease),width .35s var(--ease)}
.picks{list-style:none;margin-top:12px;max-height:196px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border-top:1px solid var(--line)}
.picks li{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;column-gap:10px;min-height:48px;border-bottom:1px solid var(--line)}
.picks li.none{display:block;min-height:0;padding:14px 0;border-bottom:0;font-size:15px;color:var(--ink-3)}
.dot{width:12px;height:12px;border-radius:50%}
.dot.hair{background:linear-gradient(135deg,var(--hair-root),var(--hair-end))}
.dot.nails{background:linear-gradient(135deg,var(--nail-a),var(--nail-b))}
.dot.face{background:linear-gradient(135deg,var(--face-a),var(--face-b))}
.pn{min-width:0;font:600 15px/1.25 var(--sans)}
.pp{font:800 17px/1 var(--serif);font-variation-settings:"opsz" 36;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.pp.ask{font-style:italic;font-weight:500;color:var(--ink-3)}
.step{display:flex;align-items:center}
.step button{display:grid;place-items:center;width:38px;height:44px;border-radius:12px;font:500 22px/1 var(--sans)}
.step button:active{background:#efe8dd}
.step button:disabled{color:#cfc7ba;cursor:default}
.step b{min-width:16px;text-align:center;font:700 15px/1 var(--sans);font-variant-numeric:tabular-nums}
.vactions{display:grid;gap:10px;margin-top:14px}
.vactions .btn{width:100%}
.clear{justify-self:center;min-height:44px;padding:0 14px;font-weight:600;font-size:14px;color:var(--ink-2)}
.side{display:none}

/* work */
.grid{columns:2;column-gap:10px;margin-top:22px}
.tile{display:block;width:100%;margin:0 0 14px;break-inside:avoid;text-align:left}
.tile img{width:100%;height:auto;border-radius:14px;background:#e8e1d6;transition:transform .25s var(--ease)}
.tile span{display:block;margin-top:7px;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}

/* team */
.people{display:grid;gap:12px;margin-top:22px}
.person{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center;background:var(--card);border-radius:22px;padding:12px;box-shadow:0 0 0 1px var(--line)}
.portrait{aspect-ratio:4/5;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse 80% 70% at 50% 38%,#ffffff,#ebe4d9 72%)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .glyph{font-size:150px;filter:url(#chrome-still) drop-shadow(0 12px 12px rgba(70,48,25,.25));transform:translateY(8%)}
.person h3{font:800 30px/1 var(--serif);font-variation-settings:"opsz" 72}
.role{margin-top:6px;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.does{margin-top:6px;font-size:15px;line-height:1.35;color:var(--ink-2)}
.person .btn{margin-top:12px;height:44px;padding:0 18px;font-size:15px}

/* visit us */
.where{display:grid;gap:18px;margin-top:22px}
.shop{border-radius:20px;overflow:hidden;background:#e8e1d6}
.shop img{width:100%;height:auto}
.find{margin-top:10px;font-size:15px;color:var(--ink-2)}
.addr{font:700 26px/1.15 var(--serif);font-variation-settings:"opsz" 48}
.addr span{display:block;font:500 16px/1.4 var(--sans);color:var(--ink-2);margin-top:4px}
.where .cta{margin-top:14px}
.hours{list-style:none;margin-top:6px}
.hours li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:16px}
.hours li b{font-weight:600}
.hours li.now{font-weight:700}
.hours li.now b{display:flex;align-items:center;gap:8px}
.notes{margin-top:14px;font-size:15px;color:var(--ink-2)}
.badge{display:inline-flex;align-items:center;height:36px;margin-top:12px;padding:0 14px;border-radius:18px;background:var(--ink);color:var(--card);font-weight:600;font-size:14px}
.stars{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.stars a{display:block;padding:14px;border-radius:18px;background:var(--card);box-shadow:0 0 0 1px var(--line)}
.stars b{display:block;font:900 34px/1 var(--serif);font-variation-settings:"opsz" 144}
.stars span{display:block;margin-top:6px;font-size:14px;color:var(--ink-2)}
.quote{margin-top:22px;font:italic 500 23px/1.25 var(--serif);font-variation-settings:"opsz" 72}
.quote cite{display:block;margin-top:8px;font:500 14px/1.3 var(--sans);font-style:normal;color:var(--ink-3)}

/* footer */
.foot{margin-top:64px;padding:28px 16px calc(110px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start}
.foot img{width:64px;height:auto}
.foot p{font-size:15px;color:var(--ink-2)}
.foot p b{color:var(--ink)}
.foot .links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.foot .links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--ink)}
.foot .fine{grid-column:1/-1;margin:0}

/* phone: visit bar and pull-down sheet */
.vbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;height:66px;display:flex;align-items:center;gap:12px;padding:0 9px 0 18px;border-radius:22px;background:var(--ink);color:var(--card);box-shadow:0 14px 34px -10px rgba(20,12,5,.55);transition:transform .35s var(--ease)}
.vbar.away{transform:translateY(calc(100% + 30px))}
.vbar .sum{flex:1;min-width:0}
.vbar small{display:block;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#bdb4a8}
.vbar b{font:800 24px/1.05 var(--serif);font-variation-settings:"opsz" 72;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.vbar b span{font:500 15px/1 var(--sans);color:#d8d0c5;margin-left:6px}
.vbar .btn{height:48px;padding:0 18px;background:var(--card);color:var(--ink);font-size:15px}
.layer{position:fixed;inset:0;z-index:60}
/* touch-action none on the overlay keeps the page still underneath without locking the root (which breaks the sticky header) */
.scrim{position:absolute;inset:0;background:rgba(21,14,8,.42);opacity:0;transition:opacity .25s ease-out;touch-action:none}
.layer.open .scrim{opacity:1}
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;padding:8px 14px calc(14px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--paper);transform:translateY(100%);transition:transform .34s var(--ease);touch-action:none}
.layer.open .sheet{transform:none}
.grab{width:44px;height:5px;margin:4px auto 12px;border-radius:3px;background:#cdc4b6}
.sheet .vcard{box-shadow:0 0 0 1px var(--line)}

/* lightbox */
.lightbox{background:rgba(12,9,6,.94);opacity:0;transition:opacity .22s ease-out;display:grid;grid-template-rows:1fr auto;touch-action:none}
.lightbox.open{opacity:1}
.lightbox figure{display:grid;place-items:center;padding:56px 12px 8px;min-height:0}
.lightbox img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:12px;transition:transform .3s var(--ease)}
.lightbox figcaption{padding:10px 16px calc(18px + env(safe-area-inset-bottom));text-align:center;color:#efe8dd;font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.lb-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;height:44px;padding:0 18px;border-radius:22px;background:rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:15px}

/* small phones (320–359px): keep the header on one line and the hero clear of the 1 */
@media (max-width:359px){
  .brand i{display:none}
  .offer{letter-spacing:.14em}
  .stop{font-size:82px;margin-top:-96px}
}

@media (hover:hover){
  .tile:hover img{transform:scale(1.015)}
  .body:hover .nm{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
}

@media (min-width:960px){
  :root{--head:72px}
  .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 40px}
  .bar-row{display:contents}
  .brand{grid-column:1;grid-row:1}
  .tabs{grid-column:2;grid-row:1}
  .tools{grid-column:3;grid-row:1;justify-self:end;gap:12px}
  .brand b{font-size:24px}.brand i{font-size:20px}
  .chip .short{display:none}.chip .long{display:inline}
  .tabs{height:72px;gap:34px;padding:0}
  .tabs a{font-size:16px}
  .wide-only{display:inline-flex!important}

  .hero{display:grid;grid-template-columns:46% 54%;min-height:calc(100vh - 72px);max-width:1440px;margin:0 auto}
  .monument{height:auto;min-height:640px;display:grid;place-items:center;overflow:hidden}
  .monument .glyph{position:static;font-size:min(94vh,880px);transform:translateY(4%)}
  .copy{position:relative;align-self:center;padding:40px 56px 40px 8px}
  .offer{position:static;display:flex;gap:26px;line-height:1;text-align:left}
  .offer .fam{width:auto;margin:0;align-self:center}
  .stop{margin:28px 0 0;text-align:left;font-size:176px}
  .sub{justify-content:flex-start;gap:24px;margin-top:24px}
  .sub i{font-size:40px}.sub span{font-size:16px;text-align:left}
  .status{margin-top:26px;font-size:16px}
  .cta{grid-template-columns:auto auto;justify-content:start;margin-top:16px}
  .cta .btn{width:auto;padding:0 34px}
  .strip{grid-template-columns:repeat(3,150px);gap:12px;margin-top:34px}

  section.block{max-width:1440px;margin:0 auto;padding:110px 40px 10px}
  h2{font-size:68px}
  .lede{font-size:19px}
  .pgrid{display:grid;grid-template-columns:430px 1fr;gap:56px;align-items:start;margin-top:34px}
  .side{display:block;position:sticky;top:calc(var(--head) + 20px)}
  .menu-top{margin-top:0}
  /* sits exactly over the stroke lane: count 40 + name 280 + price 130 + track padding 30, minus the 72px duration label */
  .scale{display:block;position:relative;height:22px;margin:0 0 0 480px;width:calc(100% - 480px - 72px)}
  .body{grid-template-columns:280px 130px 1fr;column-gap:0;row-gap:2px;padding:13px 0}
  .nm{grid-column:1;grid-row:1}
  .nt{grid-column:1;grid-row:2;margin:0;font-size:13px}
  .pr{grid-column:2;grid-row:1/3;text-align:left}
  .track{grid-column:3;grid-row:1/3;padding-left:30px}
  .qty{padding-top:14px}

  .grid{columns:4;column-gap:18px;margin-top:34px}
  .people{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
  .person{grid-template-columns:1fr;padding:14px 14px 20px;align-items:start}
  .portrait{aspect-ratio:1/1}
  .portrait .glyph{font-size:280px}
  .person h3{font-size:36px;margin-top:6px}
  .where{grid-template-columns:1.1fr 1fr;gap:56px;margin-top:34px;align-items:start}
  .foot{max-width:1440px;margin:90px auto 0;padding:36px 40px 44px;grid-template-columns:80px 1fr auto;gap:22px}
  .foot img{width:80px}
  .foot .fine{grid-column:auto;max-width:36ch;text-align:right}
  .vbar,.layer.sheet-layer{display:none!important}
  .lightbox figure{padding:64px 80px 8px}
}

/* desktop chrome: the GPU canvases replace the CSS glyph once they draw (see chrome.js) */
.chrome{position:absolute;pointer-events:none}
.chrome canvas{position:absolute;display:block}
.monument.gl > .glyph{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms!important}
}
