/* Round 27 (2026-10-06): /crafted. Ian: "it feels like you're just relying on her content to carry and you didn't create
   only cool custom design aspects... the way you arrange a lot of elements on desktop could be better... refined to the
   point where it feels custom and hand crafted to fit the customer."
   - Every section is built around a designed piece made from a real object of hers: the doorway film with her OPEN sign,
     the printed "In the lounge" card, a label for every drip beside its bag on her charcoal wall, one team picture made
     from the nurses' own cards, her loyalty and gift cards on her quartz counter, her front door with the hours on the
     glass. Her photos support those pieces; they don't carry the page.
   - One language: her nude paper, her black, her champagne beige, brass hairlines. Playfair Display (the serif on her
     cards) for headings, in normal case with one italic phrase in brass; Tenor Sans (the sans on her website) for the
     rest. Headings set left on a 12-column grid inside the house 1240 column; sections overlap their pictures.
   - Things move on their own, softly, with Reduce Motion too (fades and glides; only the sign's swing is dropped).
   Round 28: Marcellus (the font of the rounds Ian liked) with the boxed key word as the one headline move; ?font=playfair
   and ?font=dmserif show the same page in the earlier faces. New pieces: her front desk (oak slats on black under a white
   quartz counter), her brass wall sconces, her starburst chandelier over the highland cow, their reels row.
   Machinery shared with the home: concept-home.css/js (the full-screen player, the drifting rows and their arrows,
   things arriving as you reach them). Classes start with k- so the shared site.css never reaches them. */
body[data-page^="crafted"] {
  --paper: #faf5f2; --paper-2: #f3ece5; --card: #fffdfb;
  --sand: #d6c8af; --sand-d: #b9a78a;
  --ink: #12110f; --ink-2: #1e1c1a; --ink-3: #34302c;
  --mute: #6b6158; --mute-d: #aaa094;
  /* --brass was #92723f: 3.8:1 on --paper-2 and 4.1:1 on --paper, under the 4.5:1 small text needs (launch checks,
     2026-11-06). #836739 is the same brass one small step darker: 4.5:1 on --paper-2, 4.9:1 on --paper. */
  --brass: #836739; --brass-m: #b6955f; --brass-l: #dbc293;
  --line: rgba(18, 17, 15, .14); --line-2: rgba(18, 17, 15, .08); --line-d: rgba(250, 245, 242, .16);
  --disp: 'Marcellus', 'Times New Roman', serif; --it: normal; --hl: box;
  --sans: 'Tenor Sans', 'Gill Sans', 'Helvetica Neue', Arial, sans-serif;
  --r: 4px; --hd: 64px;
  /* the shared player, reels and arrows read these */
  --black: var(--ink); --beige: var(--sand); --nude: var(--paper); --body: var(--sans); --taupe: var(--mute);
  overflow-x: clip; background: var(--paper); color: var(--ink); font: 400 16px/1.7 var(--sans);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
@media (min-width: 1100px) { body[data-page^="crafted"] { --hd: 84px; } }
html[data-font="playfair"] body[data-page^="crafted"] { --disp: 'Playfair Display', Georgia, serif; --it: italic; }
html[data-font="dmserif"] body[data-page^="crafted"] { --disp: 'DM Serif Display', Georgia, serif; --it: italic; }
html:has(body[data-page^="crafted"]) { scroll-behavior: smooth; scroll-padding-top: calc(var(--hd) + 8px); }
@media (prefers-reduced-motion: reduce) { html:has(body[data-page^="crafted"]) { scroll-behavior: auto; } }
.k-col { width: 100%; max-width: calc(1240px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.k-skip { position: absolute; left: 12px; top: -90px; z-index: 2000; padding: 12px 18px; border-radius: 2px; background: var(--card); color: var(--ink); }
.k-skip:focus { top: 12px; }
.k-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
:where(.k, .k-ft) img { display: block; max-width: 100%; height: auto; }
:where(.k) figure { margin: 0; }
:where(.k, .k-ft) p { margin: 0; }
:where(.k, .k-ft) em { font-style: var(--it); }
:where(.k) a { color: inherit; }
.k-stars { letter-spacing: .16em; color: var(--brass-m); }

/* ── type ── */
.k-k { margin: 0 0 20px; font: 400 11.5px/1.4 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--brass); }
.k-h2 { margin: 0; font: 400 clamp(36px, 4.05vw, 60px)/1.12 var(--disp); letter-spacing: -.005em; color: var(--ink); text-wrap: balance; }
html[data-font="playfair"] .k-h2 { font-weight: 500; line-height: 1.07; letter-spacing: -.012em; }
.k-h2 em, .k-ft__line em, .k-hero__w em { font-weight: 400; padding: .02em .2em .06em; margin: 0 .04em; border-radius: 3px; background: var(--ink); color: var(--sand); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.k-team .k-h2 em, .k-ft__line em { background: var(--sand); color: var(--ink); }
html[data-font="playfair"] .k-h2 em, html[data-font="playfair"] .k-ft__line em, html[data-font="playfair"] .k-hero__w em { padding: 0; margin: 0; background: none; color: var(--brass); }
html[data-font="playfair"] .k-team .k-h2 em, html[data-font="playfair"] .k-ft__line em { color: var(--brass-l); }
.k-mini { margin: 0 0 12px; font: 400 10.5px/1.4 var(--sans); letter-spacing: .28em; text-transform: uppercase; color: var(--brass); }
.k-note { font: 400 11px/1.5 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }

/* ── buttons and links ── */
.k-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 34px; border: 1px solid transparent; border-radius: 2px;
  font: 400 12.5px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background .35s ease, color .35s ease, border-color .35s ease; }
.k-btn svg { width: 14px; height: 14px; fill: currentColor; }
.k-btn--ink { background: var(--ink); color: var(--paper); }
.k-btn--ink:hover { background: var(--ink-3); }
.k-btn--line { border-color: rgba(18, 17, 15, .38); color: var(--ink); }
.k-btn--line:hover { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.k-btn--paper { background: var(--paper); color: var(--ink); }
.k-btn--paper:hover { background: var(--sand); }
.k-btn--line-d { border-color: rgba(250, 245, 242, .38); color: var(--paper); }
.k-btn--line-d:hover { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.k-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font: 400 12.5px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.k-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.3; transition: transform .35s ease; }
.k-link:hover svg { transform: translateX(5px); }
.k-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 30px; }

/* ════════ header ════════ */
.k-hd { position: sticky; top: 0; z-index: 60; background: rgba(250, 245, 242, .93); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line-2); }
.k-hd__in { display: flex; align-items: center; gap: clamp(10px, 2vw, 34px); height: var(--hd); }
.k-logo { display: inline-flex; align-items: center; gap: 10px; min-width: 0; min-height: 44px; margin-right: auto; color: var(--ink); text-decoration: none; }
.k-logo .mark { width: 34px; background: var(--ink); }
@property --k-a { syntax: '<angle>'; inherits: false; initial-value: 360deg; }
.k-logo__mark { position: relative; flex: none; width: 34px; aspect-ratio: 1; }
.k-logo__ring, .k-logo__r { position: absolute; inset: 0; background: var(--ink); }
.k-logo__ring { -webkit-mask: url(/assets/img/brand/ring.svg) center / contain no-repeat, conic-gradient(from 210deg, #000 var(--k-a), transparent 0); -webkit-mask-composite: source-in;
  mask: url(/assets/img/brand/ring.svg) center / contain no-repeat, conic-gradient(from 210deg, #000 var(--k-a), transparent 0); mask-composite: intersect;
  animation: k-ring 1.7s cubic-bezier(.45, 0, .2, 1) .25s both; }
.k-logo__r { -webkit-mask: url(/assets/img/brand/r-only.svg) center / contain no-repeat; mask: url(/assets/img/brand/r-only.svg) center / contain no-repeat; animation: k-fade 1s ease 1.35s both; }
.k-logo:hover .k-logo__ring { animation: k-ring-again 1.3s cubic-bezier(.45, 0, .2, 1) both; }
@keyframes k-ring { from { --k-a: 0deg; } to { --k-a: 360deg; } }
@keyframes k-ring-again { from { --k-a: 0deg; } to { --k-a: 360deg; } }
.k-logo__t { display: flex; flex-direction: column; gap: 5px; font: 400 15px/1 var(--sans); letter-spacing: .34em; text-transform: uppercase; }
.k-logo__t span { font-size: 8px; letter-spacing: .2em; white-space: nowrap; color: var(--brass); }
.k-nav { display: none; }
.k-nav a, .k-pm a:not(.k-btn) { color: var(--ink); text-decoration: none; font: 400 12px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.k-nav__a, .k-nav__tel, .k-dd__top { display: inline-flex; align-items: center; min-height: 44px; transition: color .3s; }
.k-nav__a:hover, .k-dd__top:hover, .k-nav__a[aria-current], .k-dd__top[aria-current] { color: var(--brass); }
.k-nav__tel { display: none !important; letter-spacing: .12em !important; }
.k-call { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); }
.k-call svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.k-hd__book { flex: none; min-height: 44px; padding: 0 16px; font-size: 11px; letter-spacing: .2em; }
.k-hd__more { display: none; }
.k-hd__book { gap: 0; }
.k-burger { display: grid; flex: none; place-items: center; width: 44px; height: 44px; margin-right: -10px; border-radius: 50%; color: var(--ink); background: none; border: 0; cursor: pointer; }
.k-burger svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }
.k-pm { display: grid; align-content: start; max-height: calc(100svh - var(--hd)); overflow-y: auto; overscroll-behavior: contain; padding: 6px var(--gutter) 28px; border-top: 1px solid var(--line-2); background: var(--paper); box-shadow: 0 24px 40px -24px rgba(18, 17, 15, .3); }
.k-pm[hidden] { display: none !important; }
/* the phone menu: each group folds open (one at a time), its pages listed with prices; Call and Book at the foot */
.k-pm__link, .k-pm__g > summary { display: flex; align-items: center; justify-content: space-between; min-height: 60px; border-bottom: 1px solid var(--line-2); font: 400 26px/1 var(--disp) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink); text-decoration: none; cursor: pointer; list-style: none; }
.k-pm__g > summary::-webkit-details-marker { display: none; }
.k-pm__g > summary svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.3; transition: transform .35s ease; }
.k-pm__g[open] > summary svg { transform: rotate(180deg); }
.k-pm__in { display: grid; padding: 6px 0 18px 2px; }
.k-pm__t { margin: 16px 0 2px !important; font: 400 10px/1.4 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--brass); }
.k-pm__a, .k-pm__all { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; border-bottom: 1px solid var(--line-2); font: 400 19px/1.2 var(--disp) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink); text-decoration: none; }
.k-pm__p { font: 400 11px/1 var(--sans); letter-spacing: .12em; color: var(--mute); }
.k-pm__all { justify-content: flex-start; gap: 10px; font: 400 11px/1 var(--sans) !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: var(--brass); }
.k-pm__all svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.k-pm__a.is-soon, .k-dd__a.is-soon { justify-content: flex-start; gap: 10px; color: rgba(18, 17, 15, .38); cursor: default; }
.k-pm__a.is-soon small, .k-dd__a.is-soon small { font: 400 9px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--brass); }
.k-pm__foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 22px; }
.k-pm__foot .k-btn { padding-inline: 10px; }
/* her Instagram and Facebook: logos alone between the phone number and Book on a computer (quieter than Book); where the
   bar is full (1100-1239px) they sit at the foot of the Visit drop-down instead; a row of logos at the foot of the phone
   menu; logo + name in the footer (the logos are site-kit's; site.css sizes them) */
.k-soc, .k-dd__soc { display: none; }
.k-pm .k-pm__soc { display: flex; gap: 10px; margin-top: 18px; }
.k-pm .k-pm__soc .soc { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); }
.k-pm .k-pm__soc .soc-i { width: 19px; height: 19px; }
@media (max-width: 380px) { .k-logo__t { font-size: 13px; letter-spacing: .28em; } .k-logo .mark, .k-logo__mark { width: 32px; } .k-hd__book { padding: 0 13px; letter-spacing: .14em; } }
@media (min-width: 1100px) {
  .k-logo .mark, .k-logo__mark { width: 44px; }
  .k-logo__t { flex-direction: row; align-items: baseline; gap: .7em; font-size: 14px; }
  .k-logo__t span { font-size: inherit; letter-spacing: inherit; }
  .k-nav { display: flex; gap: clamp(22px, 2.1vw, 30px); }
  .k-nav__a, .k-nav__tel, .k-dd__top { white-space: nowrap; }
  .k-call, .k-burger, .k-pm { display: none !important; }
  .k-hd__book { min-height: 48px; padding: 0 26px; font-size: 11.5px; letter-spacing: .22em; }
  .k-hd__more { display: inline; white-space: pre; }
}
@media (min-width: 1100px) and (max-width: 1239.98px) {
  .k-dd__soc { display: flex; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
  .k-nav .k-dd__soc .soc { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); }
  .k-nav .k-dd__soc .soc:hover { color: var(--brass); border-color: var(--brass); }
}
@media (min-width: 1240px) {
  /* each logo 18px from its neighbours, 12px from the other: the header's own gap is pulled in around them */
  .k-soc { display: flex; flex: none; align-items: center; margin-inline: calc(12px - clamp(10px, 2vw, 34px)); }
  .k-soc .soc { width: 28px; height: 44px; color: var(--ink); transition: color .3s; }
  .k-soc .soc-i { width: 16px; height: 16px; }
  .k-soc .soc:hover { color: var(--brass); }
}
/* the phone number joins the bar here; the menu words close up to the header's own smallest spacing (22px, as at
   1100px) so the logos fit without crowding her name */
@media (min-width: 1380px) { .k-nav__tel { display: inline-flex !important; } .k-nav { gap: 22px; } }

/* ── the header's drop-down menus (computer): open on hover, or with the chevron (touch, keyboard); Escape closes ── */
.k-dd { position: relative; display: flex; align-items: center; gap: 2px; }
.k-dd__top { gap: 8px; padding: 0; border: 0; background: none; color: var(--ink); font: 400 12px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.k-dd__top svg, .k-dd__btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform .3s ease; }
.k-dd__btn { display: grid; place-items: center; width: 26px; height: 44px; margin-right: -8px; padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer; }
.k-dd.is-open .k-dd__btn svg, .k-dd.is-open .k-dd__top svg { transform: rotate(180deg); }
.k-dd__panel { position: absolute; z-index: 70; top: calc(100% + 12px); left: 50%; min-width: 280px; padding: 22px 26px 18px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--paper);
  box-shadow: 0 30px 60px -28px rgba(18, 17, 15, .45), 0 2px 6px rgba(18, 17, 15, .06); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .25s ease, transform .3s ease, visibility 0s .3s; }
.k-dd__panel::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.k-dd__panel--wide { width: min(780px, 70vw); }
.k-dd.is-open .k-dd__panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .25s ease, transform .3s ease, visibility 0s; }
@media (hover: hover) { .k-dd:hover .k-dd__panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .25s ease, transform .3s ease, visibility 0s; } .k-dd:hover .k-dd__btn svg, .k-dd:hover .k-dd__top svg { transform: rotate(180deg); } }
.k-dd__cols { display: grid; gap: 26px; }
.k-dd__panel--wide .k-dd__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.k-dd__col { display: grid; align-content: start; }
.k-dd__g { margin: 0 0 6px !important; font: 400 10px/1.4 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--brass); }
.k-nav .k-dd__a { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; min-height: 38px; padding: 9px 0 7px; border-bottom: 1px solid var(--line-2); color: var(--ink); font: 400 17px/1.2 var(--disp); letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; transition: color .25s; }
.k-nav a.k-dd__a:hover { color: var(--brass); }
.k-dd__p { font: 400 10.5px/1 var(--sans); letter-spacing: .12em; color: var(--mute); }
.k-dd__foot { display: flex; flex-wrap: wrap; gap: 6px 30px; margin-top: 16px; padding-top: 8px; border-top: 1px solid var(--line); }
.k-nav .k-dd__foot a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--ink); font: 400 11px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; }
.k-dd__foot a svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .3s; }
.k-nav .k-dd__foot a:hover { color: var(--brass); }
.k-dd__foot a:hover svg { transform: translateX(3px); }

/* each drip's label carries the way to its own page */
.k-label__go { display: inline-flex; align-self: flex-start; align-items: center; gap: 9px; min-height: 44px; margin: -4px 0 6px; color: var(--ink); font: 400 11px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; }
.k-label__go span, .k-label__go { background: linear-gradient(var(--brass-m), var(--brass-m)) 0 calc(50% + 12px) / 100% 1px no-repeat; }
.k-label__go svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .3s; }
.k-label__go:hover { color: var(--brass); }
.k-label__go:hover svg { transform: translateX(3px); }

/* ════════ the first screen: her storefront, edge to edge ════════
   Black aluminium frames; behind the glass, their real footage (three panes on a computer: window | door | window; the
   door alone on a phone). On the door: her vinyl R and name, the pull, her OPEN sign hanging from the transom. On the
   windows: her lettering. "Come in." on the left window's glass (on a phone, on the door's). */
.k-hero { position: relative; padding: 0; }
.k-store { position: relative; padding: 0 10px 14px; background: linear-gradient(90deg, #0d0c0b, #1b1917 50%, #0d0c0b); }
.k-store__head { display: flex; align-items: center; justify-content: center; height: 36px; }
/* the suite plate over her door, in brass letters */
.k-store__no { font: 400 10px/1 var(--sans); letter-spacing: .46em; padding-left: .46em; text-transform: uppercase; color: var(--brass-l); }
.k-store__panes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; height: min(70svh, 620px); }
.k-pane { position: relative; overflow: hidden; background: #2a2622; }
.k-pane--l, .k-pane--r { display: none; }
.k-pane__poster, .k-pane__v { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.k-pane__v { opacity: 0; transition: opacity 1s ease; }
.k-pane__v.is-on { opacity: 1; }
.k-pane__glass { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(112deg, rgba(255, 255, 255, .15) 0%, rgba(255, 255, 255, .04) 24%, transparent 25%, transparent 62%, rgba(255, 255, 255, .06) 63%, transparent 76%),
    linear-gradient(180deg, rgba(10, 9, 8, .3), rgba(10, 9, 8, .04) 30%, rgba(10, 9, 8, .16) 62%, rgba(10, 9, 8, .62));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), inset 0 0 50px rgba(0, 0, 0, .35); }
.k-pane__bar { position: absolute; left: 6%; top: 46%; width: 8px; height: 20%; border-radius: 6px; background: linear-gradient(90deg, #060606, #2d2a28 60%, #0a0909); box-shadow: 2px 4px 10px rgba(0, 0, 0, .5); }
/* her vinyl logo on the door: the ring, then her name under it, hung below the sign (never under it, never through it) */
.k-pane__logo { position: absolute; left: 6%; right: 6%; top: calc(160px + 5%); display: grid; justify-items: center; gap: 18px; }
.k-pane__mark { display: block; width: min(52%, 176px); }
.k-pane__mark .mark { width: 100%; background: rgba(255, 255, 255, .92); filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); }
.k-pane__name, .k-pane__vinyl { text-shadow: 0 1px 3px rgba(0, 0, 0, .65); }
@media (max-width: 1099px) { .k-pane__logo, .k-pane__bar { display: none; } }
.k-pane__name { text-align: center; font: 400 12px/1.7 var(--sans); letter-spacing: .4em; padding-left: .4em; text-transform: uppercase; color: rgba(255, 255, 255, .9); text-wrap: balance; }
.k-pane__vinyl { position: absolute; left: 0; right: 0; top: 6%; text-align: center; font: 400 12px/2.3 var(--sans); letter-spacing: .38em; padding-left: .38em; text-transform: uppercase; color: rgba(255, 255, 255, .86); }
.k-store__words { position: absolute; z-index: 4; left: 10px; right: 10px; bottom: 14px; padding: 150px 22px 26px; color: #fff; pointer-events: none;
  background: linear-gradient(to top, rgba(10, 9, 8, .9) 0%, rgba(10, 9, 8, .66) 48%, rgba(10, 9, 8, 0) 100%); }
.k-store__words > * { pointer-events: auto; }
.k-store__h { margin: 0; font: 400 clamp(54px, 18vw, 110px)/.95 var(--disp); letter-spacing: -.015em; color: #fff; }
.k-store__h em { padding: 0 .14em .04em; margin-left: .02em; border-radius: 4px; background: var(--sand); color: var(--ink); }
html[data-font="playfair"] .k-store__h { font-weight: 500; }
html[data-font="playfair"] .k-store__h em { padding: 0; background: none; color: var(--brass-l); }
.k-store__p { margin-top: 24px !important; max-width: 30em; font-size: 14.5px; line-height: 1.7; color: rgba(255, 255, 255, .88); }
.k-store__words .k-cta { margin-top: 22px; }
.k-store__words .k-btn--ink { background: var(--paper); color: var(--ink); }
.k-store__words .k-btn--ink:hover { background: var(--sand); }
.k-rating { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 14px; font: 400 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); text-decoration: none; }
.k-rating b { font-weight: 400; color: var(--ink); }
.k-link--light { color: #fff; }
.k-rating--light { color: rgba(255, 255, 255, .8); text-decoration: none !important; }
.k-rating--light b { color: #fff; }
.k-rating--light .k-stars { color: var(--brass-l); }
/* (both class names: the general .k-sign rule further down must not undo these) */
.k-sign.k-sign--hero { z-index: 5; top: 0; right: 9%; }
/* phones: the narrow door keeps just the headline, the line and Book on its glass, clear of the hanging sign ("See the
   menu" lives in the header's menu there) */
@media (max-width: 599px) {
  .k-sign.k-sign--hero { width: 132px; right: 6%; }
  .k-store__words { padding-top: 96px; }
  .k-store__words .k-link { display: none; }
  .k-store__words .k-cta { margin-top: 18px; }
  .k-store__words .k-rating { margin-top: 6px; }
}
/* the smallest phones: the review line steps off the glass (it leads the reviews further down) so the sign hangs clear */
@media (max-width: 359px) { .k-store__words .k-rating { display: none; } .k-store__p { font-size: 13.5px; } }
/* tablets: still a door, standing in the middle of her black storefront */
@media (min-width: 600px) and (max-width: 1099px) {
  .k-store__panes { width: min(100%, 540px); margin-inline: auto; }
  .k-store__words { left: 50%; right: auto; width: min(calc(100% - 20px), 540px); transform: translateX(-50%); }
}
@media (min-width: 1100px) {
  /* the desk stands in front of the glass: its counter overlaps the panes' foot by --lap, and the panes are sized so the
     whole desk (a 79px counter + the slatted front) ends on the first screen */
  .k-hero { --lap: 20px; --desk-front: clamp(96px, 8.6vw, 168px); }
  .k-store { padding: 0 18px; }
  .k-store__head { height: 46px; }
  .k-store__no { font-size: 11.5px; }
  .k-store__panes { grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 1.1fr); gap: 18px; height: clamp(440px, calc(100svh - var(--hd) - 46px - 79px - var(--desk-front) + var(--lap)), 960px); }
  .k-pane--l, .k-pane--r { display: block; }
  .k-store__words { left: 18px; right: auto; bottom: var(--lap); width: calc((100% - 72px) * 1.1 / 3); padding: 200px clamp(24px, 2.6vw, 60px) clamp(34px, 4.6vh, 60px); }
  .k-store__h { font-size: clamp(64px, min(6.4vw, 12vh), 140px); }
  .k-store__p { font-size: 16.5px; margin-top: 30px !important; }
  .k-store__words .k-cta { flex-direction: row; }
  /* her sign hangs from the middle of the door's transom; her logo sits below it */
  .k-sign.k-sign--hero { left: calc(50% - clamp(148px, 10.6vw, 162px) / 2); right: auto; }
}
/* narrow computer windows: the left window is too slim for Book and "See the menu" side by side; the header has Menu */
@media (min-width: 1100px) and (max-width: 1365px) { .k-store__words .k-link { display: none; } }

/* ── her OPEN sign: a white card in a double frame on two cords from one hook; CLOSED out of hours (crafted.js) ── */
.k-sign { position: absolute; z-index: 3; width: clamp(148px, 10.6vw, 162px); transform-origin: 50% 0; }
.k-sign__cord { display: block; position: relative; height: clamp(26px, 2.4vw, 36px); }
.k-sign__cord::before, .k-sign__cord::after { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 120%; background: rgba(255, 255, 255, .75); box-shadow: 0 0 1px rgba(0, 0, 0, .5); transform-origin: 0 0; }
.k-sign__cord::before { transform: rotate(38deg); }
.k-sign__cord::after { transform: rotate(-38deg); }
.k-sign__cord { background: radial-gradient(circle at 50% 3px, #e9e2d8 0 3px, transparent 3.5px); }
.k-sign__card { position: relative; display: grid; width: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; transform-style: preserve-3d; transition: transform .9s cubic-bezier(.3, 1.25, .5, 1); }
.k-sign__card.is-flipped { transform: rotateY(180deg); }
.k-sign__card:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.k-sign__face { position: relative; grid-area: 1 / 1; display: grid; justify-items: center; align-content: center; gap: 5px; padding: 14px 10px 11px; background: #fcfaf7; border-radius: 2px;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; box-shadow: 0 12px 24px -10px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .2); }
.k-sign__face::before, .k-sign__face::after { content: ''; position: absolute; pointer-events: none; }
.k-sign__face::before { inset: 5px; border: 1px solid rgba(18, 17, 15, .7); }
.k-sign__face::after { inset: 8px; border: 1px solid rgba(18, 17, 15, .35); }
.k-sign__face--back { transform: rotateY(180deg); background: #141312; }
.k-sign__face--back::before { border-color: rgba(219, 194, 147, .75); }
.k-sign__face--back::after { border-color: rgba(219, 194, 147, .35); }
.k-sign__bt { font: 400 8px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--brass-l); padding-left: .3em; }
.k-sign__bh { padding: 0 8px; font: 400 clamp(13px, 1.1vw, 16px)/1.15 var(--disp); color: #fff; text-align: center; text-wrap: balance; }
.k-sign__word { font: 400 clamp(19px, 1.7vw, 25px)/1 var(--disp); letter-spacing: .2em; text-transform: uppercase; color: var(--ink); padding-left: .2em; }
.k-sign__sub { max-width: 100%; padding: 0 9px; font: 400 7.5px/1.45 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--mute); text-align: center; text-wrap: balance; }
.k-sign[data-state="closed"] .k-sign__word, .k-sign[data-state="soon"] .k-sign__word { letter-spacing: .12em; }
.k-sign.is-swing { animation: k-swing 3s cubic-bezier(.3, .6, .3, 1) both; }
@keyframes k-swing { 0% { transform: rotate(9deg); } 22% { transform: rotate(-6deg); } 44% { transform: rotate(3.4deg); } 64% { transform: rotate(-1.6deg); } 82% { transform: rotate(.6deg); } 100% { transform: rotate(0); } }
@media (prefers-reduced-motion: reduce) { .k-sign.is-swing { animation: k-fade 1s ease both; } }
@keyframes k-fade { from { opacity: 0; } to { opacity: 1; } }

/* ════════ sections ════════ */
.k-sec { position: relative; padding-block: clamp(84px, 9.4vw, 148px); }
.k-head { display: grid; gap: 22px 32px; margin-bottom: clamp(40px, 5vw, 70px); }
.k-head__p { max-width: 44ch; font-size: 16.5px; line-height: 1.8; color: var(--mute); }
@media (min-width: 1100px) {
  .k-head { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; }
  .k-head__t { grid-column: 1 / span 7; }
  .k-head__p { grid-column: 9 / span 4; padding-bottom: 6px; }
}

/* ── the lounge: her photo, the printed card laid over its edge, the cow ── */
.k-lounge { padding-top: clamp(76px, 8vw, 128px); }
.k-lounge__stage { display: grid; gap: 0; }
.k-lounge__photo { overflow: hidden; border-radius: var(--r); aspect-ratio: 4 / 3; background: var(--ink-2); }
.k-lounge__photo img { width: 100%; height: 100% !important; object-fit: cover; }
.k-card { position: relative; background: var(--card); border-radius: 2px;
  box-shadow: 0 1px 0 rgba(18, 17, 15, .05), 0 36px 64px -32px rgba(18, 17, 15, .42), 0 10px 20px -12px rgba(18, 17, 15, .2); }
.k-card::before, .k-card::after { content: ''; position: absolute; pointer-events: none; }
.k-card::before { inset: 10px; border: 1px solid rgba(18, 17, 15, .24); }
.k-card::after { inset: 14px; border: 1px solid rgba(18, 17, 15, .1); }
.k-badge { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto; border-radius: 50%; background: var(--ink); }
.k-badge .mark { width: 34px; background: var(--paper); }
.k-badge--sm { width: 30px; height: 30px; margin: 0; }
.k-badge--sm .mark { width: 20px; }
.k-amen { margin: -56px 16px 0; padding: 40px 34px 32px; }
.k-amen__t { margin: 16px 0 20px; text-align: center; font: var(--it) 400 32px/1.1 var(--disp); }
.k-amen__ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k-amen__ul li { display: flex; align-items: baseline; gap: 14px; padding: 13px 2px; border-bottom: 1px solid var(--line); font: 400 18.5px/1.35 var(--disp); }
.k-amen__ul li::before { content: ''; flex: none; width: 5px; height: 5px; background: var(--brass-m); transform: translateY(-3px) rotate(45deg); }
.k-amen__foot { margin-top: 18px !important; text-align: center; font: 400 10px/1.5 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--mute); }
@media (min-width: 1100px) {
  .k-lounge__stage { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
  .k-lounge__photo { grid-column: 1 / span 8; grid-row: 1; }
  .k-amen { grid-column: 8 / span 5; grid-row: 1; align-self: end; margin: 0 0 -56px; padding: 40px 40px 30px; z-index: 2; }
  .k-amen__ul { columns: 2; column-gap: 34px; border-top: 0; }
  .k-amen__ul li { break-inside: avoid; border-top: 1px solid var(--line); border-bottom: 0; font-size: 17px; }
}

/* ── the menu: the drips as tabs; each drip's label beside its bag, on her charcoal wall under a brass sconce ── */
.k-menu { background: var(--paper-2); }
.k-rx { display: grid; gap: 34px; }
.k-rx__stage { order: -1; position: relative; display: grid; grid-template-columns: 27% minmax(0, 1fr); gap: 14px; align-items: center; padding: 0 16px 24px 10px; border-radius: var(--r); overflow: hidden;
  background: radial-gradient(45% 35% at 84% 14%, rgba(226, 186, 120, .16), transparent 70%), radial-gradient(60% 45% at 18% 26%, rgba(226, 186, 120, .14), transparent 70%), radial-gradient(40% 40% at 22% 0%, rgba(255, 220, 160, .14), transparent 70%), linear-gradient(180deg, #2a2623, #1c1a18); }
.k-rx__stage > .k-bag, .k-rx__stage > .k-rx__labels { position: relative; z-index: 1; }
.k-bag { position: relative; display: grid; align-self: start; justify-items: center; }
.k-sc--menu { right: 9%; top: 5%; }
@media (max-width: 699px) { .k-sc--menu { display: none; } }
.k-bag__cord { grid-row: 1; width: 2px; height: clamp(34px, 5vw, 96px); background: linear-gradient(180deg, rgba(219, 189, 134, .15), #d9bd86 35%, #9b7a45); box-shadow: 0 0 10px rgba(255, 214, 150, .35); }
.k-bag__img { grid-row: 2; grid-column: 1; width: 100%; height: auto; margin-top: -3%; opacity: 0; transition: opacity .9s ease; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .45)); }
.k-bag__img.is-on { opacity: 1; }
.k-bag__img { transform-origin: 50% 2%; }
.k-bag.is-sway .k-bag__img.is-on { animation: k-sway 2.8s cubic-bezier(.3, .6, .3, 1); }
@keyframes k-sway { 0% { transform: rotate(0); } 16% { transform: rotate(3.2deg); } 38% { transform: rotate(-2.2deg); } 60% { transform: rotate(1.2deg); } 80% { transform: rotate(-.45deg); } 100% { transform: rotate(0); } }
/* Reduce Motion (Ian's iPhone has it on): a smaller, calmer swing, never none */
@media (prefers-reduced-motion: reduce) { .k-bag.is-sway .k-bag__img.is-on { animation: k-sway-calm 2.4s ease-in-out; } }
@keyframes k-sway-calm { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(1.1deg); } 65% { transform: rotate(-.6deg); } }
.k-rx__labels { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; padding-top: 34px; }
.k-label { grid-area: 1 / 1; position: relative; display: flex; flex-direction: column; padding: 22px 20px 18px; border-radius: 12px; background: #fffefc; color: var(--ink);
  box-shadow: 0 30px 50px -26px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .7s ease, transform .9s cubic-bezier(.2, .7, .2, 1), visibility .7s; }
.k-label.is-on { opacity: 1; visibility: visible; transform: none; }
.k-label__top { display: flex; align-items: center; gap: 9px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.k-label__top .mark { width: 24px; background: var(--ink); }
.k-label__brand { display: grid; gap: 3px; font: 400 12px/1 var(--sans); letter-spacing: .34em; text-transform: uppercase; }
.k-label__brand small { font-size: 6.5px; letter-spacing: .3em; color: var(--brass); }
.k-label__city { display: none; margin-left: auto; white-space: nowrap; font: 400 8.5px/1.2 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }
.k-label__main { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 14px; }
.k-label__name { margin: 0; font: 500 clamp(28px, 7vw, 46px)/1 var(--disp); letter-spacing: -.01em; }
.k-label__name a { text-decoration: none; }
/* each bag is a link to its drip's page: the link takes no box, so the bags hang exactly as before; only the bag showing takes the click */
.k-bag__go { display: contents; }
.k-bag__img:not(.is-on) { pointer-events: none; }
.k-label__price { font: 400 clamp(20px, 4.6vw, 30px)/1 var(--disp); white-space: nowrap; }
.k-label__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px !important; }
.k-label__meta > span:first-child { padding: 6px 12px 5px; border-radius: 999px; background: var(--brass-m); color: #32312f; font: 400 9.5px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.k-label__meta > span:nth-child(2):not(.k-label__note) { font: 400 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--mute); }
.k-label__note { font: var(--it) 400 16px/1.2 var(--disp); color: var(--brass); }
.k-label__dl { margin: 14px 0 0; }
.k-label__dl dt { font: 400 9px/1.3 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--mute); }
.k-label__dl dd { margin: 4px 0 0; font: 400 16px/1.45 var(--disp); }
.k-label__line { margin-bottom: 18px !important; }
.k-label__line { margin-top: 12px !important; font-size: 14.5px; line-height: 1.65; color: var(--mute); }
.k-label__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 16px; align-items: end; margin-top: auto; padding-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.k-label__made { grid-column: 1 / -1; font: 400 8.5px/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }
.k-label__field { display: flex; align-items: baseline; gap: 8px; font: 400 8.5px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.k-label__field { grid-column: 1; max-width: 230px; }
.k-label__field b { flex: 1; min-width: 44px; padding-bottom: 3px; border-bottom: 1px solid rgba(18, 17, 15, .35); font: 400 11px/1 var(--sans); letter-spacing: .1em; color: var(--ink); }
.k-label__code { grid-column: 2; grid-row: 2 / span 2; align-self: end; width: clamp(46px, 12vw, 74px); height: 30px; background: repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 3px, var(--ink) 3px 5px, transparent 5px 6px, var(--ink) 6px 7px, transparent 7px 10px, var(--ink) 10px 12px, transparent 12px 13px); opacity: .85; }
.k-rx__list { min-width: 0; }
.k-rx__g { margin: 30px 0 4px !important; font: 400 10.5px/1.4 var(--sans); letter-spacing: .28em; text-transform: uppercase; color: var(--brass); }
.k-rx__g:first-child { margin-top: 0 !important; }
.k-rx__ul { margin: 0; padding: 0; list-style: none; }
.k-rx__tab { position: relative; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; width: 100%; min-height: 44px; padding: 8px 2px 8px 0; border: 0; border-bottom: 1px solid var(--line); background: none; color: var(--ink); text-align: left; cursor: pointer; transition: padding .5s cubic-bezier(.2, .7, .2, 1); }
.k-rx__tab::before { content: ''; position: absolute; left: 0; top: 50%; width: 10px; height: 1px; background: var(--brass); transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.k-rx__tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--brass); transform: scaleX(0); transform-origin: left; }
.k-rx__tab.is-on { padding-left: 22px; }
.k-rx__tab.is-on::before { transform: none; }
.k-rx__tab.is-run::after { animation: k-fill var(--every, 4600ms) linear both; }
@keyframes k-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.k-rx__n { font: 400 20px/1.25 var(--disp); transition: color .3s; }
.k-rx__tab:hover .k-rx__n, .k-rx__tab.is-on .k-rx__n { color: var(--brass); }
.k-rx__tab.is-on .k-rx__n { font-style: var(--it); }
.k-rx__p { flex: none; font: 400 17px/1.25 var(--disp); color: var(--mute); font-variant-numeric: lining-nums tabular-nums; }
.k-rx__tab:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.k-extras { display: grid; gap: 34px; margin-top: clamp(56px, 6vw, 84px); }
.k-pl__h { margin: 0 0 6px !important; font: var(--it) 400 24px/1.2 var(--disp); }
.k-pl__sub { margin: 30px 0 4px !important; font: var(--it) 400 19px/1.2 var(--disp); }
/* the add-ons and the shots fold (shut on phones, open elsewhere: crafted.js) */
summary.k-pl__h { display: flex; align-items: center; gap: 14px; min-height: 52px; list-style: none; cursor: pointer; }
summary.k-pl__h::-webkit-details-marker { display: none; }
.k-pl__sum { margin-left: auto; font: 400 10px/1.3 var(--sans); font-style: normal; letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }
summary.k-pl__h svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--brass); stroke-width: 1.4; transition: transform .35s ease; }
details.k-pl[open] > summary svg { transform: rotate(180deg); }
details.k-pl:not([open]) > summary { border-bottom: 1px solid var(--line); }
@media (min-width: 700px) { .k-pl__sum, summary.k-pl__h svg { display: none; } summary.k-pl__h { min-height: 0; cursor: default; pointer-events: none; } }
/* phones and tablets: the drips are a row of chips right under the bag and its label */
.k-rx__pick { position: relative; min-width: 0; }
.k-rx__step { display: none; }
.k-rx__all { justify-self: start; }
@media (max-width: 1099px) {
  .k-rx { gap: 16px; }
  .k-rx__list { position: relative; display: flex; gap: 8px; margin-inline: calc(-1 * var(--gutter)); padding: 6px calc(var(--gutter) + 40px) 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 60px, #000 calc(100% - 60px), transparent); mask-image: linear-gradient(90deg, transparent, #000 60px, #000 calc(100% - 60px), transparent); }
  .k-rx__list::-webkit-scrollbar { display: none; }
  .k-rx__g { display: none; }
  .k-rx__ul { display: contents; }
  .k-rx__ul li { flex: none; scroll-snap-align: center; }
  .k-rx__tab { width: auto; min-height: 46px; gap: 10px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); transition: background .35s, border-color .35s; }
  .k-rx__tab.is-on { padding-left: 18px; border-color: var(--ink); background: var(--ink); }
  .k-rx__tab::before { display: none; }
  .k-rx__tab::after { left: 18px; right: 18px; bottom: 7px; }
  .k-rx__n { font-size: 17px; white-space: nowrap; }
  .k-rx__tab.is-on .k-rx__n { color: var(--sand); font-style: normal; }
  .k-rx__p { font: 400 11.5px/1 var(--sans); letter-spacing: .08em; }
  .k-rx__tab.is-on .k-rx__p { color: var(--mute-d); }
  .k-rx__step { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; margin-top: -24px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; box-shadow: 0 6px 16px -8px rgba(18, 17, 15, .35); }
  .k-rx__step svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
  .k-rx__step--prev { left: calc(-1 * var(--gutter) + 6px); }
  .k-rx__step--prev svg { transform: rotate(90deg); }
  .k-rx__step--next { right: calc(-1 * var(--gutter) + 6px); }
  .k-rx__step--next svg { transform: rotate(-90deg); }
  .k-rx__all { margin-top: -4px; }
}
@media (min-width: 1100px) {
  .k-rx__pick { display: contents; }
  .k-rx__list { grid-row: 1; }
  .k-rx__stage { grid-row: 1 / span 2; }
  .k-rx__all { grid-column: 1 / span 4; grid-row: 2; align-self: start; margin-top: 14px; }
}
.k-pl ul { margin: 0; padding: 0; list-style: none; }
.k-pl li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line-2); }
.k-pl__n { font-size: 15px; line-height: 1.4; }
.k-pl__n small { margin-left: 8px; font: 400 9.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--mute); }
.k-pl__p { flex: none; font: 400 16px/1.2 var(--disp); color: var(--ink); font-variant-numeric: lining-nums; }
@media (max-width: 379px) { .k-rx__stage { grid-template-columns: minmax(0, 1fr); padding-left: 16px; } .k-bag { display: none; } }
.k-label__main { flex-wrap: wrap; }
@media (min-width: 440px) { .k-label__city { display: block; } }
@media (min-width: 700px) {
  .k-rx__stage { padding: 0 40px 40px 26px; gap: 28px; grid-template-columns: 34% minmax(0, 1fr); }
  .k-rx__labels { padding-top: 46px; }
  .k-label { padding: 28px 30px 22px; }
  .k-extras { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (min-width: 1100px) {
  .k-rx { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
  .k-rx__list { grid-column: 1 / span 4; }
  .k-rx__stage { order: 0; grid-column: 6 / span 7; align-self: stretch; grid-template-columns: 37% minmax(0, 1fr); gap: 34px; padding: 0 50px 56px 34px; }
  .k-rx__labels { padding-top: 0; align-self: end; }
  .k-extras { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; }
  .k-extras .k-pl:first-child { grid-column: 1 / span 6; }
  .k-extras .k-pl:last-child { grid-column: 7 / span 6; }
  .k-label__name { font-size: 44px; }
  .k-label__price { font-size: 28px; }
}

/* ── the nurses: one team picture from their own cards, on black like their cards ── */
.k-team { background: var(--ink); color: var(--paper); }
.k-team .k-k { color: var(--brass-l); }
.k-team .k-h2 { color: var(--paper); }
.k-team .k-h2 em { background: var(--sand); color: var(--ink); }
html[data-font="playfair"] .k-team .k-h2 em { background: none; color: var(--brass-l); }
.k-team .k-head__p { color: var(--mute-d); }
.k-line, .k-spot { display: none; }
.k-team__row { display: flex; gap: 14px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.k-team__row::-webkit-scrollbar { display: none; }
.k-team__row > li { flex: 0 0 min(74vw, 300px); scroll-snap-align: start; }
.k-tc { position: relative; /* holds its spoken words inside the sideways row, so they never widen the page */ display: grid; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: center; cursor: pointer; }
.k-tc__pic { position: relative; display: flex; align-items: flex-end; justify-content: center; aspect-ratio: 5 / 6; overflow: hidden; border-radius: var(--r); background: radial-gradient(70% 60% at 50% 30%, #2a2622, #0d0c0b 75%); }
.k-tc__pic img { width: auto; height: 94%; max-width: 94%; object-fit: contain; object-position: 50% 100%; }
.k-tc__pic::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 22%; background: linear-gradient(transparent, #0d0c0b); }
.k-tc__n { margin-top: 16px; font: 500 22px/1 var(--disp); letter-spacing: .16em; text-transform: uppercase; }
.k-tc__r { margin-top: 8px; font: 400 9.5px/1.3 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--brass-l); }
.k-tc__f { margin-top: 12px !important; padding: 0 6px; font: var(--it) 400 16px/1.45 var(--disp); color: rgba(250, 245, 242, .78); text-align: center; }
.k-team .sx__btn { border-color: rgba(250, 245, 242, .2); background: var(--ink-2); color: var(--paper); }
.k-team .sx__btn:hover { background: var(--sand); color: var(--ink); }
@media (min-width: 1100px) {
  .k-team__row, .k-team .sx { display: none; }
  .k-line { display: block; position: relative; }
  .k-line__stage { position: relative; width: 100%; }
  .k-line__stage::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 16%; background: linear-gradient(rgba(18, 17, 15, 0), var(--ink)); pointer-events: none; z-index: 1; }
  .k-line__p { position: absolute; bottom: 0; height: auto; filter: brightness(.6) saturate(.82); transition: filter .9s ease; pointer-events: none; user-select: none; }
  .k-line.is-all .k-line__p, .k-line__p.is-on { filter: none; }
  .k-line__z { position: absolute; top: 0; bottom: 0; z-index: 2; padding: 0; border: 0; background: none; cursor: pointer; }
  .k-line__z:focus-visible { outline: 1px solid var(--brass-l); outline-offset: -6px; }
  .k-plate { position: relative; height: 62px; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(219, 194, 147, .4); }
  .k-plate li { position: absolute; top: 18px; display: grid; justify-items: center; gap: 7px; transform: translateX(-50%); white-space: nowrap; transition: color .6s; }
  .k-plate li::before { content: ''; position: absolute; top: -19px; left: 50%; width: 1px; height: 0; background: var(--brass-l); transition: height .6s cubic-bezier(.2, .7, .2, 1); }
  .k-plate li.is-on::before { height: 12px; }
  .k-plate__n { font: 500 17px/1 var(--disp); letter-spacing: .2em; padding-left: .2em; text-transform: uppercase; color: rgba(250, 245, 242, .62); transition: color .6s; }
  .k-plate li.is-on .k-plate__n, .k-line.is-all .k-plate__n { color: var(--paper); }
  .k-plate__r { font: 400 9px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--brass-l); opacity: .75; }
  .k-spot { display: grid; margin-top: 30px; padding-top: 34px; border-top: 1px solid var(--line-d); }
  .k-spot__i { grid-area: 1 / 1; display: grid; grid-template-columns: 3.2fr 6.6fr auto; gap: 40px; align-items: center; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
  .k-spot__i.is-on { opacity: 1; visibility: visible; }
  .k-spot__n { font: var(--it) 400 46px/1 var(--disp); color: var(--brass-l); }
  .k-spot__r { margin-top: 10px !important; font: 400 10px/1.5 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--mute-d); }
  .k-spot__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
  .k-spot__facts li { padding: 4px 26px; border-left: 1px solid var(--line-d); font: 400 18.5px/1.45 var(--disp); color: rgba(250, 245, 242, .9); }
  .k-spot__hear svg { width: 12px; height: 12px; }
}

/* ── beyond the drip: their red-light joke as a light switch on a brass plate, beside the services ── */
.k-more__in { display: grid; gap: 44px; }
.k-red { max-width: 420px; }
.k-red__room { position: relative; overflow: hidden; aspect-ratio: 720 / 1010; border-radius: var(--r); background: #2a2420; box-shadow: 0 40px 70px -40px rgba(18, 17, 15, .55); }
.k-red__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.k-red__img--on { opacity: 0; transition: opacity .3s ease; }
.k-red.is-on .k-red__img--on { opacity: 1; }
.k-red__say { position: absolute; left: 0; right: 0; bottom: 0; display: grid; padding: 70px 26px 24px; background: linear-gradient(transparent, rgba(12, 10, 9, .72)); }
.k-red__q { grid-area: 1 / 1; font: var(--it) 400 clamp(21px, 2vw, 26px)/1.3 var(--disp); color: #fff; text-wrap: balance; transition: opacity .25s ease; }
.k-red__q--off { transition-delay: .3s; }
.k-red__q--on, .k-red.is-on .k-red__q--off { opacity: 0; }
.k-red.is-on .k-red__q--off { transition-delay: 0s; }
.k-red.is-on .k-red__q--on { opacity: 1; transition: opacity .5s ease .3s; }
.k-red__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 22px; margin-top: 22px; }
.k-switch { display: inline-flex; align-items: center; gap: 16px; min-height: 64px; padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer; text-align: left; }
.k-switch:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.k-switch__plate { position: relative; flex: none; width: 40px; height: 64px; border-radius: 6px;
  background: linear-gradient(135deg, #efdcae 0%, #b8955c 42%, #e6cd99 58%, #9c7a44 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), inset 0 -1px 0 rgba(0, 0, 0, .2), 0 8px 16px -8px rgba(18, 17, 15, .5); }
.k-switch__plate::before, .k-switch__plate::after { content: ''; position: absolute; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #f6e8c8, #8a6a38); box-shadow: inset 0 0 0 .5px rgba(0, 0, 0, .3); }
.k-switch__plate::before { top: 6px; }
.k-switch__plate::after { bottom: 6px; }
.k-switch__plate i { position: absolute; left: 50%; top: 50%; width: 12px; height: 24px; margin: -12px 0 0 -6px; border-radius: 4px; background: linear-gradient(180deg, #fffdf8, #ddd4c6); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .35), inset 0 -2px 0 rgba(0, 0, 0, .08);
  transform: perspective(60px) rotateX(32deg) translateY(4px); transition: transform .32s cubic-bezier(.3, 1.4, .5, 1); }
.k-red.is-on .k-switch__plate i { transform: perspective(60px) rotateX(-32deg) translateY(-4px); }
.k-switch__t { display: grid; gap: 6px; font: 400 11px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; }
.k-switch__s { font: var(--it) 400 18px/1 var(--disp); letter-spacing: 0; text-transform: none; color: var(--mute); }
.k-red.is-on .k-switch__s { color: #b4231b; }
.k-red__watch { border: 0; background: none; padding: 0; cursor: pointer; }
.k-red__watch svg { width: 12px; height: 12px; fill: currentColor; stroke: none; }
.k-svc { margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k-svc li { padding: 20px 0 18px; border-bottom: 1px solid var(--line); }
.k-svc__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 18px; }
.k-svc h3 { margin: 0; font: 400 25px/1.2 var(--disp); }
.k-svc__top span { flex: none; font: 400 10.5px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--brass); }
.k-svc__top a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; text-decoration: underline; text-decoration-color: rgba(146, 114, 63, .4); text-underline-offset: 5px; }
.k-svc p { margin-top: 6px !important; max-width: 52ch; font-size: 15px; line-height: 1.7; color: var(--mute); }
@media (min-width: 1100px) {
  .k-more__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: center; }
  .k-red { grid-column: 1 / span 4; max-width: none; }
  .k-more__txt { grid-column: 6 / span 7; }
  .k-svc li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: 40px; align-items: baseline; }
  .k-svc li p { margin-top: 0 !important; }
}

/* ── the regulars: her cards on her quartz counter ── */
.k-perks { background: var(--paper); }
.k-perks__in { display: grid; gap: 50px; }
.k-perks__p { margin-top: 26px !important; max-width: 42ch; font-size: 16.5px; line-height: 1.8; color: var(--mute); }
.k-perks__q { margin: 30px 0 34px !important; padding-left: 22px; border-left: 1px solid var(--brass-m); }
.k-perks__q blockquote { margin: 0; font: var(--it) 400 19px/1.55 var(--disp); color: var(--ink); }
.k-perks__q figcaption { margin-top: 12px; font: 400 10.5px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.k-counter { position: relative; aspect-ratio: 1 / 1.08; border-radius: 6px; overflow: hidden; background: #ece8e2 url(/assets/img/crafted/quartz.webp) 0 0 / 300px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -40px 80px -50px rgba(0, 0, 0, .3), 0 40px 70px -40px rgba(18, 17, 15, .5); }
.k-counter > * { position: absolute; container-type: inline-size; aspect-ratio: 1.75; border-radius: clamp(8px, 1vw, 12px); }
/* the IV loyalty card */
.k-lc { left: 6%; top: 7%; width: 76%; display: grid; align-content: center; justify-items: center; padding: 0; border: 0; background: #fff; color: var(--ink); cursor: pointer; text-align: center;
  transform: rotate(-2deg); box-shadow: 0 1px 1px rgba(0, 0, 0, .1), 0 18px 30px -16px rgba(0, 0, 0, .45); transition: transform .6s cubic-bezier(.2, .7, .2, 1), box-shadow .6s; }
.k-lc:hover { transform: rotate(-2deg) translateY(-4px); box-shadow: 0 1px 1px rgba(0, 0, 0, .1), 0 26px 40px -18px rgba(0, 0, 0, .5); }
.k-lc:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.k-lc__t { font: var(--it) 400 12.5cqw/1 var(--disp); letter-spacing: -.01em; }
.k-lc__lines { display: grid; margin-top: 4.4cqw; }
.k-lc__p, .k-lc__done { grid-area: 1 / 1; transition: opacity .7s ease; }
.k-lc__p { font: 400 3.4cqw/1.6 var(--sans); letter-spacing: .18em; color: #3c3833; }
.k-lc.is-full .k-lc__p { opacity: 0; }
.k-lc__holes { display: flex; gap: 3.2cqw; margin-top: 5cqw; }
.k-lc__holes i { position: relative; display: grid; place-items: center; width: 7.8cqw; aspect-ratio: 1; border: 1px solid rgba(18, 17, 15, .75); border-radius: 50%; font: 400 3.6cqw/1 var(--sans); font-style: normal; transition: border-color .3s; }
.k-lc__holes i::after { /* the punched hole: her counter shows through */ content: ''; position: absolute; inset: 1.1cqw; border-radius: 50%; background: #ece8e2 url(/assets/img/crafted/quartz.webp) 0 0 / 300px;
  box-shadow: inset 0 .5cqw 1cqw rgba(0, 0, 0, .45); transform: scale(0); transition: transform .28s cubic-bezier(.3, 1.6, .5, 1); }
.k-lc__holes i.is-punched::after { transform: scale(1); }
.k-lc__heart svg { width: 4.4cqw; height: 4.4cqw; fill: none; stroke: currentColor; stroke-width: 1.6; transition: fill .5s, stroke .5s; }
.k-lc.is-full .k-lc__heart { border-color: var(--brass-m); }
.k-lc.is-full .k-lc__heart svg { fill: var(--brass-m); stroke: var(--brass-m); }
.k-lc__done { align-self: center; font: var(--it) 400 5.6cqw/1.2 var(--disp); color: var(--brass); opacity: 0; }
.k-lc.is-full .k-lc__done { opacity: 1; }
/* the injection loyalty card: black over white, five punch spots */
.k-ic { z-index: 3; right: 6%; top: 37%; width: 64%; display: grid; grid-template-rows: 52% 48%; overflow: hidden; background: #fff; transform: rotate(2.4deg); box-shadow: 0 1px 1px rgba(0, 0, 0, .1), 0 18px 30px -16px rgba(0, 0, 0, .45); }
.k-ic__top { display: flex; align-items: center; justify-content: center; gap: 4.6cqw; background: #141312; }
.k-ic__top i { width: 9.6cqw; aspect-ratio: 1; border-radius: 50%; background: #f4f2ee; box-shadow: 0 0 0 1.3cqw #141312, 0 0 0 1.6cqw rgba(255, 255, 255, .55); }
.k-ic__bot { display: flex; align-items: center; gap: 4cqw; padding: 0 6cqw; }
.k-ic__bot .k-badge--sm { width: 13cqw; height: 13cqw; flex: none; }
.k-ic__bot .k-badge--sm .mark { width: 8.6cqw; }
.k-ic__copy { display: grid; gap: 1.2cqw; font: 400 3.5cqw/1.35 var(--sans); color: #3a3631; text-align: center; flex: 1; }
.k-ic__copy small { font-size: 3cqw; color: var(--mute); }
.k-ic__copy b { margin-top: 1cqw; padding-top: 1.6cqw; border-top: 1px dashed rgba(18, 17, 15, .35); font: 400 5.4cqw/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
/* the gift card */
.k-gc { z-index: 2; left: 8%; bottom: 4%; width: 58%; display: grid; align-content: center; justify-items: center; gap: 3cqw; text-decoration: none; color: var(--paper);
  background: radial-gradient(120% 90% at 20% 0%, #34302c, #121110 60%), #121110; transform: rotate(-1deg); box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 22px 34px -16px rgba(0, 0, 0, .55); transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.k-gc::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px); pointer-events: none; }
.k-gc:hover { transform: rotate(-1deg) translateY(-5px); }
.k-gc:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.k-gc__n { font: 500 5.4cqw/1 var(--disp); letter-spacing: .14em; padding-left: .14em; text-transform: uppercase; }
.k-gc__s { font: 400 2.8cqw/1 var(--sans); letter-spacing: .4em; padding-left: .4em; text-transform: uppercase; color: var(--brass-l); }
@media (max-width: 699px) {
  .k-counter { aspect-ratio: .74; }
  .k-lc { left: 7%; top: 4%; width: 86%; }
  .k-ic { right: 7%; top: 43%; width: 80%; }
  .k-gc { left: 7%; bottom: 4%; width: 70%; }
}
/* tablets: a squarer counter so the injection card lies below the loyalty card's holes and above the gift card's words */
@media (min-width: 700px) { .k-counter { width: min(100%, 640px); margin-inline: auto; aspect-ratio: 1; } .k-lc { width: 60%; } .k-ic { width: 52%; top: 44%; } .k-gc { width: 46%; left: 14%; } }
@media (min-width: 1100px) {
  .k-perks__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: center; }
  .k-perks__txt { grid-column: 1 / span 5; }
  .k-counter { grid-column: 7 / span 6; width: auto; margin-inline: 0; aspect-ratio: .98; }
  .k-lc { width: 62%; top: 5%; left: 5%; }
  .k-ic { width: 55%; top: 35%; right: 5%; }
  .k-gc { width: 47%; left: 7%; bottom: 5%; }
}

/* ── their clients' words ── */
.k-words__head { display: grid; gap: 30px; margin-bottom: clamp(40px, 4.6vw, 64px); }
.k-score__n { font: 500 clamp(96px, 11vw, 150px)/.86 var(--disp); letter-spacing: -.03em; }
.k-score__s { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 16px !important; font: 400 11.5px/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }
.k-score__s .k-stars { font-size: 17px; }
.k-words__lead blockquote { margin: 0; font: var(--it) 400 clamp(26px, 2.9vw, 40px)/1.28 var(--disp); text-wrap: balance; }
.k-words__lead figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 18px; font: 400 10.5px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.k-words__lead a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 5px; }
.k-words__lead a svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.k-words__row { display: flex; gap: 20px; margin: 0 0 -34px; padding: 0 0 40px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.k-words__row::-webkit-scrollbar { display: none; }
.k-words__row > li { flex: 0 0 auto; height: clamp(310px, 24vw, 340px); scroll-snap-align: start; }
.k-rv { display: flex; flex-direction: column; width: min(78vw, 360px); height: 100%; padding: 32px 30px 28px; border-radius: var(--r); background: var(--card); box-shadow: 0 1px 0 rgba(18, 17, 15, .05), 0 24px 40px -30px rgba(18, 17, 15, .35); }
.k-rv__stars { font-size: 14px; letter-spacing: .2em; color: #886c3d; } /* a review card's stars (read out as "Five stars"): a step toward the brass so they read on the card (4.9:1; 2026-11-06 launch checks) */
.k-rv blockquote { margin: 18px 0 0; font: var(--it) 400 20px/1.5 var(--disp); color: var(--ink); }
.k-rv mark { background: none; color: inherit; text-decoration: underline; text-decoration-color: var(--brass-m); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.k-rv figcaption { margin-top: auto; padding-top: 18px; font: 400 10.5px/1.4 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.k-rv figcaption span { color: var(--mute); }
.k-rv-pic img { width: auto; height: 100% !important; aspect-ratio: 900 / 1147; object-fit: cover; border-radius: var(--r); }
@media (min-width: 1100px) {
  .k-words__head { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: end; }
  .k-score { grid-column: 1 / span 4; }
  .k-words__lead { grid-column: 6 / span 7; padding-bottom: 10px; }
}

/* ── visit: her front door, drawn ── */
.k-visit { background: var(--paper); }
.k-visit__in { display: grid; gap: 54px; }
.k-front { position: relative; width: min(100%, 520px); justify-self: center; }
.k-front__no { display: block; margin-bottom: 14px; text-align: center; font: 400 10.5px/1 var(--sans); letter-spacing: .46em; padding-left: .46em; text-transform: uppercase; color: var(--brass); }
.k-front__frame { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(7px, .8vw, 11px); aspect-ratio: 5 / 6.4; padding: clamp(9px, 1vw, 14px); border-radius: 3px; background: linear-gradient(90deg, #0f0e0d, #1d1b19 50%, #0f0e0d);
  box-shadow: 0 50px 90px -50px rgba(18, 17, 15, .65), 0 14px 26px -18px rgba(18, 17, 15, .4); }
.k-front__leaf { position: relative; overflow: hidden; background: #2a2622 url(/assets/img/crafted/glass.webp) center / cover; }
.k-front__leaf--l { background-position: 18% 50%; }
.k-front__leaf--r { background-position: 82% 50%; }
.k-front__leaf::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .05) 30%, transparent 31%, transparent 58%, rgba(255, 255, 255, .07) 59%, transparent 76%), linear-gradient(180deg, rgba(10, 9, 8, .25), rgba(10, 9, 8, .05) 40%, rgba(10, 9, 8, .35)); }
.k-front__bar { position: absolute; z-index: 1; top: 66%; width: clamp(6px, .6vw, 9px); height: 16%; border-radius: 6px; background: linear-gradient(90deg, #070707, #2b2826 60%, #0b0a09); box-shadow: 0 4px 10px rgba(0, 0, 0, .45); }
.k-front__leaf--l .k-front__bar { right: 10%; }
.k-front__leaf--r .k-front__bar { left: 10%; }
/* her logo on the door: the ring, her name under it, hung below the sign (never under it, never through the ring) */
.k-front__logo { position: absolute; z-index: 1; left: 8%; right: 8%; top: 31%; display: grid; justify-items: center; gap: clamp(10px, 1.2vw, 16px); }
.k-front__mark { display: block; width: 40%; }
/* the smallest phones: a smaller ring, so her name stays clear of the hours on the glass below it */
@media (max-width: 379px) { .k-front__logo { top: 32%; } .k-front__mark { width: 30%; } }
.k-front__mark .mark { width: 100%; background: rgba(255, 255, 255, .93); }
.k-front__name { text-align: center; font: 400 clamp(9.5px, 1.1vw, 14.5px)/1.5 var(--sans); letter-spacing: .38em; padding-left: .38em; text-transform: uppercase; color: rgba(255, 255, 255, .93); }
.k-front__hours { position: absolute; z-index: 1; left: 30%; right: 12%; bottom: 6%; margin: 0; padding: 0; list-style: none; font: 400 clamp(7.5px, .72vw, 10px)/2.05 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.k-front__hours li { display: flex; justify-content: space-between; gap: 8px; }
.k-front__hours li.is-today { color: #fff; }
.k-front__hours li.is-today span:first-child::before { content: ''; display: inline-block; width: 4px; height: 4px; margin: 0 6px 1px -10px; border-radius: 50%; background: var(--brass-l); vertical-align: middle; }
.k-sign--door { top: 0; right: 12%; }
.k-front__step { display: block; height: 16px; margin: 0 -3%; border-radius: 2px; background: linear-gradient(#d6cfc6, #bdb5ab); box-shadow: 0 10px 20px -12px rgba(18, 17, 15, .4); }
.k-visit__p { margin-top: 24px !important; max-width: 42ch; font-size: 16.5px; line-height: 1.8; color: var(--mute); }
.k-visit__grid { display: grid; gap: 30px; margin: 36px 0 38px; padding-top: 30px; border-top: 1px solid var(--line); }
.k-visit__grid p { font-size: 16px; line-height: 1.75; }
.k-visit__grid p + p { margin-top: 12px !important; }
.k-visit__grid a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; border-bottom: 1px solid var(--line); }
.k-visit__grid p + p { margin-top: 4px !important; }
.k-visit__grid a:hover { border-color: var(--ink); }
.k-hours { margin: 0; padding: 0; list-style: none; }
.k-hours li { display: flex; justify-content: space-between; gap: 18px; padding: 5px 0; font-size: 15px; color: var(--mute); }
.k-hours li.is-today { color: var(--ink); }
.k-hours li.is-today span:first-child::after { content: ' · today'; font: var(--it) 400 15px/1 var(--disp); color: var(--brass); }
.k-visit .k-note { margin-top: 26px !important; }
@media (min-width: 700px) { .k-visit__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) {
  .k-visit__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: center; }
  .k-front { grid-column: 1 / span 5; width: 100%; }
  .k-front__step { margin: 0 -7%; }
  .k-visit__txt { grid-column: 7 / span 6; }
}

/* ── questions ── */
.k-head--tight { margin-bottom: clamp(30px, 3.6vw, 52px); }
.k-faq__cols { display: grid; gap: 0 56px; }
.k-q { border-top: 1px solid var(--line); }
.k-faq__cols > div:last-child .k-q:last-child { border-bottom: 1px solid var(--line); }
.k-q summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 14px 0; list-style: none; cursor: pointer; font: 400 21px/1.3 var(--disp); }
.k-q summary::-webkit-details-marker { display: none; }
.k-q summary svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--brass); stroke-width: 1.3; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.k-q[open] summary svg { transform: rotate(45deg); }
.k-q summary:hover span { color: var(--brass); }
.k-q summary:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.k-q p { max-width: 56ch; padding: 0 0 24px; font-size: 15.5px; line-height: 1.8; color: var(--mute); }
.k-q p a { display: inline-block; padding-block: 12px; margin-block: -12px; color: var(--ink); }
@media (min-width: 900px) { .k-faq__cols { grid-template-columns: 1fr 1fr; } .k-faq__cols > div:first-child .k-q:last-child { border-bottom: 1px solid var(--line); } }

/* ════════ footer ════════ */
.k-ft { background: var(--ink); color: var(--paper); padding-top: clamp(80px, 9vw, 140px); }
.k-ft__close { display: grid; gap: 34px; padding-bottom: clamp(64px, 7vw, 100px); }
.k-ft__line { margin: 0; font: 400 clamp(40px, 5.2vw, 74px)/1.1 var(--disp); letter-spacing: -.01em; text-wrap: balance; max-width: 16ch; }
.k-ft__cols { display: grid; gap: 34px; padding-block: 50px; background: linear-gradient(var(--line-d), var(--line-d)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat; }
.k-ft__cols p { margin: 0; font-size: 15px; line-height: 1.8; color: var(--mute-d); }
.k-ft .k-mini { color: var(--brass-l); }
.k-logo--ft { margin-bottom: 18px; color: var(--paper); }
.k-logo--ft .mark { background: var(--paper); }
.k-logo--ft .k-logo__t span { color: var(--brass-l); }
.k-hours--ft li { color: var(--mute-d); font-size: 14px; padding: 3px 0; }
.k-hours--ft li.is-today { color: var(--paper); }
.k-hours--ft li.is-today span:first-child::after { color: var(--brass-l); font-size: 14px; }
.k-ft__links { display: grid; justify-items: start; gap: 2px; }
.k-ft__links a { display: inline-flex; align-items: center; min-height: 36px; color: var(--paper); text-decoration: none; font-size: 15px; }
.k-ft__links a:hover { color: var(--brass-l); }
.k-ft__links .soc { gap: 10px; }
.k-ft__links .soc-i { width: 16px; height: 16px; }
.k-ft__legal { background: linear-gradient(var(--line-d), var(--line-d)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat; }
.k-ft__legal p { margin: 0; padding: 26px 0; font-size: 12.5px; line-height: 1.7; color: rgba(250, 245, 242, .5); max-width: 110ch; }
.k-ft__legal a { display: inline-block; padding-block: 12px; margin-block: -12px; color: rgba(250, 245, 242, .75); text-underline-offset: 3px; }
.k-nw { white-space: nowrap; }
.k-ft__agency { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding-block: 26px 40px; background: linear-gradient(var(--line-d), var(--line-d)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat; }
.k-ft__agency a { display: inline-flex; align-items: center; min-height: 44px; }
.k-ft__agency img { width: 170px; height: auto; opacity: .85; }
.k-ft__agency p { margin: 0; font-size: 12px; color: rgba(250, 245, 242, .55); }
@media (min-width: 700px) { .k-ft__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .k-ft__cols { grid-template-columns: 1.1fr 1.55fr .85fr .95fr 1.05fr; } }
@media (min-width: 1100px) { .k-ft__close { grid-template-columns: 1fr auto; align-items: end; } }

/* ════════ round 28: her front desk, her sconces, the far wall with the chandelier, their reels ════════ */

/* her front desk, the storefront's base: edge to edge, in front of the glass (it overlaps the frame's foot), a white quartz
   counter with a front lip carrying today's hours, the address, the phone and Book (lined up with the page column), over
   natural oak slats fixed to a black face, a black kick plate at the floor */
.k-desk { position: relative; z-index: 2; margin-top: -8px; }
.k-desk__top { position: relative; border-bottom: 7px solid #e7e0d6;
  background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(246, 242, 236, .93)), #f4f0ea url(/assets/img/crafted/quartz.webp) 0 0 / 300px;
  box-shadow: inset 0 1px 0 #fff, 0 -10px 22px -12px rgba(0, 0, 0, .7), 0 6px 10px -4px rgba(18, 17, 15, .5); }
.k-desk__row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4px 18px; padding-block: 14px 16px; }
.k-desk__today { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; min-height: 36px; font: 400 11.5px/1.45 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.k-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #b9ada0; box-shadow: 0 0 0 3px rgba(185, 173, 160, .25); }
.k-desk__today[data-state="open"] .k-dot { background: #5e8f62; box-shadow: 0 0 0 3px rgba(94, 143, 98, .22); }
.k-desk__a { display: inline-flex; align-items: center; min-height: 44px; font: 400 16px/1.3 var(--disp); color: var(--ink); text-decoration: none; }
.k-desk__a:hover { color: var(--brass); }
@media (max-width: 599px) { .k-desk__a { grid-column: 1 / -1; min-height: 40px; } }
.k-desk__front { height: clamp(66px, 7.6vw, 124px);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0)) top / 100% 22px no-repeat,
    linear-gradient(0deg, #0d0c0b 0 9px, transparent 9px),
    repeating-linear-gradient(90deg, rgba(255, 245, 225, .28) 0 1px, transparent 1px 11px, rgba(60, 38, 14, .28) 11px 14px, #0f0e0d 14px 20px),
    url(/assets/img/crafted/oak.webp) 0 0 / 256px 512px; }
@media (min-width: 900px) {
  .k-desk__row { display: flex; justify-content: space-between; gap: 18px 40px; padding-block: 14px; }
  .k-desk__today { flex: 1 1 auto; }
  .k-desk__a { font-size: 18px; }
}
@media (min-width: 1100px) {
  .k-desk { margin-top: calc(-1 * var(--lap)); }
  .k-desk__front { height: var(--desk-front); }
}

/* her brass wall sconce: a thin rod on a small square mount; the light behind it washes the wall in a soft column */
.k-sc { position: absolute; z-index: 0; width: calc(64px * var(--s, 1)); height: calc(210px * var(--s, 1)); pointer-events: none; }
.k-sc i { position: absolute; display: block; }
.k-sc__halo { left: 50%; top: 50%; width: 234%; height: 152%; transform: translate(-56%, -50%); background: radial-gradient(50% 50% at 50% 50%, rgba(255, 200, 130, .2), rgba(255, 190, 110, .07) 55%, transparent 75%); mix-blend-mode: screen; }
.k-sc__wash { left: 50%; top: 50%; width: 62%; height: 93%; transform: translate(-62%, -50%); border-radius: 45% / 16%;
  background: linear-gradient(180deg, rgba(255, 205, 130, 0) 0%, rgba(255, 214, 150, .55) 18%, rgba(255, 232, 185, .95) 50%, rgba(255, 214, 150, .55) 82%, rgba(255, 205, 130, 0) 100%);
  filter: blur(calc(8px * var(--s, 1))); mix-blend-mode: screen; }
.k-sc__rod { left: calc(50% + 5px * var(--s, 1)); top: 2%; bottom: 2%; width: max(2px, calc(3px * var(--s, 1))); border-radius: 2px; background: linear-gradient(90deg, #fff3d6 0%, #e9c98a 35%, #a27c40 75%, #6e5226 100%); box-shadow: 1px 0 2px rgba(0, 0, 0, .5); }
.k-sc__mount { left: calc(50% - 10px * var(--s, 1)); top: calc(50% - 10px * var(--s, 1)); width: calc(15px * var(--s, 1)); height: calc(19px * var(--s, 1)); border-radius: 1.5px;
  background: linear-gradient(135deg, #fbe9bd 0%, #d8b16b 38%, #99733a 72%, #c9a25e 100%); box-shadow: 0 2px 4px rgba(0, 0, 0, .55), inset 0 0 0 .5px rgba(255, 255, 255, .35); }

/* their reels: a row that drifts on its own, arrows either side (concept-home.js); each opens full screen with sound */
.k-reels__row { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
.k-reels__row::-webkit-scrollbar { display: none; }
.k-reels__row > li { flex: 0 0 clamp(190px, 17vw, 232px); scroll-snap-align: start; }
.k-reels__cap { margin-top: 12px !important; font: 400 13.5px/1.5 var(--sans); color: var(--mute); }
.k-head__p a { color: var(--ink); text-underline-offset: 4px; display: inline-block; padding-block: 10px; margin-block: -10px; }
.k-more { background: var(--paper-2); }
.k-words { background: var(--paper-2); }
.k-faq { background: var(--paper-2); }


/* her highland cow: point at (or tap) "Our highland cow" in the lounge card and her real print peeks up out of the card's
   top edge; it does it once on its own the first time the card is seen, then waits to be found again */
.k-cow { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer;
  text-decoration: underline dotted rgba(146, 114, 63, .55); text-underline-offset: 6px; text-decoration-thickness: 1px; }
.k-cow:hover, .k-cow[aria-expanded="true"] { color: var(--brass); }
.k-cow:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.k-amen__cow { min-height: 44px; }
.k-cow__pic { position: absolute; z-index: 3; right: 7%; bottom: calc(100% - 1px); width: min(52%, 236px); height: 230px; pointer-events: none;
  -webkit-clip-path: inset(-140px -90px 0 -90px); clip-path: inset(-140px -90px 0 -90px); }
.k-cow__pic.is-hop .k-cow__in { animation: k-hop .7s cubic-bezier(.3, .7, .3, 1); }
@keyframes k-hop { 0%, 100% { translate: 0 0; } 40% { translate: 0 -16px; } }
@media (prefers-reduced-motion: reduce) { .k-cow__pic.is-hop .k-cow__in { animation-name: k-hop-calm; } }
@keyframes k-hop-calm { 0%, 100% { translate: 0 0; } 40% { translate: 0 -6px; } }
.k-cow__pic[hidden] { display: none; }
.k-cow__in { position: absolute; left: 0; right: 0; bottom: 0; display: grid; justify-items: center; gap: 8px; transform: translateY(102%); transition: transform .9s cubic-bezier(.2, .8, .2, 1); }
.k-cow__pic.is-on .k-cow__in { transform: translateY(14px); }
@media (min-width: 1100px) {
  /* on a computer the card sits low, with open page above its right side: the print rises there, whole */
  .k-cow__pic { right: 8%; width: 250px; height: 300px; }
}
/* narrower computer windows have less open page above the card: a slightly taller photo and a smaller print */
@media (min-width: 1100px) and (max-width: 1365px) {
  .k-lounge__photo { aspect-ratio: 4 / 3.3; }
  .k-cow__pic { width: 200px; height: 250px; }
}
.k-cow__in img { display: block; width: 100%; height: auto; border: 6px solid #fff; border-bottom-width: 18px; box-shadow: 0 14px 26px -12px rgba(18, 17, 15, .55); transform: rotate(-2deg); }
.k-cow__say { order: -1; max-width: 100%; padding: 5px 12px; border-radius: 14px; background: var(--ink); color: var(--paper); font: 400 9.5px/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase; text-align: center; text-wrap: balance; }

/* her starburst chandelier hangs in the footer; its bulbs light up one by one as you arrive (crafted.js) */
.k-ft { position: relative; overflow: hidden; }
.k-ft__lamp { position: absolute; z-index: 0; top: 0; left: 50%; width: 150px; transform: translateX(-50%); pointer-events: none; }
.k-ft__lamp .k-ch { display: block; width: 100%; height: auto; overflow: visible; }
.k-ft__lamp .k-ch__front { stroke: #8f857b; }
.k-ft__lamp .k-ch__back { stroke: #4d4741; }
.k-ft__lamp .k-ch__stem { stroke: #8f857b; }
.k-ft__lamp .k-ch__heart { fill: #8f857b; }
.k-ft__lamp .k-ch__b { animation: none; }
.k-ft__lamp .k-ch__b circle { opacity: 0; transition: opacity 1s ease; }
.k-ft__lamp .k-ch__b ellipse { fill: #6c645b; transition: fill .5s ease; }
.k-ft__lamp .k-ch__b.is-lit circle { opacity: 1; }
.k-ft__lamp .k-ch__b.is-lit ellipse { fill: #fffaf0; }
.k-ft__lamp .k-ch__b.is-lit { animation: k-tw 5s ease-in-out infinite; animation-delay: calc(var(--d, 0s) * -1); }
.k-ft__lamp::before { content: ''; position: absolute; left: 50%; top: 58%; width: 320%; height: 260%; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(255, 208, 140, .16), rgba(255, 200, 130, .05) 55%, transparent 80%); opacity: 0; transition: opacity 2s ease; }
.k-ft__lamp.is-on::before { opacity: 1; }
.k-ft { padding-top: 230px; }
.k-ft__close, .k-ft__cols, .k-ft__legal, .k-ft__agency { position: relative; z-index: 1; }
@media (min-width: 1100px) {
  .k-ft { padding-top: clamp(100px, 9vw, 150px); }
  .k-ft__lamp { left: auto; right: max(calc((100vw - 1240px) / 2 + 40px), 6vw); width: clamp(190px, 14vw, 250px); transform: none; }
  .k-ft__close { padding-top: 20px; }
}

/* Mondays and Wednesdays (Jaime, 2026-11-03): walk-ins 10 to 4, then 4 to 5 PM by appointment only. The hour lists carry
   it as a small brass second line; the door's vinyl hours as a second line under the day's hours; the desk's dot turns
   brass during the appointment hour. */
.k-hours li > span:last-child { text-align: right; }
.k-hours__appt { display: block; margin-top: 1px; font: var(--it, normal) 400 13px/1.35 var(--disp); letter-spacing: 0; color: var(--brass); }
.k-hours--ft .k-hours__appt { font-size: 12.5px; color: var(--brass-l); }
.k-front__hours li > span:last-child { text-align: right; }
/* the appointment line runs the whole row's width under its day (in the time column alone it wrapped to two lines on
   small phones and pushed the hours up into the door's logo, caught by tools/covered.mjs at 320 wide, 2026-11-03) */
.k-front__hours li { flex-wrap: wrap; row-gap: 0; }
.k-front__hours small { flex: 0 0 100%; margin: -4px 0 2px; font-size: .82em; line-height: 1.5; letter-spacing: .14em; text-align: right; white-space: nowrap; color: rgba(255, 255, 255, .62); }
@media (max-width: 479px) { .k-front__hours { line-height: 1.8; bottom: 4.5%; } .k-front__hours small { margin-top: -1px; } }
.k-desk__today[data-state="appt"] .k-dot, .k-lh__today[data-state="appt"] .k-dot { background: var(--brass-m); box-shadow: 0 0 0 3px rgba(182, 149, 95, .25); }

/* McKenzie (2026-11-03): new on the team, no photo yet. Her card carries the brass R where a photo would be. */
/* computers only: below 1100 the row of nurses shows instead, and her card ends that row (.k-tc--new) */
.k-new { display: none; }
@media (min-width: 1100px) { .k-new { display: flex; } }
.k-new { align-items: center; gap: 18px; max-width: 560px; margin: 26px 0 0; padding: 16px 22px 16px 16px; border: 1px solid rgba(182, 149, 95, .45); border-radius: 4px; background: rgba(255, 255, 255, .03); }
.k-new__badge { flex: none; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; border: 1px solid var(--brass-m); }
.k-new__badge .k-badge { width: 44px; height: 44px; background: none; }
.k-new__badge .k-badge .mark, .k-tc--new .k-badge .mark { background: var(--brass-l); }
.k-new__k { margin: 0 0 3px; font: 400 10.5px/1.3 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--brass-l); }
.k-new__n { margin: 0; font: 400 22px/1.2 var(--disp); color: var(--paper); }
.k-new__l { margin: 4px 0 0; font: 400 14px/1.45 var(--sans); color: var(--mute-d); }
.k-tc--new .k-tc__pic { display: grid; place-items: center; background: #1d1a17; }
.k-tc--new .k-badge { width: 96px; height: 96px; border: 1px solid var(--brass-m); background: none; }
.k-tc--new .k-badge .mark { width: 50px; }
.k-tc--new { cursor: default; }

/* Her pictures beside what she offers, in the menus (2026-11-03): each drip's bag, each service's photo. A service
   photo is a small rounded square. The bag is shown WHOLE, hanger to tubes, never zoomed: the first version zoomed into
   its middle and chopped the label at both sides (Ian, 2026-11-03: "they're all cut off. It doesn't look good"). */
.k-dd__nm, .k-pm__nm { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.k-dd__pic, .k-pm__pic { flex: none; display: block; width: 34px; height: 34px; overflow: hidden; border-radius: 3px; background: var(--paper-2, #efe9e3); }
.k-dd__pic img, .k-pm__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.k-dd__pic.is-bag, .k-pm__pic.is-bag { width: 26px; height: 61px; overflow: visible; border-radius: 0; background: none; }
.k-dd__pic.is-bag img, .k-pm__pic.is-bag img { object-fit: contain; }
.k-dd__nm, .k-pm__nm { gap: 14px; }
.k-nav .k-dd__a.has-pic { align-items: center; padding: 7px 0 6px; }
.k-pm__a.has-pic { min-height: 74px; padding: 6px 0; }
/* the bags take room: the IV menu is wider so "High-Dose Vitamin C  $175–$350" still fits on one line */
.k-dd__panel--wide { width: min(940px, 84vw); }

/* On a phone, every inside page opens with its headline, then its picture, then the rest of its words and buttons.
   Before, the picture came only after the whole column of words (Ian, 2026-11-03, on the Restore page: "it's just a
   ton of copy, a Book the Visit button, and a call button. Then it shows the image of the actual bag"). The words
   block is unwrapped so its pieces can sit either side of the picture; computers and tablets keep words beside or
   above the picture as before. Book and Call stay on screen in the header the whole time. `main` outranks each page
   file's own gap, which loads after this one. */
@media (max-width: 699px) {
  main :is(.k-dh__in, .k-mh__in, .k-lh__in, .k-sv__in, .k-wh__in, .k-ph__in, .k-lb__in, .k-rl__in, .k-abh__in, .k-bkh__in, .k-fxh__in, .kb-bh__in) { row-gap: 0; }
  main :is(.k-dh__words, .k-mh__words, .k-lh__words, .k-sv__words, .k-wh__words, .k-ph__words, .k-lb__words, .k-rl__words, .k-abh__words, .k-bkh__words, .k-fxh__words, .kb-bh__words) { display: contents; }
  main :is(.k-dh__words, .k-mh__words, .k-lh__words, .k-sv__words, .k-wh__words, .k-ph__words, .k-lb__words, .k-rl__words, .k-abh__words, .k-bkh__words, .k-fxh__words, .kb-bh__words) > * { order: 3; }
  main :is(.k-dh__words, .k-mh__words, .k-lh__words, .k-sv__words, .k-wh__words, .k-ph__words, .k-lb__words, .k-rl__words, .k-abh__words, .k-bkh__words, .k-fxh__words, .kb-bh__words) > :is(.k-k, h1) { order: 1; }
  main :is(.k-dh__in, .k-mh__in, .k-lh__in, .k-sv__in, .k-wh__in, .k-ph__in, .k-lb__in, .k-rl__in, .k-abh__in, .k-bkh__in, .k-fxh__in, .kb-bh__in) > :not([class*="__words"]) { order: 2; margin-top: 26px; margin-bottom: 6px; }
}

/* Her new client special (Jaime, 2026-11-05: "Yes, it is still running"): one line in a thin brass frame, its label set
   like the site's small brass captions. On the home's perks, the IV menu's opening and /book's new client card. */
.k-offer { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; max-width: 36em; margin: 26px 0 0; padding: 14px 20px 15px; border: 1px solid var(--brass-m); border-radius: 3px; background: rgba(255, 253, 251, .6); }
.k-offer__k { font: 400 10.5px/1.4 var(--sans); letter-spacing: .28em; text-transform: uppercase; color: var(--brass); white-space: nowrap; }
.k-offer__t { font: 400 15px/1.5 var(--sans); color: var(--ink); }
.k-offer__t b { font-weight: 600; white-space: nowrap; }
