/* Four client-requested components, September 2026. */
.hero-staff{content:url('assets/character-hero-suit-v1.png')}
.line-staff{content:url('assets/character-line-suit-v1.png')}
/* Keep WEB and LINE as parallel header actions on narrow screens. */
@media(max-width:600px){
  .header-inner{gap:5px;padding:7px 10px}
  .logo{width:58px}
  .header-actions{gap:4px;min-width:0}
  .site-header .phone{font-size:12px;line-height:1;min-width:0}
  .site-header .phone .num{white-space:nowrap}
  .site-header .btn-line{display:inline-flex}
  .site-header .btn{min-height:34px;padding:7px 8px;font-size:11px;white-space:nowrap}
}
.info-bar--primary{padding:22px 16px;color:var(--navy)}
.info-bar--primary p{font-size:clamp(17px,4.6vw,28px);font-weight:900;line-height:1.55}
.info-bar--primary strong{display:block;font-size:clamp(25px,7vw,42px);line-height:1.4}
.free-benefits{background:#fff;border-bottom:1px solid var(--line)}
.free-inner{max-width:var(--max);margin:auto;padding:28px 18px 32px}
.free-context{margin:0 0 6px;text-align:center;color:var(--muted);font-size:14px;font-weight:700}
.free-inner h2{text-align:center;font-size:18px;line-height:1.6}
.free-inner h2 strong{display:block;color:var(--red);font-size:28px;font-weight:900}
.free-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0;padding:0}
.free-grid li{overflow:hidden;text-align:center;border:2px solid var(--yellow);border-radius:9px;background:#fffaf0}
.free-grid li>span{display:block;padding:6px 4px;background:var(--yellow);color:var(--navy);font-size:16px;font-weight:900}
.free-grid li>strong{display:block;padding:6px 4px 10px;font-size:32px;line-height:1.35;color:#d62c2c;font-weight:900}
.makers .section-head{margin-bottom:30px}
.makers .maker-title{margin:0;padding:16px 4px;text-align:center;font-size:clamp(27px,7.4vw,42px);line-height:1.3;color:var(--navy);border-top:4px solid var(--yellow);border-bottom:4px solid var(--yellow);font-weight:900}
.makers .maker-title+h3{margin-top:22px}
.flow-cta{padding:32px 16px;background:var(--navy)}
.flow-cta-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:18px 8px;align-items:center;max-width:960px;margin:auto;padding:22px 14px 18px;border-radius:16px;background:var(--yellow);overflow:hidden}
.flow-cta-heading{position:relative;z-index:1}
.flow-cta-label{font-size:12px;font-weight:900;color:var(--navy);margin-bottom:8px}
.flow-cta-heading h2{font-size:clamp(21px,5.8vw,27px);line-height:1.5;letter-spacing:-.04em;color:var(--navy);font-weight:900}
.flow-cta-caption{margin-top:10px;font-size:13px;line-height:1.7;color:var(--navy)}
.flow-cta-portrait{align-self:center;overflow:hidden;width:100%;aspect-ratio:3/4;border:4px solid white;border-radius:80px;background:#f4f5f7}
.flow-cta-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:none}
.flow-cta-phone{grid-column:1/-1;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:13px 6px;background:#fff;border:2px solid var(--navy);border-radius:12px;text-decoration:none;box-shadow:0 4px 0 #d2a119;color:var(--navy)}
.flow-phone-label{font-size:14px;font-weight:900}
.flow-cta-phone .num{font-family:Arial,sans-serif;font-size:clamp(29px,8vw,40px);font-weight:900;line-height:1.45;white-space:nowrap}
.flow-phone-hours{font-size:13px}
.flow-cta-phone:hover{background:#fffaf0}
@media(min-width:601px){
 .free-inner{padding:32px 30px 36px}
 .free-inner h2{font-size:22px}.free-inner h2 strong{display:inline;margin-left:12px;font-size:32px}
 .free-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.free-grid li>span{font-size:18px}.free-grid li>strong{font-size:36px}
 .flow-cta{padding:40px 30px}.flow-cta-card{grid-template-columns:minmax(0,1fr) 210px;gap:20px 30px;padding:28px 32px}
 .flow-cta-heading h2{font-size:32px}.flow-cta-label{font-size:15px}.flow-cta-caption{font-size:16px}
 .flow-cta-portrait{grid-column:2;grid-row:1/3;height:280px;border-radius:120px}
 .flow-cta-phone{grid-column:1;grid-row:2}.flow-cta-phone .num{font-size:38px}
}
@media(min-width:1000px){
 .flow-cta-card{grid-template-columns:minmax(0,1fr) 250px;gap:18px 48px;padding:32px 48px}
 .flow-cta-heading h2{font-size:36px}.flow-cta-heading h2 br{display:none}
 .flow-cta-portrait{height:320px}.flow-cta-caption br{display:none}
 .flow-cta-phone .num{font-size:46px}.flow-phone-label{font-size:17px}.flow-phone-hours{font-size:14px}
}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer-privacy{display:inline-block;color:#fff;text-underline-offset:4px;font-size:14px;font-weight:700}
.flow-title-break{display:none}
@media(max-width:340px){.flow-title-break{display:inline}}
@media(max-width:600px){.line-staff{width:126px;height:126px;margin-bottom:12px}.line-copy h3{font-size:19px;line-height:1.45;letter-spacing:-.03em}}
.hero-staff{content:url('assets/character-hero-suit-v2.png');object-fit:contain;object-position:right bottom}
/* Mobile follows the approved art direction: the staff enters from the right and her guiding hand may intentionally overlap the red offer, while the headline remains legible. */
@media(max-width:600px){.hero-staff{content:url('assets/character-hero-suit-v2.png');right:0;top:56px;width:71vw;height:428px;object-position:right bottom;clip-path:none}}
@media(min-width:601px){.hero-staff{right:24px;top:auto;bottom:0;width:430px;height:100%}}
/* Match the approved visible portrait scale and intentional crop at the PC hero boundary. */
@media(min-width:1000px){.hero-staff{right:max(0px,calc((100vw - 1440px)/2 + 250px));top:auto;bottom:-107px;width:660px;height:100%}.line-staff{width:150px;height:150px}.cta-phone .cta-staff{display:none}}
