/* Short, one-shot motion. No looping decoration. */
@keyframes gentle-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.slide.active{animation:gentle-enter .3s ease-out both}
.slide.active .section-head,.slide.active .hero-copy{animation:gentle-enter .36s ease-out both}
.fill{transition:width .45s ease-out}.share-track span{transition:width .4s ease-out}
.overview-tile img{transition:transform .25s ease-out}
@media(hover:hover){.overview-tile:hover img{transform:scale(1.025)}}
button{touch-action:manipulation}
.footer-controls #prev,.footer-controls #next{display:grid;place-items:center;flex-shrink:0;line-height:1;padding:0;aspect-ratio:1}
#finance-mobile-summary{display:none}
@media screen and (max-width:760px){
  html,body{height:100%;overflow:hidden;background:var(--paper)}
  #stage{position:fixed;inset:0;width:100%;height:100dvh;transform:none!important;overflow:hidden}
  header{height:64px;margin:0 18px;gap:12px;background:var(--paper)}
  .wordmark img{width:132px}.wordmark span{font-size:7px}.edition{display:none}.text-button{font-size:11px;min-height:44px}
  .slide{position:absolute;inset:64px 0 calc(68px + env(safe-area-inset-bottom));height:auto;padding:23px 20px 26px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .slide h1{font-size:29px;letter-spacing:-1px;line-height:1.5}.eyebrow{font-size:11px;letter-spacing:.8px}
  .section-head{gap:13px;margin-bottom:24px;flex-wrap:wrap}.section-number{font-size:35px;padding-right:12px}.section-head h1{margin-top:7px}.section-head>div:last-of-type{flex:1;min-width:0}.round-link{width:44px;height:44px;font-size:23px}.section-head .round-link{display:none}
  .source{position:static;margin-top:28px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}
  .hero-copy{width:auto}.hero-copy h1{font-size:39px;letter-spacing:-1.6px;line-height:1.4}.hero-copy>p{font-size:15px;margin:23px 0}.hero-small{font-size:11px}.pill{font-size:15px;padding:12px 20px;min-height:48px}
  .hero-art{position:relative;top:auto;right:auto;width:100%;height:auto;margin:25px 0 32px}.hero-art>img{height:auto;aspect-ratio:3/2;border-radius:45px 0 0 0}.hero-art figcaption{font-size:9px;right:0;bottom:-19px}.hero-seal{width:84px;height:84px;left:-7px;bottom:4px}.hero-seal span{font-size:12px;letter-spacing:1px}.hero-seal small{font-size:6px;margin-top:6px}
  .hero-stats{position:static;display:grid;grid-template-columns:1fr;padding-top:0}.hero-stats button,.hero-stats button:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.hero-stats strong{font-size:39px}.hero-stats span{font-size:12px}.hero-stats strong small{font-size:14px}.hero-stats em{font-size:10px}
  .business-grid,.moat-grid,.growth-layout,.earnings-layout,.scenario-layout,.watch-layout{grid-template-columns:minmax(0,1fr);height:auto;gap:27px}
  .scenario-result{order:-1}
  .fridge-pane{padding:24px;border-radius:60px 60px 4px 4px}.fridge{height:225px}.menu-pane{padding:0}.menu-heading{font-size:14px}.menu-photos{height:225px}.menu-copy{font-size:21px}.donut-pane{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.donut-wrap{max-width:100%;width:280px;height:280px}.donut-legend button{min-height:44px;font-size:13px}.chart-foot,#donut-foot{font-size:11px}
  .tabs{gap:0;max-width:100%;overflow-x:auto}.tabs button{font-size:12px;padding:12px 10px;min-height:44px;white-space:nowrap;flex-shrink:0}
  .delivery-art img{width:100%;height:auto;aspect-ratio:3/2;border-radius:4px 40px 4px 4px}.delivery-art figcaption{font-size:9px;margin-top:10px}.margin-note{position:static;display:table;font-size:15px;padding:12px 17px;margin:12px 0 0 auto;transform:rotate(-2deg)}
  .network-story{padding-right:0}.network-number{font-size:61px}.network-number small{font-size:15px}.network-story h2{font-size:23px}.network-story>p{font-size:15px}.network-story .analyst-note{font-size:13px}
  .growth-chart{padding:0}.metric{margin:25px 0}.metric-top{font-size:17px;gap:8px}.metric-top small{display:block;font-size:11px;margin:5px 0 0}.metric-top b{font-size:24px;white-space:nowrap}.track{height:23px}.kpi-bottom{gap:12px;margin-top:25px}.kpi-bottom>div,.kpi-bottom>div:first-child{padding:0 7px 0 0}.kpi-bottom span{font-size:11px}.kpi-bottom strong{font-size:27px}.kpi-bottom small{font-size:9px}
  .growth-aside,.earnings-aside,.risk-detail{padding:24px}.growth-aside{border-radius:4px 50px 4px 4px}.arr-display strong{font-size:72px}.growth-aside h2{font-size:23px}.growth-aside p{font-size:14px}
  .earnings-chart{padding:0}.earnings-chart svg{height:auto;aspect-ratio:900/390}.profit-display strong{font-size:70px}.earnings-aside h2{font-size:23px}.number-rows>div{font-size:12px}.profit-caveat{font-size:14px}
  .earnings-chart svg .value{font-size:48px}.earnings-chart svg .axis{font-size:23px}.earnings-chart svg .label{font-size:23px}
  #finance-mobile-summary{display:grid;gap:9px;margin:14px 0 20px}#finance-mobile-summary>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}#finance-mobile-summary b{font-size:15px;white-space:nowrap}
  .scenario-tag{margin:0;font-size:10px;flex-basis:100%;width:max-content;border:0;padding:0 0 0 65px}.scenario-controls .lead{font-size:21px}.rangegroup label{font-size:16px}.rangegroup output{font-size:30px}input[type=range]{height:32px}.formula{font-size:13px;line-height:1.8;padding:15px}.scenario-result{padding:26px 20px;border-radius:65px 65px 4px 4px}.scenario-number strong{font-size:70px}.scenario-number small{font-size:19px}.scenario-result svg{height:auto;aspect-ratio:520/145}
  .risk{gap:10px;padding:17px 7px}.risk b{font-size:18px}.risk small{font-size:13px}.risk[aria-selected=true]{padding-left:12px}.risk>span{font-size:20px}.closing-note{gap:13px}.closing-note p{font-size:17px}.risk-detail h2{font-size:24px}.risk-detail>p{font-size:14px}
  footer{left:0;right:0;height:calc(68px + env(safe-area-inset-bottom));padding:0 14px env(safe-area-inset-bottom);gap:9px}.footer-title{gap:3px;font-size:10px}.footer-title>span{font-size:23px}.footer-title b{display:none}#page-nav{gap:0}#page-nav button,#page-nav button[aria-current=page]{width:20px;height:38px;border-radius:0;background:transparent;position:relative}#page-nav button:after{content:'';position:absolute;left:7px;top:16px;width:6px;height:6px;border-radius:50%;background:#bdc8b7}#page-nav button[aria-current=page]:after{background:var(--green)}.footer-controls{gap:6px}.footer-controls button{min-height:44px;font-size:12px}#demo-button{display:none}.footer-controls #prev,.footer-controls #next{width:44px;height:44px;min-width:44px;font-size:22px}
  #overview{inset:64px 0 calc(68px + env(safe-area-inset-bottom));padding:12px 18px 25px;overflow-y:auto}.overview-head h2{font-size:25px}.overview-head button{min-width:44px;min-height:44px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-tile{min-height:150px;padding:12px}.overview-tile>span{font-size:23px}.overview-tile h3{font-size:17px;line-height:1.55;margin:12px 0}.overview-tile small{font-size:8px}.overview-note{font-size:10px}
  #drawer{width:100%;padding:50px 22px 30px}#drawer h2{font-size:24px}#drawer p{font-size:15px}#drawer table{font-size:11px;table-layout:fixed}#drawer td,#drawer th{padding:10px 4px;overflow-wrap:anywhere}#drawer .ref{overflow-wrap:anywhere}#drawer-close{min-width:44px;min-height:44px}.photo-gallery img{height:120px}#demo-toast{top:68px;font-size:10px;right:10px}
}
@media screen and (max-width:360px){#page-nav{display:none}.footer-controls{gap:12px}.hero-copy h1{font-size:34px}.rangegroup label{font-size:14px}.overview-tile h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Financial spreads and audience control */
.audience-control{display:flex;align-items:center;gap:9px;font-size:12px}.audience-control select{font:inherit;color:var(--green);background:var(--paper);border:1px solid var(--line);padding:8px 12px;border-radius:20px}.financial-layout{display:grid;grid-template-columns:minmax(0,880px) minmax(0,1fr);gap:60px}.financial-layout svg{width:100%;height:auto;display:block;max-height:385px;overflow:visible}.financial-layout svg text,.history-layout svg text{font-family:var(--sans);fill:var(--ink)}.financial-aside{background:var(--mint);padding:27px 30px;border-radius:4px 60px 4px 4px}.financial-big{font:74px/1.2 Georgia,serif;letter-spacing:-2px;margin:12px 0}.financial-big small{font:20px var(--sans);margin-left:9px}.financial-aside h2{font:600 26px/1.6 var(--serif);margin:12px 0}.financial-aside p{font-size:16px;line-height:1.85}.financial-aside .fine{font-size:12px}.financial-table-wrap{max-width:100%;overflow:auto}.financial-table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}.financial-table th,.financial-table td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.financial-table th:first-child{text-align:left}.financial-table thead{color:var(--green);background:var(--mint)}.financial-table tbody th{font-weight:500}.history-layout{display:grid;grid-template-columns:590px minmax(0,1fr);gap:45px}.history-layout h2{font:24px/1.6 var(--serif);margin:15px 0}.history-layout svg{width:100%;height:auto}.history-layout .fine{font-size:12px;margin-top:3px}.history .chart-foot{font-size:12px}.history-visual>.inline-link{margin-top:30px}.financial-layout .tabs{margin-bottom:10px}#cf-period{margin:0 0 4px}.financial .number-rows>div{font-size:15px}#overview{overflow-y:auto}.overview-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}.overview-tile{min-height:207px}.overview-tile h3{font-size:21px}#drawer .financial-table{table-layout:auto;min-width:480px}#drawer .financial-table td,#drawer .financial-table th{white-space:nowrap;font-size:12px}#drawer .financial-table-wrap>.financial-table{margin-top:0}.history-layout>*{min-width:0}
@media screen and (max-width:760px){header .edition{display:none}.audience-control{font-size:0;gap:0;margin-left:auto;margin-right:8px}.audience-control select{font-size:10px;max-width:128px;padding:7px 5px}header .text-button{font-size:10px}.wordmark img{max-width:115px}.financial-layout,.history-layout{display:flex;flex-direction:column;gap:22px}.financial-aside{order:-1;padding:23px;border-radius:4px 45px 4px 4px}.financial-big{font-size:63px}.financial-aside h2{font-size:23px}.financial-aside p{font-size:14px}.financial .tabs{flex-wrap:wrap}.financial .tabs button{padding:10px 8px;font-size:12px}.financial-table{font-size:12px}.financial-table th,.financial-table td{padding:10px 8px}.history .financial-table{min-width:530px}.history .financial-table-wrap:after{content:'← 表は横にスクロールできます →';font-size:10px;color:var(--muted);display:block;margin-top:8px}.history-layout h2{font-size:21px}.history-visual>.inline-link{margin-top:5px}.financial-layout svg{min-width:550px}.financial-layout>div:first-child{overflow-x:auto;padding-bottom:10px}.financial-layout .inline-link{font-size:13px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-tile{min-height:155px}.overview-tile h3{font-size:17px}#page-nav{display:none}.financial .source{position:static}.financial-table-wrap{overscroll-behavior-x:contain}.earnings-chart .tabs{width:100%;flex-wrap:wrap}.earnings-chart .tabs button{padding:10px 8px;font-size:12px}}
@media screen and (max-width:360px){header .wordmark img{width:98px}header .wordmark span{font-size:7px;letter-spacing:1.8px}header .text-button{font-size:0;min-width:38px;flex-shrink:0;padding:4px 0}header .text-button:after{content:'資料 ↗';font-size:10px;white-space:nowrap}.audience-control{margin-right:5px}.audience-control select{max-width:115px;font-size:10px}}

/* Quiet presentation: one fade per page, no duplicate heading entrance. */
@keyframes quiet-fade{from{opacity:0}to{opacity:1}}
.slide.active{animation:quiet-fade .24s ease-out both}
.slide.active .section-head,.slide.active .hero-copy{animation:none}
@media(prefers-reduced-motion:reduce){.slide.active{animation:none!important}}
