/* Homepage product story. All colors follow the shared appearance palette. */
.home .story-chapter.is-current h3{color:var(--accent)}
.home .cinema-hero{position:relative;isolation:isolate}.home .cinema-hero::before{content:'';position:absolute;width:min(65vw,800px);height:600px;right:-16%;top:-180px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 13%,transparent),transparent 66%);z-index:-1;pointer-events:none;translate:0 calc(var(--hero-drift,0px)*-.6)}
.home .depth-scene{translate:0 var(--hero-drift,0px);will-change:translate}.home .floating-note{translate:0 calc(var(--hero-drift,0px)*-.5)}
.home .scroll-invitation{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-top:28px;color:var(--secondary)}.scroll-invitation span{display:grid;place-items:center;width:29px;height:40px;border:1px solid var(--border);border-radius:20px;font-size:18px}
.home .reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:100;pointer-events:none}
.home.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.home.motion-ready [data-reveal].is-revealed{opacity:1;transform:none}
.product-tour{max-width:1400px;margin:auto;padding:100px 48px 40px}.tour-heading{max-width:800px;margin-bottom:64px}.tour-heading h2{font-size:clamp(38px,5vw,68px);letter-spacing:-.055em;line-height:1.06}.tour-heading h2 em{font-style:normal;color:var(--accent)}.tour-heading>p:last-child{max-width:580px;color:var(--secondary);font-size:18px;line-height:1.8}.tour-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}.tour-steps{min-width:0}.tour-step{min-height:65vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0;border-top:1px solid var(--line)}.tour-step h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.12;max-width:390px;margin:20px 0}.tour-step p{font-size:17px;line-height:1.8;color:var(--secondary);max-width:380px}.tour-number{font:12px monospace;letter-spacing:.12em;color:var(--accent)}.tour-step.is-active .tour-number::before{content:'●';margin-right:10px}.tour-step a{margin-top:12px;align-self:flex-start}
.tour-stage{position:sticky;top:115px;padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px #0002;min-width:0;overflow:hidden}.tour-stage-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px;font-size:11px;letter-spacing:.07em;color:var(--secondary)}.tour-stage-header strong{color:var(--text);font-size:13px;letter-spacing:-.02em}.tour-example{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.tour-example::before{content:'';height:6px;width:6px;border-radius:50%;background:var(--accent)}
.tour-scene{min-height:350px}.tour-scene h3{font-size:26px;line-height:1.2;letter-spacing:-.03em;margin:8px 0 20px}.tour-scene>p{font-size:14px;color:var(--secondary);line-height:1.7}.tour-scene .tour-kicker{font-size:11px;letter-spacing:.09em;color:var(--accent)}.tour-tabs{display:none;gap:8px;margin:24px 0 16px}.tour-ready .tour-tabs{display:flex}.home .tour-tabs button{min-height:44px;flex:1;border:1px solid var(--border);border-radius:9px;padding:9px 4px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tour-stage .tour-caption{font-size:12px;line-height:1.7;color:var(--secondary);margin:0}
.tour-file{padding:18px;background:var(--raised);border:1px solid var(--line);border-radius:12px;display:flex;gap:14px;align-items:center}.tour-file>span{display:grid;place-items:center;width:44px;height:48px;border:1px solid var(--border);border-radius:7px;font-size:12px;font-weight:700;color:var(--accent)}.tour-file strong{display:block;font-size:15px}.tour-file small{display:block;color:var(--secondary);font-size:12px;margin-top:5px}.tour-records{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.tour-records div{border:1px solid var(--line);border-radius:10px;padding:15px;font-size:13px}.tour-records span{display:block;font-size:11px;color:var(--secondary);margin-top:5px}.tour-check{color:var(--accent);margin-right:8px}
.tour-finding{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.tour-finding strong{font-variant-numeric:tabular-nums;font-weight:600}.tour-finding small{grid-column:1/-1;color:var(--secondary);font-size:12px;line-height:1.6}.tour-flag{display:inline-block;border:1px solid var(--reserve);color:var(--notice-ink);background:var(--notice-bg);font-size:11px;padding:5px 9px;border-radius:20px;margin-bottom:10px}
.tour-chart{display:block;width:100%;margin:10px 0;overflow:visible}.tour-chart text{font:13px 'Segoe UI',sans-serif;fill:var(--secondary)}.tour-chart .tour-baseline{stroke:var(--compare)}.tour-chart .tour-option{stroke:var(--plot)}.tour-chart .tour-reserve{stroke:var(--reserve)}.tour-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.tour-comparison div{padding:16px;border:1px solid var(--line);border-radius:10px}.tour-comparison span{display:block;font-size:12px;color:var(--secondary)}.tour-comparison strong{font-size:28px;font-weight:600;display:block;margin-top:6px}.tour-comparison .tour-better{background:var(--raised);border-color:var(--border)}
.tour-report{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--raised)}.tour-report-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.08em;color:var(--secondary);margin-bottom:22px}.tour-report h4{font-size:22px;line-height:1.3;margin:10px 0 20px}.tour-report ul{list-style:none;padding:0;margin:0}.tour-report li{padding:12px 0;border-top:1px solid var(--line);font-size:14px}.tour-report li::before{content:'✓';margin-right:10px;color:var(--accent)}
.home.tour-ready .tour-scene:not([hidden]){animation:tour-scene-in .5s cubic-bezier(.2,.7,.2,1) both}.home.tour-ready .tour-scene:not([hidden]) .tour-option{stroke-dasharray:100;stroke-dashoffset:100;animation:tour-line-in 1s .12s ease forwards}.home.tour-ready .tour-scene:not([hidden]) .tour-records>div{animation:tour-scene-in .5s both}.home.tour-ready .tour-records>div:nth-child(2){animation-delay:.07s}.home.tour-ready .tour-records>div:nth-child(3){animation-delay:.14s}.home.tour-ready .tour-records>div:nth-child(4){animation-delay:.21s}
@keyframes tour-scene-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tour-line-in{to{stroke-dashoffset:0}}
@media(max-width:1100px){.product-tour{padding-inline:32px}.tour-layout{gap:35px}.tour-stage{padding:20px}.tour-stage-header{flex-wrap:wrap}}
@media(max-width:900px){.product-tour{padding:65px 24px 30px}.tour-heading{margin-bottom:32px}.tour-layout{display:flex;flex-direction:column;gap:30px}.tour-stage{position:relative;top:auto;width:100%;order:-1;display:flex;flex-direction:column}.tour-stage-header{order:0}.tour-tabs{order:1;margin:0 0 24px}.tour-scene{order:2}.tour-caption{order:3}.tour-steps{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tour-step{min-height:0;padding:24px 0;justify-content:flex-start}.tour-step h3{font-size:26px}.tour-step p{font-size:15px;margin:0}.tour-step .text-button{font-size:13px}.tour-heading>p:last-child{font-size:16px}.tour-scene{min-height:340px}.home .depth-scene{will-change:auto;translate:none}.home .floating-note{translate:none}}
@media(max-width:500px){.tour-steps{grid-template-columns:1fr;gap:0}.tour-step{padding:28px 0}.tour-stage{padding:19px;border-radius:18px}.tour-tabs{gap:5px}.home .tour-tabs button{font-size:11px}.tour-scene h3{font-size:24px}.tour-scene{min-height:365px}.tour-chart text{font-size:18px}.tour-records{gap:8px}.tour-records div{padding:12px}.tour-file{padding:14px}.tour-file strong{font-size:13px}.tour-comparison strong{font-size:26px}.tour-comparison div{padding:12px}.tour-stage-header{margin-bottom:20px}.tour-report{padding:17px}.home .scroll-invitation{font-size:10px}}
@media(prefers-reduced-motion:reduce){.home [data-reveal]{opacity:1!important;transform:none!important}.home .depth-scene,.home .floating-note,.home .cinema-hero::before{translate:none!important}.home .reading-progress{display:none}.home .tour-scene,.home .tour-records>div,.home .tour-option{animation:none!important}.home .tour-option{stroke-dasharray:none!important;stroke-dashoffset:0!important}.tour-step{min-height:0;padding:28px 0}}
@media print{.product-tour,.reading-progress,.scroll-invitation{display:none}.home [data-reveal]{opacity:1!important;transform:none!important}}
