.no-photo{
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, oklch(32% .04 58 / .7), transparent 55%),
    var(--night);
  color:var(--night-text);text-align:left;
  padding:clamp(110px,16vh,180px) var(--pad-x);
  content-visibility:auto;
  contain-intrinsic-size:auto 700px;
  position:relative;
}
.lamp{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 42% at 50% -8%, oklch(62% .1 68 / .32), transparent 62%);
}
.no-photo .wrap{max-width:640px;margin:0 auto;position:relative;z-index:1}
.no-photo .lead{
  font-size:clamp(1.15rem,2.2vw,1.45rem);color:var(--lamp);
  font-style:italic;font-family:var(--latin);margin-bottom:1.4em;
}
.no-photo .lines p{
  font-size:clamp(1.35rem,3vw,2.05rem);line-height:1.85;font-weight:400;
  opacity:0;transform:translateY(12px);transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.no-photo .lines p.inview{opacity:1;transform:none}
.no-photo .aside{
  margin-top:2.2em;font-size:.92rem;color:var(--night-mute);
  line-height:1.8;border-left:2px solid color-mix(in oklab,var(--lamp) 50%, transparent);
  padding-left:1em;font-family:var(--sans);
}
.no-photo .sound-toggle{
  margin-top:2.2em;display:inline-flex;align-items:center;gap:.55em;
  color:var(--night-mute);font-size:.82rem;font-family:var(--sans);
  border:1px solid color-mix(in oklab,var(--night-text) 22%, transparent);
  border-radius:99px;padding:.6em 1.2em;transition:.25s;min-height:44px;
}
.no-photo .sound-toggle:hover{border-color:var(--lamp);color:var(--lamp)}

.counter{
  position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;color:var(--ink);text-align:center;
  background:var(--paper-deep);
  content-visibility:auto;
  contain-intrinsic-size:auto 800px;
}
.counter-bg{position:absolute;inset:0;overflow:hidden;opacity:.38}
.counter-bg img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(12px) sepia(.25) brightness(.9)}
.counter-bg::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 40%, oklch(92% .04 72 / .5), transparent 70%),
    color-mix(in oklab,var(--paper-deep) 58%, transparent);
}
.counter-inner{position:relative;z-index:2;padding:110px var(--pad-x);width:100%}
.counter-title{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:600;margin-bottom:.8em;color:var(--ink-soft)}
.counter-days{
  font-family:var(--latin);font-weight:500;
  font-size:clamp(3.6rem,13vw,9.5rem);line-height:1;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.counter-days small{
  display:block;font-family:var(--serif);font-size:.85rem;color:var(--ink-faint);margin-top:.35em;
}
.counter-detail{
  margin-top:1.2em;opacity:0;max-height:0;overflow:hidden;
  transition:opacity .35s ease,max-height .35s ease;
}
.counter:hover .counter-detail,.counter.show-detail .counter-detail,.counter:focus-visible .counter-detail{opacity:1;max-height:5em}
.counter-detail .row{
  display:inline-flex;gap:1.2em;font-family:var(--latin);font-size:1.05rem;
  color:var(--ink-soft);font-variant-numeric:tabular-nums;
}
.life-stats{margin-top:2.6em;display:flex;flex-direction:column;gap:.55em;align-items:center}
.life-stats li{
  list-style:none;font-family:var(--sans);font-size:.98rem;color:var(--ink-soft);line-height:1.7;
}
.life-stats li::before{content:"·";color:var(--rose);margin-right:.7em}
