/* en/ja homepages: standalone .hp-facts section (same look as zh home-v2) */
.hp-solo{--c-brand:#02483E;--c-ink:#1A2421;--c-mute:#5B6B66;--c-line:#D9DFDC;--c-bg:#FFFFFF;--c-bg-alt:#F5F7F6;
--fs-h1:clamp(2rem,1.4rem + 2.4vw,3.5rem);--fs-h2:clamp(1.5rem,1.15rem + 1.4vw,2.5rem);--fs-h3:clamp(1.125rem,1rem + .4vw,1.375rem);
--fs-body:clamp(1rem,.95rem + .2vw,1.0625rem);--fs-cap:.8125rem;--fs-num:clamp(2.5rem,1.6rem + 3.6vw,4.5rem);
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
--sec:clamp(4rem,2.5rem + 6vw,8rem);--gut:clamp(1.25rem,1rem + 2.5vw,3rem);--gap:clamp(1rem,.6rem + 1.6vw,2rem);--max:1200px;--head:clamp(2rem,1.75rem + 1vw,3rem)}
.hp-solo{background:#fff;color:var(--c-ink)}
.hp-solo .hp-wrap{max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut);box-sizing:border-box;width:100%}
.hp-solo dl.hp-facts{display:grid;grid-template-columns:1fr;margin:0;padding:0}
.hp-solo .hp-facts>div{padding:var(--sp-6) 0;display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:var(--sp-3);margin:0}
.hp-solo .hp-facts>div+div{border-top:1px solid var(--c-line)}
.hp-solo .hp-facts dt,.hp-solo .hp-facts dd{margin:0}
html body .hp-solo .hp-cap{font-size:var(--fs-cap);line-height:1.5;color:var(--c-mute);font-weight:400;white-space:normal;letter-spacing:0;text-transform:none}
html body .hp-solo dl.hp-facts dd.hp-num{font-size:var(--fs-num)!important;line-height:1;font-weight:300;color:var(--c-brand);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}
html body .hp-solo .hp-pre{font-size:.4em!important;vertical-align:.9em;font-weight:400;margin-right:.15em}
/* Homepage capacity flow + rice bowl (capacity_anim HANDOFF v3 layout), zh home .hp-facts */
:is(.home-v2,.hp-solo) .cap-flow{position:relative}
:is(.home-v2,.hp-solo) .cap-track{position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:var(--c-line,#D9DFDC);z-index:1}
:is(.home-v2,.hp-solo) .cap-track i{position:absolute;inset:0;background:var(--c-brand,#02483E);opacity:.55;transform:scaleX(0);transform-origin:left}
:is(.home-v2,.hp-solo) .cap-flow:not(.is-js) .cap-track i{transform:none}
:is(.home-v2,.hp-solo) .cap-flow .hp-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}
:is(.home-v2,.hp-solo) .cap-flow.is-js .hp-cap{opacity:0;transform:translateY(4px)}
@media(max-width:1199px){:is(.home-v2,.hp-solo) .cap-track{display:none}}
/* grid per handoff: 1 col <768, 2 cols 768–1199, 4 cols >=1200 */
html :is(body.home-v2,body .hp-solo) .cap-flow .hp-facts{grid-template-columns:1fr!important;align-items:start!important}
:is(.home-v2,.hp-solo) .cap-flow .hp-facts>div{justify-content:flex-start}
@media(max-width:767px){html :is(body.home-v2,body .hp-solo) .cap-flow .hp-facts>div:last-child{grid-column:auto}}
@media(min-width:768px){
 html :is(body.home-v2,body .hp-solo) .cap-flow .hp-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div{padding:48px var(--gap)}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(odd){padding-left:0;border-left:0}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(even){border-left:1px solid var(--c-line,#D9DFDC)}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(n+3){border-top:1px solid var(--c-line,#D9DFDC)}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(-n+2){padding-top:152px}
}
@media(min-width:1200px){
 html :is(body.home-v2,body .hp-solo) .cap-flow .hp-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div{padding-top:152px}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(3){border-left:1px solid var(--c-line,#D9DFDC);padding-left:var(--gap)}
 :is(.home-v2,.hp-solo) .cap-flow .hp-facts>div:nth-child(n+3){border-top:0}
}
/* bowl */
:is(.home-v2,.hp-solo) .has-bowl{position:relative}
:is(.home-v2,.hp-solo) .bowl{position:absolute;overflow:visible;width:64px;height:42.7px;top:40px;right:0}
:is(.home-v2,.hp-solo) .bowl *{vector-effect:non-scaling-stroke}
:is(.home-v2,.hp-solo) .bowl .ln{fill:none;stroke:#02483E;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
:is(.home-v2,.hp-solo) .bowl .pk .u{fill:#fff}:is(.home-v2,.hp-solo) .bowl .pk .m{fill:#8A4B1C;opacity:.55}:is(.home-v2,.hp-solo) .bowl .pk .f{fill:#F6EBDD}
:is(.home-v2,.hp-solo) .bowl .pk .h{fill:none;stroke:#fff;stroke-width:1;stroke-linecap:round;opacity:.7}
:is(.home-v2,.hp-solo) .bowl .pk .o{fill:none;stroke:#02483E;stroke-width:1.5;stroke-linejoin:round}
:is(.home-v2,.hp-solo) .bowl .sc{fill:#7A3E16;opacity:.38}
:is(.home-v2,.hp-solo) .bowl .pool path{fill:#7A3E16;opacity:.5}:is(.home-v2,.hp-solo) .bowl .pool{transform-box:view-box;transform-origin:61px 30px}
:is(.home-v2,.hp-solo) .bowl .sr{fill:#7A3E16;opacity:.8}:is(.home-v2,.hp-solo) .bowl .sh{fill:none;stroke:#C98A4E;stroke-width:1;stroke-linecap:round;opacity:.55}
:is(.home-v2,.hp-solo) .bowl .lf{fill:#fff}:is(.home-v2,.hp-solo) .bowl .ladle{opacity:0}
:is(.home-v2,.hp-solo) .bowl .sm{fill:none;stroke:#9AA8A4;stroke-width:1;stroke-linecap:round;opacity:0}
/* has-bowl description = bowl line */
:is(.home-v2,.hp-solo) .has-bowl .hp-cap{font-size:12px!important;color:#5B6B66!important}
/* pour labels (original prototype position/markers) + one swappable caption */
:is(.home-v2,.hp-solo) .bowl-lb{position:absolute;top:32px;right:76px;display:grid;gap:6px;font-size:11px;line-height:1.2;color:#5B6B66;white-space:nowrap}
:is(.home-v2,.hp-solo) .bowl-lb span{display:flex;align-items:center;gap:6px}:is(.home-v2,.hp-solo) .bowl-lb b{font-weight:400}
:is(.home-v2,.hp-solo) .bowl-lb i{display:inline-block;width:8px;height:6px;border:1.2px solid #02483E;border-radius:45% 55% 40% 50%;background:rgba(138,75,28,.55)}
:is(.home-v2,.hp-solo) .bowl-lb .l2 i{border:0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#7A3E16;opacity:.8;width:7px;height:8px}
:is(.home-v2,.hp-solo) .bowl-cap{font-size:12px;line-height:1.5;color:#5B6B66;text-wrap:balance}
@media(max-width:767px){:is(.home-v2,.hp-solo) .has-bowl{padding-right:76px}:is(.home-v2,.hp-solo) .bowl-lb{position:static;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#5B6B66;margin-top:8px}}
@media(min-width:768px){
 :is(.home-v2,.hp-solo) .bowl{width:112px;height:74.7px;top:66px;left:calc(var(--gap) + (100% - 2*var(--gap))/2 - 84px);right:auto}
 :is(.home-v2,.hp-solo) .bowl-lb{font-size:12px;top:80px;right:auto;left:calc(var(--gap) + (100% - 2*var(--gap))/2 + 38px)}
 :is(.home-v2,.hp-solo) .bowl-cap{position:absolute;top:104px;left:var(--gap);right:var(--gap);text-align:center}
}
@media(min-width:1200px){html body :is(.home-v2 main,.hp-solo) .cap-flow dl.hp-facts{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.3fr)!important}html body :is(.home-v2 main,.hp-solo) .cap-flow dl.hp-facts dd.hp-num{font-size:clamp(44px,4.2vw,64px)!important}}

/* reduced motion (unified, designer ea367d8f): no animation, opacity-only 120ms */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:opacity 120ms linear!important;scroll-behavior:auto!important}}

:is(.home-v2,.hp-solo) .bowl-lb b{font-size:inherit!important;font-weight:400}

/* r13 designer fixes */
html[lang=en] .hp-facts .hp-num,html[lang=ja] .hp-facts .hp-num{line-height:1!important}
html body .hp-solo .hp-pre,html body .home-v2 .hp-pre{font-size:.32em!important}
html[lang=en] .hp-facts .hp-pre{margin-right:.3em}
