/* The painting as the homepage's visual constant (path-stillness.webp, bytes unchanged). REFINE-01: fixed, never panning; visibility is INVERSE TO
   TEXT DENSITY (static/field.js): a glimpse where it is sparse, near-flat midnight with a barely visible edge trace behind dense reading, the
   painting in its own colour only in the one text-free window (REFINE-02). Dark theme only; no filter, no recolour. Without JavaScript: a faint trace at the margins. */
html:not([data-theme="light"]) .hp{isolation:isolate}
html:not([data-theme="light"]) .hp:not(:has(#doors))::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/_a/path-stillness.webp) no-repeat;background-size:auto var(--fh,100vh);background-position:var(--fox,-30vw) var(--foy,0);opacity:var(--fo,.22);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,var(--m0,1)) 0,rgba(0,0,0,var(--mc,.1)) var(--fe,14%),rgba(0,0,0,var(--mc,.1)) calc(100% - var(--fe,14%)),rgba(0,0,0,var(--m0,1)) 100%);mask-image:linear-gradient(90deg,rgba(0,0,0,var(--m0,1)) 0,rgba(0,0,0,var(--mc,.1)) var(--fe,14%),rgba(0,0,0,var(--mc,.1)) calc(100% - var(--fe,14%)),rgba(0,0,0,var(--m0,1)) 100%)}
/* FINAL VISUAL CORRECTION (Yosi, 2026-11-09) · HOME. No continuous layer, no side-feathering, nothing fixed or moving behind reading. Clean fields:
   dense text = flat midnight (no artwork at all); one sparse opening at the top, where the painting appears; one intentional aperture before the
   closing passage, where it blooms; then flat midnight again. Both openings sit in the flow of the page and scroll with it. Dark theme only.
   Same authentic file (path-stillness.webp, bytes unchanged); no filter, no recolour. Without JavaScript the page is identical (pure CSS). */
html:not([data-theme="light"]) .hp:has(#doors) .hero{isolation:isolate}
html:not([data-theme="light"]) .hp:has(#doors) .hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/_a/path-stillness.webp) 50% 30%/cover no-repeat;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 16%,transparent 38%);mask-image:linear-gradient(180deg,#000 0,#000 16%,transparent 38%)}
html:not([data-theme="light"]) .hp:has(#doors) #thriving{--win:clamp(260px,52vh,460px);padding-top:var(--win);isolation:isolate}
html:not([data-theme="light"]) .hp:has(#doors) #thriving::before{content:'';position:absolute;left:0;right:0;top:0;height:var(--win);z-index:-1;pointer-events:none;background:url(/_a/path-stillness.webp) 50% 44%/cover no-repeat;opacity:.95;-webkit-mask-image:radial-gradient(ellipse 66% 50% at 50% 50%,#000 0,rgba(0,0,0,.9) 42%,rgba(0,0,0,.35) 76%,transparent 100%);mask-image:radial-gradient(ellipse 66% 50% at 50% 50%,#000 0,rgba(0,0,0,.9) 42%,rgba(0,0,0,.35) 76%,transparent 100%)}
.wsf-door{margin:10px 0 0}
.wsf-door .gk-door,.aogf-door .gk-door{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--t3,#8a8a9a);font-size:.66rem;letter-spacing:.16em;text-decoration:none;line-height:1.4}
.wsf-door .gk-door b{font-weight:600;color:var(--a,#d4af37)}
.wsf-door .gk-door img{width:24px;height:24px}
.wsf-door .gk-door:hover{color:var(--a2,#f4c430)}
@media (prefers-reduced-motion:reduce){.hp::before{transition:none}}
/* ═══ HEART-01 (Yosi, 2026-11-09) · THE HEART COMES BACK. Home only. Resting state = clean midnight. Dense copy sits on flat midnight; the sparse opening
   at the top lets the authentic painting whisper; the one aperture before the close lets it bloom; then midnight returns. No continuous side-feathering,
   no vignette, no second painting layer behind the headline. Same authentic file, bytes unchanged; no filter, no recolour. ═══ */
html:not([data-theme="light"]) body:has(.hp #doors)::before{background:none;opacity:0}
html:not([data-theme="light"]) .hp:has(#doors) .hero::after{content:none;display:none}
html:not([data-theme="light"]) .hp:has(#doors) .hero::before{opacity:.4;-webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 12%,transparent 26%);mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 12%,transparent 26%)}
/* HEART-02 · COMPOSITION. The opening thought owns the viewport: the hero is exactly the first screen (under the header, above the one-line notice), its three
   elements sit as one composed block, centred, with the headline carrying the weight. Negative space is placed, not left over:
   THOUGHT, BREATH, APERTURE, THOUGHT, BREATH. Between thoughts the breath is one measured gap, not a stack of paddings. */
.hp:has(#doors) .hero{min-height:calc(100vh - 212px);min-height:calc(100svh - 212px);max-height:760px;padding:clamp(40px,9vw,80px) var(--hp-px) clamp(32px,7vw,64px)}
.hp:has(#doors) .hero h1{font-size:clamp(2.2rem,10.2vw,4.4rem);line-height:1.05}
.hp:has(#doors) .hero h1 em{font-size:clamp(1.05rem,4.6vw,1.5rem);margin-top:clamp(14px,3.6vw,22px);line-height:1.35}
.hp:has(#doors) .hero .hero-d{margin-top:clamp(28px,7vw,44px);font-size:clamp(1.02rem,4.2vw,1.2rem);line-height:1.75}
.hp:has(#doors) .hero .hero-ctas{margin-top:clamp(36px,9vw,56px)}
html .hp:has(#doors) .dw,html .hp:has(#doors) .mv-arch{padding-top:clamp(56px,13vw,96px);padding-bottom:clamp(40px,10vw,72px)}
html .hp:has(#doors) .mv-hiw{padding-bottom:clamp(56px,13vw,88px)}
html .hp:has(#doors) .qf-pause{padding-top:clamp(48px,12vw,80px)}
html:not([data-theme="light"]) .hp:has(#doors) #thriving{--win:clamp(200px,34vh,320px)}
html .hp:has(#doors) .arch-all{margin-top:clamp(22px,5vw,34px)}
/* THE DOORS: one human need open, its one or two doors beneath it; the rest wait, quiet, below */
html .hp .dw-ways{border-top-color:transparent}
html .hp .dw-way{border-bottom-color:rgba(255,255,255,.07)}
html .hp .dw-way>summary{font-size:clamp(1.12rem,2.4vw,1.3rem);font-weight:600;min-height:64px;color:var(--t2)}
html .hp .dw-way[open]>summary{color:var(--t1)}
html .hp .dw-ds{gap:40px;padding:10px 2px 46px}
/* LANTERN: the authentic upright painting in its own quiet aperture, the yellow of the painting itself blooming gently outward; held apart from the other doors */
html .hp .dw-ds .dw-lantern{gap:34px;padding-left:20px}
html .hp .dw-lantern .lf{width:108px}
html .hp .dw-lantern .lf-b{opacity:.6}
/* one aperture between thoughts: the quote stands on midnight (the stones keep their place in the footer opening), and the close hands straight to the footer */
html .hp:has(#doors) .qf-pause{padding-bottom:clamp(40px,10vw,72px)}
html .hp:has(#doors) .qf-pause .qf-art{display:none}
html .hp:has(#doors) .inv{padding-bottom:clamp(8px,3vw,24px)}
