/* Living matter — scoped to the production hero. */
.hero.hero--living { display:grid; grid-template-columns:1fr; grid-template-rows:1fr auto; align-items:center; row-gap:24px; width:100%; min-height:calc(100svh - var(--hero-header-space, 96px)); padding-inline:max(24px,calc((100% - var(--container-max))/2 + 24px)); padding-top:32px; padding-bottom:0; text-align:center; overflow:visible; }
.hero--living .living-copy { min-width:0; width:min(100%,1000px); justify-self:center; }
.living-eyebrow, .living-byline, .living-footer { font-family:var(--font-mono); font-size:10px; letter-spacing:.055em; color:var(--text-secondary); }
.living-eyebrow { display:flex; justify-content:center; align-items:center; gap:10px; margin:0 0 25px; text-transform:uppercase; }
.living-eyebrow > span { width:7px; height:7px; background:var(--signal-vermilion); box-shadow:5px -5px 0 var(--signal-vermilion-subtle); }
.hero--living .hero-title { position:relative; margin:0 0 32px; font-size:clamp(76px,9.8vw,148px); line-height:.95; letter-spacing:-.065em; text-transform:none; }
.hero--living .hero-title br:nth-of-type(2) { display:none; }
.hero--living .hero-title em { display:inline-block; margin-top:5px; margin-left:.12em; font-size:1.18em; line-height:.8; }
.living-period { display:inline-block; margin-left:14px; color:var(--signal-vermilion); font-size:.33em; vertical-align:middle; }
.hero--living .hero-subtitle { margin:0 auto 28px; max-width:640px; font-size:18px; line-height:1.7; }
.hero--living .hero-actions { justify-content:center; align-items:center; gap:28px; margin-bottom:24px; }
.hero--living .btn-primary { min-height:54px; padding:14px 24px; font-size:15px; border-radius:2px; box-shadow:none; gap:24px; }
.living-work-link { display:inline-flex; gap:18px; align-items:center; min-height:44px; font-size:15px; }
.living-work-link:hover { color:var(--signal-vermilion); }
.living-byline { margin:0; }
.hero--living .pixel-stage { display:contents; position:static; }
.pixel-viewport { position:absolute; inset:calc(-1 * var(--hero-header-space, 96px)) 0 0; z-index:0; overflow:hidden; pointer-events:none; }
#pixelCanvas, .pixel-fallback { position:absolute; inset:0; width:100%; height:100%; }
.pixel-fallback { color:var(--signal-vermilion); opacity:.18; }
.pixel-stage.is-ready .pixel-fallback { display:none; }
.living-footer { grid-column:1/-1; grid-row:2; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid var(--line-medium); font-size:9px; }
.living-footer > span:nth-child(2) { font-family:var(--font-serif); font-style:italic; font-size:17px; letter-spacing:0; }
.living-footer a { display:inline-flex; align-items:center; min-height:44px; gap:20px; }
/* Let dots show through the header without changing its sticky navigation. */
.header-nav .nav-pill { background:color-mix(in srgb,var(--bg-pill) 65%,transparent); backdrop-filter:blur(2px); }

@media (min-width:761px) and (max-height:800px) {
 .hero.hero--living { padding-top:24px; row-gap:20px; }
 .hero--living .hero-title { font-size:clamp(72px,min(9.8vw,15svh),120px); margin-bottom:24px; }
 .living-eyebrow { margin-bottom:18px; }
 .hero--living .hero-subtitle { font-size:17px; line-height:1.6; margin-bottom:20px; }
 .hero--living .hero-actions { margin-bottom:16px; }
 .living-footer { padding:10px 0; }
}
@media (max-width:760px) {
 .hero.hero--living { grid-template-columns:1fr; padding-top:42px; row-gap:32px; }
 .hero--living .hero-title { font-size:clamp(46px,13.4vw,92px); margin-bottom:26px; }
 .hero--living .hero-title br:nth-of-type(2) { display:none; }
 .hero--living .hero-title em { margin-left:.12em; }
 .living-eyebrow { font-size:9px; margin-bottom:22px; }
 .hero--living .hero-subtitle { max-width:430px; font-size:15px; }
 .hero--living .hero-actions { flex-direction:row; align-items:center; gap:22px; margin-bottom:18px; }
 .hero--living .btn-primary { width:auto; padding:12px 16px; gap:14px; font-size:13px; }
 .living-work-link { font-size:13px; }

 .living-footer { padding:15px 0; font-size:8px; gap:8px; }
 .living-footer > span:nth-child(2) { display:none; }
}
@media (max-width:370px) { .hero--living .hero-actions { gap:12px; } .living-work-link { font-size:12px; gap:8px; } }
@media (forced-colors:active) { .pixel-fallback { display:block!important; } #pixelCanvas { visibility:hidden; } }
/* Native SVG cursor: no trailing animation, click interception or JS dependency. */
@media (hover:hover) and (pointer:fine) and (forced-colors:none) {
 body { --pixel-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M3 2h5v5h5v5h5v5h5v6h-9v7H8V19H3z' fill='%23ff633e' stroke='%23090b0f' stroke-width='2' stroke-linejoin='miter'/%3E%3Cpath d='M5 4h2v12H5z' fill='%23f6dfc0'/%3E%3C/svg%3E") 4 3; cursor:var(--pixel-cursor),auto; }
 body :is(a, button, [role="button"], label[for], select, summary) { cursor:var(--pixel-cursor),pointer; }
 input, textarea, [contenteditable="true"] { cursor:text; }
 input[type="checkbox"], input[type="radio"] { cursor:var(--pixel-cursor),pointer; }
 button:disabled, input:disabled, select:disabled { cursor:not-allowed; }
}
