:root{--blue:#0069e8;--navy:#062858;--orange:#ff6b00;--line:#06a83b;--pale:#f4f9ff;--border:#dbe8f6;--shadow:0 16px 40px rgba(4,46,101,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:'Noto Sans JP',sans-serif;line-height:1.75;background:#fff}a{color:inherit;text-decoration:none}.header{height:76px;display:flex;align-items:center;gap:32px;padding:0 max(24px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);box-shadow:0 1px 14px rgba(3,42,90,.08)}.brand{display:flex;align-items:center;gap:9px;font-weight:900;white-space:nowrap}.brand__mark{font-size:27px;line-height:1;font-style:italic;color:#fff;background:linear-gradient(135deg,#0288ff,#064eb9);padding:7px 9px;border-radius:5px;letter-spacing:-3px}.brand__name{font-size:20px;letter-spacing:.04em}.nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}.nav a:hover{color:var(--blue)}.header__tel{display:flex;flex-direction:column;background:var(--orange);color:#fff;padding:9px 18px;border-radius:0 0 10px 10px;text-align:center;line-height:1.25}.header__tel span{font-weight:800}.header__tel small{font-size:10px}.menu{display:none;border:0;background:none;padding:8px}.menu span{display:block;width:26px;height:2px;margin:5px;background:var(--navy)}.hero{overflow:hidden;background:linear-gradient(115deg,#eff9ff 0,#fff 50%,#e6f5ff 100%)}.hero__inner{max-width:1240px;min-height:650px;margin:auto;display:grid;grid-template-columns:54% 46%;position:relative}.hero__copy{padding:62px 18px 46px 42px;z-index:2}.hero__label{display:inline-block;margin:0 0 12px;padding:6px 20px;background:var(--blue);color:#fff;font-weight:800;border-radius:30px}.hero h1{margin:0;font-size:clamp(42px,5vw,65px);line-height:1.25;letter-spacing:.01em;font-weight:900}.hero h1 em{font-style:normal;color:var(--blue)}.hero__assurance{display:flex;align-items:center;gap:15px;font-size:22px;font-weight:800;margin:18px 0 6px}.hero__assurance:before,.hero__assurance:after{content:'✦';color:#e1ae12}.hero__lead{font-size:13px;max-width:570px}.hero__visual{background:url('assets/hero-family.jpg') center/cover no-repeat;position:relative;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.hero__visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 28%)}.hero__seal{position:absolute;right:24px;bottom:48px;z-index:1;width:132px;height:132px;border-radius:50%;background:white;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--blue);line-height:1.4;border:7px solid #fff;outline:2px solid #f0c84f}.hero__seal small{font-weight:700}.hero__seal strong{font-size:27px}.cta-row{display:flex;gap:16px;margin:22px 0 18px}.button{min-width:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:10px;padding:12px 20px;box-shadow:0 5px 10px rgba(0,0,0,.12);line-height:1.35;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.05)}.button b{font-size:18px}.button small{font-size:11px}.button--line{background:linear-gradient(135deg,#00b942,#008b30)}.button--orange{background:linear-gradient(135deg,#ff8b1a,#ff5b00)}.hero__points{list-style:none;display:flex;gap:9px;padding:0;margin:0}.hero__points li{font-size:12px;font-weight:700;padding:8px 15px;border:1px solid #bcd7f6;background:white;border-radius:8px;color:#084b9a}.hero__points li:before{content:'✓';margin-right:6px;color:var(--blue)}.section{padding:88px 24px}.heading{text-align:center;margin:0 auto 42px;max-width:800px}.heading p{color:var(--blue);font-weight:900;font-size:12px;letter-spacing:.25em;margin:0}.heading h2{font-size:clamp(26px,3.2vw,40px);line-height:1.4;margin:6px 0 8px}.heading span{font-size:14px;color:#5a718c}.case-grid,.reason-grid,.flow-grid,.faq-grid,.shop__card{max-width:1120px;margin:auto}.cases{background:linear-gradient(#fff,#f6faff)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-grid article{min-height:130px;border:1px solid var(--border);border-radius:14px;background:#fff;display:flex;align-items:center;gap:22px;padding:22px;box-shadow:0 8px 24px rgba(0,65,140,.06)}.case-grid i{font-style:normal;background:#eaf4ff;color:var(--blue);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:900}.case-grid b{font-size:15px}.notice{text-align:center;font-size:11px;color:#71839a;margin:22px 0 0}.reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.reason-grid article{min-height:145px;display:flex;align-items:center;position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--border);background:#fff var(--bg) center/cover no-repeat;padding:26px;box-shadow:0 7px 23px rgba(0,54,120,.06)}.reason-grid article:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 12%,rgba(255,255,255,.92) 64%,rgba(255,255,255,.15))}.reason-grid article>*{position:relative}.reason-grid article>span{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;font-weight:900;margin-right:18px}.reason-grid h3{font-size:18px;margin:0;color:var(--orange)}.reason-grid p{font-size:12px;margin:5px 0;max-width:330px}.flow{background:linear-gradient(135deg,#07366d,#0069dd)}.heading--light{color:white}.heading--light p{color:#7ec7ff}.heading--light span{color:#cce7ff}.flow-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.flow-grid li{position:relative;background:#fff;border-radius:14px;padding:30px 24px;text-align:center;display:flex;flex-direction:column;min-height:210px}.flow-grid li:not(:last-child):after{content:'›';position:absolute;right:-14px;top:42%;z-index:2;color:#fff;background:var(--orange);width:28px;height:28px;border-radius:50%;line-height:25px;font-size:26px}.flow-grid i{font-style:normal;color:var(--blue);font-weight:900}.flow-grid b{font-size:20px;margin:10px 0}.flow-grid span{font-size:12px;color:#5b6f86;text-align:left}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq details{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.faq summary{padding:17px 48px 17px 20px;font-size:14px;font-weight:700;cursor:pointer;position:relative;list-style:none}.faq summary:before{content:'Q.';color:var(--blue);margin-right:10px}.faq summary:after{content:'＋';position:absolute;right:18px;color:var(--blue)}.faq details[open] summary:after{content:'−'}.faq details p{margin:0;padding:0 22px 18px 52px;color:#61758d;font-size:13px}.shop{background:#f5faff}.shop__card{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:24px;align-items:center;padding:24px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.shop__map{height:220px;border-radius:12px;background:linear-gradient(35deg,transparent 45%,#d4e7cc 46% 50%,transparent 51%),linear-gradient(-30deg,#eff3ed 45%,#d1e8f1 46% 51%,#f4f3e8 52%);display:grid;place-items:center;color:var(--blue)}.shop__map span{font-size:45px;line-height:1}.shop__map small{position:absolute;margin-top:58px;font-weight:900}.shop__info>p{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.2em;margin:0}.shop__info h2{margin:0;font-size:25px}.shop__info address{font-style:normal;font-size:14px}.shop__info a{display:block;color:var(--blue);font-size:27px;font-weight:900}.shop__info small{display:block}.shop img{width:100%;height:220px;object-fit:cover;border-radius:12px}.contact{padding:76px 24px;background:#062858;color:white;display:flex;align-items:center;justify-content:center;gap:70px}.contact p{color:#7dc8ff;font-weight:800}.contact h2{font-size:30px;line-height:1.5;margin:0}.contact .cta-row{margin:0}footer{text-align:center;padding:54px 24px 105px;background:#031d3e;color:white}.brand--footer{justify-content:center}.brand--footer .brand__name{font-size:22px}footer p{font-size:13px;color:#a8c3e3}footer small{color:#7592b5}.fixed-cta{display:none}
@media(max-width:900px){.header{height:64px;padding:0 18px}.brand__name{font-size:16px}.brand__mark{font-size:21px}.header__tel{display:none}.menu{display:block;margin-left:auto}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;box-shadow:var(--shadow);padding:8px 20px 20px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:13px;border-bottom:1px solid var(--border)}.hero__inner{grid-template-columns:1fr;min-height:auto}.hero__copy{padding:42px 24px 28px}.hero__visual{min-height:420px;clip-path:none;background-position:center}.hero__visual:after{background:linear-gradient(#fff,transparent 25%)}.hero__seal{bottom:25px}.case-grid{grid-template-columns:repeat(2,1fr)}.reason-grid{grid-template-columns:1fr}.flow-grid{grid-template-columns:repeat(2,1fr)}.flow-grid li:nth-child(2):after{display:none}.shop__card{grid-template-columns:1fr 1fr}.shop img{grid-column:1/-1}.contact{flex-direction:column;text-align:center;gap:25px}.contact .cta-row{justify-content:center}}
@media(max-width:600px){body{padding-bottom:64px}.section{padding:64px 18px}.hero h1{font-size:37px}.hero__assurance{font-size:17px}.hero__copy{padding-left:20px;padding-right:20px}.hero__visual{min-height:360px;background-position:57% center}.hero__seal{width:105px;height:105px;right:14px}.hero__seal strong{font-size:22px}.cta-row{flex-direction:column}.button{width:100%;min-width:0}.hero__points{display:grid;grid-template-columns:repeat(3,1fr)}.hero__points li{text-align:center;padding:8px 3px;font-size:10px}.case-grid{grid-template-columns:1fr}.case-grid article{min-height:100px}.reason-grid article{min-height:165px;padding:20px}.reason-grid h3{font-size:16px}.flow-grid{grid-template-columns:1fr}.flow-grid li{min-height:0}.flow-grid li:after{display:none!important}.faq-grid{grid-template-columns:1fr}.shop__card{grid-template-columns:1fr;padding:14px}.shop__map,.shop img{height:190px}.shop img{grid-column:auto}.contact h2{font-size:23px}.contact .cta-row{width:100%}.fixed-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;box-shadow:0 -5px 20px rgba(0,0,0,.15)}.fixed-cta a{padding:15px 5px;text-align:center;color:white;font-weight:800;font-size:14px}.fixed-cta a:first-child{background:var(--line)}.fixed-cta a:last-child{background:var(--orange)}}

/* Official logo */
.brand{width:250px;height:64px;overflow:hidden;flex:0 0 250px}
.brand img{display:block;width:250px;height:64px;object-fit:contain;object-position:left center}
.brand--footer{width:280px;height:82px;flex-basis:auto;margin:0 auto 22px;background:#fff;border-radius:12px}
.brand--footer img{width:280px;height:82px;object-position:center}
.footer__operator{margin:8px 0;color:#d9e8f8;font-weight:700}
.footer__links{display:flex;justify-content:center;gap:24px;margin:14px 0 20px}
.footer__links a{color:#d9e8f8;text-decoration:underline;text-underline-offset:4px}
.footer__links a:hover{color:#fff}

/* Clear, text-first reasons layout */
.reasons{background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%)}
.reason-grid{gap:24px}
.reason-grid article{min-height:220px;align-items:flex-start;padding:34px 32px;background:#fff!important;border:0;border-top:5px solid var(--blue);box-shadow:0 14px 38px rgba(5,59,126,.11)}
.reason-grid article:before{display:none}
.reason-grid article>span{flex:0 0 64px;width:64px;height:64px;margin-right:24px;border-radius:18px;background:linear-gradient(135deg,#087dff,#0053c7);box-shadow:0 8px 18px rgba(0,105,232,.24);font-size:20px}
.reason-grid article>div{position:relative;z-index:1}
.reason-grid h3{margin:4px 0 12px;color:var(--navy);font-size:21px;line-height:1.55}
.reason-grid h3:after{content:"";display:block;width:48px;height:3px;margin-top:12px;background:var(--orange);border-radius:4px}
.reason-grid p{max-width:none;margin:0;color:#405873;font-size:16px;line-height:1.9}

/* All readable text is at least 16px */
body{font-size:16px}
body :where(p,span,small,a,li,summary,address,dt,dd,label,input,select,textarea,button){font-size:max(16px,1em)}

@media(max-width:1100px){.brand{width:210px;flex-basis:210px}.brand img{width:210px}.nav{gap:14px}}
@media(max-width:900px){.brand{width:190px;height:58px;flex-basis:190px}.brand img{width:190px;height:58px}}
@media(max-width:600px){.brand{width:175px;height:54px;flex-basis:175px}.brand img{width:175px;height:54px}.reason-grid article{min-height:0;padding:26px 22px;display:grid;grid-template-columns:54px 1fr;gap:18px}.reason-grid article>span{width:54px;height:54px;margin:0;border-radius:15px}.reason-grid h3{margin-top:0;font-size:19px}.reason-grid p{line-height:1.8}.brand--footer{width:260px;height:76px}.brand--footer img{width:260px;height:76px}.footer__links{flex-direction:column;gap:8px}}

/* Reasons: overview -> visual -> details */
.reason-grid article{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto 1fr;column-gap:24px;row-gap:20px}
.reason-grid article>span{grid-column:1;grid-row:1;margin:0}
.reason-grid article>h3{grid-column:2;grid-row:1;align-self:center;margin:0}
.reason-grid article>figure{grid-column:1/-1;grid-row:2;margin:0;overflow:hidden;border-radius:14px;background:#eaf3ff}
.reason-grid article>figure img{display:block;width:100%;height:180px;object-fit:cover}
.reason-grid article>p{grid-column:1/-1;grid-row:3;margin:0}

/* Enforce the requested 16px minimum across every content section. */
body :where(p,span,small,a,li,summary,address,dt,dd,label,input,select,textarea,button){font-size:16px!important}
.case-grid i,.flow-grid i,.notice{font-size:16px!important}
.case-grid b{font-size:21px;line-height:1.55}

@media(max-width:600px){.case-grid b{font-size:19px}.reason-grid article{grid-template-columns:54px 1fr;grid-template-rows:auto auto 1fr;column-gap:18px;row-gap:18px}.reason-grid article>figure img{height:150px}.reason-grid article>h3{font-size:19px}}

/* Hero based on the supplied campaign visual */
.hero{position:relative;background:#fff}
.hero__inner{max-width:1440px;min-height:760px;grid-template-columns:54% 46%}
.hero__copy{display:flex;flex-direction:column;justify-content:center;padding:58px 100px 54px max(42px,calc((100vw - 1360px)/2));background:#fff;border-radius:0 48% 48% 0/0 100% 100% 0;box-shadow:30px 0 60px rgba(255,255,255,.55)}
.hero__label{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:9px 24px;font-size:18px!important;box-shadow:0 7px 16px rgba(0,91,221,.22)}
.hero__label:before{content:"✓";display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff;border-radius:9px;font-weight:900}
.hero h1{font-size:clamp(46px,4.4vw,68px);line-height:1.3;letter-spacing:.015em}
.hero__assurance{margin-top:22px;font-size:22px!important}
.hero__lead{font-size:16px!important;line-height:1.8}
.hero__visual{position:absolute;top:0;right:0;bottom:0;width:62%;background:url('assets/hero-photo.png') right center/cover no-repeat;clip-path:none}
.hero__visual:after,.hero__seal{display:none}
.hero .button{min-height:86px;border-radius:14px}
.hero .button b{font-size:20px}
.hero__points li{min-height:54px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96);box-shadow:0 5px 14px rgba(0,67,148,.08)}

@media(max-width:1100px){.hero__inner{grid-template-columns:58% 42%;min-height:700px}.hero__copy{padding-right:70px}.hero h1{font-size:48px}.hero .cta-row{gap:12px}.hero .button{min-width:0;flex:1;padding-inline:12px}.hero__points{gap:4px}.hero__points li{white-space:nowrap;padding-inline:7px}.hero__points li:before{margin-right:2px}}
@media(max-width:900px){.hero{background:none}.hero__inner{display:grid;grid-template-columns:1fr;min-height:auto}.hero__copy{padding:48px 24px 38px;background:#fff;border-radius:0;box-shadow:none}.hero__visual{position:relative;inset:auto;width:100%;min-height:460px;background:url('assets/hero-photo.png') center center/cover no-repeat;order:2}.hero__visual:after{display:block;background:linear-gradient(#fff 0,rgba(255,255,255,0) 24%)}.hero h1{font-size:42px}}
@media(max-width:600px){.hero__copy{padding:38px 20px 30px}.hero h1{font-size:37px}.hero__visual{min-height:340px;background-position:74% center}.hero__label{padding:8px 16px}.hero__label:before{width:26px;height:26px}.hero__assurance{font-size:18px!important;gap:6px;white-space:nowrap}.hero .button{min-height:76px}.hero__points li{min-height:70px;padding:10px 6px}}

/* Exact supplied hero artwork on tablet/desktop; live CTA hotspots remain usable. */
.hero__desktop{position:relative;display:block;width:100%;max-width:1672px;margin:0 auto;background:#fff}
.hero__desktop>img{display:block;width:100%;height:auto}
.hero__desktop~.hero__inner{display:none}
.hero__hotspot{position:absolute;z-index:3;display:block;overflow:hidden;color:transparent!important;text-indent:-9999px;border-radius:16px}
.hero__hotspot--line{left:1%;top:63.3%;width:18.8%;height:11.4%}
.hero__hotspot--tel{left:20.6%;top:63.3%;width:18%;height:11.4%}
.hero__hotspot:focus-visible{outline:4px solid #082b63;outline-offset:4px;background:rgba(255,255,255,.12)}

@media(max-width:900px){.hero__desktop{display:none}.hero__desktop~.hero__inner{display:grid}}

/* Layered, animated hero */
.hero__desktop{display:none!important}
.hero__desktop~.hero__inner{display:grid;position:relative;max-width:1440px;min-height:760px;grid-template-columns:52% 48%;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#f8fbff 46%,#eaf7ff 100%)}
.hero__copy{position:relative;z-index:5;width:auto;min-width:0;padding:62px 48px 52px max(38px,calc((100vw - 1360px)/2));border-radius:0;background:transparent;box-shadow:none}
.hero h1{font-size:clamp(46px,4.4vw,64px);white-space:nowrap}
.hero__visual{position:relative;inset:auto;z-index:2;width:auto;min-width:0;overflow:hidden;background:none;clip-path:ellipse(86% 100% at 100% 50%)}
.hero__photo{position:absolute;inset:0;background:#fff url('assets/hero-visual-clean.png?v=20260728-clean') center/cover no-repeat;animation:heroPhotoIn 1.15s cubic-bezier(.2,.7,.2,1) .25s both}
.hero__seal{display:none}
.hero__effects{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.confetti{position:absolute;width:11px;height:18px;border-radius:2px;opacity:.72;animation:confettiDrift 7s ease-in-out infinite alternate}
.c1{left:46%;top:10%;background:#43c7ef;transform:rotate(24deg)}.c2{left:55%;top:17%;background:#ffd33d;animation-delay:-1.2s}.c3{left:66%;top:8%;background:#ff7b8d;animation-delay:-2.8s}.c4{left:76%;top:20%;background:#72d4be;animation-delay:-4s}.c5{left:88%;top:11%;background:#ff9f53;animation-delay:-5.1s}.c6{left:94%;top:26%;background:#b978e8;animation-delay:-3.3s}
.hero__balloons{position:absolute;inset:0;z-index:3;pointer-events:none}
.balloon{position:absolute;width:52px;height:66px;border-radius:52% 48% 48% 52%/58% 58% 42% 42%;box-shadow:inset -10px -12px 18px rgba(0,45,120,.14),inset 9px 10px 16px rgba(255,255,255,.5);animation:balloonFloat 5.8s ease-in-out infinite}
.balloon:after{content:"";position:absolute;left:50%;top:64px;width:1px;height:78px;background:rgba(20,70,120,.32)}
.balloon--blue{left:10%;top:8%;background:linear-gradient(135deg,#8ed4ff,#1678ed)}
.balloon--gold{left:18%;top:14%;background:linear-gradient(135deg,#ffe77a,#ffc400);animation-delay:-1.8s}
.balloon--orange{right:5%;top:17%;background:linear-gradient(135deg,#ffb27b,#ff6e34);animation-delay:-3.1s}
.hero__copy>*{animation:heroRise .72s cubic-bezier(.2,.7,.2,1) both}.hero__copy>.hero__label{animation-delay:.08s}.hero__copy>h1{animation-delay:.2s}.hero__copy>.hero__assurance{animation-delay:.36s}.hero__copy>.hero__lead{animation-delay:.46s}.hero__copy>.cta-row{animation-delay:.58s}.hero__copy>.hero__points{animation-delay:.7s}
.hero .button{transition:transform .25s ease,filter .25s ease,box-shadow .25s ease}.hero .button:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,56,130,.2)}
@keyframes heroRise{from{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes heroPhotoIn{from{opacity:0;transform:translateX(55px) scale(1.025);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes heroSealIn{from{opacity:0;transform:scale(.82) rotate(-5deg)}to{opacity:1;transform:none}}
@keyframes balloonFloat{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(7px,-18px,0) rotate(2deg)}}
@keyframes confettiDrift{0%{transform:translate3d(0,-8px,0) rotate(0)}100%{transform:translate3d(18px,22px,0) rotate(120deg)}}

@media(max-width:1100px) and (min-width:901px){.hero__desktop~.hero__inner{grid-template-columns:56% 44%;min-height:700px}.hero__copy{padding-left:34px;padding-right:28px}.hero h1{font-size:42px}.hero__visual{clip-path:ellipse(92% 100% at 100% 50%)}.balloon{transform:scale(.82)}}
@media(max-width:900px){.hero__desktop~.hero__inner{display:grid;grid-template-columns:1fr;min-height:auto}.hero__copy{padding:48px 24px 38px}.hero h1{font-size:42px;white-space:normal}.hero__visual{position:relative;width:100%;min-height:460px;clip-path:none;order:2}.hero__photo{background-position:center}.hero__seal{right:18px;bottom:20px}.hero__effects{display:none}}
@media(max-width:600px){.hero__copy{padding:38px 20px 30px}.hero h1{font-size:37px}.hero__visual{min-height:360px}.balloon{width:40px;height:52px}.balloon:after{top:50px;height:56px}.hero__seal{transform:scale(.82);transform-origin:right bottom}}
@media(prefers-reduced-motion:reduce){.hero__copy>*,.hero__photo,.hero__seal,.balloon,.confetti{animation:none!important}.hero .button{transition:none}}

/* Stable hero layout: keep copy and illustration in explicit grid tracks. */
.hero>.hero__inner{width:100%;min-height:790px;margin-inline:auto;grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:stretch}
.hero>.hero__inner>.hero__copy{grid-column:1;grid-row:1;width:100%;min-width:0;align-items:stretch;justify-content:flex-start;padding:48px 18px 42px clamp(32px,calc((100vw - 1360px)/2),52px)}
.hero>.hero__inner>.hero__copy .hero__label{align-self:flex-start;flex:0 0 auto;width:max-content;max-width:100%;white-space:nowrap}
.hero>.hero__inner>.hero__copy h1{width:100%;max-width:620px;font-size:clamp(54px,4.9vw,70px);white-space:normal;word-break:keep-all;overflow-wrap:normal}
.hero>.hero__inner>.hero__copy .cta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:620px}
.hero>.hero__inner>.hero__copy .button{width:100%;min-width:0}
.hero>.hero__inner>.hero__copy .button{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;text-align:left}
.hero>.hero__inner>.hero__copy .button:before{grid-column:1;grid-row:1/3;align-self:center;justify-self:center}
.hero>.hero__inner>.hero__copy .button--line:before{content:"LINE";display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--line);font-size:12px;font-weight:900}
.hero>.hero__inner>.hero__copy .button--orange:before{content:"☎";color:#fff;font-size:42px;line-height:1}
.hero>.hero__inner>.hero__copy .button b,.hero>.hero__inner>.hero__copy .button small{grid-column:2}
.hero>.hero__inner>.hero__copy .hero__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:620px}
.hero>.hero__inner>.hero__visual{grid-column:2;grid-row:1;width:100%;min-width:0;min-height:790px;clip-path:none}
.hero>.hero__inner>.hero__visual .hero__photo{background-position:center center}
@media(max-width:1180px) and (min-width:901px){.hero>.hero__inner{grid-template-columns:minmax(0,56%) minmax(0,44%);min-height:700px}.hero>.hero__inner>.hero__copy{justify-content:center;padding:52px 28px 46px 32px}.hero>.hero__inner>.hero__copy h1{font-size:clamp(40px,4.1vw,48px);line-height:1.3}.hero>.hero__inner>.hero__visual{min-height:700px}}
@media(max-width:900px){.hero>.hero__inner{grid-template-columns:minmax(0,1fr);min-height:auto}.hero>.hero__inner>.hero__copy{grid-column:1;grid-row:1;padding:48px 24px 38px}.hero>.hero__inner>.hero__copy h1{max-width:none;font-size:42px}.hero>.hero__inner>.hero__visual{grid-column:1;grid-row:2;min-height:460px}}
@media(max-width:600px){.hero>.hero__inner>.hero__copy{padding:38px 20px 30px}.hero>.hero__inner>.hero__copy h1{font-size:clamp(32px,9.4vw,37px);line-height:1.35}.hero>.hero__inner>.hero__copy .hero__label{white-space:normal}.hero>.hero__inner>.hero__copy .cta-row{grid-template-columns:1fr;max-width:none}.hero>.hero__inner>.hero__copy .hero__points{max-width:none}.hero>.hero__inner>.hero__visual{min-height:360px}}
@media(max-width:420px){.hero>.hero__inner>.hero__copy .hero__label{gap:6px;padding:6px 10px;font-size:16px!important;white-space:nowrap}.hero>.hero__inner>.hero__copy .hero__label:before{width:24px;height:24px}.hero>.hero__inner>.hero__copy .hero__points{grid-template-columns:1fr;gap:10px}.hero>.hero__inner>.hero__copy .hero__points li{min-height:54px;white-space:normal}}

/* Hero motion: lively balloons, cut-in, and a scroll-driven cute car */
.hero{--hero-scroll:0;position:relative}
.hero__visual{isolation:isolate}
.hero>.hero__inner>.hero__visual .hero__photo{background-position:center;background-size:cover}
.hero__photo{z-index:1;transform:scale(calc(1 + var(--hero-scroll) * .035))!important;transition:transform .08s linear}
.hero__balloons{z-index:4}
.balloon{transform-origin:50% 110%;will-change:transform;animation:balloonAdventure 2.7s cubic-bezier(.45,.05,.55,.95) infinite}
.balloon--blue{animation-duration:2.35s;animation-delay:-.4s}
.balloon--gold{animation-duration:2.85s;animation-delay:-1.65s}
.balloon--orange{animation-duration:2.2s;animation-delay:-1.05s}
.balloon:before{content:"";position:absolute;left:18%;top:12%;width:12px;height:18px;border-radius:50%;background:rgba(255,255,255,.65);transform:rotate(24deg)}
.hero__cutin{position:absolute;top:7%;right:-380px;display:flex;align-items:center;gap:14px;padding:11px 34px 11px 22px;color:#fff;background:linear-gradient(100deg,#ff7a00,#ff335f);clip-path:polygon(0 0,100% 0,92% 100%,7% 100%);box-shadow:0 10px 26px rgba(255,75,50,.28);animation:heroCutin 5.8s cubic-bezier(.22,.8,.26,1) 1.2s infinite;white-space:nowrap}
.hero__cutin span{font-size:25px;font-weight:900;font-style:italic;letter-spacing:.06em}
.hero__cutin b{font-size:13px}
.hero__speed-lines{position:absolute;right:-8%;bottom:5%;width:55%;height:44%;opacity:calc(.15 + var(--hero-scroll) * .65);background:repeating-linear-gradient(165deg,transparent 0 19px,rgba(255,255,255,.8) 20px 23px,transparent 24px 42px);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);transform:translateX(calc(var(--hero-scroll) * -8vw));filter:drop-shadow(0 0 4px rgba(0,105,232,.3))}

.hero__feature-car{position:absolute;right:40%;bottom:10%;z-index:7;width:min(34%,220px);opacity:0;transform-origin:58% 78%;transform:translate3d(calc(var(--hero-scroll) * 2vw),calc(var(--hero-scroll) * 6px),0) scale(.9);transition:opacity .55s ease;will-change:transform;filter:drop-shadow(0 12px 13px rgba(1,34,78,.25))}
.hero.is-ready .hero__feature-car{opacity:1}
.hero__feature-car img{position:relative;z-index:2;display:block;width:100%;height:auto;animation:featureCarDrive .58s ease-in-out infinite alternate;transform-origin:50% 80%}
.hero__feature-car:after{content:"";position:absolute;z-index:1;left:13%;right:5%;bottom:2%;height:12%;border-radius:50%;background:rgba(3,31,64,.25);filter:blur(9px);animation:featureCarShadow .58s ease-in-out infinite alternate}
.hero__car-trail{position:absolute;z-index:0;right:74%;height:7px;border-radius:999px;background:linear-gradient(90deg,transparent,#fff 55%,#70d1ff);opacity:calc(.18 + var(--hero-scroll) * .75);filter:drop-shadow(0 0 5px #45bfff)}
.hero__car-trail--one{top:58%;width:55%;transform:rotate(-5deg);animation:carTrailPulse .7s ease-in-out infinite}
.hero__car-trail--two{top:72%;width:76%;animation:carTrailPulse .7s ease-in-out -.3s infinite}
.hero__car-motion{position:absolute;left:38%;top:41%;z-index:5;width:61%;height:47%;pointer-events:none;overflow:visible}
.hero__drive-streak{position:absolute;right:72%;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92) 58%,#5ed4ff);filter:drop-shadow(0 0 5px rgba(34,170,255,.8));animation:heroDriveStreak 1.05s ease-out infinite}
.hero__drive-streak--one{top:42%;width:39%;animation-delay:-.15s}
.hero__drive-streak--two{top:57%;width:53%;height:4px;animation-delay:-.55s}
.hero__drive-streak--three{top:70%;width:32%;height:3px;animation-delay:-.8s}
.hero__road-dust{position:absolute;bottom:4%;width:34px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.82),rgba(216,234,246,.45) 48%,transparent 72%);filter:blur(1px);animation:heroRoadDust 1.35s ease-out infinite}
.hero__road-dust--one{left:38%;animation-delay:-.25s}
.hero__road-dust--two{left:72%;animation-delay:-.85s}
.hero__headlight-spark{position:absolute;left:70%;top:39%;width:14px;height:14px;background:radial-gradient(circle,#fff 0 18%,#fff6a9 20% 38%,rgba(255,244,130,0) 70%);filter:drop-shadow(0 0 8px #fff7a8);animation:heroHeadlightSpark 1.7s ease-in-out infinite}

@keyframes balloonAdventure{0%,100%{transform:translate3d(-4px,4px,0) rotate(-8deg) scale(1)}20%{transform:translate3d(24px,-27px,0) rotate(9deg) scale(1.07,.94)}46%{transform:translate3d(-18px,-54px,0) rotate(-7deg) scale(.94,1.08)}72%{transform:translate3d(30px,-24px,0) rotate(11deg) scale(1.06,.95)}88%{transform:translate3d(7px,-8px,0) rotate(-3deg) scale(.98,1.03)}}
@keyframes heroCutin{0%,12%{transform:translateX(0) skewX(-8deg);opacity:0}22%,55%{transform:translateX(-430px) skewX(-8deg);opacity:1}68%,100%{transform:translateX(-820px) skewX(-8deg);opacity:0}}
@keyframes featureCarDrive{from{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-8px) rotate(.7deg)}}
@keyframes featureCarShadow{from{transform:scaleX(.9);opacity:.2}to{transform:scaleX(1.06);opacity:.32}}
@keyframes carTrailPulse{0%,100%{transform-origin:right;scale:.78 1;opacity:.3}50%{scale:1.08 1;opacity:.9}}
@keyframes heroDriveStreak{0%{opacity:0;transform:translate3d(42px,0,0) scaleX(.35)}28%{opacity:.92}100%{opacity:0;transform:translate3d(-68px,0,0) scaleX(1.15)}}
@keyframes heroRoadDust{0%{opacity:0;transform:translate3d(18px,3px,0) scale(.45)}35%{opacity:.7}100%{opacity:0;transform:translate3d(-42px,-15px,0) scale(1.5)}}
@keyframes heroHeadlightSpark{0%,70%,100%{opacity:.2;transform:scale(.55) rotate(0)}78%{opacity:1;transform:scale(1.4) rotate(45deg)}86%{opacity:.35;transform:scale(.75) rotate(90deg)}}

/* Hero headline emphasis */
.hero__copy>.hero__headline{animation:none}
.hero .hero__headline-line{position:relative;display:block;width:max-content;max-width:100%;font-size:inherit!important;line-height:inherit!important;opacity:0;will-change:transform,opacity,filter;animation:heroHeadlineCutIn .72s cubic-bezier(.16,.86,.28,1) forwards}
.hero__headline-line--one{animation-delay:.16s}
.hero__headline-line--two{animation-delay:.42s;transform-origin:left}
.hero__headline-line--three{animation-delay:.7s}
.hero__headline-line--two em{position:relative;display:inline-block;padding:0 .06em;color:#0874ed;text-shadow:0 5px 18px rgba(0,105,232,.18);animation:heroKeywordPulse 2.6s ease-in-out 1.4s infinite}
.hero__headline-line--two em:after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.11em;border-radius:999px;background:linear-gradient(90deg,#ffbd19,#ff6b00);transform:scaleX(0);transform-origin:left;animation:heroKeywordUnderline .62s cubic-bezier(.2,.85,.25,1) 1.05s forwards}
.hero__assurance{position:relative;isolation:isolate;overflow:hidden;width:min(100%,470px);max-width:100%;min-height:82px;padding:11px 28px 11px 13px!important;gap:14px!important;border:2px solid #ffd75a;border-radius:18px;background:linear-gradient(120deg,#052b63 0%,#075bc4 58%,#0086eb 100%);color:#fff;box-shadow:0 12px 30px rgba(2,56,128,.25),inset 0 1px 0 rgba(255,255,255,.25);animation:heroAssurancePop .78s cubic-bezier(.17,.9,.27,1.22) 1s both,heroAssuranceGlow 2.2s ease-in-out 2s infinite!important}
.hero__assurance:before,.hero__assurance:after{content:"✦";position:absolute;z-index:3;color:#ffe368;line-height:1;pointer-events:none;animation:heroAssuranceStar 1.25s ease-in-out infinite}
.hero__assurance:before{left:9px;top:7px;font-size:13px!important}.hero__assurance:after{right:10px;bottom:9px;font-size:16px!important;animation-delay:-.62s}
.hero__assurance-icon{position:relative;z-index:2;flex:0 0 54px;width:54px;height:54px;display:grid!important;place-items:center;border-radius:15px;background:linear-gradient(145deg,#ffe36a,#ff9d00);color:#06366f!important;font-size:30px!important;font-weight:1000;line-height:1!important;box-shadow:0 7px 16px rgba(0,24,66,.28),inset 0 2px 4px rgba(255,255,255,.65);animation:heroTrustIcon 1.8s ease-in-out 1.7s infinite}
.hero__assurance-copy{position:relative;z-index:2;display:flex!important;flex-direction:column;align-items:flex-start;line-height:1.25!important}
.hero__assurance-copy small{color:#ffe477!important;font-size:11px!important;font-weight:900;letter-spacing:.19em;line-height:1.2!important}
.hero__assurance-copy strong{margin-top:4px;color:#fff;font-size:20px!important;font-weight:1000;line-height:1.35!important;letter-spacing:.01em;text-shadow:0 2px 8px rgba(0,22,60,.28);animation:heroTrustText 2.2s ease-in-out 2s infinite}
.hero__assurance-shine{position:absolute;z-index:1;top:-40%;bottom:-40%;left:-30%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);animation:heroTrustShine 3.2s ease-in-out 1.6s infinite}
.hero__copy>.cta-row{animation-delay:1.28s}
.hero__copy>.hero__points{animation-delay:1.42s}
@keyframes heroHeadlineCutIn{0%{opacity:0;transform:translate3d(-72px,0,0) skewX(-8deg);filter:blur(7px)}72%{opacity:1;transform:translate3d(7px,0,0) skewX(1deg);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes heroKeywordPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035);filter:brightness(1.08)}}
@keyframes heroKeywordUnderline{to{transform:scaleX(1)}}
@keyframes heroAssurancePop{0%{opacity:0;transform:translate3d(0,24px,0) scale(.86)}72%{opacity:1;transform:translate3d(0,-4px,0) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes heroAssuranceGlow{0%,100%{box-shadow:0 8px 24px rgba(6,40,88,.1),0 0 0 0 rgba(255,190,0,0)}50%{box-shadow:0 10px 28px rgba(6,40,88,.14),0 0 0 7px rgba(255,190,0,.12)}}
@keyframes heroAssuranceStar{0%,100%{opacity:.45;transform:scale(.72) rotate(0)}50%{opacity:1;transform:scale(1.22) rotate(22deg)}}
@keyframes heroTrustIcon{0%,100%{transform:translateY(0) rotate(0) scale(1)}45%{transform:translateY(-4px) rotate(-5deg) scale(1.07)}65%{transform:translateY(1px) rotate(3deg) scale(.98)}}
@keyframes heroTrustText{0%,100%{text-shadow:0 2px 8px rgba(0,22,60,.28)}50%{text-shadow:0 2px 8px rgba(0,22,60,.28),0 0 13px rgba(255,232,132,.46)}}
@keyframes heroTrustShine{0%,48%{left:-30%;opacity:0}58%{opacity:.9}78%{left:112%;opacity:0}100%{left:112%;opacity:0}}

@media(max-width:900px){.hero__cutin{top:auto;bottom:48%;animation-duration:6.5s}.hero__speed-lines{width:75%;height:38%}.hero__feature-car{right:30%;bottom:10%;width:min(32%,210px);transform:translate3d(calc(var(--hero-scroll) * 2vw),calc(var(--hero-scroll) * 5px),0) scale(.9)}.hero__car-motion{left:36%;top:42%;width:63%;height:45%}}
@media(max-width:600px){.hero__cutin{display:none}.hero__feature-car{right:27%;bottom:9%;width:30%;transform:translate3d(calc(var(--hero-scroll) * 1vw),calc(var(--hero-scroll) * 4px),0) scale(.9)}.hero__speed-lines{bottom:0;width:90%}.hero__car-motion{left:34%;top:43%;width:66%;height:43%}.hero__drive-streak{height:3px}.hero__headlight-spark{width:9px;height:9px}.hero__headline-line{width:auto}.hero__assurance{width:100%;justify-content:flex-start;white-space:normal!important;padding:10px 22px 10px 10px!important;font-size:16px!important}.hero__assurance-icon{flex-basis:48px;width:48px;height:48px;font-size:27px!important}.hero__assurance-copy strong{font-size:17px!important}.hero__assurance-copy small{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.hero{--hero-scroll:0!important}.hero__photo,.hero__speed-lines{transform:none!important;transition:none!important}.hero__feature-car,.hero__car-motion{display:none}.hero__cutin{display:none}.balloon{animation:none!important}}

/* Scroll motion from the second section onward */
.motion-section{position:relative;overflow:hidden;isolation:isolate}
.motion-section:before{content:"";position:absolute;z-index:-1;top:-160px;right:-160px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,132,255,.13),rgba(0,132,255,0) 68%);opacity:0;transform:translate3d(70px,-35px,0) scale(.72);transition:opacity 1.1s ease,transform 1.35s cubic-bezier(.16,.86,.28,1)}
.motion-section.is-motion-visible:before{opacity:1;transform:none}
.motion-reveal{--motion-delay:calc(var(--motion-index,0) * 90ms);opacity:0;transform:translate3d(0,46px,0) scale(.965);filter:blur(7px);transition:opacity .78s ease var(--motion-delay),transform .9s cubic-bezier(.16,.82,.25,1) var(--motion-delay),filter .78s ease var(--motion-delay)}
.motion-section.is-motion-visible .motion-reveal{opacity:1;transform:none;filter:none}
.motion-eyebrow{transform:translate3d(-52px,0,0)!important;letter-spacing:.34em!important}
.motion-section.is-motion-visible .motion-eyebrow{transform:none!important}
.motion-title{position:relative;padding-bottom:15px}
.motion-title:after{content:"";position:absolute;left:50%;bottom:0;width:min(150px,42%);height:4px;border-radius:999px;background:linear-gradient(90deg,#ffb300,#ff6b00,#087dff);box-shadow:0 0 13px rgba(0,105,232,.28);transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .72s cubic-bezier(.18,.86,.25,1) calc(var(--motion-delay) + 420ms)}
.motion-section.is-motion-visible .motion-title:after{transform:translateX(-50%) scaleX(1)}
.motion-card{transform:translate3d(0,58px,0) rotateX(7deg) scale(.95);transform-origin:50% 100%;transition-duration:.72s,.95s,.72s}
.motion-section.is-motion-visible .motion-card{transform:none}
.motion-card:after{pointer-events:none}
.motion-card:hover{transform:translateY(-7px) scale(1.012)!important;box-shadow:0 18px 38px rgba(4,54,116,.14)!important;transition-delay:0s!important}
.motion-image{overflow:hidden;transform:translate3d(55px,0,0) scale(1.055);clip-path:inset(0 100% 0 0 round 12px);transition:opacity .8s ease var(--motion-delay),transform 1.15s cubic-bezier(.16,.82,.25,1) var(--motion-delay),filter .8s ease var(--motion-delay),clip-path 1.05s cubic-bezier(.16,.82,.25,1) var(--motion-delay)}
.motion-section.is-motion-visible .motion-image{transform:none;clip-path:inset(0 0 0 0 round 12px)}
.screening-explainer.is-motion-visible .screening-explainer__inner{animation:motionPanelGlow 2.8s ease-in-out 1.1s infinite}
.contact.motion-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.1) 46%,transparent 64%);transform:translateX(-120%);animation:motionContactShine 4.2s ease-in-out 1.2s infinite}
@keyframes motionPanelGlow{0%,100%{box-shadow:0 12px 34px rgba(4,46,101,.1)}50%{box-shadow:0 18px 46px rgba(0,105,232,.2)}}
@keyframes motionContactShine{0%,52%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}
@media(max-width:600px){.motion-reveal{transform:translate3d(0,30px,0) scale(.98);filter:blur(4px)}.motion-eyebrow{transform:translate3d(-30px,0,0)!important}.motion-title{padding-bottom:11px}.motion-title:after{height:3px}.motion-card{transform:translate3d(0,38px,0) scale(.97)}}
@media(prefers-reduced-motion:reduce){.motion-section:before,.motion-section:after{display:none!important}.motion-reveal,.motion-title:after{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important;animation:none!important}.screening-explainer__inner{animation:none!important}}

/* Clean mobile motion: sharp cut-ins with calm, polished follow-through. */
.motion-section.is-motion-visible .motion-eyebrow{animation:sectionEyebrowCut .72s cubic-bezier(.2,.78,.25,1) both}
.motion-section.is-motion-visible .motion-title{animation:sectionTitleCut .76s cubic-bezier(.2,.78,.25,1) both}
.motion-section.is-motion-visible .motion-card{animation:sectionCardSlide .82s cubic-bezier(.2,.78,.25,1) both}
.motion-section.is-motion-visible .motion-image{animation:sectionImageWipe .9s cubic-bezier(.2,.78,.25,1) both}
.motion-section.is-motion-visible .button.motion-reveal,.motion-section.is-motion-visible .cta-row.motion-reveal{animation:sectionCtaLift .82s cubic-bezier(.2,.78,.25,1) both}
.motion-section.is-motion-visible .heading{position:relative}
.motion-section.is-motion-visible .heading:before,.motion-section.is-motion-visible .heading:after{content:"";position:absolute;top:50%;width:44px;height:3px;border-radius:999px;background:linear-gradient(90deg,#ffb300,#087dff);opacity:0;animation:sectionHeadingLine .75s ease-out .16s both}
.motion-section.is-motion-visible .heading:before{left:0;transform-origin:right}
.motion-section.is-motion-visible .heading:after{right:0;transform-origin:left;animation-delay:.24s}
.motion-section.is-motion-visible .motion-card:nth-child(2n){animation-name:sectionCardSlideAlt}
@keyframes sectionEyebrowCut{0%{opacity:0;transform:translate3d(-42px,0,0);filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}
@keyframes sectionTitleCut{0%{opacity:0;transform:translate3d(0,18px,0);filter:blur(2px)}72%{opacity:1;transform:translate3d(0,-3px,0);filter:none}100%{opacity:1;transform:none;filter:none}}
@keyframes sectionCardSlide{0%{opacity:0;transform:translate3d(26px,34px,0) scale(.97);filter:blur(3px)}74%{opacity:1;transform:translate3d(-2px,-3px,0) scale(1.005);filter:none}100%{opacity:1;transform:none;filter:none}}
@keyframes sectionCardSlideAlt{0%{opacity:0;transform:translate3d(-26px,34px,0) scale(.97);filter:blur(3px)}74%{opacity:1;transform:translate3d(2px,-3px,0) scale(1.005);filter:none}100%{opacity:1;transform:none;filter:none}}
@keyframes sectionImageWipe{0%{opacity:0;transform:translate3d(32px,0,0) scale(1.025);clip-path:inset(0 100% 0 0 round 12px);filter:blur(3px)}100%{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 12px);filter:none}}
@keyframes sectionCtaLift{0%{opacity:0;transform:translate3d(0,24px,0) scale(.96);filter:blur(3px)}72%{opacity:1;transform:translate3d(0,-3px,0) scale(1.01);filter:none}100%{opacity:1;transform:none;filter:none}}
@keyframes sectionHeadingLine{0%{opacity:0;transform:translate3d(0,-50%,0) scaleX(.08)}35%{opacity:.72;transform:translate3d(0,-50%,0) scaleX(1)}100%{opacity:0;transform:translate3d(0,-50%,0) scaleX(.2)}}
@media(max-width:600px){.motion-section:before{top:-80px;right:-140px;width:260px;height:260px;background:radial-gradient(circle,rgba(0,132,255,.12),rgba(0,132,255,0) 70%)}.motion-reveal{transform:translate3d(0,38px,0) scale(.97);filter:blur(3px);transition-duration:.56s,.72s,.56s}.motion-eyebrow{transform:translate3d(-44px,0,0)!important}.motion-title{padding-bottom:12px}.motion-title:after{height:3px;width:min(150px,50%);box-shadow:0 0 11px rgba(0,105,232,.28)}.motion-card{transform:translate3d(24px,42px,0) scale(.96);box-shadow:0 10px 24px rgba(4,54,116,.1)!important}.motion-section.is-motion-visible .motion-card{animation-duration:.74s}.motion-section.is-motion-visible .motion-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(112deg,transparent 34%,rgba(255,255,255,.38) 49%,transparent 64%);opacity:0;transform:translateX(-120%);animation:mobileCardCleanShine 1.25s ease-out calc(var(--motion-delay) + .42s) both;pointer-events:none}.case-grid article,.reason-grid article,.flow-grid li,.faq details{position:relative;overflow:hidden}.motion-section.is-motion-visible .heading:before,.motion-section.is-motion-visible .heading:after{width:28px}.contact.motion-section.is-motion-visible{animation:mobileContactCleanGlow 1.8s ease-out .45s both}}
@keyframes mobileCardCleanShine{0%{opacity:0;transform:translateX(-120%)}34%{opacity:.54}100%{opacity:0;transform:translateX(120%)}}
@keyframes mobileContactCleanGlow{0%{box-shadow:inset 0 0 0 rgba(255,255,255,0)}55%{box-shadow:inset 0 0 26px rgba(255,255,255,.08)}100%{box-shadow:inset 0 0 0 rgba(255,255,255,0)}}
@media(prefers-reduced-motion:reduce){.motion-section.is-motion-visible .motion-eyebrow,.motion-section.is-motion-visible .motion-title,.motion-section.is-motion-visible .motion-card,.motion-section.is-motion-visible .motion-image,.motion-section.is-motion-visible .button.motion-reveal,.motion-section.is-motion-visible .cta-row.motion-reveal,.motion-section.is-motion-visible .heading:before,.motion-section.is-motion-visible .heading:after,.motion-section.is-motion-visible:before,.contact.motion-section.is-motion-visible{animation:none!important}}

/* Screening mechanism explainer */
.screening-explainer{padding-top:22px;background:#f6faff}
.screening-explainer__inner{max-width:1120px;margin:auto;background:#fff;box-shadow:0 12px 34px rgba(4,46,101,.1)}
.screening-explainer h2{margin:0;padding:16px 24px;background:#526b7b;color:#fff;text-align:center;font-size:26px;line-height:1.4}
.screening-explainer__image{display:block}
.screening-explainer__image img{display:block;width:100%;height:auto}
@media(max-width:600px){.screening-explainer{padding:0}.screening-explainer h2{font-size:23px;padding:14px 16px}}

/* Edge layout guard: keep desktop hero text inside its grid column. */
.hero>.hero__inner>.hero__copy{overflow:hidden}
.hero>.hero__inner>.hero__copy h1{max-width:min(100%,600px);font-size:clamp(46px,4.6vw,64px)}
.hero .hero__headline-line{width:100%;max-width:100%;overflow:visible}
@media(max-width:1180px) and (min-width:901px){.hero>.hero__inner>.hero__copy{overflow:visible}.hero>.hero__inner>.hero__copy h1{font-size:clamp(40px,4.1vw,48px)}}
@media(max-width:900px){.hero>.hero__inner>.hero__copy{overflow:visible}.hero .hero__headline-line{width:auto}}

/* The hero uses a dedicated visual-only asset, so no baked-in copy can leak at any viewport. */
.hero>.hero__inner>.hero__visual .hero__photo{background-position:center;background-size:cover}
@media(max-width:600px){.hero>.hero__inner>.hero__visual{min-height:390px}.hero>.hero__inner>.hero__visual .hero__photo{background-position:center;background-size:cover}}
