/* Production type, palette, spacing, scenes and component shapes. */
.hero66 .lp128b-slogan { max-width:none; font-size:clamp(2.9rem,.9rem + 7.6vw,8.75rem); line-height:1.04; letter-spacing:-.045em; font-weight:900; }
.hero66 .lp128b-ja { font-size:clamp(1.1rem,1rem + 1vw,1.8rem); }
.hero66 .lp128b-slogan .kw + .kw { margin-left:.12em; }
.hero66 .speak-ja { font-family:var(--font-en); }
.hero66 .say-ja-mini { display:none; }
.hero66 .say-think { visibility:hidden; }
/* Reserve the enhanced controls before JS reveals them; final geometry is the
   production geometry. This prevents the percent-positioned KUCHI from moving. */
.hero66 [data-speak-actions][hidden] { display:flex!important; visibility:hidden; }
.hero66 [data-say-state][hidden],.hero66 [data-say-think][hidden] { display:block!important; visibility:hidden; }
.lp128c-statement { padding-block:clamp(4rem,8vw,8rem); }
.lp128c-statement .yomu__in { min-height:0; }
.lp128c-statement .yomu__screen { min-height:0; max-width:12em; margin-inline:auto; font-size:clamp(2.2rem,4.8vw,4.8rem); }
.lp128c-statement .yomu__screen .nb66 { white-space:nowrap; }
/* Keep the FAQ text clear of its absolutely positioned plus/minus mark. */
#faq .faq summary { padding-right:3rem; }
.lp128c-plan { isolation:isolate; overflow:hidden; }
.lp128c-plan > .l66__word { top:auto; bottom:-.1em; color:var(--plane-ink-on); opacity:.035; }
.lp128c-plan .coach66__grid { align-items:center; }
.lp128c-plan .coach66__body { min-width:0; }
.lp128c-plan-screen { position:relative; width:100%; max-width:32rem; padding:1.5rem; margin-inline:auto; border-radius:30px; border:7px solid var(--paper); box-shadow:12px 14px 0 color-mix(in srgb,var(--apricot) 20%,transparent); transform:rotate(1deg); }
.lp128c-plan .lp128b-plan__nav { display:grid; gap:.35rem; }
.lp128c-plan .kr-map__weeks li { grid-template-columns:2rem minmax(0,1fr); align-items:center; }
.lp128c-plan .kr-map__weeks button { border:0; padding:.5rem; background:transparent; color:var(--ink); text-align:left; font-weight:900; min-height:44px; cursor:pointer; }
.lp128c-plan .kr-map__today { display:block; margin-top:1rem; min-height:10rem; }
.lp128c-plan .lp128b-plan__panel { background:none; padding:0; min-height:0; font-size:clamp(1.25rem,1rem + .7vw,1.6rem); font-weight:800; line-height:1.7; }
.lp128c-plan .lp128b-controls { margin-top:1rem; justify-content:space-between; }
.lp128c-plan .lp128b-controls { --sc-on:var(--ink); }
.lp128c-plan .lp128b-note { color:var(--plane-ink-on); opacity:.8; margin:1.5rem auto 0; max-width:32rem; }
.lp128c-plan button:disabled { opacity:.4; cursor:default; }
.lp128c-plan [hidden] { display:none!important; }
.lp128c-plan button:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.lp128c-practice > .wrap { max-width:var(--wrap); grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.3rem 5rem; align-items:start; }
.lp128c-practice h2 { grid-column:1; grid-row:1 / span 6; font-size:clamp(2.25rem,4.5vw,4.5rem); }
.lp128c-practice > .wrap > :not(h2) { grid-column:2; }
.lp128c-practice [data-fix-replay] { justify-self:start; width:auto; border:0; border-radius:999px; background:var(--red); color:var(--paper); font-weight:900; padding:.85rem 1.5rem; }
.lp128c-practice #fix-answer { padding:1.5rem; border:1.5px solid var(--ink); box-shadow:6px 6px 0 var(--red); background:var(--paper); color:var(--ink); transform:rotate(-1deg); }
.lp128c-practice .lp128c-audio { justify-self:start; display:inline-flex; align-items:center; gap:.8rem; border-radius:999px; background:var(--ink); color:var(--paper); }
#new { position:relative; overflow:hidden; }
#new > .wrap { position:relative; }
#new .l66__word { top:.2em; bottom:auto; opacity:.045; pointer-events:none; }
#new .h-display { font-size:clamp(2.3rem,4.7vw,4.8rem); max-width:15em; }
.lp128c-materials { justify-content:space-between; border-bottom:2px solid var(--md-outline-variant); padding-bottom:1.5rem; }
.lp128c-time > .wrap { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.4rem 4rem; }
.lp128c-time h2 { grid-column:1; font-size:clamp(2.3rem,4.7vw,4.8rem); }
.lp128c-time > .wrap > p { grid-column:1; }
.lp128c-time .lp128b-time { grid-column:2; grid-row:1 / span 5; grid-template-columns:1fr; gap:1rem; }
.lp128c-time .lp128b-time__day { background:var(--paper); color:var(--ink); border-radius:24px; box-shadow:7px 7px 0 rgb(36 32 31 / .2); }
.lp128c-time .lp128b-note { color:inherit; }
.lp128c-results h2 { font-size:clamp(2.5rem,5vw,5rem); }
.lp128c-results .lp128b-results { gap:0 3.5rem; }
.lp128c-results .lp128b-result { background:none; border-radius:0; padding:2.5rem 0; border-top:2px solid var(--md-outline-variant); }
.lp128c-results .lp128b-result strong { font-family:var(--font-latin); font-size:clamp(3.7rem,6.8vw,6.8rem); line-height:1; }
.lp128c-results .lp128b-result figcaption { gap:1rem; }
.lp128c-results .lp128b-result svg { max-width:36rem; }
@media(prefers-reduced-motion:no-preference) {
  [data-result-reveal] { opacity:.25; transform:translateY(28px); transition:opacity .7s,transform .9s var(--ease-spring); }
  [data-result-reveal].is-result-visible { opacity:1; transform:none; }
  [data-result-reveal] .result-change { stroke-dasharray:300; stroke-dashoffset:300; transition:stroke-dashoffset 1.2s var(--ease-emph); }
  [data-result-reveal].is-result-visible .result-change { stroke-dashoffset:0; }
  [data-result-reveal].is-result-visible .result-end { animation:bump .7s var(--ease-spring); transform-box:fill-box; transform-origin:center; }
}
#compare { background:var(--md-surface-2); }
#compare .h-display { font-size:clamp(2.3rem,4.7vw,4.8rem); max-width:none; }
.lp128c-comparison { display:grid; gap:2.5rem; }
.lp128c-compare-row { display:grid; gap:.7rem; }
.lp128c-compare-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.lp128c-compare-heading h3 { font-size:clamp(1.05rem,1.7vw,1.6rem); }
.lp128c-compare-heading strong { font-family:var(--font-latin); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:900; white-space:nowrap; letter-spacing:-.04em; }
.lp128c-compare-track { height:18px; background:var(--md-outline-variant); border-radius:999px; }
.lp128c-compare-track i { display:block; width:var(--price-width); height:100%; background:var(--md-primary); border-radius:999px; }
.lp128c-compare-row:first-child .lp128c-compare-track i { background:var(--md-on-surface); }
.lp128c-compare-row > p { font-size:1rem; }
@media(min-width:64em) {
  .header-inner { flex-wrap:nowrap; gap:1rem; }
  .page-nav { min-width:0; }
  .page-nav ul { flex-wrap:nowrap; gap:.85rem; }
  .page-nav a { white-space:nowrap; font-size:.8125rem; letter-spacing:0; }
  .header-tools { flex-shrink:0; gap:.5rem; }
  .header-trial { font-size:.8125rem; padding-inline:.8rem; white-space:nowrap; }
  .brand { flex-shrink:0; }
}
@media(max-width:63.99em) { .lp128c-practice > .wrap,.lp128c-time > .wrap { grid-template-columns:1fr; } .lp128c-practice h2,.lp128c-practice > .wrap > :not(h2),.lp128c-time h2,.lp128c-time > .wrap > p,.lp128c-time .lp128b-time { grid-column:1; grid-row:auto; } }
@media(max-width:47.99em) {
  .hero66 .lp128b-slogan { font-size:clamp(2.9rem,.9rem + 7.6vw,8.75rem); }
  .lp128c-plan-screen { padding:1rem; transform:none; }
  .lp128c-plan .coach66__ring { width:9rem; }
  .lp128c-results .lp128b-result strong { font-size:clamp(3rem,14vw,4.8rem); }
  .lp128c-compare-heading { display:grid; gap:.4rem; }
  .lp128c-time .lp128b-allocation { gap:.3rem; }
}
