@font-face {
  font-family: "Haffer VF";
  src: url("../assets/fonts/HafferCollection-9137f67020.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
:root {
  --c-paper:        #f5f5f5;
  --c-paper-lift:   #efede7;
  --c-ink:          #1e1c1d;
  --c-ink-deep:     #191818;
  --c-ink-ghost:    #292929;
  --c-cream:        #f7f7f2;
  --c-white:        #fefefe;
  --c-ink-panel:    #272425;
  --c-hairline:     rgba(150,150,150,0.07);
  --c-card-grey:    #f2f2f2;
  --c-sand:         #d1c0a0;
  --c-sand-deep:    #b4a687;
  --c-sand-soft:    #e1d9c7;
  --c-sand-text:    #8f7f5e;
  --c-sand-mute:    #b2ad8f;
  --c-ember:        #7c3b2b;
  --c-ink-100:      #202020;
  --c-ink-88:       rgba(30,28,29,0.88);
  --c-ink-64:       rgba(30,28,29,0.64);
  --c-ink-40:       rgba(30,28,29,0.40);
  --c-ink-16:       rgba(30,28,29,0.16);
  --c-cream-100:    #f7f7f2;
  --c-cream-88:     rgba(247,247,242,0.88);
  --c-cream-64:     rgba(247,247,242,0.64);
  --c-cream-40:     rgba(247,247,242,0.40);
  --c-cream-16:     rgba(247,247,242,0.16);
  --bg:             var(--c-paper);
  --bg-lift:        var(--c-paper-lift);
  --text-strong:    var(--c-ink-100);
  --text-body:      var(--c-ink-88);
  --text-muted:     var(--c-ink-64);
  --text-faint:     var(--c-ink-40);
  --border-subtle:  var(--c-ink-16);
  --eyebrow-color:  var(--c-sand-text);
  --ghost-color:    var(--c-ink-16);
  --font-sans: "Haffer VF", "Hanken Grotesk", -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono-axis: 60;
  --font-mono: "Haffer VF", ui-monospace, "SFMono-Regular",
               Menlo, Consolas, monospace;
  --fs-display-xl:  clamp(4.5rem, 18vw, 18.75rem);
  --fs-display-lg:  clamp(3.75rem, 14vw, 14.375rem);
  --fs-h1:          max(2rem, min(clamp(2.612rem, calc(0.924rem + 2.723vw), 3.375rem), 7vh));
  --fs-h2:          clamp(2.176rem, calc(0.0756rem + 3.388vw), 3.125rem);
  --fs-h3-feature:  clamp(1.75rem, 3.1vw, 2.75rem);
  --fs-h3:          clamp(1.5rem, 2.4vw, 2rem);
  --fs-quote:       clamp(1.5rem, 2.3vw, 2rem);
  --fs-stat:        clamp(3.5rem, 6.5vw, 5.625rem);
  --fs-lead:        clamp(1.625rem, calc(2vw + 0.25rem), 2rem);
  --fs-body-lg:     clamp(1.0625rem, 1.4vw, 1.25rem);
  --fs-body:        clamp(1rem, 1.2vw, 1.125rem);
  --fs-ui:          1rem;
  --fs-caption:     0.875rem;
  --fs-eyebrow:     0.875rem;
  --lh-tight:   1.0;
  --lh-snug:    1.1;
  --lh-lead:    1.2;
  --lh-body:    1.4;
  --lh-ghost:   0.7;
  --ls-tight:   -0.02em;
  --ls-eyebrow:  0.2em;
  --sp-2xs:  clamp(0.4375rem, 0.46vw, 0.5rem);
  --sp-xs:   clamp(0.625rem,  0.64vw, 0.6875rem);
  --sp-sm:   clamp(0.875rem,  0.93vw, 1rem);
  --sp-md:   clamp(1.25rem,   1.33vw, 1.4375rem);
  --sp-lg:   clamp(1.625rem,  1.85vw, 2rem);
  --sp-xl:   clamp(2.25rem,   2.6vw,  2.8125rem);
  --sp-2xl:  clamp(3rem,      3.7vw,  4rem);
  --sp-3xl:  clamp(4.25rem,   5.27vw, 5.6875rem);
  --sp-4xl:  clamp(5.5rem,    7.4vw,  8rem);
  --section-pad-block:  clamp(6rem, 16vw, 15rem);
  --section-pad-inline: max(1.25rem, 4.63vw);
  --page-gutter: max(var(--section-pad-inline), calc((100% - var(--container-large)) / 2));
  --gap-columns:        clamp(2rem, 5vw, 5rem);
  --inset-extra: clamp(0px, calc(19.57vw - 194.2px), 144px);
  --gap-card:           clamp(1rem, 1.6vw, 1.5rem);
  --pad-panel:          clamp(1.75rem, 2.6vw, 2.75rem);
  --container-large: 1760px;
  --container-text:  min(1040px, 76vw);
  --measure:         32em;
  --measure-lead:    28em;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-pill:  inset 0 1px 1px rgba(255,255,255,0.35),
                  0 1px 1px rgba(0,0,0,0.45),
                  0 12px 15px rgba(0,0,0,0.3);
  --shadow-soft:  0 2px 5.3px rgba(110,110,110,0.1),
                  0 20px 40px rgba(176,156,116,0.15);
  --shadow-pill-light: inset 0 1px 1px rgba(255,255,255,0.6),
                  0 1px 2px rgba(30,28,29,0.12),
                  0 10px 22px rgba(30,28,29,0.14);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 0.25s;
  --dur-med:  0.5s;
  --dur-slow: 0.9s;
}
@media (max-width: 991px) {
  :root {
    --fs-display-xl: clamp(4rem, 13vw, 8rem);
    --fs-display-lg: clamp(3.25rem, 11vw, 6.5rem);
    --fs-h1:  max(1.75rem, min(clamp(2.2275rem, calc(0.8964rem + 2.77vw), 2.612rem), 4.2vh));
    --fs-h2:  clamp(2.025rem, calc(1.504rem + 1.085vw), 2.176rem);
    --fs-quote: clamp(1.25rem, calc(0.389rem + 1.794vw), 1.5rem);
    --fs-stat:  clamp(3.25rem, calc(0.564rem + 5.596vw), 4.03rem);
    --fs-lead:  clamp(1.4375rem, calc(0.792rem + 1.345vw), 1.625rem);
    --container-text: min(720px, 88vw);
  }
}
@media (max-width: 767px) {
  :root {
    --fs-display-xl: clamp(3.25rem, 17vw, 5rem);
    --fs-display-lg: clamp(2.75rem, 15vw, 4.25rem);
    --fs-h1:  max(1.5rem, min(clamp(1.8225rem, calc(6.156vw + 0.3038rem), 2.2275rem), 3.9vh));
    --fs-h2:  clamp(1.575rem, 6.48vw, 2.025rem);
    --fs-quote: 1.25rem;
    --fs-stat:  clamp(2.5rem, 11vw, 3.25rem);
    --fs-lead: 1.25rem; --fs-h3-feature: 1.375rem; --fs-h3: 1.25rem;
    --fs-body-lg: 1.0625rem;
    --fs-ui: 0.9375rem;
  }
}
[data-theme="dark"] {
  --bg:            var(--c-ink);
  --bg-lift:       var(--c-ink-deep);
  --text-strong:   var(--c-cream-100);
  --text-body:     var(--c-cream-88);
  --text-muted:    var(--c-cream-64);
  --text-faint:    var(--c-cream-40);
  --border-subtle: var(--c-cream-16);
  --eyebrow-color: var(--c-sand-soft);
  --ghost-color:   var(--c-ink-ghost);
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html {
  -webkit-text-size-adjust: 100%;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: style weight;
}
img, picture, svg, video, canvas {
  display: block;
  max-width: 100%;
}
svg { fill: currentColor; }
button, input, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: var(--c-sand-deep); text-decoration: none; transition: color var(--dur-fast) var(--ease-out); }
a:hover { color: var(--text-strong); }
ul, ol { list-style: none; padding: 0; }
::selection { background: var(--c-sand); color: var(--c-ink); }
.page-wrapper { overflow: clip; }
.page-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background-color: #f5f5f5;
  pointer-events: none;
}
.main-wrapper { position: relative; z-index: 1; }
.section {
  position: relative;
  background-color: var(--bg);
  color: var(--text-body);
}
html.js-theme .main-wrapper > .section { background-color: transparent; }
html.js-theme .main-wrapper > .section[data-theme-edge="hard"] { background-color: var(--bg); }
.padding-global {
  padding-inline: calc(var(--page-gutter) + var(--inset-extra));
}
.section > .padding-global { position: relative; z-index: 2; }
.padding-section-large  { padding-block: var(--section-pad-block); }
.padding-section-medium { padding-block: clamp(4rem, 10vw, 9rem); }
.padding-section-small  { padding-block: clamp(2.5rem, 6vw, 5rem); }
.container-large {
  width: 100%;
  max-width: var(--container-large);
  margin-inline: auto;
}
.container-text {
  width: 100%;
  max-width: var(--container-text);
  margin-inline: auto;
}
.margin-bottom.margin-xsmall  { margin-bottom: var(--sp-sm); }
.margin-bottom.margin-small   { margin-bottom: var(--sp-md); }
.margin-bottom.margin-medium  { margin-bottom: var(--sp-xl); }
.margin-bottom.margin-large   { margin-bottom: var(--sp-3xl); }
.text-display-xl,
.text-display-lg {
  font-weight: 500;
  line-height: var(--lh-ghost);
  letter-spacing: var(--ls-tight);
  color: var(--text-strong);
}
.text-display-xl { font-size: var(--fs-display-xl); }
.text-display-lg { font-size: var(--fs-display-lg); }
.text-h1 {
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  color: var(--text-strong);
  text-wrap: balance;
}
.text-h2 {
  font-size: var(--fs-h2);
  font-weight: 500;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  color: var(--text-strong);
  text-wrap: balance;
}
.text-h3-feature {
  font-size: var(--fs-h3-feature);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: var(--ls-tight);
  color: var(--text-strong);
  text-wrap: balance;
}
.text-h3 {
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: var(--ls-tight);
  color: var(--text-strong);
  text-wrap: balance;
}
.text-lead {
  font-size: var(--fs-lead);
  font-weight: 500;
  line-height: var(--lh-lead);
  letter-spacing: var(--ls-tight);
  color: var(--text-body);
  text-wrap: pretty;
}
.text-quote {
  font-size: var(--fs-quote);
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: -0.03em;
  color: var(--text-strong);
  text-wrap: pretty;
}
.text-body-lg {
  font-size: var(--fs-body-lg);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--text-body);
  text-wrap: pretty;
}
.text-body {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--text-body);
  text-wrap: pretty;
}
.text-body.is-italic { font-style: italic; }
.text-lead, .text-body-lg, .text-body, .text-caption { max-width: var(--measure); }
.text-lead { max-width: var(--measure-lead); }
.text-stat {
  font-size: var(--fs-stat);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.022em;
  color: var(--text-strong);
}
.text-eyebrow {
  display: inline-block;
  font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  line-height: 1;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--eyebrow-color);
}
.text-caption {
  font-size: var(--fs-caption);
  font-weight: 500;
  line-height: 1.42;
  color: var(--text-muted);
}
.is-muted  { color: var(--text-muted); }
.is-strong { color: var(--text-strong); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.needs { background: #fff3b0; color: #202020; font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis); font-size: 0.8em; padding: 0.1em 0.35em; border-radius: 4px; }
.prose > * + * { margin-top: 1em; }
.bg-noise {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 170px 170px;
}
.bg-lines {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.bg-lines span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(247,247,242,0.05);
  transition: background 0.5s ease;
}
body.on-light .bg-lines span { background: rgba(30,28,29,0.045); }
.bg-lines span:nth-child(1) { left: 25%; }
.bg-lines span:nth-child(2) { left: 50%; }
.bg-lines span:nth-child(3) { left: 75%; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2xs);
  font-size: var(--fs-ui);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  border-radius: var(--radius-sm);
  padding: 16px 24px;
  min-height: 44px;
  transition: transform var(--dur-fast) var(--ease-out),
              background-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--primary {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: color-mix(in srgb, var(--c-sand) 80%, transparent);
  color: var(--c-ink);
  box-shadow: var(--shadow-pill);
  transition: box-shadow var(--dur-fast) var(--ease-out);
}
.btn--primary::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, color-mix(in srgb, var(--c-sand) 90%, var(--c-cream-100)) 0%, var(--c-sand) 55%, color-mix(in srgb, var(--c-sand) 86%, var(--c-ink)) 100%);
  transform: translateX(-101%);
  transition: transform 0.45s var(--ease-out);
}
.btn--primary:hover { transform: none; color: var(--c-ink); }
.btn--primary:hover::before { transform: translateX(0); }
.btn--primary::after {
  content: "\2192";
  display: inline-block;
  width: 0; opacity: 0; overflow: hidden;
  margin-left: calc(-1 * var(--sp-2xs));
  transform: translateX(-6px);
  transition: width var(--dur-med) var(--ease-out), opacity var(--dur-med) var(--ease-out), margin-left var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);
}
.btn--primary:hover::after { width: 1.05em; opacity: 1; margin-left: 0; transform: translateX(0); }
body.on-light .btn--primary { box-shadow: var(--shadow-pill-light); }
.btn--ghost {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--border-subtle);
  color: var(--text-strong);
}
.btn--ghost::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: color-mix(in srgb, var(--text-strong) 8%, transparent);
  transform: translateX(-101%);
  transition: transform 0.45s var(--ease-out);
}
.btn--ghost::after {
  content: "\2192";
  display: inline-block;
  width: 0; opacity: 0; overflow: hidden;
  margin-left: calc(-1 * var(--sp-2xs));
  transform: translateX(-6px);
  transition: width var(--dur-med) var(--ease-out), opacity var(--dur-med) var(--ease-out), margin-left var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);
}
.btn--ghost:hover { transform: none; border-color: var(--text-strong); color: var(--text-strong); }
.btn--ghost:hover::before { transform: translateX(0); }
.btn--ghost:hover::after { width: 1.05em; opacity: 1; margin-left: 0; transform: translateX(0); }
@media (hover: none), (max-width: 767px) {
  .btn--ghost:hover::after, .btn--primary:hover::after { width: 0; opacity: 0; margin-left: calc(-1 * var(--sp-2xs)); transform: translateX(-6px); }
}
.btn .btn__arrow { transition: transform var(--dur-fast) var(--ease-out); }
.btn:hover .btn__arrow { transform: translate(2px, -2px); }
.nav-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2xs);
  padding: 6px 8px;
  border-radius: var(--radius-md);
  background-color: color-mix(in srgb, var(--c-paper) calc(var(--nav-light, 0) * 100%), var(--c-ink));
  border: 1px solid rgba(247,247,242,0.08);
  box-shadow: none;
  transition: border-color var(--dur-fast) var(--ease-out);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.on-light .nav-pill { border-color: rgba(30,28,29,0.08); box-shadow: none; }
body.on-light .nav-pill__link { color: var(--c-ink); }
body.on-light .nav-pill__link:hover { background-color: rgba(30,28,29,0.07); color: var(--c-ink); }
body.on-light .nav-pill.has-bg .nav-pill__link:hover { background: transparent; }
body.on-light .nav-pill.has-bg:hover .nav-pill__link.is-active:not(:hover) { color: var(--c-ink); }
.nav-pill__link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  font-size: var(--fs-ui);
  font-weight: 500;
  color: var(--c-cream-88);
  transition: background-color var(--dur-fast) var(--ease-out);
}
.nav-pill__link:hover { background-color: rgba(247,247,242,0.08); color: var(--c-cream-100); }
.nav-pill__link.is-active { background-color: var(--c-sand); color: var(--c-ink); }
.nav-pill__bg {
  position: absolute;
  top: 0; left: 0;
  height: 10px; width: 10px;
  border-radius: var(--radius-sm);
  background: var(--c-sand);
  z-index: 0;
  transition: transform 0.4s var(--ease-out), width 0.4s var(--ease-out), height 0.4s var(--ease-out);
  will-change: transform, width;
}
.nav-pill.has-bg .nav-pill__link:hover { background: transparent; color: var(--c-ink); }
.nav-pill.has-bg .nav-pill__link.is-active { background: transparent; color: var(--c-ink); }
.nav-pill.has-bg .nav-pill__link { transition: color 0.25s var(--ease-out); }
.nav-pill.has-bg:hover .nav-pill__link.is-active:not(:hover) { color: var(--c-cream-88); }
.logo {
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  color: currentColor;
}
.logo__mark { width: auto; height: 42px; color: inherit; }
.logo__dot {
  width: 6.4px; height: 6.4px;
  border-radius: 50%;
  background: currentColor;
  margin-bottom: 2px;
}
.accent-rule {
  display: block;
  width: 157px;
  height: 2px;
  max-width: 60%;
  background-color: var(--c-sand-deep);
  border: 0;
}
.ghost-word {
  font-family: var(--font-sans);
  font-weight: 500;
  line-height: var(--lh-ghost);
  letter-spacing: var(--ls-tight);
  color: var(--ghost-color);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}
.eyebrow-row {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
}
.grid-lines {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  pointer-events: none;
  z-index: 0;
}
.grid-lines::before,
.grid-lines::after { content: none; }
.grid-lines > span {
  border-left: 1px solid var(--border-subtle);
  opacity: 0.5;
}
.line-mask { display: block; overflow: hidden; padding-bottom: 0.72em; margin-bottom: -0.72em; }
.line-mask > span { display: block; }
.line-word { display: inline-block; will-change: transform; }
.motion-word { display: inline; }
.scribble-word {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  --scr-w: 86%;
  --scr-b: -0.22em;
}
.scribble-word::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: var(--scr-b);
  transform: translateX(-50%);
  width: var(--scr-w);
  aspect-ratio: 157 / 19;
  background: var(--c-sand-deep);
  -webkit-mask: url(../assets/scribble.svg) center / contain no-repeat;
  mask: url(../assets/scribble.svg) center / contain no-repeat;
  pointer-events: none;
}
.scribble-word.js-scribble::after { content: none; }
.scribble-layer {
  position: absolute;
  left: 50%;
  bottom: var(--scr-b);
  transform: translateX(-50%);
  width: var(--scr-w);
  aspect-ratio: 157 / 19;
  background: var(--c-sand-deep);
  -webkit-mask: url(../assets/scribble.svg) center / contain no-repeat;
  mask: url(../assets/scribble.svg) center / contain no-repeat;
  pointer-events: none;
}
.badge-live {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(25,24,24,0.75);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-cream-100);
  white-space: nowrap;
}
.badge-live::before {
  content: "";
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #5fc26d;
  box-shadow: 0 0 10px rgba(95,194,109,0.65);
  animation: badge-pulse 2.4s ease-in-out infinite;
}
@keyframes badge-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
@media (prefers-reduced-motion: reduce) { .badge-live::before { animation: none; } }
.tag {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 4px;
  color: var(--text-muted);
  background: color-mix(in srgb, var(--text-strong) 8%, transparent);
  white-space: nowrap;
}
@media (max-width: 767px) {
  .tag { font-size: calc(var(--fs-eyebrow) * 0.72); padding: 3px 6px; }
  .casebento__tags { gap: 3px; }
}
.case-card {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 1568 / 615;
  background-color: var(--c-ink-deep);
  display: flex;
  align-items: flex-end;
}
.case-card__media { position: absolute; inset: 0; }
.case-card__media img { width: 100%; height: 100%; object-fit: cover; }
.case-card__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0) 55%);
}
.case-card__bar {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-md);
  padding: 40px;
}
.case-card__title {
  font-size: var(--fs-h3);
  font-weight: 500;
  letter-spacing: var(--ls-tight);
  line-height: 1;
  color: var(--c-white);
}
.section-lines {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, var(--c-cream-16) 0 1px, transparent 1px),
    linear-gradient(90deg, var(--c-cream-16) 0 1px, transparent 1px),
    linear-gradient(90deg, var(--c-cream-16) 0 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: 25% 0, 50% 0, 75% 0;
  opacity: 0.4;
}
.img-placeholder {
  position: relative;
  background-color: var(--c-ink-deep);
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,0.05) 0 1px,
    transparent 1px 12px
  );
  display: grid;
  place-items: center;
}
.img-placeholder::after {
  content: attr(data-label);
  font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis);
  font-size: var(--fs-caption);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-cream-40);
}
.backlink { display: inline-flex; border-radius: 50%; align-items: center; gap: var(--sp-xs); align-self: flex-start; color: var(--text-strong); text-decoration: none; }
.backlink__arrow { display: block; width: 52px; height: 52px; flex: none; fill: none; stroke: currentColor; stroke-width: 1; transition: transform var(--dur-fast) var(--ease-out); }
.backlink__box { stroke: rgba(30,28,29,0.045);  transition: stroke var(--dur-fast) var(--ease-out); }
.backlink:hover .backlink__arrow, .backlink:focus-visible .backlink__arrow { transform: translateX(-4px); }
.backlink:hover .backlink__box, .backlink:focus-visible .backlink__box { stroke: currentColor; }
.backlink:focus-visible { outline: 2px solid var(--c-sand-deep); outline-offset: 4px; border-radius: var(--radius-sm); }
.casebento-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;width:fit-content;height:fit-content;max-width:92vw;max-height:92vh;overflow:visible}.casebento-lightbox::backdrop{background:rgba(25,24,24,0);transition:background-color .6s var(--ease-in-out)}
.casebento-lightbox.is-open::backdrop{background:rgba(25,24,24,.88)}
.casebento-lightbox__media{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto;border-radius:var(--radius-lg);background:var(--c-cream)}
.casebento-lightbox__close{position:absolute;top:.75rem;right:.75rem;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-cream-40);border-radius:50%;background:rgba(25,24,24,.72);color:var(--c-cream-100);font:400 1.5rem/1 var(--font-sans,sans-serif);cursor:pointer}.casebento-lightbox__close:hover{border-color:var(--c-cream-100)}
.casebento-lightbox.casebento-lightbox--pan{width:100vw;height:100dvh;max-width:none;max-height:none}
.casebento-lightbox__slot.casebento-lightbox__slot--pan{display:flex;align-items:center;width:100%;height:100%;padding-inline:1rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain}
.casebento-lightbox__media.casebento-lightbox__media--pan{flex:none;width:auto;height:calc(100dvh - 2rem);max-width:none;max-height:none}
.casebento__status.casebento-lightbox__hint{top:auto;left:50%;bottom:1.5rem;transform:translateX(-50%);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out),visibility var(--dur-fast) var(--ease-out)}
.casebento__status.casebento-lightbox__hint.is-on{opacity:1;visibility:visible}
.preloader {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: transparent;
  display: grid;
  place-items: center;
  transition: visibility 0s linear 0.75s;
  animation: preloaderFailsafe 0s linear 5s forwards;
}
@keyframes preloaderFailsafe { to { visibility: hidden; pointer-events: none; } }
.preloader__bg { position: absolute; inset: 0; z-index: -1; display: flex; }
.preloader__bg span { position: relative; flex: 1; background: var(--c-ink); transition: transform 0.5s var(--ease-in-out); }
.preloader__bg span + span::before, .pt > span + span::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: rgba(247,247,242,0.05); }
.preloader__bg span + span { margin-left: -1px; }
.preloader.is-done { visibility: hidden; }
.preloader.is-done .preloader__bg span { transform: translateY(-101%); }
.preloader.is-done .preloader__bg span:nth-child(1) { transition-delay: 0.18s; }
.preloader.is-done .preloader__bg span:nth-child(2) { transition-delay: 0.12s; }
.preloader.is-done .preloader__bg span:nth-child(3) { transition-delay: 0.06s; }
.preloader.is-done .preloader__bg span:nth-child(4) { transition-delay: 0s; }
.preloader:not(:has(.preloader__bg)) { background: var(--c-ink); transition: transform 0.9s var(--ease-in-out), visibility 0s linear 0.9s; }
.preloader:not(:has(.preloader__bg)).is-done { transform: translateY(-100%); }
.preloader__inner { display: flex; flex-direction: column; align-items: center; gap: var(--sp-sm); }
.preloader__mask { display: block; overflow: hidden; }
.preloader__line { display: block; color: var(--c-sand-soft); }
.preloader__line .pl-ch { display: inline-block; white-space: pre; transform: translateY(115%); transition: transform 0.7s var(--ease-out); }
.preloader.is-in .preloader__line .pl-ch { transform: translateY(0); }
.preloader.is-done .preloader__line .pl-ch { transform: translateY(-115%); transition: transform 0.35s var(--ease-in-out); }
.preloader__bar { display: block; width: 64px; height: 1px; background: var(--c-cream-16); overflow: hidden; opacity: 0; transition: opacity 0.4s var(--ease-out) 0.85s; }
.preloader.is-in .preloader__bar { opacity: 1; }
.preloader.is-done .preloader__bar { opacity: 0; transition: opacity 0.25s var(--ease-in-out); }
.preloader__fill { display: block; height: 100%; width: 100%; background: var(--c-sand); transform: scaleX(0); transform-origin: left center; }
@media (prefers-reduced-motion: reduce) { .preloader { display: none; } }
.pt { position: fixed; inset: 0; z-index: 400; display: flex; visibility: hidden; pointer-events: none; }
.pt > span { position: relative; flex: 1; background: var(--c-ink); transform: translateY(-101%); transition: transform 0.5s var(--ease-in-out); }
.pt > span + span { margin-left: -1px; }
.pt.is-covering { visibility: visible; transition: none; }
.pt.is-covering > span { transform: translateY(0); }
.pt.is-covering > span:nth-child(1) { transition-delay: 0s; }
.pt.is-covering > span:nth-child(2) { transition-delay: 0.07s; }
.pt.is-covering > span:nth-child(3) { transition-delay: 0.14s; }
.pt.is-covering > span:nth-child(4) { transition-delay: 0.21s; }
.pt.is-leaving > span { transform: translateY(-101%); }
.pt.is-leaving > span:nth-child(1) { transition-delay: 0.18s; }
.pt.is-leaving > span:nth-child(2) { transition-delay: 0.12s; }
.pt.is-leaving > span:nth-child(3) { transition-delay: 0.06s; }
.pt.is-leaving > span:nth-child(4) { transition-delay: 0s; }
.pt.is-instant > span { transition: none !important; }
.pt__label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pt__mask { display: block; overflow: hidden; }
.pt__line { display: block; color: var(--c-sand-soft); }
.pt__line .pl-ch { display: inline-block; white-space: pre; transform: translateY(115%); transition: transform 0.7s var(--ease-out); }
.pt.is-instant .pt__line .pl-ch { transition: none !important; }
.pt.label-in .pt__line .pl-ch { transform: translateY(0); }
.pt.label-out .pt__line .pl-ch { transform: translateY(-115%); transition: transform 0.35s var(--ease-in-out); }
.navbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  padding-top: clamp(0.75rem, 1.6vw, 1.5rem);
}
.navbar::before,
.navbar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out);
  pointer-events: none;
}
.navbar::before { background: linear-gradient(180deg, var(--c-ink) 0%, rgba(30,28,29,0) 100%); }
.navbar::after  { background: linear-gradient(180deg, var(--c-paper) 0%, rgba(245,245,245,0) 100%); }
.navbar.is-scrolled::before { opacity: calc(1 - var(--nav-light, 0)); }
.navbar.is-scrolled::after  { opacity: var(--nav-light, 0); }
.navbar__inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-md);
  padding-block: clamp(1.25rem, 3vw, 2.25rem);
  padding-inline: var(--section-pad-inline);
}
.navbar__brand { color: var(--c-white); transition: color var(--dur-fast) var(--ease-out); padding-block: 12px; margin-block: -12px; }
.navbar__brand .lgwrap { --lgh: clamp(20px, 1.9vw, 28px); display: block; overflow: hidden; height: var(--lgh); width: calc(var(--lgh) * 5.89); transition: width 0.7s var(--ease-out), height 0.7s var(--ease-out); }
.navbar__brand svg { height: 100%; width: calc(var(--lgh) * 5.89); max-width: none; display: block; }
.lg-lt, .lg-dot { transition: transform 0.7s var(--ease-out), opacity 0.45s var(--ease-out); }
.lg-d { transition-delay: 0s; } .lg-l { transition-delay: 0.04s; } .lg-a { transition-delay: 0.08s; } .lg-o { transition-delay: 0.12s; }
.navbar.is-collapsed .lgwrap { width: calc(var(--lgh) * 1.22); }
.navbar.is-collapsed .lg-o { transform: translateX(-204px); opacity: 0; }
.navbar.is-collapsed .lg-a { transform: translateX(-434px); opacity: 0; }
.navbar.is-collapsed .lg-l { transform: translateX(-670px); opacity: 0; }
.navbar.is-collapsed .lg-d { transform: translateX(-903px); opacity: 0; }
.navbar.is-collapsed .lg-dot { transform: translateX(-920px); transition-delay: 0.06s; }
@media (prefers-reduced-motion: reduce) { .lg-lt, .lg-dot, .navbar__brand .lgwrap { transition: none; } }
body.on-light .navbar__brand { color: var(--c-ink); }
body.on-light .navbar__burger { color: var(--c-ink); }
.navbar__nav { display: inline-flex; position: absolute; left: 50%; transform: translateX(-50%); }
.navbar__inner { position: relative; }
.navbar__cta { flex-shrink: 0; }
.navbar__burger {
  display: none;
  width: 46px; height: 46px;
  border-radius: var(--radius-sm);
  align-items: center;
  justify-content: center;
  color: var(--c-white);
}
.navbar__burger span,
.navbar__burger span::before,
.navbar__burger span::after {
  content: "";
  display: block;
  width: 22px; height: 2px;
  background: currentColor;
  position: relative;
  transition: transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);
}
.navbar__burger span::before { position: absolute; top: -7px; }
.navbar__burger span::after  { position: absolute; top: 7px; }
body.menu-open .navbar__burger span { background: transparent; }
body.menu-open .navbar__burger span::before { transform: translateY(7px) rotate(45deg); }
body.menu-open .navbar__burger span::after  { transform: translateY(-7px) rotate(-45deg); }
.menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  color: var(--c-cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sp-3xl);
  padding: clamp(6rem, 18vw, 8rem) var(--section-pad-inline) var(--section-pad-inline);
  visibility: hidden;
  transition: visibility 0s linear 0.7s;
}
.menu__bg { position: absolute; inset: 0; z-index: -1; display: flex; overflow: hidden; }
.menu__bg span { flex: 1; background: var(--c-ink); transform: translateY(-101%); transition: transform 0.5s var(--ease-in-out); }
.menu__bg span + span { margin-left: -1px; }
.menu__bg span:nth-child(1) { transition-delay: 0.18s; }
.menu__bg span:nth-child(2) { transition-delay: 0.12s; }
.menu__bg span:nth-child(3) { transition-delay: 0.06s; }
.menu__bg span:nth-child(4) { transition-delay: 0s; }
body.menu-open .menu { visibility: visible; transition: none; }
body.menu-open .menu__bg span { transform: translateY(0); }
body.menu-open .menu__bg span:nth-child(1) { transition-delay: 0s; }
body.menu-open .menu__bg span:nth-child(2) { transition-delay: 0.07s; }
body.menu-open .menu__bg span:nth-child(3) { transition-delay: 0.14s; }
body.menu-open .menu__bg span:nth-child(4) { transition-delay: 0.21s; }
.menu__links { display: flex; flex-direction: column; gap: var(--sp-md); align-items: flex-start; text-align: left; }
.menu__links a { display: block; overflow: hidden; }
.menu__links a span { display: block; transform: translateY(115%); transition: transform 0.45s var(--ease-in-out); }
body.menu-open .menu__links a span { transform: translateY(0); transition: transform 0.7s var(--ease-out); }
body.menu-open .menu__links a:nth-child(1) span { transition-delay: 0.28s; }
body.menu-open .menu__links a:nth-child(2) span { transition-delay: 0.35s; }
body.menu-open .menu__links a:nth-child(3) span { transition-delay: 0.42s; }
body.menu-open .menu__links a:nth-child(4) span { transition-delay: 0.49s; }
body.menu-open .menu__links a:nth-child(5) span { transition-delay: 0.56s; }
.menu__foot { opacity: 0; transition: opacity 0.3s var(--ease-out); }
body.menu-open .menu__foot { opacity: 1; transition: opacity 0.5s var(--ease-out) 0.6s; }
.menu__links a {
  font-size: clamp(1.625rem, 7vw, 2.25rem);
  font-weight: 500;
  letter-spacing: var(--ls-tight);
  color: var(--c-cream);
  line-height: 1.05;
}
.menu__links a:hover { color: var(--c-sand); }
.menu__foot { display: flex; gap: var(--sp-md); flex-wrap: wrap; justify-content: flex-start; }
.menu__foot a { color: var(--c-cream-64); font-size: var(--fs-ui); }
.menu__foot a:hover { color: var(--c-sand); }
.footer { background: var(--c-ink); color: var(--c-cream); z-index: 2; }
.footer > .padding-global { padding-inline: var(--section-pad-inline); }
.footer__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-3xl) var(--gap-columns);
  padding-block: clamp(4rem, 8vw, 6rem) var(--sp-3xl);
  align-items: start;
  position: relative;
}
.footer__brand { display: flex; flex-direction: column; gap: var(--sp-md); max-width: 42ch; }
.footer__logo { display: inline-flex; align-items: flex-end; gap: 5px; }
.footer__logo { color: var(--c-white); }
.footer__tagline { color: var(--c-cream-64); }
.footer__logo .logo__dot { width: 5px; height: 5px; margin-bottom: 1px; }
.footer__wordmark { display: block; width: clamp(96px, 9vw, 132px); aspect-ratio: 1887.918 / 358.230; background: var(--c-white); -webkit-mask: url(../assets/boald-wordmark-mask.svg) left center / contain no-repeat; mask: url(../assets/boald-wordmark-mask.svg) left center / contain no-repeat; }
.footer__col.footer__news { grid-column: 3; justify-self: end; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-lg) var(--sp-xl); align-items: end; max-width: 36rem; }
@media (min-width: 1440px) {
  .footer__col.footer__news { grid-template-columns: minmax(0, 1fr) auto; }
  .footer__col.footer__news .footer__subscribe { grid-column: 2; grid-row: 1; justify-self: end; }
}
.footer__news .footer__news-main { grid-column: 1; grid-row: 1; }
.footer__news .footer__news-desc { grid-column: 1 / -1; grid-row: 2; }
.footer__news-main { display: flex; flex-direction: column; gap: var(--sp-sm); }
.footer__news .footer__subscribe { grid-column: 1; grid-row: 3; justify-self: start; --text-strong: var(--c-cream); --border-subtle: var(--c-cream-16); }
.footer__news-desc { margin: 0; color: var(--c-cream-64); }
.footer__news-title { margin: 0; font-size: var(--fs-body-lg); font-weight: 500; letter-spacing: var(--ls-tight); color: var(--c-cream-100); }
.footer__cols { grid-column: 2; justify-self: center; display: flex; gap: var(--sp-3xl); flex-wrap: wrap; }
.footer__col { display: flex; flex-direction: column; gap: var(--sp-sm); }
.footer__col .text-eyebrow { color: var(--c-cream-40); }
.footer__col a, .footer__col span:not(.text-eyebrow) { color: var(--c-cream-88); font-size: var(--fs-ui); }
.footer__col a:hover { color: var(--c-sand); }
.footer__bar {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-md);
  padding-block: var(--sp-lg);
  position: relative;
}
.footer__inner::before, .footer__bar::before { content: ""; position: absolute; top: 0; left: calc(-1 * var(--section-pad-inline)); right: calc(-1 * var(--section-pad-inline)); height: 1px; background: var(--c-cream-16); }
.footer__bar .text-eyebrow { color: var(--c-cream-40); }
.footer__bar .text-caption { color: var(--c-cream-64); }
.footer__col--contact { gap: var(--sp-2xs); }
@media (min-width: 992px) { .footer__col--contact .text-eyebrow { margin-bottom: calc(var(--sp-sm) - var(--sp-2xs)); } }
@media (max-width: 991px) {
  .navbar__nav { display: none; }
  .navbar__cta { display: none; }
  .navbar__burger { display: inline-flex; }
}
@media (max-width: 991px) {
  .footer__inner { grid-template-columns: minmax(0, 1fr); }
  .footer__cols { justify-self: start; grid-column: 1; }
  .footer__col.footer__news { justify-self: stretch; grid-column: 1; grid-row: auto; max-width: none; }
  .footer__cols { gap: var(--sp-xl); }
}
@media (max-width: 767px) {
  .footer__col.footer__news { grid-template-columns: 1fr; }
  .footer__news .footer__subscribe { grid-column: 1; grid-row: 3; justify-self: start; }
}
body.cursor-on, body.cursor-on * { cursor: none !important; }
@media (pointer: coarse) { body.cursor-on, body.cursor-on * { cursor: auto !important; } }
.cursor, .cursor-ring { position: fixed; top: 0; left: 0; z-index: 300; pointer-events: none; border-radius: 50%; will-change: transform; mix-blend-mode: difference; }
.cursor { width: 7px; height: 7px; background: var(--c-cream); margin: -3.5px 0 0 -3.5px; transition: opacity 0.25s var(--ease-out); }
.cursor-ring { width: 38px; height: 38px; border: 1px solid var(--c-cream); margin: -19px 0 0 -19px; transition: width 0.3s var(--ease-out), height 0.3s var(--ease-out), margin 0.3s var(--ease-out), opacity 0.25s var(--ease-out); }
.cursor-ring.big { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
body.cursor-veiled .cursor, body.cursor-veiled .cursor-ring { opacity: 0; }
body:not(.cursor-live) .cursor, body:not(.cursor-live) .cursor-ring { opacity: 0; }
body:not(.cursor-on) .cursor, body:not(.cursor-on) .cursor-ring { display: none; }
@media (pointer: coarse) { .cursor, .cursor-ring { display: none !important; } }
@media (max-width: 991px) {
  .footer__col { gap: 0; }
  .footer__col .text-eyebrow { margin-bottom: var(--sp-2xs); }
  .footer__col a, .footer__col span:not(.text-eyebrow) { display: flex; align-items: center; min-height: 44px; }
  .footer__col--contact span:not(.text-eyebrow) { min-height: 0; }
}
.section-head { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.section-head > .text-h2,
.section-head > h2 { margin-top: clamp(0.75rem, 1.4vw, 1.25rem); }
.section-head > .text-lead { margin-top: var(--sp-lg); }
.section-head--center { align-items: center; text-align: center; max-width: 1180px; margin-inline: auto; }
.section-head--center > .text-lead { max-width: calc((100% - var(--gap-columns)) * 2 / 3); }
.section-head--right { width: calc((100% - var(--gap-columns)) * 2 / 3); margin-left: auto; }
@media (max-width: 991px) {
  .section-head--center > .text-lead { max-width: var(--measure-lead); }
  .section-head--right { width: auto; margin-left: 0; }
}
.section-head--right > .text-eyebrow + .text-lead { margin-top: clamp(1.75rem, 3vw, 2.75rem); }
.section-head--right > .text-lead + .text-lead { margin-top: 1.35em; }
.card-grid { position: relative; z-index: 1; display: grid; gap: var(--gap-card); align-items: stretch; }
.card-grid--stack { grid-template-columns: minmax(0, 1fr); }
.card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid--2 > .card:last-child:nth-child(odd),
.card-grid--4 > .card:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 1920px) {
  .card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .card-grid--2, .card-grid--3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .card-grid--4 { grid-template-columns: minmax(0, 1fr); }
}
.card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  min-height: clamp(18rem, 26vw, 26rem);
  padding: clamp(1.75rem, 3vw, 3rem);
  background: var(--bg-lift);
  border-radius: var(--radius-lg);
}
[data-theme="dark"] .card { background: var(--c-ink-panel); }
.card > .text-h3 { max-width: 18ch; }
.card > .text-body { margin-top: auto; padding-top: var(--sp-lg); }
.card__icon { display: block; width: clamp(4.5rem, 7vw, 6.5rem); height: auto; margin: 0 0 var(--sp-lg) -0.35rem; }
.card--compact { min-height: 0; }
.card--compact > .text-body { margin-top: 0; padding-top: 0; }
@media (max-width: 991px) {
  .card { min-height: 0; }
}
.bento { padding-top: calc(var(--section-pad-block) * 0.5); padding-bottom: calc(var(--section-pad-block) * 1.3); }
.bento__grid { position: relative; z-index: 1; display: grid; gap: var(--gap-card); grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: "head head p1" "c1 c2 p1" "p2 c3 c4"; }
.bento__head { grid-area: head; }
.bento__c1 { grid-area: c1; }
.bento__c2 { grid-area: c2; }
.bento__c3 { grid-area: c3; }
.bento__c4 { grid-area: c4; }
.bento__p1 { grid-area: p1; }
.bento__p2 { grid-area: p2; }
.bento__photo { position: relative; overflow: hidden; min-height: 18rem; border-radius: var(--radius-lg); background: var(--bg-lift); }
.bento__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 991px) {
  .bento__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "head head" "c1 c2" "p1 p1" "c3 c4" "p2 p2"; }
  .bento__photo { min-height: 0; aspect-ratio: 3 / 2; }
}
@media (max-width: 767px) {
  .bento__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "c1" "p1" "c2" "c3" "p2" "c4"; }
}
.bento.bento--offset { padding-block: calc(var(--section-pad-block) * 0.6); }
.bento__top { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gap-card); row-gap: var(--sp-xl); margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.bento__intro { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gap-card); align-items: start; }
.bento__statement { grid-column: 2 / 4; }
.text-lead.bento__statement { margin-top: 0; }
.bento__cta { grid-column: 2 / 4; justify-self: start; }
.bento__grid.bento__grid--offset { grid-template-areas: ". c1 c2" ". c3 c4"; grid-template-rows: 1fr 1fr; }
.card.bento__card { min-height: 0; gap: 0; }
.bento__icon { display: block; flex: none; width: 40px; height: 40px; color: var(--text-muted); }
.bento__art { display: block; flex: none; width: auto; max-width: 100%; height: clamp(6rem, 9vw, 8.5rem); object-fit: contain; object-position: left bottom; margin-bottom: calc(clamp(2.5rem, 4.5vw, 4.5rem) + var(--sp-lg)); }
.bento__rule { flex: none; width: 100%; height: 1px; margin: clamp(2.5rem, 4.5vw, 4.5rem) 0 var(--sp-lg); border: 0; background: var(--border-subtle); }
.card.bento__card--reveal { position: relative; display: grid; grid-template-rows: 1fr 1fr; overflow: hidden; outline: none; min-height: clamp(31rem, 36vw, 36rem); --bento-pad: clamp(1.75rem, 3vw, 3rem); transition: background-color 0.5s var(--ease-out); }
.bento__artwrap { position: relative; min-height: 0; }
.bento__card--reveal .bento__art { position: absolute; left: 0; top: 50%; height: clamp(7rem, 10vw, 10rem); max-width: 100%; margin: 0; object-position: left center; transform: translateY(-50%); transition: opacity 0.4s var(--ease-out), transform 0.6s var(--ease-out); }
.bento__text { position: relative; display: flex; flex-direction: column; align-self: start; }
.text-h3-feature.bento__title { max-width: none; margin-top: 0; }
.bento__label { position: relative; z-index: 1; align-self: start; }
.bento__morewrap { display: grid; grid-template-rows: 1fr; }
.text-body.bento__more { min-height: 0; overflow: hidden; margin-top: 0; padding-top: var(--sp-lg); }
.card.bento__card--reveal:hover, .card.bento__card--reveal:focus-within { background: var(--c-ink); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); --text-muted: var(--c-cream-64); --eyebrow-color: var(--c-sand-soft); }
.bento__card--reveal:hover .bento__art, .bento__card--reveal:focus-within .bento__art { opacity: 0; transform: translateY(calc(-50% - 1rem)); }
.bento__card--reveal:focus-visible { box-shadow: 0 0 0 2px var(--c-sand-deep); }
@media (prefers-reduced-motion: reduce) { .bento__card--reveal, .bento__card--reveal .bento__art, .bento__morewrap, .bento__more { transition: none; } }
[data-theme="dark"] .card.bento__card--reveal:hover, [data-theme="dark"] .card.bento__card--reveal:focus-within { background: var(--c-paper); --text-strong: var(--c-ink-100); --text-body: var(--c-ink-88); --text-muted: var(--c-ink-64); --eyebrow-color: var(--c-sand-text); }
[data-theme="dark"] .bento__art { filter: invert(0.6); }
.bento__card--reveal:focus-visible { box-shadow: 0 0 0 2px var(--c-sand-deep); }
@media (prefers-reduced-motion: reduce) { .bento__card--reveal, .bento__card--reveal .bento__art, .bento__text, .bento__more { transition: none; } }
.text-body.bento__desc { margin-top: var(--sp-sm); padding-top: 0; }
.bento__photo.bento__photo--fill { min-height: 0; }
.bento__band { position: relative; overflow: hidden; isolation: isolate; clip-path: inset(0); margin-top: calc(var(--section-pad-block) * 0.6); height: 50vh; height: 50svh; background: var(--c-ink-deep); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); }
.bento__band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25, 24, 24, 0.85) 0%, rgba(25, 24, 24, 0.6) 55%, rgba(25, 24, 24, 0.45) 100%); }
.bento__band .bento__ctaimg { position: fixed; inset: 0; height: 100vh; }
.bento__bandinner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: var(--sp-md); }
.bento__bandtitle { clip-path: inset(0 0 100% 0); transform: translateY(1.5rem); transition: clip-path 1s var(--ease-in-out), transform 1s var(--ease-out); }
.bento__bandline { opacity: 0; transform: translateY(1rem); transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out); }
.bento__band.is-in .bento__bandtitle { clip-path: inset(0 0 -10% 0); transform: none; }
.bento__band.is-in .bento__bandline { opacity: 1; transform: none; transition-delay: 0.55s; }
.bento__band.is-in .bento__cardcta.bento__bandline { transition-delay: 0.7s; }
@media (prefers-reduced-motion: reduce) { .bento__bandtitle, .bento__bandline { clip-path: none; opacity: 1; transform: none; transition: none; } }
.bento__bandinner .bento__desc.bento__bandline + .bento__cardcta.bento__bandline { margin-top: var(--sp-md); }
.card.bento__card--cta { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(20rem, 26vw, 26rem); background: var(--c-ink-deep); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); }
.bento__ctaimg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(0.9); }
.card.bento__card--cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25, 24, 24, 0.85) 0%, rgba(25, 24, 24, 0.6) 55%, rgba(25, 24, 24, 0.45) 100%); }
.bento__cardcta { margin-top: auto; align-self: flex-start; }
.text-body.bento__desc + .bento__cardcta { margin-top: auto; }
.bento__card--cta .bento__desc { margin-bottom: var(--sp-xl); }
@media (max-width: 991px) {
  .bento__top { grid-template-columns: minmax(0, 1fr); row-gap: var(--sp-lg); }
  .bento__intro { grid-template-columns: minmax(0, 1fr); row-gap: clamp(0.75rem, 1.4vw, 1.25rem); }
  .bento__statement { grid-column: auto; }
  .bento__cta { grid-column: auto; }
  .bento__grid.bento__grid--offset { grid-template-areas: "c1 c2" "c3 c4"; grid-template-rows: 1fr 1fr; }
  .bento__photo.bento__photo--fill { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
  .bento__grid.bento__grid--offset { grid-template-areas: "c1" "c2" "c3" "c4"; grid-template-rows: repeat(4, auto); }
}
.offers { overflow-x: clip; }
.offers__list { position: relative; z-index: 1; margin-top: clamp(3rem, 6vw, 5.5rem); --offers-rule: color-mix(in srgb, var(--border-subtle) 50%, transparent); }
.offers__row { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name arrow"; align-items: center; gap: var(--sp-md) var(--gap-columns); padding-block: clamp(2.5rem, 4.5vw, 4rem); color: inherit; text-decoration: none; outline: none; }
.offers__row::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: var(--offers-bg, transparent); transition: background-color var(--dur-med) var(--ease-out); }
.offers__row:hover::before, .offers__row:focus-visible::before { background-color: var(--c-white); }
.offers__row.offers__row--plain:hover::before { background-color: transparent; }
.offers__row.offers__row--1 { --offers-bg: var(--c-paper-lift); }
.offers__row.offers__row--2 { --offers-bg: color-mix(in srgb, var(--c-paper-lift) 66%, var(--c-sand-soft)); }
.offers__row.offers__row--3 { --offers-bg: color-mix(in srgb, var(--c-paper-lift) 33%, var(--c-sand-soft)); }
.offers__row.offers__row--4 { --offers-bg: var(--c-sand-soft); }
.offers__row { --eyebrow-color: var(--c-ink-64); }
@media (min-width: 992px) { .offers__row { padding-right: calc((100% + var(--gap-card)) / 3); } }
.offers__row:focus-visible { box-shadow: inset 0 0 0 2px var(--c-sand-deep); }
.offers__name { grid-area: name; display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-sm); min-width: 0; }
.text-body.offers__body { margin-top: var(--sp-xs); }
.offers__arrow { grid-area: arrow; display: block; width: 74px; height: 74px; fill: none; color: var(--text-strong); transition: transform var(--dur-fast) var(--ease-out); }
.offers__arrowbox { stroke: var(--text-faint); }
.offers__row:hover .offers__arrow, .offers__row:focus-visible .offers__arrow { transform: translateX(6px); }
.offers__row { width: 100%; margin: 0; border: 0; font: inherit; text-align: left; background: none; cursor: pointer; }
.offers__row.offers__row--plain { cursor: default; }
.offers__panel { position: fixed; inset: 0; z-index: 1000; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding-block: 0; padding-inline: inherit; border: 0; background: transparent; overflow: visible; --text-strong: var(--c-ink-100); --text-body: var(--c-ink-88); --text-muted: var(--c-ink-64); --border-subtle: var(--c-ink-16); --eyebrow-color: var(--c-ink-64); color: var(--c-ink-100); }
.offers__panel[open] { display: grid; place-items: center; }
.offers__panel::backdrop { background: rgba(30, 28, 29, 0); -webkit-backdrop-filter: blur(0px); backdrop-filter: blur(0px); transition: background-color 0.6s var(--ease-in-out), backdrop-filter 0.6s var(--ease-in-out), -webkit-backdrop-filter 0.6s var(--ease-in-out); }
.offers__panel.is-open::backdrop { background: rgba(30, 28, 29, 0.65); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.offers__panel.offers__panel--1 { --offers-bg: var(--c-paper-lift); }
.offers__panel.offers__panel--2 { --offers-bg: color-mix(in srgb, var(--c-paper-lift) 66%, var(--c-sand-soft)); }
.offers__panel.offers__panel--3 { --offers-bg: color-mix(in srgb, var(--c-paper-lift) 33%, var(--c-sand-soft)); }
.offers__panel.offers__panel--4 { --offers-bg: var(--c-sand-soft); }
.offers__sheet { position: relative; display: flex; flex-direction: column; width: 100%; max-height: 88dvh; border-radius: var(--radius-lg); background: var(--offers-bg, var(--c-paper-lift)); overflow: hidden; }
.offers__scroll { display: flex; flex-direction: column; justify-content: safe center; min-height: 0; padding: var(--gap-card); overflow-y: auto; overscroll-behavior: contain; }
.offers__close { position: absolute; top: calc(var(--gap-card) + 0.75rem); right: calc(var(--gap-card) + 0.75rem); z-index: 3; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border: 1px solid var(--c-ink-16); border-radius: 50%; background: transparent; color: var(--c-ink-100); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.offers__close svg { width: 28px; height: 28px; fill: none; }
.offers__close:hover { background: var(--c-white); border-color: var(--c-ink-100); }
.offers__close:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--c-sand-deep); }
.offers__scroll { padding: clamp(2rem, 4vw, 4.5rem); }
.offers__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: calc(var(--gap-columns) * 2); row-gap: clamp(2.5rem, 5vh, 4rem); }
.offers__left { grid-column: 1 / span 6; display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-md); min-width: 0; }
.offers__paneltitle { margin: 0; transform-origin: 0 0; }
.offers__left .text-lead { margin: 0; }
.offers__fit { display: flex; flex-direction: column; gap: var(--sp-sm); margin-top: var(--sp-xl); }
.offers__fit .text-lead { margin: 0; }
.offers__right { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--sp-sm); min-width: 0; }
.offers__items { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--gap-columns); margin: 0; padding: 0; list-style: none; }
.offers__item { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; align-items: last baseline; padding-block: var(--sp-md); }
.offers__item + .offers__item { border-top: 1px solid var(--border-subtle); }
.offers__itemnum { color: var(--c-sand-deep); font-variant-numeric: tabular-nums; line-height: 1; font-size: calc(var(--fs-stat) * 0.8); }
.offers__panel .text-lead { font-size: calc(var(--fs-lead) * 0.85); }
.offers__bar { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); align-items: stretch; padding-top: var(--sp-xl); }
.offers__terms { flex: 1 1 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; min-width: 0; }
.offers__termcol { display: flex; flex-direction: column; gap: var(--sp-2xs, 0.25rem); padding: var(--sp-lg); }
.offers__termcol:first-child { padding-left: 0; }
.offers__termcol + .offers__termcol { border-left: 1px solid var(--border-subtle); }
.offers__termcol dd { margin: 0; }
.offers__termcol .text-eyebrow { margin-bottom: var(--sp-xs); }
.offers__cta { display: flex; flex-direction: column; gap: var(--sp-2xs, 0.25rem); min-width: 0; padding: var(--sp-lg); border-radius: var(--radius-lg); background: var(--c-ink); box-shadow: var(--shadow-pill-light); color: var(--c-cream-100); text-decoration: none; outline: none; --text-strong: var(--c-cream-100); --text-faint: var(--c-cream-40); --eyebrow-color: var(--c-sand-soft); }
.offers__cta .text-eyebrow { margin-bottom: var(--sp-xs); }
.offers__ctaarrow { align-self: flex-end; width: 48px; height: 48px; margin-top: auto; fill: none; transition: transform var(--dur-fast) var(--ease-out); }
.offers__cta .offers__arrowbox { stroke: color-mix(in srgb, currentColor 40%, transparent); }
.offers__cta:hover .offers__ctaarrow, .offers__cta:focus-visible .offers__ctaarrow { transform: translateX(6px); }
.offers__cta:focus-visible { box-shadow: var(--shadow-pill-light), 0 0 0 2px var(--c-sand-deep); }
.cursor-ring .cursor-ring__x, .cursor-ring .cursor-ring__label { display: none; }
.cursor-ring.is-close { width: 84px; height: 84px; margin: -42px 0 0 -42px; }
.cursor-ring.is-close .cursor-ring__x { display: block; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; transform: translate(-50%, -50%); background: linear-gradient(45deg, transparent calc(50% - 0.75px), var(--c-cream) calc(50% - 0.75px), var(--c-cream) calc(50% + 0.75px), transparent calc(50% + 0.75px)), linear-gradient(-45deg, transparent calc(50% - 0.75px), var(--c-cream) calc(50% - 0.75px), var(--c-cream) calc(50% + 0.75px), transparent calc(50% + 0.75px)); }
.cursor-ring.is-close .cursor-ring__label { display: block; position: absolute; left: calc(100% + 0.75rem); top: 50%; transform: translateY(-50%); white-space: nowrap; color: var(--c-cream); }
.offers__note { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-lg); }
.offers__bar { position: sticky; bottom: calc(-1 * clamp(2rem, 4vw, 4.5rem)); z-index: 2; margin-inline: calc(-1 * clamp(2rem, 4vw, 4.5rem)); padding: var(--sp-sm) clamp(2rem, 4vw, 4.5rem) var(--sp-md); background: var(--offers-bg, var(--c-paper-lift)); border-top: 1px solid var(--border-subtle); }
.offers__termcol { padding: var(--sp-sm) var(--sp-lg); }
.offers__cta { position: relative; padding: var(--sp-md) calc(var(--sp-md) + 56px) var(--sp-md) var(--sp-md); }
.offers__ctaarrow { position: absolute; right: var(--sp-md); bottom: var(--sp-md); }
.offers__ctadock { display: none; }
@media (max-width: 991px) {
  .offers__row { align-items: start; }
  .offers__arrow { margin-top: 0.35rem; }
  .offers__left, .offers__right { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .offers__panel { padding-inline: 0; }
  .offers__sheet { height: 100dvh; max-height: none; border-radius: 0; }
  .offers__scroll { flex: 1 1 auto; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
  .offers__close { background: var(--offers-bg, var(--c-paper-lift)); border-radius: 50%; }
  .offers__scroll { justify-content: flex-start; }
  .offers__scroll { padding: 5.5rem var(--section-pad-inline) 2.5rem; }
  .offers__bar { grid-template-columns: minmax(0, 1fr); row-gap: var(--sp-lg); }
  .offers__terms { grid-template-columns: minmax(0, 1fr); }
  .offers__termcol { padding: var(--sp-md) 0; }
  .offers__termcol:first-child { padding-top: 0; }
  .offers__terms { row-gap: var(--sp-lg); }
  .offers__termcol, .offers__termcol:first-child { padding: 0; }
  .offers__termcol + .offers__termcol { border: 0; }
  .offers__bar { position: static; margin: 0; padding: var(--sp-xl) 0 0; background: none; border-top: 0; }
  .offers__sheet:has(.offers__ctadock) .offers__bar .offers__cta { display: none; }
  .offers__ctadock { display: block; flex: none; padding: var(--sp-sm) var(--section-pad-inline) max(var(--sp-sm), env(safe-area-inset-bottom)); background: var(--offers-bg, var(--c-paper-lift)); border-top: 1px solid var(--border-subtle); }
  .offers__ctadock .offers__cta { width: 100%; min-height: calc(48px + 2 * var(--sp-md)); justify-content: center; }
  .offers__ctadock .offers__cta .text-eyebrow, .offers__ctadock .offers__cta br { display: none; }
}
.casebento { overflow-x: clip; }
.casebento__case { position: relative; z-index: 1; margin-top: clamp(3.5rem, 7vw, 6rem); }
.casebento__label { margin-bottom: var(--sp-lg); }
.casebento__grid { display: grid; gap: var(--gap-card); min-height: clamp(36rem, 50vw, 48rem); grid-template-rows: 1fr 1fr; }
.casebento__grid--side { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "main num quote" "main what detail"; }
.casebento__grid--side.casebento__grid--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); grid-template-areas: "num quote main" "what detail main"; }
.casebento__grid--centre { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); grid-template-areas: "num main detail" "what main quote"; }
.casebento__tile { position: relative; overflow: hidden; display: flex; flex-direction: column; min-width: 0; padding: clamp(1.25rem, 2.2vw, 2rem); border-radius: var(--radius-lg); }
.casebento__tile--placeholder { background: var(--c-paper-lift); }
.casebento__file { position: absolute; top: clamp(1.25rem, 2.2vw, 2rem); left: clamp(1.25rem, 2.2vw, 2rem); color: var(--c-ink-64); }
.casebento__main { grid-area: main; justify-content: flex-end; min-height: 22rem; }
.casebento__media { position: absolute; inset: 0; }
.casebento__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.casebento__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(25, 24, 24, 0.85) 0%, rgba(25, 24, 24, 0.45) 40%, rgba(25, 24, 24, 0) 70%); }
.casebento__maincopy { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--sp-lg); max-width: 36rem; --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); }
.casebento__stat { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-sm) var(--sp-md); }
.casebento__number { grid-area: num; justify-content: space-between; gap: var(--sp-lg); background: var(--c-sand); --text-strong: var(--c-ink-100); --text-body: var(--c-ink-88); --text-muted: var(--c-ink-64); --border-subtle: var(--c-ink-16); }
.casebento__detail { grid-area: detail; min-height: 14rem; padding: 0; }
.casebento--signal .casebento__detail .casebento__img { object-fit: cover; object-position: center; }
.casebento__quotetile { grid-area: quote; overflow: visible; background: var(--c-ink-panel); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); --text-muted: var(--c-cream-64); }
.casebento__quote { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: var(--sp-lg); margin: 0; }
.casebento__quotetext { margin: 0; }
.casebento__tile.casebento__tile--media { padding: 0; overflow: hidden; }
.casebento__attr { display: flex; align-items: center; gap: var(--sp-sm); }
.casebento__portrait { flex: none; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.casebento__attrtext { display: flex; flex-direction: column; min-width: 0; }
.casebento__what { grid-area: what; overflow: visible; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto; gap: var(--sp-lg); background: var(--c-ink-panel); --text-strong: var(--c-cream-100); }
.casebento__sentence { grid-row: 2; margin: 0; }
.casebento__logo { grid-row: 1; justify-self: end; }
.casebento__tags { grid-row: 3; display: flex; flex-wrap: wrap; gap: var(--sp-xs); }
.casebento__more { position: relative; z-index: 1; margin-top: clamp(4rem, 8vw, 7rem); }
.casebento__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); margin-top: clamp(1.5rem, 3vw, 2.5rem); }
@media (max-width: 991px) { .casebento__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .casebento__cards { grid-template-columns: minmax(0, 1fr); } }
.offers__row.offers__row--plain { grid-template-areas: "name"; grid-template-columns: minmax(0, 1fr); }
@media (max-width: 991px) {
  .casebento__grid { min-height: 0; grid-template-rows: auto; }
  .casebento__grid--side, .casebento__grid--side.casebento__grid--flip { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "main main" "num quote" "what detail"; }
  .casebento__grid--centre { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "main main" "num detail" "what quote"; }
  .casebento__main { min-height: 0; aspect-ratio: 16 / 10; }
  .casebento__number, .casebento__detail, .casebento__quotetile, .casebento__what { min-height: 16rem; }
}
@media (max-width: 767px) {
  .casebento__grid--side, .casebento__grid--side.casebento__grid--flip, .casebento__grid--centre { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "num" "quote" "what" "detail"; }
  .casebento__main { aspect-ratio: 4 / 5; }
}
.casebento__case.casebento__case--linked { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--gap-card); align-items: center; }
.casebento__case--linked > .casebento__grid { grid-column: 1 / -1; }
.casebento__caselink { grid-column: 2; grid-row: 1; justify-self: end; margin-bottom: var(--sp-lg); }
.casebento__tilelink { position: absolute; inset: 0; z-index: 3; border-radius: inherit; cursor: pointer; }
.casebento__status.casebento__status--hover { opacity: 0; transition: opacity var(--dur-fast) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .casebento__main:hover .casebento__status--hover { opacity: 1; } }
.casebento__status{position:absolute;top:clamp(1rem,1.8vw,1.5rem);left:clamp(1rem,1.8vw,1.5rem);z-index:2;display:inline-flex;align-items:center;gap:.5em;color:var(--c-cream-100);border-color:var(--c-cream-40);background:rgba(25,24,24,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}
[data-enlarge] { cursor: zoom-in; }
[data-enlarge]:focus-visible { outline: 2px solid var(--c-sand-deep); outline-offset: 4px; }
.casebento__status.casebento__status--enlarge { left: auto; right: clamp(1rem, 1.8vw, 1.5rem); gap: 0; padding: 8px; }
.casebento__scrim.casebento__scrim--enlarge, .casebento__caption.casebento__caption--enlarge, .casebento__maincopy.casebento__maincopy--enlarge { pointer-events: none; }
.casebento__media[data-enlarge]:focus-visible { outline-offset: -4px; }
.casebento__statusicon { display: block; width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.casebento__statustext { display: none; }
@media (hover: hover) and (pointer: fine) {
  .casebento__status.casebento__status--enlarge { gap: 0.5em; padding: 6px 10px; opacity: 0; transition: opacity var(--dur-fast) var(--ease-out); }
  .casebento__statustext { display: inline; }
  [data-enlarge]:hover .casebento__status--enlarge, [data-enlarge]:focus-visible .casebento__status--enlarge { opacity: 1; }
}
@media (max-width: 991px) {
  .casebento__case.casebento__case--linked { grid-template-columns: minmax(0, 1fr); }
  .casebento__caselink { grid-column: 1; grid-row: 3; justify-self: start; margin: var(--sp-lg) 0 0; }
}
.section-note { position: relative; z-index: 1; margin-top: clamp(4rem, 10vh, 7rem); color: var(--text-strong); }
.section-note--center { max-width: var(--measure); margin-inline: auto; text-align: center; text-wrap: balance; }
.section-note--left { width: calc((100% - var(--gap-columns)) * 2 / 3); }
@media (max-width: 991px) {
  .section-note--left { width: auto; }
}
.hero-backdrop {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding-bottom: clamp(2.5rem, 7vh, 5rem);
  --hero-box-h: clamp(300px, 62svh, 760px);
  --hero-lift: 4rem;
  --hero-lift-px: 64;
  --hero-box-gap: calc(6rem + var(--hero-lift));
  --hero-nav-clear: clamp(5rem, 11svh, 7rem);
}
.hero__inner { position: relative; z-index: 3; width: 100%; padding-block: clamp(7rem, 34svh, 22rem) 0; }
@media (max-height: 620px) { .hero__inner { padding-block: 6rem 0; } }
.hero__grid { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-md); container-type: inline-size; }
.hero__col { position: relative; z-index: 1; width: max-content; display: flex; flex-direction: column; gap: var(--sp-lg); }
@media (min-width: 992px) {
  .hero__col > :not(.text-h1):not(.text-lead) { max-width: 58vw; }
}
.hero .text-eyebrow { color: var(--text-strong); }
.hero .text-h1 .line-mask { white-space: nowrap; }
@media (max-width: 767px) {
  .hero .text-h1 .line-mask { white-space: normal; }
}
.hero__cta { display: none; }
@media (max-width: 991px) {
  .hero__cta { display: inline-flex; align-self: flex-start; margin-top: var(--sp-lg); padding: 12px 20px; font-size: var(--fs-caption); border-radius: var(--radius-sm); }
}
.hero .scribble-layer, .hero .scribble-word::after, .hero__artinner { opacity: var(--nav-light, 1); }
.hero__ghost {
  position: fixed; z-index: 0; left: 50%; top: 62%;
  transform: translate(-50%, -50%);
  width: 122%;
  aspect-ratio: 1887.918 / 358.23;
  background-color: color-mix(in srgb, #ffffff calc(var(--nav-light, 0) * 100%), #262425);
  -webkit-mask: url(../assets/boald-wordmark-mask.svg) center / contain no-repeat;
  mask: url(../assets/boald-wordmark-mask.svg) center / contain no-repeat;
  pointer-events: none;
}
@media (max-width: 991px) { .hero__ghost { width: 150%; } }
.hero:not(.hero--inner) .hero__inner { padding-top: 0; }
.hero:not(.hero--inner) .hero__grid { box-sizing: border-box; padding-top: var(--hero-nav-clear); }
.hero__box {
  position: relative; flex: none;
  height: var(--hero-box-h);
  margin-top: var(--hero-box-gap);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--c-ink-deep);
}
.hero__media { position: absolute; inset: 0; z-index: 0; display: grid; place-items: center; background: var(--c-ink-deep); }
.hero__mediahint { font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis); font-size: var(--fs-caption); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--c-cream-40); }
.hero--inner .hero-backdrop { min-height: 100svh; display: flex; padding-bottom: 0; }
.hero--inner .hero__inner { margin-block: auto; padding-block: clamp(9rem, 17svh, 11rem) clamp(6rem, 12svh, 9rem); }
.hero__grid--split { display: grid; grid-template-columns: 2fr 1fr; align-items: center; gap: var(--gap-columns); }
.hero__grid--split .hero__col { width: 100%; }
.hero__grid--split .hero__col > :not(.text-h1):not(.text-lead) { max-width: var(--measure); }
.hero__art { position: relative; min-width: 0; }
.hero__artinner { position: relative; aspect-ratio: 1 / 1; display: grid; place-items: center; width: 100%; }
.hero__artinner img { width: 100%; height: 100%; object-fit: contain; max-width: none; mix-blend-mode: multiply; }
.hero__aside { position: relative; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-sm); }
.hero__grid--form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--gap-columns); }
.hero__grid--form .hero__col { width: 100%; }
@media (max-width: 991px) {
  .hero__col { width: 100%; }
  .hero__grid--split, .hero__grid--form { grid-template-columns: 1fr; gap: var(--sp-xl); }
  .hero__artinner { aspect-ratio: 4 / 3; max-width: 420px; }
  .hero--inner .hero__inner { padding-block: clamp(6rem, 14svh, 8rem) clamp(3rem, 8svh, 5rem); }
}
@media (max-height: 500px) and (orientation: landscape) {
  .hero-backdrop { --hero-nav-clear: 7.5rem; }
}
.split { overflow: clip; isolation: isolate; }
.split--text  { padding-bottom: calc(var(--section-pad-block) * 2); }
.split--cards { padding-top: calc(var(--section-pad-block) * 0.5); padding-bottom: calc(var(--section-pad-block) * 1.3); }
.split__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 2fr; align-items: start; gap: var(--gap-columns); }
.split--cards .split__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-2xl); }
.split__head { padding-top: 4px; }
.split__head > .text-body { margin-top: var(--sp-lg); }
.split__portrait { position: relative; display: grid; place-items: center; height: clamp(14rem, calc(100svh - 34rem), 36rem); max-width: 100%; aspect-ratio: 4 / 5; margin-top: var(--sp-xl); padding: var(--sp-md); overflow: hidden; border-radius: var(--radius-lg); background: var(--c-paper-lift); text-align: center; }
.split__portrait img, .split__portrait video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split__body { display: flex; flex-direction: column; gap: 1.35em; }
.split--cards .split__body { padding-top: 4px; gap: var(--gap-card); }
.split__head { align-self: start; }
.split--cards .split__head { position: sticky; top: max(calc(var(--sp-4xl) + 2rem), calc(50svh - var(--head-h, 12rem) / 2)); }
.split--text .split__body { padding-top: calc(4px + var(--fs-eyebrow) + clamp(0.75rem, 1.4vw, 1.25rem)); }
.split--text .split__body > .text-lead { max-width: var(--measure); }
@media (max-width: 991px) {
  .split__grid, .split--cards .split__grid { grid-template-columns: 1fr; gap: var(--sp-xl); }
  .split__body { max-width: var(--container-text); }
  .split--cards .split__body { padding-top: 0; max-width: none; }
  .split--cards .split__head { position: static; }
  .split--text .split__body { padding-top: 0; }
}
@media (max-width: 767px) {
  .split__portrait { width: 100%; height: auto; }
}
.rows { overflow: clip; padding-block: calc(var(--section-pad-block) * 1.15) calc(var(--section-pad-block) * 1.9); }
.rows > .padding-global > .section-head { margin-bottom: calc(var(--sp-4xl) * 2.25); }
.rows__list { position: relative; z-index: 1; display: flex; flex-direction: column; gap: clamp(5rem, 12vw, 11rem); }
.rows__item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(2rem, 3.4vw, 3.25rem); align-items: center; }
.rows__item--flip { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.rows__item--flip .rows__media { order: 2; }
.rows__media { width: 80%; justify-self: start; }
.rows__item--flip .rows__media { justify-self: end; }
.rows__mediainner img { object-position: right center; }
.rows__item--flip .rows__mediainner img { object-position: left center; }
.rows__copy { width: min(100%, var(--measure)); justify-self: end; }
.rows__item--flip .rows__copy { justify-self: start; }
.rows__media { position: relative; aspect-ratio: 6 / 5; border-radius: var(--radius-lg); overflow: hidden; }
.rows__mediainner { position: absolute; inset: 0; background: var(--bg); }
.rows__mediainner--clear { background: none; }
.rows__mediainner--clear img { mix-blend-mode: normal; }
.rows__mediainner img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; mix-blend-mode: multiply; }
.rows__mediainner--fit img { padding: 0; }
.rows__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-md); }
.rows__item--card { --rows-card-pad: clamp(2.25rem, 4.5vw, 4.5rem); --rows-nest-pad: clamp(0.75rem, 1.4vw, 1.25rem); grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--rows-nest-pad); align-items: stretch; padding: calc(var(--rows-nest-pad) * 2); background: var(--bg-lift); border-radius: var(--radius-lg); }
@media (min-width: 992px) { .rows__item--card.rows__item--flip { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.rows__item--card .rows__media, .rows__item--card .rows__copy { width: auto; justify-self: stretch; }
.rows__item--card .rows__mediainner img { object-position: center; }
.rows__item--card .rows__media { background: none; border-radius: 0; }
[data-theme="dark"] .rows__item--card { background: var(--c-ink-panel); }
.rows__item--card .rows__copy { position: relative; align-self: center; }
.rows__item--card .rows__copy::before { content: ""; position: absolute; left: 0; top: var(--rows-card-pad); bottom: var(--rows-card-pad); width: 1px; background: var(--border-subtle); }
.rows__item--card.rows__item--flip .rows__copy::before { left: auto; right: 0; }
.rows__item--card .rows__mediainner { inset: var(--rows-card-pad); }
.rows__item--card .rows__copy { justify-content: center; padding: var(--rows-card-pad); }
@media (max-width: 991px) { .rows__item.rows__item--card { gap: var(--rows-nest-pad); } .rows__item--card .rows__copy, .rows__item--card.rows__item--flip .rows__copy { padding: calc(var(--rows-card-pad) * 0.6); align-self: stretch; } .rows__item--card .rows__copy::before, .rows__item--card.rows__item--flip .rows__copy::before { top: 0; bottom: auto; left: calc(var(--rows-card-pad) * 0.6); right: calc(var(--rows-card-pad) * 0.6); width: auto; height: 1px; } }
.rows__copy > .text-h3-feature { max-width: 26ch; }
.rows__copy > .text-h3-feature .line-mask { padding-bottom: 0.42em; margin-bottom: -0.42em; }
.rows__copy .scribble-word { --scr-w: 68%; --scr-b: -0.3em; }
.rows__copy > .text-body { margin-top: var(--sp-2xs); }
@media (max-width: 991px) {
  .rows > .padding-global > .section-head { margin-bottom: calc(var(--sp-3xl) * 1.9); }
  .rows__list { gap: clamp(4rem, 11vw, 6.5rem); }
  .rows__item, .rows__item--flip { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .rows__item--flip .rows__media { order: 0; }
  .rows__media, .rows__item--flip .rows__media { aspect-ratio: 4 / 3; width: auto; justify-self: stretch; }
  .rows__mediainner img, .rows__item--flip .rows__mediainner img { object-position: center; }
  .rows__copy, .rows__item--flip .rows__copy { width: auto; justify-self: stretch; }
  .rows__copy > .text-h3-feature { max-width: none; }
  .rows__copy > .text-h3-feature br { display: none; }
}
.works { z-index: 2; padding-bottom: calc(var(--section-pad-block) * 2); }
.works > .padding-global > .section-head { padding-top: 4px; padding-bottom: clamp(3rem, 9vh, 6.5rem); }
.works__stack { position: relative; display: flex; flex-direction: column; gap: clamp(6rem, 45vh, 22rem); }
.works-intro { display: none; }
.works-intro .section-head { gap: var(--sp-md); }
.workcard { position: relative; display: block; gap: var(--gap-card); color: inherit; }
.workcard--flip .workcard__media { order: 2; }
.workcard__media { aspect-ratio: 16 / 9; }
.workcard__panel { margin-top: var(--gap-card); }
@media (min-width: 1440px) {
  .workcard { display: grid; grid-template-columns: 1.5fr 1fr; height: 57.5svh; min-height: min-content; }
  .workcard--flip { grid-template-columns: 1fr 1.5fr; }
  .workcard__media { aspect-ratio: auto; }
  .workcard__panel { margin-top: 0; }
}
.workcard__media { position: relative; border-radius: var(--radius-md); overflow: hidden; background: var(--c-ink-deep); align-self: stretch; cursor: none; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.workcard__media img {
  position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); object-fit: cover;
  transform: scale(1.05); opacity: 0;
  transition: transform 0.5s var(--ease-out), opacity 0.35s var(--ease-out);
}
.workcard__media img.is-active { opacity: 1; }
.workcard__media:hover img { transform: scale(1.01); }
.workcard__panel { border-radius: var(--radius-md); background: var(--c-ink-panel); padding: var(--pad-panel); display: flex; flex-direction: column; }
.workcard .cmask { display: block; overflow: hidden; }
.workcard .cline { display: block; will-change: transform; }
.workcard__eyebrow { display: block; margin-bottom: var(--sp-md); }
.workcard__title { margin-bottom: var(--sp-lg); }
.workcard__tags .cline { display: flex; flex-wrap: wrap; gap: 8px; }
.workcard__copy { margin-top: var(--sp-md); }
.workcard .workcard__copy { display: none; }
@media (min-width: 1920px) { .workcard .workcard__copy { display: block; } }
.workcard__stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-card); margin-top: var(--sp-lg); }
.workcard__stats > .workcard__stat:only-child { grid-column: 1 / -1; }
.workcard__num { display: block; font-size: clamp(2.125rem, 3.1vw, 3.25rem); font-weight: 300; line-height: 1.05; letter-spacing: var(--ls-tight); color: var(--text-strong); }
.workcard__cap { display: block; margin-top: var(--sp-2xs); }
.workcard__cursor {
  position: absolute; left: 50%; top: 50%;
  width: 96px; height: 96px; border-radius: 50%;
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18), inset 0 1px 0 rgba(255,255,255,0.28);
  display: grid; place-items: center;
  transform: translate(-50%, -50%) scale(0.25);
  opacity: 0;
  transition: opacity 0.3s var(--ease-out), transform 0.45s var(--ease-out);
  pointer-events: none; z-index: 2;
}
.workcard__cursor svg { width: 30px; height: 30px; fill: none; stroke: var(--c-white); stroke-width: 1.5; }
.workcard__media:hover .workcard__cursor { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.slide-arrows { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; gap: 8px; }
.slide-arrows button {
  width: 44px; height: 44px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.12);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2), inset 0 1px 0 rgba(255,255,255,0.28);
}
.slide-arrows svg { width: 20px; height: 20px; fill: none; stroke: var(--c-white); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) and (pointer: fine) { .slide-arrows { display: none; } }
@media (hover: none), (pointer: coarse), (max-width: 991px) {
  .workcard__media .slide-arrows, .testi__media .slide-arrows { display: none; }
  .workcard__cursor {
    opacity: 1; left: auto !important; top: auto !important;
    right: var(--sp-md); bottom: var(--sp-md);
    width: 48px; height: 48px; transform: none; box-shadow: none;
    z-index: 5; pointer-events: auto;
  }
  .workcard__media:hover .workcard__cursor,
  .testi__media:hover .testi__cursor,
  .testi__panel:hover .testi__cursor { transform: none !important; }
  .workcard__media { transform: none !important; }
  .workcard__cursor svg { width: 22px; height: 22px; }
  .workcard__media .workcard__cursor svg path:first-child { display: none; }
  .testi__panel .testi__cursor { display: none; }
}
@media (max-width: 991px) {
  .works-intro { display: block; }
  .works > .padding-global > .section-head { display: none; }
  .works__stack { gap: clamp(5rem, 22vh, 12rem); }
  .workcard__stats { margin-top: var(--sp-sm); }
  .workcard__num { font-size: clamp(1.5rem, 3vw, 2rem); }
  .workcard__cap { margin-top: 2px; }
}
@media (max-width: 767px) { .workcard .workcard__tags { display: none; } }
.testi { padding-top: clamp(2.5rem, 6vw, 5rem); }
.testi .section-head { margin-bottom: calc(var(--sp-4xl) * 1.25); }
.testi__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: var(--gap-card); align-items: stretch; }
.testi__media { position: relative; overflow: hidden; cursor: none; border-radius: var(--radius-lg); touch-action: pan-y; user-select: none; -webkit-user-select: none;
  min-height: calc((min(100vw - 2 * var(--section-pad-inline), var(--container-large)) - 2 * var(--inset-extra) - var(--gap-card)) / 2 * 9 / 16); }
.testi__frame { position: absolute; left: 0; right: 0; top: -10%; height: 120%; will-change: transform; }
.testi__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.testi__frame img.is-active { opacity: 1; }
.testi__media:hover .testi__cursor { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.testi__panel { position: relative; overflow: hidden; cursor: none; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; border-radius: var(--radius-md); background: var(--c-sand-mute); padding: var(--pad-panel); touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.testi__panel:hover .testi__cursor { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.testi__panel .testi__cursor svg { stroke: var(--c-ink); }
.testi__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; z-index: 3; pointer-events: none; }
.testi__progress-bar { display: block; width: 100%; height: 100%; background: var(--c-ember); transform: scaleX(0); transform-origin: left center; will-change: transform; }
.tmask { display: block; overflow: hidden; }
.tline { display: block; will-change: transform; }
.testi__quote { font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis); font-size: var(--fs-quote); line-height: 1.4; color: var(--c-ink); }
.testi__who { margin-top: clamp(1.75rem, 3vw, 3rem); display: flex; flex-direction: column; gap: 2px; }
.testi__name { color: var(--c-ink); }
.testi__role { color: var(--c-ink-64); }
@media (max-width: 991px) {
  .testi { padding-bottom: 0; }
  .testi > .padding-global { padding-inline: 0; }
  .testi .container-large { max-width: none; }
  .testi .section-head { padding-inline: var(--section-pad-inline); }
  .testi__grid { display: block; position: relative; min-height: min(88svh, 720px); }
  .testi__media { position: absolute; inset: 0; min-height: 0; border-radius: 0; }
  .testi__panel {
    position: absolute; inset: auto 0 0 0; z-index: 2; min-height: 0; border-radius: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 26%, rgba(0,0,0,0.82) 55%, rgba(0,0,0,0.94) 100%);
    padding: var(--sp-4xl) var(--section-pad-inline) var(--sp-lg);
    gap: var(--sp-lg); justify-content: flex-end;
  }
  .testi__quote, .testi__name { color: var(--c-cream-100); }
  .testi__role { color: var(--c-cream-64); }
  .testi__who { margin-top: var(--sp-md); }
  .testi__panel .testi__cursor svg { stroke: var(--c-white); }
}
.statement > .padding-global > .card-grid { margin-top: clamp(3rem, 8vh, 5.5rem); }
.statement > .padding-global > .section-head--right + .card-grid { margin-top: clamp(6rem, 15vh, 10.5rem); }
.hero--inner + .statement { padding-top: clamp(2.5rem, 5svh, 4rem); margin-top: -16svh; }
@media (max-width: 991px) {
  .statement > .padding-global > .card-grid,
  .statement > .padding-global > .section-head--right + .card-grid { margin-top: var(--sp-2xl); }
  .section-note { margin-top: calc(var(--sp-2xl) * 1.5); }
}
.steps > .padding-global > .section-head { max-width: var(--container-text); }
.steps__split { position: relative; z-index: 1; margin-top: clamp(4rem, 10vh, 7rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--gap-columns); align-items: stretch; }
.steps__split--solo { grid-template-columns: minmax(0, 1fr); }
.steps__media { position: relative; min-height: 100%; border-radius: var(--radius-lg); overflow: hidden; background: var(--c-ink-panel); }
.steps__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.steps__list { display: flex; flex-direction: column; }
.steps__item { display: grid; grid-template-columns: minmax(0, 4.5rem) minmax(0, 1fr); gap: var(--sp-lg); align-items: start; padding-block: clamp(2rem, 4.5vh, 3.25rem); border-top: 1px solid var(--border-subtle); }
.steps__item:first-child { border-top: none; padding-top: 0; }
.steps__item:last-child { border-bottom: 1px solid var(--border-subtle); }
.steps__num { font-family: var(--font-mono); font-variation-settings: "MONO" var(--mono-axis); font-size: var(--fs-caption); letter-spacing: var(--ls-eyebrow); color: var(--eyebrow-color); padding-top: 0.45em; }
.steps__copy { display: flex; flex-direction: column; gap: var(--sp-sm); }
@media (max-width: 991px) {
  .steps__split { grid-template-columns: 1fr; gap: var(--sp-2xl); margin-top: var(--sp-2xl); }
  .steps__media { aspect-ratio: 4 / 3; min-height: 0; }
  .steps__item { grid-template-columns: 1fr; gap: var(--sp-sm); padding-block: var(--sp-xl); }
  .steps__item:first-child { border-top: 1px solid var(--border-subtle); padding-top: var(--sp-xl); }
  .steps__num { padding-top: 0; }
  .steps__copy { max-width: none; }
}
.numbers__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); margin-top: var(--sp-lg); }
.numbers__item { display: flex; flex-direction: column; justify-content: flex-start; gap: var(--sp-sm); padding: var(--pad-panel); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--bg); }
.numbers__item--pending { border-style: dashed; }
@media (max-width: 991px) { .numbers__grid { grid-template-columns: 1fr; } }
.prose-block > .padding-global > .section-head > .text-h2 { max-width: 24ch; }
.prose-block__body { position: relative; z-index: 1; max-width: 68ch; margin-top: var(--sp-xl); display: flex; flex-direction: column; gap: var(--sp-md); }
.quote-block__inner { position: relative; z-index: 1; border: 1px solid var(--c-sand); border-radius: var(--radius-md); padding: clamp(2rem, 5vw, 4rem); display: flex; flex-direction: column; gap: var(--sp-md); }
.cta__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--gap-columns); align-items: center; }
.cta__col { display: flex; flex-direction: column; align-items: flex-start; }
.cta__col > .section-head > .text-h2 { margin-top: var(--sp-2xl); max-width: 24ch; }
.cta__col > .text-body-lg { margin-top: var(--sp-lg); }
.cta__col > .text-body { margin-top: var(--sp-sm); }
.cta__col > .btn { margin-top: var(--sp-2xl); }
.cta__media { border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 16 / 10; background: var(--c-ink-panel); display: grid; place-items: center; }
.cta__media img { width: 100%; height: 100%; object-fit: cover; }
.cta--center .cta__col { align-items: center; text-align: center; margin-inline: auto; max-width: 52rem; }
.cta--center .section-head { align-items: center; }
.cta--center .cta__row { display: flex; gap: var(--sp-sm); flex-wrap: wrap; justify-content: center; margin-top: var(--sp-2xl); }
.cta--center .cta__row > .btn { margin-top: 0; }
@media (max-width: 767px) {
  .cta__grid { grid-template-columns: 1fr; gap: var(--sp-xl); }
}
.hero__grid--pic { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hero__pic { position: relative; min-width: 0; width: 100%; aspect-ratio: 4 / 5; max-height: calc(100svh - 16rem); overflow: hidden; border-radius: var(--radius-lg); background: var(--c-ink-deep); }
.hero__pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__picstat { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; gap: var(--sp-sm); padding: clamp(1.25rem, 2.5vw, 2.5rem); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); }
@media (max-width: 991px) { .hero__grid--pic { grid-template-columns: minmax(0, 1fr); } .hero__pic { aspect-ratio: 4 / 3; max-height: none; } }
.casebento__grid--pair { min-height: 0; grid-template-rows: auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "what detail"; }
.casebento__grid--pair > .casebento__tile { min-height: 0; aspect-ratio: 4 / 3; }
@media (max-width: 991px) { .casebento__grid--pair { grid-template-columns: minmax(0, 1fr); grid-template-areas: "what" "detail"; } }
.casebento__tile--whole { background: var(--c-cream); }
.casebento__tile--whole .casebento__img { object-fit: contain; padding: clamp(0.75rem, 2vw, 1.5rem); box-sizing: border-box; }
.hero__grid--pic { grid-template-columns: minmax(0, 1fr); }
.hero__bento { display: grid; min-width: 0; gap: var(--gap-card); grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-rows: auto clamp(14rem, 16vw, 18rem); grid-template-areas: "main main" "num what"; }
.hero__bento > .casebento__tile { min-height: 0; aspect-ratio: auto; }
.hero__bento > .casebento__tile--media { background: none; }
.hero__bento > .casebento__main { aspect-ratio: 16 / 9; }
.hero__bento > .casebento__number { min-width: min-content; }
.hero__video { position: absolute; inset: 0; }
.hero__play { position: absolute; left: 50%; top: 50%; z-index: 2; display: grid; place-items: center; width: clamp(3.5rem, 6vw, 5rem); height: clamp(3.5rem, 6vw, 5rem); padding: 0; transform: translate(-50%, -50%); border: 1px solid var(--c-cream-40); border-radius: 50%; background: rgba(25, 24, 24, 0.45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--c-cream-100); cursor: pointer; transition: background-color 0.3s var(--ease-out), transform 0.3s var(--ease-out); }
.hero__play:hover { background: rgba(25, 24, 24, 0.65); transform: translate(-50%, -50%) scale(1.06); }
.hero__play:focus-visible { outline: 2px solid var(--c-sand-deep); outline-offset: 3px; }
.hero__play[hidden] { display: none; }
.hero__playicon { width: 36%; height: 36%; margin-left: 8%; fill: currentColor; }
@media (max-width: 767px) { .hero__bento { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "main" "num" "what"; } .hero__bento > .casebento__tile--media { aspect-ratio: 16 / 10; } .hero__bento > .casebento__main { aspect-ratio: 16 / 9; } }
@media (min-width: 1440px) { .hero__grid--pic { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); } }
.hero__bento.hero__bento--single { container-type: inline-size; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "what"; }
.hero__bento--single > .casebento__tile { height: calc(100cqw * 9 / 16 + var(--gap-card) + clamp(14rem, 16vw, 18rem)); }
@media (max-width: 767px) { .hero__bento--single > .casebento__tile.casebento__tile--media { aspect-ratio: auto; height: calc(100cqw * 9 / 16 + 100cqw * 10 / 16 + 2 * var(--gap-card) + 9.5rem); } }
.casebento__grid--gallery { min-height: 0; grid-template-rows: auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.casebento__grid--gallery > .casebento__tile { min-height: 0; aspect-ratio: 16 / 9; }
.casebento__tile--span { grid-column: 1 / -1; }
.casebento__caption { position: relative; z-index: 1; margin-top: auto; padding: clamp(1rem, 2vw, 1.5rem); --text-strong: var(--c-cream-100); }
@media (max-width: 991px) { .casebento__grid--gallery { grid-template-columns: minmax(0, 1fr); } }
.split--text.split--thirds { padding-top: calc(var(--section-pad-block) * .5); padding-bottom: calc(var(--section-pad-block) * .6); }
@media (min-width: 992px) {
  .split--thirds .split__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gap-card); row-gap: var(--sp-2xl); }
  .split--thirds .split__head { grid-column: 1 / 4; }
  .split--thirds .split__body { grid-column: 2 / 4; padding-top: 0; }
  .split--thirds .split__head .section-head { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gap-card); align-items: start; }
  .split--thirds .split__head .text-eyebrow { grid-column: 1; }
  .split--thirds .split__head .text-h2 { grid-column: 2 / 4; margin-top: 0; }
}
@media (min-width: 1600px) { .split--thirds .split__body { max-width: none; } .split--thirds .split__body > .text-lead { max-width: 36em; } }
.numbers__grid.numbers__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991px) { .numbers__grid.numbers__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .numbers__grid.numbers__grid--4 { grid-template-columns: minmax(0, 1fr); } }
.numbers__grid.numbers__grid--4 .text-stat { font-size: clamp(2.5rem, calc(1.5rem + 2.6vw), 4.5rem); }
.numbers__grid.numbers__grid--4 .numbers__item { justify-content: flex-end; min-height: clamp(17.5rem, 21vw, 19.25rem); }
.numbers__grid.numbers__grid--4 .numbers__item > .text-stat + * { min-height: 3lh; }
@media (min-width: 992px) and (max-width: 1199px) { .numbers__grid.numbers__grid--4 .numbers__item > .text-stat + * { min-height: 4lh; } }
@media (max-width: 991px) { .numbers__grid.numbers__grid--4 .numbers__item { min-height: 13.25rem; } }
@media (max-width: 767px) { .numbers__grid.numbers__grid--4 .numbers__item { min-height: 12.5rem; } .numbers__grid.numbers__grid--4 .numbers__item > .text-stat + * { min-height: 0; } }
.split.split--eyebrow { padding-top: calc(var(--section-pad-block) * .5); padding-bottom: calc(var(--section-pad-block) * .6); }
.casebento__tile.casebento__tile--cover { justify-content: flex-end; aspect-ratio: 21 / 9; padding: clamp(1.25rem, 3vw, 3rem); --text-strong: var(--c-cream-100); --text-body: var(--c-cream-88); --text-muted: var(--c-cream-64); --eyebrow-color: var(--c-sand-soft); }
.casebento__scrim.casebento__scrim--cover { background: linear-gradient(to top, rgba(25, 24, 24, 0.7) 0%, rgba(25, 24, 24, 0.5) 45%, rgba(25, 24, 24, 0.3) 75%, rgba(25, 24, 24, 0) 100%); }
@media (max-width: 767px) { .casebento__scrim.casebento__scrim--cover { background: linear-gradient(to top, rgba(25, 24, 24, 0.75) 0%, rgba(25, 24, 24, 0.55) 60%, rgba(25, 24, 24, 0.3) 100%); } }
@media (max-width: 991px) { .casebento__tile.casebento__tile--cover { aspect-ratio: 16 / 9; } }
@media (max-width: 767px) { .casebento__tile.casebento__tile--cover { aspect-ratio: auto; min-height: 28rem; } }
.casebento__grid.casebento__grid--duo { min-height: clamp(28rem, 42vw, 40rem); grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "main detail" "main what"; }
@media (max-width: 991px) { .casebento__grid.casebento__grid--duo { min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "main main" "detail what"; } }
@media (max-width: 767px) { .casebento__grid.casebento__grid--duo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "detail" "what"; } }
.casebento__video { grid-area: video; min-height: 14rem; }
@media (min-width: 992px) { .casebento__grid--quad .casebento__main, .casebento__grid--quad .casebento__detail { min-height: 0; } }
.casebento__grid.casebento__grid--quad { min-height: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: clamp(22rem, 30vw, 32rem) clamp(26rem, 38vw, 40rem); grid-template-areas: "main main detail detail detail" "video video video what what"; }
.casebento__grid--quad .casebento__tile--quote { display: flex; flex-direction: column; }
.casebento__grid--quad .casebento__tile--quote .casebento__quote { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }
@media (max-width: 991px) { .casebento__grid.casebento__grid--quad { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; grid-template-areas: "main main" "detail what" "video video"; } .casebento__grid--quad .casebento__main, .casebento__grid--quad .casebento__video { aspect-ratio: 16 / 9; min-height: 0; width: 100%; } }
@media (max-width: 767px) { .casebento__grid.casebento__grid--quad { grid-template-areas: "main" "detail" "what" "video"; } }
.rows__item.rows__item--pic { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.rows__item.rows__item--pic.rows__item--flip { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.rows__media.rows__media--pic { width: 100%; aspect-ratio: 16 / 9; }
.rows__media--pic .rows__mediainner img { object-fit: cover; object-position: center; }
@media (max-width: 991px) { .rows__item.rows__item--pic, .rows__item.rows__item--pic.rows__item--flip { grid-template-columns: minmax(0, 1fr); } }
.steps__media.steps__media--photo { align-self: start; min-height: 0; aspect-ratio: 4 / 3; display: flex; flex-direction: column; justify-content: flex-end; }
.steps__img.steps__img--photo { object-fit: cover; }
.steps__list.steps__list--card { align-self: stretch; justify-content: space-between; margin: 0; padding: clamp(2.5rem, 4.5vw, 4.5rem); border-radius: var(--radius-lg); background: var(--bg-lift); }
@media (min-width: 992px) { .steps__split:has(.steps__list--card) .steps__media--photo { align-self: stretch; width: 100%; aspect-ratio: auto; } }
.steps__list--card .steps__item, .steps__list--card .steps__item:first-child, .steps__list--card .steps__item:last-child { border: none; }
.steps__list--card .steps__item { padding-block: clamp(0.75rem, 1.6vh, 1.25rem); }
.steps__list--card .steps__item:first-child { border-top: none; padding-top: 0; }
.steps__list--card .steps__item:last-child { border-bottom: none; padding-bottom: 0; }
.prose-block__body.prose-block__body--right { margin-left: auto; }
@media (max-width: 991px) { .prose-block__body.prose-block__body--right { margin-left: 0; } }
.rows > .padding-global > .split__grid + .section-head { margin-top: calc(var(--sp-4xl) * 2.25); }
.rows > .padding-global > .split__grid + .section-head { margin-bottom: calc(var(--sp-4xl) * 1.125); }
@media (max-width: 991px) { .rows > .padding-global > .split__grid + .section-head { margin-bottom: calc(var(--sp-3xl) * 0.95); } }
.casebento__tile.casebento__tile--quote { background: var(--c-paper-lift); --text-strong: var(--c-ink-100); --text-body: var(--c-ink-88); --text-muted: var(--c-ink-64); }
.preloader__mark{position:absolute;left:50%;top:50%;z-index:0;width:108vw;aspect-ratio:1887.918 / 358.23;transform:translate(-50%,-50%);pointer-events:none;opacity:0}
.preloader.is-in .preloader__mark{opacity:.3}
.preloader.is-done .preloader__mark{opacity:0;transition:opacity .25s var(--ease-in-out)}
.preloader__letter{position:absolute;inset:0}
.preloader__glyph{position:absolute;inset:0;background-color:#000;-webkit-mask:url(../assets/boald-wordmark-mask.svg) center / contain no-repeat;mask:url(../assets/boald-wordmark-mask.svg) center / contain no-repeat;opacity:0;filter:blur(14px);transition:transform .9s var(--ease-out),opacity .7s var(--ease-out),filter .9s var(--ease-out)}
.preloader.is-in .preloader__letter .preloader__glyph{transform:translateX(0);opacity:1;filter:blur(0)}
.preloader__letter:nth-child(1){clip-path:inset(0 82.96% 0 0.00%)}
.preloader__letter:nth-child(1) .preloader__glyph{transform:translateX(-18.04%);transition-delay:0.20s}
.preloader__letter:nth-child(2){clip-path:inset(0 59.99% 0 20.85%)}
.preloader__letter:nth-child(2) .preloader__glyph{transform:translateX(-20.16%);transition-delay:0.32s}
.preloader__letter:nth-child(3){clip-path:inset(0 38.15% 0 41.54%)}
.preloader__letter:nth-child(3) .preloader__glyph{transform:translateX(-21.31%);transition-delay:0.44s}
.preloader__letter:nth-child(4){clip-path:inset(0 19.99% 0 66.22%)}
.preloader__letter:nth-child(4) .preloader__glyph{transform:translateX(-14.79%);transition-delay:0.56s}
.preloader__letter:nth-child(5){clip-path:inset(0 0.00% 0 83.80%)}
.preloader__letter:nth-child(5) .preloader__glyph{transform:translateX(-17.20%);transition-delay:0.68s}
@media (prefers-reduced-motion:reduce){.preloader__glyph{transition:none;filter:none}}
.preloader__inner{position:relative;z-index:1}
.preloader__bg span+span::before{content:none}
@media (max-width:991px){.preloader__mark{width:108vw}}
.navbar::before,.navbar::after{display:none}
.navbar{padding-top:0}
.navbar__nav.nav-pill{display:none}
.navbar__inner{padding-block:clamp(1rem,4svh,3.5rem)}
@media (max-width:991px){.navbar__cta{display:inline-flex}.navbar__burger{display:none}#hero .hero__cta{display:none}}
.navbar__cta.btn--primary{background-color:color-mix(in srgb,var(--c-sand) 75%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@media (max-width:767px){.navbar__cta{padding:12px 20px;font-size:var(--fs-caption);border-radius:var(--radius-sm)}}
.navbar__ctaicon{display:none}
@media (max-width:767px){.navbar__inner{padding-block:clamp(.75rem,3svh,2.5rem)}.navbar .navbar__cta{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:150;width:56px;height:56px;padding:0;border-radius:var(--radius-sm);display:inline-grid;place-items:center}.navbar__cta .navbar__ctalabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.navbar__cta .navbar__ctaicon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.navbar__cta.btn--primary::after{display:none}}
.nav-pill{background-color:color-mix(in srgb,var(--c-white) calc(var(--nav-light,0) * 100%),var(--c-ink-deep))}
.preloader__line:not(:has(.pl-ch)){visibility:hidden}
.main-wrapper>.section>.padding-global,.hero--inner .hero__inner.padding-global{padding-inline:calc(var(--section-pad-inline) + clamp(1.5rem,5vw,6rem))}
@media (max-width:991px){.main-wrapper>.section>.padding-global,.hero--inner .hero__inner.padding-global{padding-inline:calc(var(--section-pad-inline) + clamp(1.25rem,4vw,2rem))}}
