/* FV only. The existing header, product block and all later sections are unchanged. */
main .hero-reference{
  --hero-navy:#031b35;--hero-gold:#f2d18b;
  position:relative;isolation:isolate;display:flex;flex-direction:column;
  padding:0;background:var(--hero-navy);overflow:hidden;
}
main .hero-reference .hero-reference-inner,
main .hero-reference .hero-copy{display:contents}
main .hero-reference .hero-intro{order:1;padding:26px 20px 18px}
main .hero-reference .hero-eyebrow{
  margin:0 0 16px;color:#f8f5ed;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:12px;line-height:1.85;letter-spacing:.05em;
}
main .hero-reference .hero-mobile-break{display:none}
main .hero-reference .hero-title{
  margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:clamp(26px,7.35vw,32px);font-weight:600;line-height:1.65;letter-spacing:.015em;
  color:#fffdf7;text-wrap:initial;
}
main .hero-reference .hero-title-opening{display:block;white-space:nowrap;font-size:.92em}
main .hero-reference .hero-title strong{display:block;color:var(--hero-gold);font-weight:600}
main .hero-reference .hero-title-phrase{display:inline-block;white-space:nowrap}
main .hero-reference .hero-title-ending{color:#fffdf7;white-space:nowrap}
main .hero-reference .hero-visual{
  position:relative;order:2;display:block;align-self:auto;width:100%;max-width:none;
  height:210px;margin:0;padding:0;background:var(--hero-navy);
}
main .hero-reference .hero-visual picture{display:block;width:100%;height:100%}
main .hero-reference .hero-visual img{
  display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;
  object-fit:cover;object-position:75% 42%;
}
main .hero-reference .hero-signature{
  position:absolute;right:14px;bottom:12px;width:auto;margin:0;padding:0;border:0;
  color:#082345;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;font-weight:600;font-style:italic;line-height:1.55;letter-spacing:.03em;
  text-align:right;text-shadow:0 1px 5px #fff,0 0 10px #fff;
}
main .hero-reference .hero-signature span{display:inline;color:inherit;font:inherit;margin:0}
main .hero-reference .hero-copy-details{order:3;padding:22px 20px 30px}
main .hero-reference .hero-question{
  margin:0 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:14px;line-height:1.85;color:#f8f5ed;
}
main .hero-reference .hero-price-question{
  width:fit-content;max-width:100%;margin:0 0 16px;padding:0;
  border-bottom:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:24px;font-weight:600;line-height:1.5;letter-spacing:.015em;color:var(--hero-gold);
}
main .hero-reference .hero-lead{
  max-width:none;margin:0 0 22px;color:#f5f2eb;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:14px;line-height:1.95;letter-spacing:.015em;
}
main .hero-reference .hero-lead br{display:none}
main .hero-reference .hero-line-cta{
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:14px;
  width:100%;max-width:100%;min-height:68px;padding:12px 20px;border:2px solid #adfff0;border-radius:999px;
  background:#00847e;color:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:22px;font-weight:600;line-height:1.4;letter-spacing:.01em;
  box-shadow:0 0 22px rgb(0 217 189 / 30%),inset 0 0 16px rgb(129 255 231 / 18%);
  white-space:nowrap;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease;
}
main .hero-reference .hero-line-cta:hover{background:#00736f;transform:none;box-shadow:0 0 24px rgb(0 217 189 / 40%)}
main .hero-reference .hero-line-cta:focus-visible{outline:3px solid #f2d18b;outline-offset:6px}
main .hero-reference .hero-line-cta>span{flex:none;white-space:nowrap}
main .hero-reference .hero-line-cta img{display:block;flex:none;object-fit:contain;margin:0}
main .hero-reference .hero-line-icon{width:40px;height:40px}
main .hero-reference .hero-line-cta .hero-cta-arrow{width:24px;height:24px;filter:brightness(0) invert(1)}
main .hero-reference .hero-cta-note{margin:12px 0 0;text-align:center;font-size:12px;line-height:1.8;color:#e0eaf1}
@media(max-width:640px){
  main .hero-reference .hero-title{font-size:28px;letter-spacing:-.02em}
  main .hero-reference .hero-title-opening{font-size:1em}
  main .hero-reference .hero-title strong{font-size:1em;white-space:nowrap}
  main .hero-reference .hero-signature{text-shadow:0 2px 5px rgba(0,0,0,.65)}
}
@media(min-width:375px) and (max-width:399px){
  main .hero-reference .hero-title{margin-inline:calc((100vw - 400px) / 2)}
}
@media(min-width:641px){
  main .hero-reference .hero-eyebrow,
  main .hero-reference .hero-title,
  main .hero-reference .hero-question,
  main .hero-reference .hero-price-question,
  main .hero-reference .hero-lead,
  main .hero-reference .hero-cta-note{text-shadow:0 2px 6px rgb(3 20 40 / 60%)}
  main .hero-reference{display:block}
  main .hero-reference .hero-visual{position:absolute;inset:0;z-index:-1;width:100%;height:100%}
  main .hero-reference .hero-visual img{object-position:64% center}
  main .hero-reference .hero-reference-inner{display:flex;align-items:center;max-width:1800px;min-height:650px;padding:44px 5% 48px}
  main .hero-reference .hero-copy{display:block;width:65%;max-width:1010px}
  main .hero-reference .hero-intro{padding:0}
  main .hero-reference .hero-eyebrow{font-size:clamp(13px,1.45vw,23px);line-height:1.65;margin-bottom:20px;letter-spacing:.035em}
  main .hero-reference .hero-title{font-size:clamp(32px,4.12vw,69px);line-height:1.48;letter-spacing:.005em}
  main .hero-reference .hero-title-opening{font-size:1em}
  main .hero-reference .hero-title strong{white-space:nowrap}
  main .hero-reference .hero-copy-details{padding:24px 0 0;max-width:690px}
  main .hero-reference .hero-question{font-size:clamp(14px,1.4vw,23px);margin-bottom:10px;line-height:1.7}
  main .hero-reference .hero-price-question{font-size:clamp(25px,2.35vw,38px);margin-bottom:20px}
  main .hero-reference .hero-lead{font-size:clamp(14px,1.25vw,20px);max-width:38em;margin-bottom:26px;line-height:1.9}
  main .hero-reference .hero-lead br{display:initial}
  main .hero-reference .hero-line-cta{width:fit-content;min-width:min(100%,clamp(300px,33vw,550px));min-height:clamp(74px,6.3vw,106px);padding:14px clamp(14px,2vw,26px);gap:clamp(14px,1.6vw,26px);font-size:clamp(22px,2.25vw,36px)}
  main .hero-reference .hero-line-icon{width:clamp(40px,3.25vw,54px);height:clamp(40px,3.25vw,54px)}
  main .hero-reference .hero-line-cta .hero-cta-arrow{width:clamp(24px,2.1vw,34px);height:clamp(24px,2.1vw,34px)}
  main .hero-reference .hero-cta-note{width:clamp(300px,33vw,550px);font-size:clamp(12px,1.08vw,18px)}
  main .hero-reference .hero-signature{right:3.5%;bottom:5.5%;font-size:clamp(20px,2.05vw,34px);line-height:1.6}
}
@media(min-width:1000px){
  main .hero-reference .hero-title strong>.hero-title-phrase:last-child,
  main .hero-reference .hero-cta-note{text-shadow:0 2px 6px rgba(3,20,40,.65)}
}
/* Match the supplied 1672 × 941 composition on desktop; keep mobile's separate image row. */
@media(min-width:1200px){main .hero-reference .hero-reference-inner{min-height:clamp(660px,56.28vw,941px);padding-top:54px;padding-bottom:56px}}
@media(min-width:641px) and (max-width:900px){
  main .hero-reference .hero-reference-inner{min-height:630px;padding-inline:4%}
  main .hero-reference .hero-copy{width:68%}
  main .hero-reference .hero-copy-details{max-width:85%}
  main .hero-reference .hero-visual img{object-position:58% center}
  main .hero-reference .hero-eyebrow{font-size:13px}
}
@media(max-width:374px){
  main .hero-reference .hero-title strong{white-space:normal}
  main .hero-reference .hero-price-question{font-size:22px}
  main .hero-reference .hero-line-cta{gap:10px;padding-inline:14px;font-size:20px}
}
@media(max-width:319px){
  main .hero-reference .hero-line-cta{gap:4px;padding-inline:4px}
}
@media(prefers-reduced-motion:reduce){main .hero-reference .hero-line-cta{transition:none}}
