@font-face {
  font-family: "LR Kalnia";
  src: url("/assets/fonts/specimen/kalnia-var.woff2") format("woff2");
  font-weight: 100 700;
  font-stretch: 100% 125%;
  font-display: swap;
}
@font-face {
  font-family: "LR Afacad";
  src: url("/assets/fonts/specimen/afacad-var.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

body.spec-longrise { margin: 0; background: #F0D98C; }

.lr-site {
  --lr-bg: #F0D98C;
  --lr-ink: #2A1A12;
  --lr-accent: #B4301A;
  --lr-support: #3F6A36;
  --lr-flour: #FAF0CF;
  --lr-soot: #170E09;
  --lr-crust: #E4C46E;
  --lr-brick: color-mix(in oklab, var(--lr-ink) 14%, var(--lr-bg));
  --lr-nav-h: 56px;
  --lr-gut: clamp(16px, 4vw, 48px);
  --lr-display: "LR Kalnia", "Iowan Old Style", Georgia, serif;
  --lr-text: "LR Afacad", "Segoe UI", system-ui, sans-serif;
  --lr-slow: cubic-bezier(.2, .7, .1, 1);
  color: var(--lr-ink);
  background-color: var(--lr-bg);
  background-image: url("/assets/work/longrise/grain.svg");
  font-family: var(--lr-text);
  font-size: clamp(1.0625rem, 1rem + .2vw, 1.1875rem);
  line-height: 1.58;
  letter-spacing: .003em;
  font-kerning: normal;
}
.lr-site *, .lr-site *::before, .lr-site *::after { box-sizing: border-box; }
.lr-site :focus-visible { outline: 3px solid var(--lr-support); outline-offset: 3px; }
.lr-site h1, .lr-site h2, .lr-site h3 { text-wrap: balance; }
.lr-site p, .lr-site li, .lr-site dd { text-wrap: pretty; }

/* ── nav ─────────────────────────────────────────────────────────────── */
.lr-nav {
  position: sticky; top: var(--bar-h, 40px); z-index: 60;
  display: flex; align-items: center; gap: clamp(12px, 2vw, 28px);
  height: var(--lr-nav-h); padding: 0 var(--lr-gut);
  background: var(--lr-bg);
}
.lr-nav::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 7px; pointer-events: none;
  background:
    linear-gradient(var(--lr-ink), var(--lr-ink)) 0 0 / 100% 1.5px no-repeat,
    linear-gradient(var(--lr-ink), var(--lr-ink)) 0 100% / 100% 1.5px no-repeat,
    repeating-linear-gradient(90deg, var(--lr-ink) 0 1.5px, var(--lr-crust) 1.5px 34px);
}
.lr-brand { display: flex; align-items: center; gap: 10px; color: var(--lr-ink); text-decoration: none; flex: none; }
.lr-brand .lr-mark { width: 32px; height: 32px; display: block; }
.lr-brand-name {
  font-family: var(--lr-display); font-size: 22px; line-height: 1;
  font-variation-settings: "wdth" 125, "wght" 560; letter-spacing: .005em;
}
.lr-links { display: flex; gap: clamp(14px, 1.8vw, 28px); margin: 0 auto; }
.lr-links a { white-space: nowrap; color: var(--lr-ink); text-decoration: none; font-weight: 500; font-size: 1rem; padding: 6px 0; background: linear-gradient(var(--lr-accent), var(--lr-accent)) 0 100% / 0 2px no-repeat; transition: background-size .18s ease-out; }
.lr-links a:hover { background-size: 100% 2px; }
.lr-chip {
  margin: 0 0 0 auto; flex: none; display: flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: .875rem; line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums;
  padding: 8px 12px 8px 10px; border-radius: 2px; background: var(--lr-crust); box-shadow: inset 0 0 0 1.5px color-mix(in oklab, var(--lr-ink) 25%, transparent);
  white-space: nowrap;
}
.lr-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lr-accent); box-shadow: 0 0 0 3px color-mix(in oklab, var(--lr-accent) 25%, transparent); }
.lr-links + .lr-chip { margin-left: 0; }

.lr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 22px; border: 0; border-radius: 2px; cursor: pointer;
  background: var(--lr-accent); color: var(--lr-flour); text-decoration: none; white-space: nowrap;
  font: 650 1.1875rem/1 var(--lr-text); letter-spacing: .01em;
  box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--lr-crust) 55%, var(--lr-accent)), 0 2px 0 var(--lr-ink);
  transition: box-shadow .12s ease-out, transform .12s ease-out;
}
.lr-btn:hover { box-shadow: inset 0 0 0 2px var(--lr-crust), 0 0 0 4px color-mix(in oklab, var(--lr-accent) 30%, transparent), 0 2px 0 var(--lr-ink); }
.lr-btn:active { transform: translateY(1px); }
.lr-btn-sm { min-height: 40px; padding: 0 16px; font-size: 1rem; flex: none; }
@media (forced-colors: active) { .lr-btn { border: 2px solid ButtonText; } }

/* ── the oven mouth ─────────────────────────────────────────────────── */
.lr-mouth {
  --lr-h1s: clamp(2.2rem, 4.3vw, 5rem);
  --lr-row: calc(var(--lr-h1s) * 1.96 + 48px);
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-rows: max(420px, calc(100svh - var(--bar-h, 40px) - var(--lr-nav-h) - 7px - var(--lr-row))) auto auto;
  grid-template-areas: "stage" "h1" "intro";
  padding-top: 7px;
}
.lr-mouth::before { content: ""; grid-row: 2 / 4; grid-column: 1; background: var(--lr-ink); }
.lr-stage { grid-area: stage; position: relative; container-type: size; min-height: 0; }
.lr-oven {
  position: absolute; z-index: 1;
  left: calc(50% - min(100cqw, 225cqh) * .3393); bottom: 0;
  width: calc(min(100cqw, 225cqh) * .6786); height: calc(min(100cqw, 225cqh) * .3283);
  clip-path: ellipse(50% 100% at 50% 100%);
  background: var(--lr-soot); overflow: hidden;
  cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
.lr-js .lr-oven { bottom: auto; }
.lr-oven.lr-grab { cursor: grabbing; }
.lr-oven:focus-visible { outline: none; }
.lr-oven:focus-visible::after { box-shadow: inset 0 0 0 4px var(--lr-flour); }
.lr-oven::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(75% 55% at 0% 100%, rgba(23, 14, 9, .72), rgba(23, 14, 9, .3) 55%, transparent 80%);
}
.lr-poster, .lr-poster img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.lr-poster img { object-fit: cover; object-position: 62% 60%; }
.lr-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .5s ease-out; }
.lr-live .lr-gl { opacity: 1; }
.lr-live .lr-poster { visibility: hidden; transition: visibility 0s .5s; }
.lr-ring { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; overflow: hidden; }
.lr-joint { fill: var(--lr-ink); }
.lr-name text { font-family: var(--lr-display); font-variation-settings: "wdth" 125, "wght" 640; text-anchor: middle; dominant-baseline: central; }
.lr-let { fill: var(--lr-ink); }
.lr-cut { fill: #FFF6DA; opacity: .75; }
.lr-paddle-handle { fill: #7A4C27; stroke: #2A1A12; stroke-width: 1.5; }
.lr-paddle-hi { stroke: #F0B46E; stroke-width: 2.5; stroke-linecap: round; opacity: .6; fill: none; }
.lr-paddle-blade { fill: #3A302A; stroke: #D69A5E; stroke-width: 2; }

.lr-h1 {
  grid-area: h1; position: relative; z-index: 3; display: grid; margin: 0;
  padding: 20px max(16px, 5vw) 22px;
  font-family: var(--lr-display); font-weight: 300; font-variation-settings: "wdth" 118, "wght" 300;
  font-size: var(--lr-h1s); line-height: .98; letter-spacing: -.012em; color: var(--lr-flour);
}
.lr-h1 span { display: block; white-space: nowrap; }
.lr-l2 { justify-self: end; font-variation-settings: "wdth" 118, "wght" 460; }

.lr-stamp { display: flex; align-items: baseline; gap: 10px; margin: 0; font-weight: 600; font-size: 1rem; line-height: 1.3; letter-spacing: .12em; font-variant-caps: all-small-caps; }
.lr-stamp-n { font-family: var(--lr-display); font-variation-settings: "wdth" 125, "wght" 650; font-size: 24px; letter-spacing: 0; color: var(--lr-accent); font-variant-caps: normal; line-height: 1; }
.lr-stamp-hero { grid-area: stage; align-self: start; justify-self: start; z-index: 3; margin: 24px 0 0 max(16px, 5vw); flex-direction: column; gap: 6px; }
.lr-stamp-hero .lr-stamp-n { font-size: clamp(34px, 3vw, 46px); }
.lr-hint {
  grid-area: stage; align-self: start; justify-self: end; z-index: 3; position: relative;
  margin: 26px max(16px, 5vw) 0 0; width: min(20vw, 290px);
  display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start;
  font-weight: 500; font-size: 1rem; line-height: 1.4;
}
.lr-hint-drag { display: none; }
.lr-hint .lr-ico { visibility: hidden; }
.lr-on .lr-hint-drag { display: inline; }
.lr-on .lr-hint .lr-ico { visibility: visible; }
.lr-ico { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: square; }

.lr-console {
  grid-area: stage; align-self: end; justify-self: start; z-index: 3; position: relative;
  margin: 0 0 22px var(--lr-cx, 22%); width: var(--lr-cw, min(420px, calc(var(--lr-ow, 60vw) * .35)));
  color: var(--lr-flour); display: grid; justify-items: start; gap: 10px;
}
.lr-log { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; font-size: clamp(.875rem, .8rem + .2vw, 1rem); line-height: 1.35; letter-spacing: .02em; color: var(--lr-crust); text-shadow: 0 1px 12px rgba(23, 14, 9, .9); }
.lr-verdict { margin: 0; text-wrap: balance; font-family: var(--lr-display); font-variation-settings: "wdth" 112, "wght" 420; font-size: 1.25rem; line-height: 1.25; color: var(--lr-flour); text-shadow: 0 1px 14px rgba(23, 14, 9, .9); }
.lr-verdict:empty { display: none; }
.lr-again { margin-top: 4px; }
/* no room under the embers: the verdict takes the hint's corner, in ink on semolina */
.lr-tight .lr-console { position: static; }
.lr-tight .lr-verdict {
  position: absolute; left: var(--lr-vx); top: var(--lr-vy); width: var(--lr-vw);
  color: var(--lr-ink); text-shadow: none; font-size: 1.125rem; line-height: 1.3; font-variation-settings: "wdth" 106, "wght" 440;
}
.lr-tight-s .lr-verdict { font-size: 1rem; font-variation-settings: "wdth" 100, "wght" 450; }
.lr-tight.lr-said .lr-hint > span { visibility: hidden; }
.lr-intro {
  grid-area: intro; position: relative; z-index: 3; color: var(--lr-flour);
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 14px 48px;
  padding: 2px max(16px, 5vw) 48px;
}
.lr-sub { margin: 0; font-size: clamp(1.0625rem, .95rem + .3vw, 1.1875rem); line-height: 1.5; max-width: 62ch; }
.lr-link { color: inherit; font-weight: 600; text-decoration: underline 2px var(--lr-accent); text-underline-offset: 6px; white-space: nowrap; }
.lr-slide .lr-paddle { animation: lr-slide .6s var(--lr-slow); }
@keyframes lr-slide { from { transform: translate(6%, 8%); } to { transform: none; } }

@media (min-width: 700px) and (max-width: 1199px) and (min-aspect-ratio: 10/11) {
  .lr-hint { width: min(24vw, 250px); font-size: .9375rem; }
}

/* phones and portrait tablets: a tall bread-oven door, the words under it */
@media (max-width: 699px), (max-aspect-ratio: 10/11) {
  .lr-site { --lr-nav-h: 48px; }
  .lr-mouth { grid-template-rows: auto; grid-template-areas: "stage" "h1" "hint" "console" "intro"; }
  .lr-mouth::before { display: none; }
  .lr-stage { height: max(300px, calc(64svh - var(--bar-h, 40px) - var(--lr-nav-h))); }
  .lr-stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; background: var(--lr-ink); z-index: 2; }
  .lr-oven::after { background: radial-gradient(90% 34% at 18% 0%, rgba(224, 122, 46, .42), rgba(224, 122, 46, .12) 55%, transparent 80%); mix-blend-mode: screen; }
  .lr-h1 {
    display: block; padding: 30px var(--lr-gut) 0; color: var(--lr-ink);
    font-size: clamp(2.25rem, 1rem + 5.4vw, 3.9rem); line-height: 1; font-variation-settings: "wdth" 112, "wght" 330;
  }
  .lr-h1 span { white-space: normal; }
  .lr-l2 { font-variation-settings: "wdth" 112, "wght" 480; }
  .lr-stamp-hero, .lr-paddle { display: none; }
  .lr-hint { grid-area: hint; justify-self: stretch; width: auto; margin: 18px var(--lr-gut) 0; max-width: 46ch; font-size: .9375rem; }
  .lr-console { grid-area: console; justify-self: stretch; width: auto; margin: 18px var(--lr-gut) 0; color: var(--lr-ink); padding-top: 12px; border-top: 1.5px solid color-mix(in oklab, var(--lr-ink) 20%, transparent); }
  .lr-log, .lr-verdict { color: var(--lr-ink); text-shadow: none; }
  .lr-again { width: 100%; }
  .lr-intro { color: var(--lr-ink); padding: 22px var(--lr-gut) 44px; flex-direction: column; align-items: flex-start; }
  .lr-sub { font-size: 1.0625rem; line-height: 1.53; }
}
@media (max-width: 699px) {
  .lr-links, .lr-btn-sm { display: none; }
  .lr-brand-name { font-size: 20px; }
  .lr-brand .lr-mark { width: 28px; height: 28px; }
  .lr-chip { font-size: .8125rem; padding: 7px 10px 7px 9px; }
}
@media (max-width: 1199px) { .lr-links { display: none; } .lr-chip { margin-left: auto; } }
@media (max-width: 359px) { .lr-chip { display: none; } .lr-brand { margin-right: auto; } }
/* a short phone: the whole headline above the fold, the button a tab in the arch's right foot */
@media (max-height: 620px) and (max-width: 480px) {
  .lr-mouth { grid-template-areas: "stage" "h1" "hint" "intro"; }
  .lr-stage { height: 300px; }
  .lr-h1 { padding-top: 18px; font-size: 1.875rem; }
  .lr-hint { display: none; }
  .lr-console { grid-area: stage; align-self: end; justify-self: end; width: auto; margin: 0 calc(var(--lr-ox, 40px) + 6px) 10px 0; padding: 0; border: 0; }
  .lr-log, .lr-verdict { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lr-again { width: auto; min-height: 44px; border-radius: 22px; padding: 0 16px; font-size: 1rem; }
  .lr-again .lr-ico { display: none; }
}

/* ── the arches: one catenary on brick jambs, fitted to what it holds ─── */
.lr-sec { position: relative; max-width: calc(1320px + 2 * var(--lr-gut)); margin: 0 auto; padding: clamp(88px, 9vw, 144px) var(--lr-gut) 0; }
.lr-arch { --lr-n: 1; --lr-cd: 22px; --lr-pad: clamp(22px, 3.2vw, 48px); --lr-gap: 16px; --lr-T: calc(var(--lr-n) * var(--lr-cd)); position: relative; margin: 0; }
.lr-arch[data-n="2"] { --lr-n: 2; }
.lr-arch[data-n="3"] { --lr-n: 3; }
.lr-archsvg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden; pointer-events: none; }
.lr-open { position: relative; z-index: 1; }
.lr-frame { display: flex; flex-direction: column; justify-content: flex-end; padding-top: clamp(150px, 15vw, 250px); }
.lr-frame > .lr-open { padding: 0 calc(var(--lr-T) + var(--lr-pad)) clamp(44px, 5vw, 72px); }
.lr-aop { fill: color-mix(in oklab, var(--lr-flour) 45%, var(--lr-bg)); }
.lr-ash { fill: none; stroke: color-mix(in oklab, var(--lr-ink) 9%, transparent); stroke-width: 26px; }
.lr-basil .lr-ash, .lr-ovendoor .lr-ash { stroke: rgba(0, 0, 0, .2); }
.lr-parch .lr-ash { stroke: rgba(23, 14, 9, .35); stroke-width: 14px; }
.lr-parch .lr-aop { fill: none; }
.lr-archsvg .lr-joint { fill: var(--lr-ink); }
.lr-soot { fill: #1E120C; opacity: .84; mix-blend-mode: multiply; }
/* without a script: the same arch as a plain ring on its jambs */
.lr-arch::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  border: var(--lr-T) solid var(--lr-crust); border-bottom: 0;
  border-radius: 50% 50% 0 0 / min(46%, 22vw) min(46%, 22vw) 0 0;
  box-shadow: 0 0 0 2px var(--lr-ink), inset 0 0 0 2px var(--lr-ink);
  background: color-mix(in oklab, var(--lr-flour) 45%, var(--lr-bg)) padding-box;
}
.lr-parch::before { background: none; }
.lr-js .lr-arch::before { display: none; }
.lr-parch { overflow: visible; }
.lr-parch picture { position: absolute; inset: 0; display: block; overflow: hidden; border-radius: 50% 50% 0 0 / min(46%, 22vw) min(46%, 22vw) 0 0; }
.lr-built > picture { border-radius: 0; }
.lr-parch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lr-parch .lr-archsvg { z-index: 1; }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .lr-arch { view-timeline: --lr-a block; }
    .lr-arch .lr-brick, .lr-arch .lr-key { animation: lr-lay linear both; animation-timeline: --lr-a; animation-range: cover var(--a, 0%) cover var(--b, 30%); }
    .lr-clean { animation: lr-clean linear both; animation-timeline: --lr-a; animation-range: cover 14% cover 58%; }
    .lr-rv { animation: lr-rv linear both; animation-timeline: view(); animation-range: entry 0% entry 45%; }
  }
}
@keyframes lr-lay { from { opacity: 0; translate: calc(var(--nx, 0) * 26px) calc(var(--ny, -1) * 26px); } }
@keyframes lr-clean { from { r: var(--r0); } to { r: var(--r1); } }
@keyframes lr-rv { from { opacity: 0; translate: 0 12px; } }
@supports not (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .lr-arch[data-lay] > .lr-archsvg .lr-course { transition: opacity .4s ease-out; }
    .lr-arch[data-lay="0"] > .lr-archsvg .lr-course, .lr-arch[data-lay="1"] > .lr-archsvg .lr-course:not(.lr-c0), .lr-arch[data-lay="2"] > .lr-archsvg .lr-c2 { opacity: 0; }
    .lr-arch[data-lay] > .lr-archsvg .lr-soot { transition: opacity 1.2s ease-out; }
    .lr-arch[data-lay="4"] > .lr-archsvg .lr-soot { opacity: 0; }
  }
}

/* shared type */
.lr-crown { width: fit-content; max-width: 100%; margin-inline: auto; text-align: center; }
.lr-stamp.lr-crown { flex-direction: column; align-items: center; gap: 6px; }
.lr-stamp.lr-crown .lr-stamp-n { font-size: clamp(30px, 2.4vw, 40px); }
.lr-open > .lr-mid { margin-inline: auto; text-align: center; max-width: 38ch; }
.lr-h2 {
  margin: 14px 0 24px; font-family: var(--lr-display); font-weight: 420; font-variation-settings: "wdth" 118, "wght" 420;
  font-size: clamp(2.1rem, 1.1rem + 3.2vw, 4.5rem); line-height: 1; letter-spacing: -.005em;
}
.lr-h2.lr-crown { margin-inline: auto; }
.lr-h2.lr-crown span { display: block; }
.lr-lede, .lr-kicker { margin: 0 0 1em; font-size: clamp(1.19rem, 1.05rem + .45vw, 1.5rem); line-height: 1.45; font-weight: 450; max-width: 44ch; }
.lr-sec p { margin-top: 0; }
.lr-small { font-size: 1rem; line-height: 1.5; max-width: 46ch; }
.lr-lede + p, .lr-open > p + p { margin-top: 0; }

/* ── three days ── */
.lr-risebox { width: fit-content; margin: 10px auto 18px; }
.lr-rise {
  --lr-rise: .9;
  margin: 0; font-family: var(--lr-display); font-weight: 500; text-align: center; color: var(--lr-ink);
  font-size: clamp(3.6rem, 1.4rem + 6vw, 8.5rem); line-height: .86; letter-spacing: 0;
  font-variation-settings: "wdth" calc(100 + 25 * var(--lr-rise)), "wght" calc(300 + 340 * var(--lr-rise));
  width: 6em; max-width: 100%; height: 1.78em; contain: layout;
}
.lr-rise span { display: block; white-space: nowrap; }
.lr-rise span + span { color: var(--lr-accent); }
.lr-dgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 4.5vw, 72px); margin-top: clamp(20px, 3vw, 44px); }
.lr-dcopy p { max-width: 50ch; }
.lr-hands { width: min(100%, 300px); aspect-ratio: 2 / 3; margin-top: 36px; }
.lr-inst-h { margin: 0 0 6px; font-family: var(--lr-display); font-weight: 520; font-variation-settings: "wdth" 112, "wght" 520; font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem); line-height: 1.1; }
.lr-inst-p { max-width: 52ch; margin-bottom: 18px; }
.lr-tub, .lr-curve { display: block; width: 100%; height: auto; overflow: visible; }
.lr-curve { margin-top: 4px; }
.lr-tub-t, .lr-tub-s { font: 600 14px var(--lr-text); letter-spacing: .1em; font-variant-caps: all-small-caps; fill: var(--lr-ink); }
.lr-tub-s { letter-spacing: .06em; }
.lr-tray { fill: color-mix(in oklab, var(--lr-ink) 78%, var(--lr-crust)); }
.lr-tray-back { fill: color-mix(in oklab, var(--lr-ink) 40%, var(--lr-crust)); }
.lr-ball { fill: #F7E9BF; stroke: var(--lr-ink); stroke-width: 1.5; }
.lr-ghost { fill: none; stroke: var(--lr-ink); stroke-width: 1.25; stroke-dasharray: 4 4; }
.lr-bub circle { fill: color-mix(in oklab, var(--lr-ink) 34%, #F7E9BF); }
.lr-curve text { font: 600 12px var(--lr-text); fill: var(--lr-ink); letter-spacing: .02em; }
.lr-grid line { stroke: color-mix(in oklab, var(--lr-ink) 16%, transparent); stroke-width: 1; }
.lr-grid .lr-tick { stroke: var(--lr-ink); stroke-width: 1.5; }
.lr-curve .lr-ax-h { font-weight: 500; }
.lr-band { fill: color-mix(in oklab, var(--lr-support) 14%, transparent); }
.lr-win { fill: color-mix(in oklab, var(--lr-support) 34%, transparent); }
.lr-curve .lr-band-t { font-weight: 700; letter-spacing: .08em; font-variant-caps: all-small-caps; font-size: 13px; }
.lr-ph-b { fill: var(--lr-ink); }
.lr-ph-c { fill: color-mix(in oklab, var(--lr-support) 20%, var(--lr-flour)); stroke: var(--lr-ink); stroke-width: 1; }
.lr-ph-w { fill: var(--lr-crust); stroke: var(--lr-ink); stroke-width: 1; }
.lr-curve .lr-ph-t { font-size: 12px; letter-spacing: .08em; font-variant-caps: all-small-caps; font-weight: 700; }
.lr-bakeline line { stroke: var(--lr-accent); stroke-width: 2; stroke-dasharray: 3 4; }
.lr-house { fill: none; stroke: var(--lr-ink); stroke-width: 1.5; }
.lr-yours { fill: none; stroke: var(--lr-accent); stroke-width: 3; stroke-dasharray: 8 6; stroke-linecap: round; }
.lr-note circle { fill: var(--lr-bg); stroke: var(--lr-ink); stroke-width: 1.5; }
.lr-note line { stroke: var(--lr-support); stroke-width: 2; }
.lr-dot circle { fill: var(--lr-support); stroke: var(--lr-flour); stroke-width: 2; }
.lr-dot line { stroke: var(--lr-support); stroke-width: 1.5; }
.lr-curve .lr-dot text { font-size: 11.5px; font-weight: 700; text-anchor: middle; paint-order: stroke; stroke: var(--lr-bg); stroke-width: 4px; stroke-linejoin: round; }
.lr-sliders { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; margin-top: 18px; }
.lr-slider { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 6px 12px; }
.lr-slider label { font-weight: 600; font-variant-caps: all-small-caps; letter-spacing: .1em; font-size: 1.0625rem; }
.lr-slider output { font-weight: 650; font-variant-numeric: tabular-nums; font-size: 1.125rem; }
.lr-slider input { grid-column: 1 / -1; }
.lr-inst input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; margin: 0; background: transparent; cursor: pointer; }
.lr-inst input[type="range"]::-webkit-slider-runnable-track {
  height: 16px; border-radius: 2px; box-shadow: inset 0 0 0 1.5px var(--lr-ink);
  background: repeating-linear-gradient(90deg, var(--lr-ink) 0 1.5px, var(--lr-crust) 1.5px 30px);
}
.lr-inst input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 34px; margin-top: -9px; border-radius: 2px; background: var(--lr-accent); box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--lr-crust) 55%, var(--lr-accent)), 0 2px 0 var(--lr-ink); }
.lr-inst input[type="range"]::-moz-range-track { height: 16px; border-radius: 2px; border: 1.5px solid var(--lr-ink); background: repeating-linear-gradient(90deg, var(--lr-ink) 0 1.5px, var(--lr-crust) 1.5px 30px); }
.lr-inst input[type="range"]::-moz-range-thumb { width: 22px; height: 34px; border: 0; border-radius: 2px; background: var(--lr-accent); }
.lr-read { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 10px 28px; margin: 22px 0 0; }
.lr-read div { display: grid; gap: 2px; }
.lr-read dt { font-weight: 600; font-variant-caps: all-small-caps; letter-spacing: .1em; font-size: 1rem; }
.lr-read dd { margin: 0; font-weight: 650; font-variant-numeric: tabular-nums; font-size: clamp(1rem, .95rem + .2vw, 1.125rem); line-height: 1.3; }
.lr-dverdict { margin: 16px 0 16px; min-height: 2.6em; max-width: 30ch; font-family: var(--lr-display); font-weight: 460; font-variation-settings: "wdth" 112, "wght" 460; font-size: clamp(1.35rem, 1.1rem + .6vw, 1.75rem); line-height: 1.2; }
.lr-fine { margin: 14px 0 0; font-size: .9375rem; }
.lr-nojs-note { display: none; }
.lr-site:not(.lr-js) .lr-sliders, .lr-site:not(.lr-js) .lr-bakebtn { display: none; }
.lr-site:not(.lr-js) .lr-nojs-note { display: block; font-weight: 600; }

/* ── the fire ── */
.lr-dateline { font-weight: 600; font-variant-caps: all-small-caps; letter-spacing: .08em; font-size: 1.25rem; line-height: 1.45; max-width: 46ch; }
.lr-fgrid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: end; margin-top: clamp(24px, 3vw, 44px); }
.lr-fcopy p:not(.lr-lede) { max-width: 52ch; }
.lr-dome { width: min(100%, 440px); aspect-ratio: 2 / 3; justify-self: end; }
.lr-hours { list-style: none; margin: 28px 0 26px; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.lr-hours li {
  padding: .32em .9em .36em; background: var(--lr-crust); box-shadow: inset 0 0 0 1.5px var(--lr-ink); border-radius: 2px;
  font-family: var(--lr-display); font-weight: 480; font-variation-settings: "wdth" 115, "wght" 480; font-size: clamp(1.25rem, 1.05rem + .6vw, 1.6rem); line-height: 1.15;
}
.lr-hours li:nth-child(2) { margin-left: 1.9em; background: var(--lr-bg); }
.lr-hours li:nth-child(3) { margin-left: .95em; }

/* ── ninety seconds ── */
.lr-beatlist { list-style: none; margin: clamp(24px, 3vw, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lr-bay { display: flex; flex-direction: column; justify-content: flex-end; padding-top: 120px; }
.lr-bay > .lr-open { padding: 0 calc(var(--lr-T) + 18px) 26px; text-align: center; }
.lr-beat-t { display: block; width: fit-content; margin-inline: auto; white-space: nowrap; font-family: var(--lr-display); font-variation-settings: "wdth" 125, "wght" 600; font-weight: 600; font-size: clamp(2.4rem, 1.5rem + 1.7vw, 3.5rem); line-height: 1; color: var(--lr-accent); margin-bottom: 10px; }
.lr-bay strong { display: block; font-weight: 700; font-size: 1.125rem; margin-bottom: 4px; }
.lr-beat-p { display: block; font-size: 1rem; line-height: 1.5; max-width: 24ch; margin-inline: auto; }
.lr-terms { margin: clamp(36px, 4vw, 56px) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px clamp(24px, 3vw, 48px); }
.lr-terms dt { font-family: var(--lr-display); font-weight: 520; font-variation-settings: "wdth" 115, "wght" 520; font-size: clamp(1.35rem, 1.15rem + .5vw, 1.7rem); line-height: 1.1; }
.lr-terms dd { margin: 6px 0 0; max-width: 34ch; }
.lr-wide { position: relative; margin-top: clamp(72px, 8vw, 128px); padding-bottom: 40px; }
.lr-crust { width: 100%; aspect-ratio: 100 / 30; --lr-cd: 26px; }
.lr-crust img { object-position: 50% 58%; }
.lr-peelpic { position: absolute; left: clamp(20px, 6vw, 110px); bottom: 0; width: clamp(200px, 19vw, 300px); aspect-ratio: 2 / 3; z-index: 2; }

/* ── the menu ── */
.lr-menuhead { text-align: center; }
.lr-menuhead .lr-h2, .lr-menuhead .lr-kicker { margin-inline: auto; }
.lr-arcade { list-style: none; margin: clamp(28px, 3vw, 48px) auto 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 20px;
  background:
    linear-gradient(var(--lr-ink), var(--lr-ink)) 0 calc(50% - 10px) / 100% 2px no-repeat,
    linear-gradient(var(--lr-ink), var(--lr-ink)) 0 calc(50% + 10px) / 100% 2px no-repeat,
    repeating-linear-gradient(90deg, var(--lr-ink) 0 2px, var(--lr-crust) 2px 48px) 0 50% / 100% 20px no-repeat;
}
.lr-arcade > li:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
.lr-arcade > li:nth-child(2) { grid-area: 1 / 3 / 2 / 5; }
.lr-arcade > li:nth-child(3) { grid-area: 1 / 5 / 2 / 7; }
.lr-arcade > li:nth-child(4) { grid-area: 2 / 2 / 3 / 4; }
.lr-arcade > li:nth-child(5) { grid-area: 2 / 4 / 3 / 6; }
.lr-arcade > li:nth-child(6) { grid-area: 2 / 6 / 3 / 8; }
.lr-arcade .lr-open { padding: 0 calc(var(--lr-T) + 26px) 30px; text-align: center; }
.lr-arcade h3 { margin: 0 0 8px; font-family: var(--lr-display); font-weight: 520; font-variation-settings: "wdth" 112, "wght" 520; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.1rem); line-height: 1.05; color: var(--lr-accent); }
.lr-arcade p { margin: 0 auto; max-width: 30ch; }
.lr-arcade .lr-aside { margin-top: 8px; font-style: italic; font-size: 1rem; }
.lr-extras { display: grid; grid-template-columns: 1fr 1fr; gap: 24px clamp(32px, 5vw, 80px); max-width: 1000px; margin: clamp(40px, 5vw, 72px) auto 0; }
.lr-extras p { margin: 0; }
.lr-extras strong { display: block; font-family: var(--lr-display); font-weight: 520; font-variation-settings: "wdth" 115, "wght" 520; font-size: 1.5rem; line-height: 1.2; margin-bottom: 6px; }

/* ── what's on it ── */
.lr-halal .lr-frame { max-width: 880px; margin: 0 auto; }
.lr-basil .lr-aop { fill: var(--lr-support); }
.lr-basil::before { background-color: var(--lr-support); }
.lr-basil .lr-open { color: var(--lr-flour); text-align: center; }
.lr-basil .lr-lede { margin-inline: auto; max-width: 36ch; }
.lr-basil .lr-h2 { font-size: clamp(1.9rem, 1.1rem + 2.2vw, 3.2rem); }
.lr-basil :focus-visible { outline-color: var(--lr-flour); }

/* ── eat in ── */
.lr-tgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 4.5vw, 72px); align-items: end; margin-top: clamp(20px, 3vw, 40px); }
.lr-tcopy p:not(.lr-lede) { max-width: 46ch; }
.lr-room { width: 100%; aspect-ratio: 3 / 2; }

/* ── the oven door ── */
.lr-door { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 580px); gap: clamp(32px, 6vw, 96px); align-items: end; }
.lr-doortext { padding-bottom: 48px; }
.lr-doortext .lr-lede { max-width: 30ch; }
.lr-doortext p:last-child { max-width: 40ch; }
.lr-ovendoor { --lr-pad: 44px; }
.lr-ovendoor .lr-aop { fill: var(--lr-soot); }
.lr-ovendoor::before { background-color: var(--lr-soot); }
.lr-ovendoor .lr-open { color: var(--lr-flour); }
.lr-ovendoor :focus-visible { outline-color: var(--lr-flour); }
.lr-latch { position: absolute; right: calc(var(--lr-T) + 4px); top: 30%; width: 34px; height: auto; overflow: visible; }
.lr-latch-plate { fill: #4A3222; stroke: var(--lr-crust); stroke-width: 1.5; }
.lr-latch-bar { fill: var(--lr-crust); transform-origin: 20px 60px; transform-box: view-box; transition: rotate .18s ease-out; }
.lr-lift .lr-latch-bar { rotate: 32deg; }
.lr-form { display: grid; gap: 18px; }
.lr-field { display: grid; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.lr-field > span, .lr-field legend, .lr-many > label { font-weight: 600; font-size: 1rem; }
.lr-field legend { padding: 0; margin-bottom: 6px; }
.lr-form input[type="text"], .lr-form input[type="number"], .lr-form select, .lr-form textarea {
  font: inherit; font-size: 1.0625rem; width: 100%; min-height: 48px; padding: 10px 12px; border-radius: 2px; border: 1.5px solid var(--lr-ink); background: var(--lr-flour); color: var(--lr-ink);
}
.lr-form textarea { resize: vertical; min-height: 96px; }
.lr-form ::placeholder { color: color-mix(in oklab, var(--lr-ink) 70%, var(--lr-flour)); }
.lr-about { gap: 4px; }
.lr-about label { position: relative; display: block; cursor: pointer; }
.lr-about input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.lr-about span { display: block; padding: 11px 14px; border-radius: 2px; background: #3A271B; box-shadow: inset 0 0 0 1.5px color-mix(in oklab, var(--lr-crust) 45%, transparent); font-weight: 500; line-height: 1.3; }
.lr-about label:nth-of-type(2) { margin-left: 18px; }
.lr-about input:checked + span { background: var(--lr-accent); box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--lr-crust) 55%, var(--lr-accent)); font-weight: 650; }
.lr-about input:focus-visible + span { outline: 3px solid var(--lr-flour); outline-offset: 2px; }
.lr-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.lr-stepper { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 4px; }
.lr-stepper input { text-align: center; padding-inline: 4px !important; -moz-appearance: textfield; }
.lr-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.lr-step { min-height: 48px; border: 0; border-radius: 2px; background: var(--lr-crust); color: var(--lr-ink); font: 700 1.375rem/1 var(--lr-text); cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--lr-ink); }
.lr-knock { width: 100%; margin-top: 4px; }
.lr-status { margin: 0; min-height: 1.5em; font-weight: 600; }

/* ── the hearth ── */
.lr-hearth { margin-top: clamp(96px, 10vw, 150px); background: var(--lr-ink); color: var(--lr-flour); padding: 0 0 44px; overflow: hidden; }
.lr-bond { padding-top: 3px; background: var(--lr-soot); }
.lr-bond p { margin: 0 0 3px; display: flex; white-space: nowrap; gap: 3px; font-family: var(--lr-display); font-weight: 600; font-size: clamp(1.75rem, 1rem + 3vw, 3.75rem); line-height: 1.12; color: var(--lr-crust); }
.lr-bond p + p { margin-left: -2.4em; }
.lr-bond span { flex: none; padding: .04em .3em .1em; border-radius: 2px; background: color-mix(in oklab, var(--lr-crust) 16%, var(--lr-ink)); }
.lr-bond span:nth-child(odd) { font-variation-settings: "wdth" 125, "wght" 620; }
.lr-bond span:nth-child(even) { font-variation-settings: "wdth" 100, "wght" 520; }
.lr-bond p + p span:nth-child(odd) { font-variation-settings: "wdth" 100, "wght" 520; }
.lr-bond p + p span:nth-child(even) { font-variation-settings: "wdth" 125, "wght" 620; }
.lr-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; max-width: calc(1320px + 2 * var(--lr-gut)); margin: 0 auto; padding: 36px var(--lr-gut) 0; }
.lr-foot .lr-mark { width: 44px; height: 44px; }
.lr-foot p { margin: 0; }
.lr-foot-name { font-family: var(--lr-display); font-size: 1.75rem; font-variation-settings: "wdth" 125, "wght" 560; line-height: 1; }

/* ── widths ── */
@media (max-width: 1199px) {
  .lr-arcade { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; background: none; }
  .lr-arcade > li:nth-child(n) { grid-area: auto; }
  .lr-dgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lr-tgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lr-read { grid-template-columns: repeat(2, auto); }
  .lr-door { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); }
}
@media (max-width: 1023px) {
  .lr-dgrid, .lr-fgrid, .lr-tgrid { grid-template-columns: minmax(0, 1fr); }
  .lr-dcopy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 240px); gap: 0 32px; align-items: start; }
  .lr-dcopy p { grid-column: 1; }
  .lr-hands { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; width: 100%; }
  .lr-dome { justify-self: center; width: min(100%, 380px); }
  .lr-beatlist { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; }
  .lr-terms { grid-template-columns: minmax(0, 1fr); }
  .lr-door { grid-template-columns: minmax(0, 1fr); }
  .lr-doortext { padding-bottom: 8px; }
  .lr-ovendoor { width: min(100%, 560px); justify-self: center; }
  .lr-peelpic { width: clamp(170px, 24vw, 220px); }
}
@media (max-width: 699px) {
  .lr-sec { padding: 72px 10px 0; }
  .lr-arch { --lr-cd: 15px; --lr-pad: 14px; --lr-gap: 10px; }
  .lr-arch[data-pn="1"] { --lr-n: 1; }
  .lr-arch[data-pn="2"] { --lr-n: 2; }
  .lr-frame > .lr-open { padding-bottom: 40px; }
  .lr-rise { font-size: 2.6rem; }
  .lr-hours li { font-size: 1.0625rem; font-variation-settings: "wdth" 104, "wght" 480; }
  .lr-hours li:nth-child(2) { margin-left: 1em; }
  .lr-hours li:nth-child(3) { margin-left: .5em; }
  .lr-dcopy { display: block; }
  .lr-hands { width: 70%; margin: 28px 0 8px; }
  .lr-read { grid-template-columns: 1fr 1fr; gap: 12px 16px; }
  .lr-sliders { grid-template-columns: minmax(0, 1fr); }
  .lr-inst input[type="range"] { height: 48px; }
  .lr-beatlist { gap: 12px 0; }
  .lr-bay > .lr-open { padding-inline: calc(var(--lr-T) + 10px); padding-bottom: 20px; }
  .lr-beat-t { font-size: 1.9rem; font-variation-settings: "wdth" 100, "wght" 600; }
  .lr-beat-p { font-size: .9375rem; }
  .lr-crust { aspect-ratio: 6 / 5; margin: 0 10px; width: auto; }
  .lr-peelpic { display: none; }
  .lr-arcade { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  .lr-arcade .lr-open { padding-inline: calc(var(--lr-T) + 18px); padding-bottom: 24px; }
  .lr-extras { grid-template-columns: minmax(0, 1fr); padding: 0 6px; }
  .lr-room { aspect-ratio: 3 / 4; }
  .lr-ovendoor { --lr-pad: 30px; }
  .lr-latch { width: 26px; right: calc(var(--lr-T) + 2px); }
  .lr-pair { grid-template-columns: minmax(0, 1fr); }
  .lr-doortext { padding-inline: 6px; }
  .lr-foot { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 379px) {
  .lr-beatlist { grid-template-columns: minmax(0, 1fr); }
  .lr-rise { font-size: 2.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lr-site *, .lr-site *::before, .lr-site *::after { transition: none !important; animation: none !important; }
}
