/* First-frame company identity; the welcome movie itself remains unchanged. */
.home-page .hero{min-height:620px}
.home-page .hero-content.shell{padding-top:55px;padding-bottom:66px}
.home-page .hero-content>.identity-eyebrow{display:block;margin:0 0 7px;font:700 14px/1.7 Arial,sans-serif;letter-spacing:.25em;color:#f3ad79;animation:none}
.home-page .hero-wordmark{margin:0;font:900 italic clamp(65px,7.5vw,103px)/1.03 Arial,sans-serif;letter-spacing:-.05em;color:#fff}
.home-page .hero h1{max-width:690px;margin:25px 0 15px;font-size:clamp(29px,3.25vw,43px);font-weight:700;line-height:1.55;letter-spacing:.035em;animation:none}
.home-page .hero h1 span{display:block}
.home-page .hero h1 span:last-child{color:#f3b182}
.home-page .hero-lead{max-width:580px;margin:0;font-size:16px;line-height:1.9;color:#e0e8ed;animation:none}
.home-page .hero-motto{margin:8px 0 0;font-size:12px;line-height:1.8;letter-spacing:.07em;color:#a8bbc8}
.home-page .hero-actions{margin-top:27px;animation:none}
.home-page .hero-motion{display:none}
.home-page .identity-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;color:#7898ae}
.home-page .identity-lines path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.27}
.home-page .identity-lines .identity-line-accent{stroke:#ec9c5b;opacity:.48}
.home-page .identity-lines .identity-line-trace{stroke:#f4b67f;stroke-width:1.4;opacity:.8;stroke-dasharray:75 1125;animation:identity-line-travel 10s linear infinite}
@keyframes identity-line-travel{to{stroke-dashoffset:-1200}}
.home-page .opening{isolation:isolate}
.home-page .opening video{position:relative;z-index:0}
.home-page .opening:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(3,13,23,.68),transparent 33%,transparent 68%,rgba(3,13,23,.73))}
.home-page .opening-identity{position:absolute;left:clamp(24px,4vw,64px);top:clamp(26px,5vh,56px);z-index:2;max-width:calc(100% - 48px);text-shadow:0 2px 18px #071826;pointer-events:none}
.home-page .opening-identity>span{display:block;font:700 13px/1.8 Arial,sans-serif;letter-spacing:.24em;color:#efb486}
.home-page .opening-identity>strong{display:block;margin:4px 0 10px;font:900 italic clamp(41px,4.9vw,66px)/1.03 Arial,sans-serif;letter-spacing:-.045em}
.home-page .opening-identity>small{display:block;font-size:13px;line-height:1.8;letter-spacing:.035em;color:#e3e9ed}
.home-page .opening-identity:after{content:"";display:block;width:210px;max-width:100%;height:1px;margin-top:15px;background:linear-gradient(90deg,#e9a16b,#ffffff38,transparent);transform-origin:left;animation:opening-identity-line 5s ease-in-out infinite alternate}
@keyframes opening-identity-line{from{transform:scaleX(.72);opacity:.65}to{transform:scaleX(1);opacity:1}}
.home-page .opening p.opening-catch{left:clamp(24px,4vw,64px);bottom:40px;z-index:2;max-width:calc(100% - 250px);margin:0;font:700 clamp(19px,2.2vw,30px)/1.7 "Yu Gothic",Meiryo,sans-serif;letter-spacing:.04em;text-shadow:0 2px 18px #071826}
.home-page .opening-catch span{display:block}
.home-page .opening button{z-index:3}
.home-page.motion-stop .identity-lines .identity-line-trace,.home-page.motion-stop .opening-identity:after{animation:none}
@media(max-width:800px){
  .home-page .hero{min-height:600px}
  .home-page .hero-content.shell{padding-top:58px;padding-bottom:68px}
  .home-page .hero h1{font-size:35px}
  .home-page .hero-lead{font-size:14px}
  .home-page .hero-stamp{font-size:9px;bottom:21px}
  .home-page .identity-lines{opacity:.72}
}
@media(max-width:500px){
  .home-page .hero{min-height:575px}
  .home-page .hero-content.shell{padding-top:49px;padding-bottom:47px}
  .home-page .hero-content>.identity-eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:10px}
  .home-page .hero-wordmark{font-size:clamp(48px,15vw,65px)}
  .home-page .hero h1{font-size:clamp(23px,7.1vw,33px);line-height:1.65;letter-spacing:0;margin:28px 0 19px}
  .home-page .hero-lead{font-size:13px;letter-spacing:0}
  .home-page .hero-motto{font-size:11px;letter-spacing:0;margin-top:10px}
  .home-page .hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:27px}
  .home-page .hero-actions .button{min-width:227px;justify-content:space-between}
  .home-page .opening-identity>span{font-size:10px;letter-spacing:.18em}
  .home-page .opening-identity>strong{font-size:43px;margin-top:7px}
  .home-page .opening-identity>small{font-size:11px;letter-spacing:0}
  .home-page .opening p.opening-catch{bottom:98px;max-width:calc(100% - 48px);font-size:20px;line-height:1.6;letter-spacing:0}
}
@media(max-height:480px) and (min-width:501px){
  .home-page .opening-identity{top:20px}
  .home-page .opening-identity>strong{font-size:37px;margin-bottom:4px}
  .home-page .opening-identity>small{font-size:11px}
  .home-page .opening-identity:after{margin-top:8px}
  .home-page .opening p.opening-catch{bottom:23px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  .home-page .identity-lines .identity-line-trace,.home-page .opening-identity:after{animation:none}
  .home-page .hero-content>*{opacity:1;transform:none}
}

/* Contract store product guide: native disclosure, then two standard links. */
#contract-stores{scroll-margin-top:128px}
#contract-stores .contract-head{align-items:flex-start;gap:36px}
#contract-stores .contract-head>div{flex:1;min-width:0}
#contract-stores .contract-product-choice{flex:0 0 390px;max-width:100%;margin-top:8px}
#contract-stores .contract-product-choice>summary{display:flex;width:100%;margin:0;cursor:pointer;list-style:none;box-sizing:border-box}
#contract-stores .contract-product-choice>summary::-webkit-details-marker{display:none}
#contract-stores .contract-product-choice>summary::marker{content:""}
#contract-stores .contract-choice-toggle{font-size:20px;line-height:1;transition:transform .2s}
#contract-stores .contract-product-choice[open] .contract-choice-toggle{transform:rotate(45deg)}
#contract-stores .contract-choice-panel{padding:20px;background:#fff;border:1px solid var(--line);border-top:0}
#contract-stores p.contract-choice-prompt{margin:0 0 14px;font-size:12px;line-height:1.7;color:var(--muted)}
#contract-stores .contract-choice-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#contract-stores .contract-choice-links>a{position:relative;display:flex;flex-direction:column;min-width:0;min-height:138px;padding:17px 14px 35px;border:1px solid var(--line);border-top:2px solid var(--orange);background:#f8fafb;color:var(--ink);text-decoration:none}
#contract-stores .contract-choice-label{font-size:19px;line-height:1.5;font-weight:700;letter-spacing:.035em}
#contract-stores .contract-choice-description{display:block;margin-top:8px;font-size:11px;line-height:1.8;color:var(--muted)}
#contract-stores .contract-choice-arrow{position:absolute;right:14px;bottom:10px;font-size:18px;color:var(--blue)}
#contract-stores .contract-choice-links>a:hover{border-color:var(--blue);background:#edf4f8}
#contract-stores .contract-product-choice>summary:focus-visible,#contract-stores .contract-choice-links>a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:800px){
  #contract-stores .contract-head{display:block}
  #contract-stores .contract-product-choice{width:100%;max-width:460px;margin-top:22px}
}
@media(max-width:420px){
  #contract-stores .contract-choice-panel{padding:16px}
  #contract-stores .contract-choice-links{grid-template-columns:1fr}
  #contract-stores .contract-choice-links>a{min-height:0;padding:15px 42px 15px 16px}
  #contract-stores .contract-choice-description{margin-top:3px;font-size:12px}
  #contract-stores .contract-choice-arrow{top:50%;bottom:auto;transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){
  #contract-stores .contract-choice-toggle{transition:none}
}
