/* Hero refinement: reference section-01-hero-v1.png. Scope: header, hero, benefit strip. */
.header{height:80px;border-bottom:0;background:#fff}
.header .wrap{width:min(1512px,calc(100% - 96px))}
.header .logo{width:326px;height:78px}
.header .nav{font-size:15px;gap:30px}
.header .nav .button{min-height:48px;padding:12px 28px;font-size:16px;border-radius:40px;background:var(--contact-accent);color:#fff;border:0}
.hero{isolation:isolate;background:linear-gradient(110deg,#fff 9%,#f9fdff 36%,#e2f8fc 74%,#a9e3ed 100%);overflow:hidden}
.hero .hero-layout{position:relative;z-index:2;display:block;width:min(1512px,calc(100% - 120px));padding:40px 0 23px;margin:auto}
.hero-copy{width:52%;position:relative}
.hero .hero-intro{position:relative;display:inline-block;font-size:clamp(14px,1.23vw,20px);font-weight:700;margin-bottom:28px;padding-bottom:13px;line-height:1.5;color:#092248}
.hero-intro:after{content:"";position:absolute;width:48px;height:3px;background:#009b9f;left:0;bottom:0}
.hero h1{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:900;font-size:clamp(44px,4.2vw,70px);letter-spacing:-.04em;line-height:1.28;color:#061e43;margin:0}
.hero h1>span{display:block;white-space:nowrap}
.hero h1 em{display:block;font-size:1.21em;line-height:1.24;color:#008f96;letter-spacing:-.04em}
.hero .hero-description{margin-top:21px;font-size:clamp(14px,1.22vw,19px);line-height:1.72;color:#092248;font-weight:500}
.hero-description>span{display:block}
.hero-points{display:grid;grid-template-columns:1fr 1.12fr 1.05fr;gap:12px;margin:19px 0 16px}
.hero-points>div{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 9px;min-height:59px;border-radius:12px;background:#fff9;box-shadow:inset 0 2px 8px #cae6f680;border:1px solid #d8edf5;color:#092248;font-size:clamp(12px,1.01vw,17px);font-weight:700;line-height:1.35;white-space:nowrap}
.hero-points .icon{color:#00a29f;width:34px;height:34px;stroke-width:1.9}
.hero-points small{display:block;text-align:center;font-size:.88em}
.hero .hero-form{margin:0}
.sr-only,.hero .check-form label.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:-1px;border:0}
.hero .hero-form .form-row{display:grid;grid-template-columns:1.05fr 1fr;gap:11px}
.hero-input{display:flex;align-items:center;min-width:0;background:#fff;border:1.5px solid #a9bfdc;border-radius:13px;padding:0 14px;gap:11px;box-shadow:0 2px 5px #a4c2d20b}
.hero-input>.icon{width:27px;height:27px;color:#7394bb}
.hero .hero-input input{height:58px;background:transparent;border:0;box-shadow:none;outline-offset:0;border-radius:5px;padding:10px 0;width:100%;min-width:0;font-size:clamp(15px,1.38vw,21px)}
.hero .hero-input input::placeholder{color:#758ba8;opacity:1}
.hero-input:focus-within{outline:3px solid #008892;outline-offset:3px}
.hero-input input:focus-visible{outline:none}
.hero .hero-form .button{margin:0;width:100%;border:0;border-radius:40px;background:linear-gradient(165deg,#00aaa8 4%,#00848e 74%,#007782);box-shadow:0 6px 14px #008c9618;min-height:60px;padding:13px 16px;gap:13px;font-size:clamp(15px,1.36vw,22px);white-space:nowrap}
.hero .hero-form .button:hover{background:#006f7b}
.header .nav .button:hover{background:var(--contact-hover);color:#fff}
.header .nav .button:focus-visible{outline:3px solid var(--accent-ink);outline-offset:4px}
.hero .hero-form .button:active{transform:translateY(1px)}
.hero-sample{display:flex;align-items:center;justify-content:center;gap:22px;width:fit-content;min-width:310px;padding:5px 29px;min-height:38px;border:1.5px solid #112d5a;border-radius:30px;color:#08234f;background:#ffffffbc;font-weight:700;font-size:15px;line-height:1.5;margin:9px auto 0}
.hero-sample:hover{background:#edf9fb}
.hero-sample>span{font-size:22px}
.hero-notes{font-size:11px;text-align:center;color:#36537a;margin-top:9px;line-height:1.7}
.hero-notes small{display:block;font-size:10px;color:#526d88}
.hero .hero-art{position:absolute;z-index:0;inset:0 0 0 auto;width:56%;height:100%;aspect-ratio:auto;border-radius:0;margin:0;background-image:url('assets/hero.png');background-size:auto 123.65%;background-position:right 45.56%;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%);mask-image:linear-gradient(to right,transparent 0%,#000 13%)}
/* Keep the artwork's right-hand crop and align it with the bounded content on wide screens. */
.hero .hero-art{top:50%;right:max(0px,calc((100% - 1680px)/2));bottom:auto;width:min(53%,872px);height:auto;aspect-ratio:872/761;transform:translateY(-50%);background-size:191.74% 123.65%;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%);mask-image:linear-gradient(to right,transparent,#000 12%)}
.hero-copy{width:50%}
.trust-strip{background:linear-gradient(180deg,#fff,#fcfdff);border-bottom:1px solid #e8eff5}
.trust-strip .wrap{width:min(1512px,calc(100% - 120px))}
.trust-inner{padding:23px 0}
.trust-inner>div{padding:0 32px;gap:23px;font-size:16px;line-height:1.7;font-weight:600;color:#15375a;border-color:#c5d4e3}
.trust-inner>div:first-child{padding-left:5px}
.trust-inner>div:last-child{padding-right:0}
.trust-inner .icon{width:45px;height:45px;color:#1876b3;stroke-width:1.65}
@media(max-width:1200px) and (min-width:901px){.header .nav{gap:18px;font-size:13px}.header .logo{width:265px}.header .nav .button{font-size:13px;padding:10px 18px}.hero .hero-layout{width:calc(100% - 72px);padding-top:32px}.hero-copy{width:53%}.hero h1{font-size:4.3vw}.hero-points{gap:7px}.hero-points>div{font-size:11px;gap:5px;padding:8px 5px}.hero-points .icon{width:27px;height:27px}.hero .hero-description{font-size:1.22vw}.hero .hero-form .button{font-size:14px;gap:6px;padding:11px}.hero .hero-input input{font-size:15px}.hero-input{padding:0 10px;gap:7px}.hero-input>.icon{width:23px}.trust-strip .wrap{width:calc(100% - 72px)}.trust-inner>div{font-size:13px;gap:14px;padding:0 22px}.trust-inner .icon{width:37px;height:37px}}
@media(max-width:900px){.header{height:72px}.header .wrap{width:calc(100% - 40px)}.header .logo{width:245px;height:68px}.header .nav>a:not(.button){display:none}.header .nav .button{font-size:13px;min-height:42px;padding:9px 19px}.hero .hero-layout{width:calc(100% - 64px);padding:30px 0 28px}.hero-copy{width:min(620px,100%);margin:auto}.hero .hero-art{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:917/761;background-size:182.33% 123.65%;background-position:100% 45.56%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%);mask-image:linear-gradient(to bottom,transparent,#000 9%);order:2}.hero{display:flex;flex-direction:column;background:linear-gradient(135deg,#fff 30%,#eefbff)}.hero .hero-layout{order:1}.hero h1{font-size:clamp(34px,6.1vw,55px)}.hero .hero-intro{font-size:16px;margin-bottom:22px}.hero .hero-description{font-size:16px}.hero-points>div{font-size:14px}.hero .hero-form .button{font-size:18px}.hero .hero-input input{font-size:19px}.hero-points .icon{width:32px;height:32px}.hero-notes{font-size:11px}.trust-strip .wrap{width:calc(100% - 48px)}.trust-inner{grid-template-columns:repeat(3,1fr);padding:22px 0}.trust-inner>div{font-size:11px;gap:10px;padding:0 15px;border-bottom:0;border-right:1px solid #c5d4e3}.trust-inner .icon{width:30px;height:30px}}
@media(max-width:520px){.header .wrap{width:calc(100% - 28px)}.header .logo{width:210px;height:65px}.header .nav .button{font-size:11px;padding:10px 13px;min-height:40px}.header .nav .button>span{display:none}.hero .hero-layout{width:calc(100% - 36px);padding:25px 0 18px}.hero .hero-intro{font-size:12px;padding-bottom:11px;margin-bottom:19px}.hero h1{font-size:7.7vw;line-height:1.32}.hero h1 em{font-size:1.3em;line-height:1.28}.hero .hero-description{font-size:12px;line-height:1.85;margin-top:17px;letter-spacing:-.025em}.hero-points{gap:6px;margin:15px 0 13px;grid-template-columns:1fr 1.12fr 1fr}.hero-points>div{font-size:10px;gap:4px;min-height:52px;padding:7px 4px;border-radius:8px}.hero-points .icon{width:23px;height:23px}.hero .hero-form .form-row{grid-template-columns:1fr;gap:9px}.hero .hero-input input{height:48px;font-size:17px}.hero-input{padding:0 14px;border-radius:9px}.hero .hero-form .button{min-height:51px;font-size:17px;gap:15px;padding:11px 18px}.hero-sample{font-size:13px;min-width:0;width:88%;padding:6px 18px;min-height:37px;margin-top:9px}.hero-notes{font-size:9px;line-height:1.7;margin-top:9px;white-space:normal}.hero-notes small{font-size:9px}.hero .hero-art{margin-top:-2px}.trust-strip .wrap{width:calc(100% - 36px)}.trust-inner{grid-template-columns:1fr;padding:6px 0}.trust-inner>div,.trust-inner>div:first-child,.trust-inner>div:last-child{padding:13px 8px;gap:20px;border-right:0;border-bottom:1px solid #dce6ee;font-size:13px}.trust-inner>div:last-child{border-bottom:0}.trust-inner .icon{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.hero .hero-form .button:active{transform:none}}
@media(max-width:900px){.hero-copy{width:min(620px,100%)}.hero .hero-art{top:auto;transform:none;width:100%;aspect-ratio:872/761;background-size:191.74% 123.65%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%);mask-image:linear-gradient(to bottom,transparent,#000 8%)}}
@media(min-width:901px){.hero .hero-art{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}}


/* Keep navigation available throughout the long LP without covering anchor targets. */
:root{--site-header-height:80px}
html{scroll-padding-top:calc(var(--site-header-height) + 18px)}
.header{position:sticky;top:0;z-index:60;box-shadow:0 3px 12px #081e3610}
@media(max-width:900px){:root{--site-header-height:72px}}
@media print{.header{position:static;box-shadow:none}}
