@font-face{font-family:TianqinAllura;src:url('hero/Allura-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.hero.hero-kit{height:auto;min-height:0;max-height:none;background:var(--scene-bg);color:var(--scene-ink);overflow:hidden;isolation:isolate;transition:none}
.hero-kit .hk-inner{max-width:1440px;margin:auto;padding:calc(var(--measured-header,88px) + 100px) clamp(32px,5vw,72px) 125px;display:grid;grid-template-columns:44% 56%;align-items:center;position:relative}
.hero-kit .hk-copy{position:relative;z-index:2;min-width:0;padding:0 12px 0 0;align-self:center}
.hero-kit .hk-note{font-family:TianqinAllura,cursive;font-weight:400;line-height:1.1;color:var(--scene-accent);pointer-events:none}
.hero-kit .hk-note-top{font-size:40px;transform:rotate(-5deg);transform-origin:left center;margin:0 0 26px}
.hero-kit .hk-eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:inherit;opacity:.75;margin:0 0 16px}
.hero-kit h1{font-size:clamp(42px,3.9vw,56px);line-height:1.1;letter-spacing:-.04em;color:inherit;max-width:550px;margin:0}
.hero-kit h1 span{display:block}
.hero-kit .hk-description{font-size:18px;line-height:1.6;color:inherit;max-width:420px;margin:24px 0 30px}
.hero-kit .hk-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-kit .hk-copy,.hero-kit .hk-actions>a{min-width:0;overflow-wrap:anywhere}
.hero-kit .hk-actions>a{max-width:100%}
.hero-kit .hk-primary{background:var(--scene-ink);color:#fff;font-size:15px;min-height:52px;padding:14px 22px;gap:16px;white-space:normal}
.hero-kit .hk-secondary{font-size:15px;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:6px;display:inline-flex;align-items:center;gap:10px;color:inherit;padding:10px 0}
.hero-kit .hk-art{aspect-ratio:1;position:relative;min-width:0;align-self:center;width:100%;max-width:640px;justify-self:center}
.hero-kit .hk-scene{position:absolute;inset:0}
.hero-kit .hk-scene[hidden]{display:none}
.hero-kit .hk-shape{position:absolute;width:112%;height:112%;max-width:none;left:-6%;top:-6%;object-fit:contain;pointer-events:none}
.hero-kit .hk-product{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}
.hero-kit #scene-1 .hk-product{inset:1%;width:98%;height:98%}
.hero-kit #scene-2 .hk-product{inset:2%;width:96%;height:96%}
.hero-kit .hk-note-bottom{position:absolute;right:0;bottom:-10px;font-size:32px;transform:rotate(-5deg);white-space:nowrap}
html:not([lang^=en]) .hero-kit .hk-note{font-family:inherit;font-size:clamp(16px,1.5vw,22px);line-height:1.5;letter-spacing:.015em}
html:not([lang^=en]) .hero-kit .hk-note-bottom{white-space:normal;max-width:100%;text-align:right;text-wrap:balance}
html:lang(ja) .hero-kit .hk-eyebrow,html:lang(ko) .hero-kit .hk-eyebrow{letter-spacing:.04em}
.hero-kit .hk-controls{grid-column:1/-1;display:flex;gap:40px;align-items:center;margin-top:26px;position:relative;z-index:3;flex-wrap:wrap}
.hero-kit .hk-tabs{display:flex;gap:32px}
.hero-kit .hk-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;color:inherit;font-size:15px;line-height:1.4}
.hero-kit .hk-tabs button[aria-selected=true]{border-color:currentColor;font-weight:600}
.hero-kit .hero-playback{margin:0;color:inherit}
.hero-kit .hk-message{transition:opacity .28s ease,transform .5s cubic-bezier(.22,.61,.36,1)}
.hero-kit.is-copy-exiting .hk-message{opacity:0;transform:translateY(-10px)}
.hero-kit .hk-fragments{position:absolute;inset:-20%;width:140%;height:140%;pointer-events:none;z-index:2}
.hero-kit.is-fragmenting .hk-product{visibility:hidden}
.hero-kit .hero-wave{height:75px}
.hero-kit :focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(min-width:851px) and (max-width:1250px){.hero-kit .hk-description{font-size:18px}.hero-kit .hk-note-top{font-size:38px}.hero-kit .hk-note-bottom{font-size:32px}.hero-kit .hk-inner{padding-top:calc(var(--measured-header,88px) + 42px)}.hero-kit .hk-actions{gap:12px}}
@media(max-width:850px){.hero-kit .hk-inner{grid-template-columns:1fr;padding:calc(var(--measured-header,80px) + 58px) 24px 78px}.hero-kit .hk-copy{padding:0}.hero-kit .hk-note-top{font-size:32px;margin-bottom:22px}.hero-kit .hk-eyebrow{font-size:11px;margin-bottom:18px}.hero-kit h1{font-size:clamp(34px,9.2vw,40px);line-height:1.12;max-width:550px}.hero-kit .hk-description{font-size:16px;max-width:360px;margin:20px 0 24px}.hero-kit .hk-actions{gap:12px 20px}.hero-kit .hk-primary{font-size:14px;min-height:48px;padding:12px 18px}.hero-kit .hk-secondary{font-size:14px}.hero-kit .hk-art{width:100%;max-width:540px;justify-self:center;margin-top:18px}.hero-kit .hk-shape{opacity:.65}.hero-kit .hk-note-bottom{display:none}.hero-kit .hk-controls{gap:12px;margin-top:12px;justify-content:space-between}.hero-kit .hk-tabs{gap:24px}.hero-kit .hk-tabs button{font-size:14px}.hero-kit .hero-playback{font-size:12px}.hero-kit .hero-wave{height:38px}}
@media(prefers-reduced-motion:reduce){.hero.hero-kit,.hero-kit .hk-message{transition:none}}

/* Home colour is driven once per animation frame, shared with Hero. Retain the solid reading/menu header. */
body.home .site-header{transition:height .25s}
body.home:not(.menu-open) .site-header:not(.is-scrolled){background:var(--hero-bg);color:var(--hero-ink)}
