/* Hero composition and progressive motion. */
.ai-impact-hero { background:#f6fcf5; position:relative; isolation:isolate; overflow:hidden; }
.ai-hero-background { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.ai-ghost-type { position:absolute; top:-40px; left:20%; font:900 clamp(220px,35vw,540px)/1 Arial,sans-serif; letter-spacing:-.12em; color:#075e2610; }
.ai-halo { position:absolute; top:20px; right:-25%; width:85%; aspect-ratio:1; border-radius:50%; background:radial-gradient(ellipse,#acf2918a 0%,#defbc980 40%,transparent 70%); }
.ai-grid { position:absolute; inset:0; opacity:.45; background-image:radial-gradient(#2858332c .65px,transparent .65px); background-size:23px 23px; mask-image:linear-gradient(90deg,transparent 35%,#000); }
.ai-hero-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:28px; align-items:center; min-height:680px; padding-top:48px; padding-bottom:36px; }
.ai-hero-copy.lb-hero-copy { min-width:0; padding:0; position:relative; z-index:2; }
.ai-hero-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 27px; font:700 10px/1.7 Arial,sans-serif; letter-spacing:.19em; color:#176339; }
.ai-hero-eyebrow>span { width:24px; height:3px; background:#06c755; }
.eg-hero.ai-impact-hero h1 { margin:0; white-space:normal; color:#103f26; letter-spacing:-.05em; }
.eg-hero.ai-impact-hero h1 .ai-hero-title { display:flex; align-items:center; gap:.1em; font:900 clamp(66px,7.6vw,112px)/.98 Arial,sans-serif; letter-spacing:-.065em; background:none; color:#123c28; white-space:nowrap; }
.eg-hero.ai-impact-hero h1 .ai-hero-title>span { color:#06ac49; background:none; }
.ai-hero-title i { font-size:.6em; font-weight:400; font-style:normal; color:#3d7855; padding:0 .04em; }
.eg-hero.ai-impact-hero h1 .ai-hero-japanese { display:block; background:none; margin-top:27px; font-size:clamp(28px,3.05vw,43px); line-height:1.6; font-weight:900; letter-spacing:-.025em; color:#123c28; }
.ai-hero-japanese em { display:inline-block; font-style:normal; background:#06a746; color:white; padding:1px 13px 5px; box-shadow:5px 5px 0 #9bdf8c; }
.ai-hero-description { margin-top:28px; font-size:13px; color:#43634d; line-height:2.1; }
.eg-hero.ai-impact-hero h1 .ai-hero-japanese.ai-value-headline { font-size:clamp(26px,2.65vw,38px); margin-top:22px; }
.ai-value-headline em { padding-left:8px; padding-right:8px; }
.ai-value-list { list-style:none; padding:0; margin:22px 0 0; text-align:left; }
.ai-value-list li { display:grid; grid-template-columns:23px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 0; border-top:1px solid #b9d8bd; }
.ai-value-list li:last-child { border-bottom:1px solid #b9d8bd; }
.ai-value-index { align-self:start; padding-top:3px; color:#069c43; font:700 10px/1.5 Arial,sans-serif; }
.ai-value-list strong { display:block; color:#164c2d; font-size:15px; line-height:1.5; font-weight:800; }
.ai-value-list p { margin:3px 0 0; color:#53705b; font-size:10px; line-height:1.7; }
.ai-value-tag { padding:5px 7px; background:#deefd8; color:#21633a; font-size:9px; font-weight:700; white-space:nowrap; }
.ai-value-rotator.is-ready .ai-value-list { display:grid; border-top:1px solid #b9d8bd; border-bottom:1px solid #b9d8bd; }
.ai-value-rotator.is-ready .ai-value-list li { grid-area:1/1; min-height:82px; border:0; visibility:hidden; opacity:0; pointer-events:none; }
.ai-value-rotator.is-ready .ai-value-list li.is-active { visibility:visible; opacity:1; pointer-events:auto; }
.ai-value-controls:not([hidden]) { display:flex; align-items:center; gap:9px; margin-top:10px; }
.ai-value-controls button { min-width:34px; min-height:30px; border:0; border-bottom:2px solid #c3ddc7; background:transparent; color:#52765b; font:700 10px/1.5 Arial,sans-serif; cursor:pointer; }
.ai-value-controls button[aria-pressed="true"] { color:#007d35; border-color:#06c755; }
.ai-value-controls .ai-value-pause { margin-left:auto; padding:4px 8px; font-size:10px; }
.ai-value-controls button:focus-visible { outline:2px solid #007d35; outline-offset:3px; }
@media(prefers-reduced-motion:no-preference) {
 .ai-value-rotator.is-ready .ai-value-list li { transition:opacity .4s ease; }
}
@media(max-width:820px) { .ai-value-controls { max-width:490px; margin-left:auto; margin-right:auto; } }
@media(max-width:1100px) and (min-width:821px) {
 .ai-value-list li { grid-template-columns:20px minmax(0,1fr); }
 .ai-value-tag { display:none; }
}
@media(max-width:820px) {
 .ai-value-list { max-width:490px; margin-left:auto; margin-right:auto; }
}
@media(max-width:540px) {
 .eg-hero.ai-impact-hero h1 .ai-hero-japanese.ai-value-headline { font-size:clamp(20px,5.7vw,29px); }
 .ai-value-list li { gap:7px; grid-template-columns:18px minmax(0,1fr); padding:11px 0; }
 .ai-value-list strong { font-size:14px; }
 .ai-value-list p { font-size:10px; }
 .ai-value-tag { display:none; }
}
.ai-impact-hero .eg-hero-actions { margin-top:25px; gap:18px; flex-wrap:wrap; }
.ai-impact-hero .eg-button-primary { border-radius:2px; background:#00883a; box-shadow:4px 4px 0 #99dba9; font-size:12px; padding:17px 21px; }
.ai-impact-hero .ai-film-link { padding:10px 0; font-size:11px; color:#1d643b; gap:8px; }
.ai-film-link svg { width:25px; height:25px; }
.ai-film-link svg path { fill:#1d643b; stroke:none; }
.ai-hero-assurance { display:flex; gap:22px; margin-top:23px; font-size:10px; color:#456750; }
.ai-hero-assurance span::before { content:'✓'; color:#00883a; margin-right:7px; }
.ai-orbit { width:100%; max-width:620px; aspect-ratio:1; position:relative; justify-self:center; }
.ai-orbit-disc { position:absolute; inset:17%; border:1px solid #66c98052; border-radius:50%; box-shadow:0 0 0 27px #78d7730a,0 0 0 56px #78d77309; }
.ai-orbit-links { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.ai-orbit-core { position:absolute; left:50%; top:49%; width:45%; aspect-ratio:1; transform:translate(-50%,-50%); z-index:2; }
.ai-orbit-core>img { width:100%; height:auto; position:relative; z-index:1; filter:drop-shadow(0 15px 17px #07432440); }
.ai-core-line { position:absolute; z-index:3; bottom:-4%; left:50%; transform:translateX(-50%); display:flex; gap:9px; align-items:center; color:#fff; background:#06a746; border:2px solid #d5ffe2; border-radius:40px; box-shadow:0 6px 0 #07482d20; padding:8px 24px; font:900 clamp(16px,2vw,28px)/1 Arial,sans-serif; letter-spacing:-.025em; }
.ai-core-line>span { font-size:.75em; font-weight:400; }
.ai-orbit-ring { position:absolute; inset:-9%; border:2px solid #50ac7260; border-radius:50%; transform:rotate(-32deg) scaleY(.62); }
.ai-ring-two { transform:rotate(43deg) scaleY(.7); border-color:#a8d67c; }
.ai-orbit-node { position:absolute; width:29%; text-align:center; z-index:3; }
.ai-node-1 { left:0; top:0; --node-delay:0s; }
.ai-node-2 { right:0; top:0; --node-delay:-1.5s; }
.ai-node-3 { left:0; bottom:0; --node-delay:-3s; }
.ai-node-4 { right:0; bottom:0; --node-delay:-4.5s; }
.ai-node-art { width:77%; aspect-ratio:1; margin:0 auto 8px; display:grid; place-items:center; background:linear-gradient(150deg,#fff,#e0f3d1); border:1px solid #91c999; border-radius:50%; box-shadow:4px 6px 0 #bfd8b940,inset 0 0 0 6px #fff9; }
.ai-node-art svg.lb-service-art { width:64%; height:64%; }
.ai-node-word { display:block; color:#55845e; font:700 7px/1.5 Arial,sans-serif; letter-spacing:.18em; margin-bottom:3px; }
.ai-orbit-node strong { display:block; color:#193f2b; font-size:13px; font-weight:800; line-height:1.5; }
.ai-orbit-node small { display:block; font-size:9px; color:#53735b; margin-top:3px; }
.ai-orbit-signature { position:absolute; left:23%; right:23%; bottom:4%; text-align:center; font:600 6px/1.8 Arial,sans-serif; letter-spacing:.13em; color:#5c8363; }
.ai-hero-divider { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #92b89b66; padding-top:22px; padding-bottom:22px; font:700 8px/1.5 Arial,sans-serif; letter-spacing:.13em; color:#52765b; }
.ai-hero-divider>a { color:#1a653a; text-decoration:none; }
.ai-hero-divider>a span { margin-left:15px; }
.ai-hero-divider .lb-motion-toggle { font-size:9px; letter-spacing:0; color:#456e50; background:transparent; border:0; padding:6px; }
.ai-film-row { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:65px; align-items:center; padding-top:58px; padding-bottom:76px; scroll-margin-top:100px; }
.ai-film-intro .ai-hero-eyebrow { margin-bottom:18px; }
.ai-film-intro h2 { font-size:clamp(27px,2.5vw,36px); font-weight:900; line-height:1.75; letter-spacing:-.04em; color:#173e28; margin:0; }
.ai-film-intro h2>span { color:#078b3b; }
.ai-film-intro>p:not(.ai-hero-eyebrow) { font-size:12px; line-height:2; color:#526959; margin-top:19px; }
.ai-film-intro>a { display:inline-flex; gap:30px; margin-top:24px; color:#166b39; font-size:12px; font-weight:700; border-bottom:1px solid #4d9b61; padding-bottom:7px; }
.ai-impact-hero .lb-hero-film { border-radius:5px; padding:18px; box-shadow:7px 7px 0 #acd99840; }
@keyframes aiNodeFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes aiEnergyFlow { to { stroke-dashoffset:-192; } }
@keyframes aiRingOrbit { 0%,100% { transform:rotate(-32deg) scaleY(.62); } 50% { transform:rotate(-12deg) scaleY(.72); } }
@media(prefers-reduced-motion:no-preference) {
 .ai-node-art { animation:aiNodeFloat 6s var(--node-delay,0s) ease-in-out infinite; }
 .ai-flow-pulses { animation:aiEnergyFlow 5s linear infinite; }
 .ai-ring-one { animation:aiRingOrbit 10s ease-in-out infinite; }
}
body.lb-motion-offscreen .ai-orbit *,body.lb-motion-paused .ai-orbit * { animation-play-state:paused!important; }
@media(max-width:1100px) {
 .ai-hero-top { gap:18px; min-height:610px; }
 .eg-hero.ai-impact-hero h1 .ai-hero-title { font-size:8vw; }
 .ai-impact-hero .eg-hero-actions { gap:12px; }
 .ai-impact-hero .eg-button-primary { padding:16px 14px; font-size:11px; }
 .ai-impact-hero .ai-film-link { font-size:10px; }
 .ai-orbit-node strong { font-size:11px; }
 .ai-orbit-node small { font-size:8px; }
 .ai-film-row { gap:28px; }
}
@media(max-width:820px) {
 .ai-hero-top { grid-template-columns:1fr; gap:32px; padding-top:35px; padding-bottom:30px; }
 .ai-hero-copy { text-align:center; }
 .ai-hero-eyebrow,.ai-impact-hero .eg-hero-actions,.ai-hero-assurance { justify-content:center; }
 .eg-hero.ai-impact-hero h1 .ai-hero-title { font-size:clamp(64px,12vw,100px); justify-content:center; }
 .eg-hero.ai-impact-hero h1 .ai-hero-japanese { font-size:32px; line-height:1.55; margin-top:20px; }
 .ai-hero-japanese br { display:none; }
 .ai-orbit { max-width:510px; }
 .ai-orbit-node strong { font-size:13px; }
 .ai-core-line { font-size:25px; }
 .ai-film-row { grid-template-columns:1fr; gap:30px; padding-top:35px; padding-bottom:48px; }
 .ai-film-intro { text-align:center; }
 .ai-film-intro h2 { font-size:28px; }
 .ai-film-intro>p:not(.ai-hero-eyebrow) { font-size:12px; }
 .ai-film-intro>a { margin-top:18px; }
 .ai-film-row .lb-hero-film { width:100%; max-width:none; }
}
@media(max-width:540px) {
 .ai-hero-top { gap:34px; padding-top:24px; }
 .ai-hero-eyebrow { font-size:8px; margin-bottom:19px; letter-spacing:.13em; }
 .eg-hero.ai-impact-hero h1 .ai-hero-title { font-size:clamp(53px,15vw,80px); }
 .eg-hero.ai-impact-hero h1 .ai-hero-japanese { font-size:26px; margin-top:18px; }
 .eg-hero.ai-impact-hero h1 .ai-hero-japanese br { display:block; }
 .ai-hero-description { font-size:11px; line-height:2; margin-top:21px; }
 .ai-impact-hero .eg-hero-actions { gap:14px; margin-top:23px; }
 .ai-impact-hero .eg-button-primary { min-height:48px; padding:13px 12px; font-size:10px; gap:5px; }
 .ai-impact-hero .ai-film-link { min-height:48px; gap:5px; font-size:9px; }
 .ai-film-link svg { width:22px; height:22px; }
 .ai-hero-assurance { font-size:9px; gap:15px; margin-top:19px; }
 .ai-orbit { width:100%; }
 .ai-node-art { width:81%; margin-bottom:5px; }
 .ai-orbit-node strong { font-size:10px; }
 .ai-orbit-node small { font-size:7px; }
 .ai-node-word { font-size:6px; margin-bottom:2px; }
 .ai-core-line { padding:6px 16px; font-size:18px; border-width:1px; }
 .ai-orbit-signature { font-size:4px; bottom:1%; }
 .ai-hero-divider { padding:17px 0; gap:8px; font-size:6px; letter-spacing:.02em; }
 .ai-hero-divider .lb-motion-toggle { font-size:8px; }
 .ai-hero-divider>a span { margin-left:5px; }
 .ai-film-intro h2 { font-size:26px; }
 .ai-impact-hero .lb-hero-film { padding:12px; }
 .ai-ghost-type { top:180px; left:-5%; font-size:300px; }
}

/* Clean service illustration and unified actions. */
.ai-impact-hero { background:#f9fcfa; }
.ai-ghost-type,.ai-grid { display:none; }
.ai-halo { top:60px; right:-18%; opacity:.28; background:radial-gradient(ellipse,#c3eddb 0%,transparent 65%); }
.ai-hero-japanese em { color:#079c48; background:none; box-shadow:none; padding:0; }
.ai-impact-hero .eg-hero-actions { gap:10px; }
.ai-impact-hero .eg-hero-actions .eg-button { border-radius:100px; min-height:54px; font-size:12px; padding:10px 18px; gap:10px; text-decoration:none; }
.ai-impact-hero .eg-hero-actions .eg-button-primary { background:#079c48; box-shadow:0 6px 16px #078b3917; color:#fff; }
.ai-button-arrow { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ffffff24; font-size:18px; }
.ai-impact-hero .eg-hero-actions .ai-film-link { color:#25533e; background:#fff; border:1px solid #dce8e0; box-shadow:0 3px 8px #123c2804; }
.ai-button-time { font-size:9px; color:#75877b; }
.ai-impact-hero .eg-hero-actions .eg-button:hover { background:#087c3e; color:white; }
.ai-impact-hero .eg-hero-actions .ai-film-link:hover { background:#edf7f0; color:#17462c; }
.ai-impact-hero .eg-hero-actions .eg-button:focus-visible { outline:3px solid #008d45; outline-offset:4px; }
.ai-studio { container-type:inline-size; aspect-ratio:1.06; max-width:620px; text-align:left; }
.ai-studio::before { content:''; position:absolute; inset:13% 1% 7% 7%; background:#eaf5ee; border-radius:50%; }
.ai-studio-caption { position:absolute; top:0; left:7%; display:flex; align-items:center; gap:8px; color:#4e7661; font-size:2.15cqw; letter-spacing:.08em; }
.ai-studio-caption>span { width:6px; height:6px; border-radius:50%; background:#06c755; }
.ai-compose { position:absolute; top:9%; left:0; width:73%; padding:5%; background:#fff; border:1px solid #e1ebe5; border-radius:18px; box-shadow:0 20px 55px #234c3110; }
.ai-compose-head { display:flex; align-items:center; gap:10px; padding-bottom:6%; border-bottom:1px solid #eef2ee; }
.ai-app-mark { display:grid; place-items:center; position:relative; width:9cqw; height:9cqw; border-radius:12px; background:#eaf7ef; color:#079c48; font:800 5cqw/1 Arial,sans-serif; letter-spacing:-.06em; }
.ai-app-mark>span { position:absolute; right:8%; top:5%; font-size:3cqw; }
.ai-compose-head strong { display:block; font-size:2.65cqw; color:#234332; }
.ai-compose-head small { display:block; margin-top:4px; font-size:1.8cqw; color:#809287; }
.ai-window-dots { margin-left:auto; letter-spacing:2px; color:#b1c2b7; }
.ai-prompt { margin:7% 0 6% 10%; background:#f5f7f5; border-radius:12px 12px 2px 12px; padding:6%; }
.ai-prompt>span { font-size:1.8cqw; color:#7a8b7f; }
.ai-prompt p { margin:6px 0 0; font-size:2.65cqw; line-height:1.8; font-weight:600; color:#36523f; }
.ai-draft { width:84%; padding:3% 0 8%; }
.ai-draft-label { display:flex; align-items:center; gap:6px; font-size:2cqw; color:#078e44; font-weight:700; }
.ai-draft-label svg { width:4cqw; height:4cqw; fill:none; stroke:currentColor; stroke-width:1.5; }
.ai-draft p { font-size:2.4cqw; line-height:1.9; margin:10px 0; color:#506858; }
.ai-text-lines i { display:block; width:85%; height:5px; border-radius:9px; background:#edf2ee; margin-top:8px; }
.ai-text-lines i:last-child { width:60%; }
.ai-compose-foot { display:flex; align-items:center; gap:5px; border-top:1px solid #eef2ee; padding-top:6%; font-size:1.65cqw; color:#688572; }
.ai-compose-foot i { height:1px; flex:1; background:#d8e7dc; }
.ai-phone { position:absolute; top:28%; right:0; width:39%; padding:3% 2% 2%; border:1px solid #dce7df; border-radius:26px; background:#fff; box-shadow:0 22px 44px #1b49331a,0 0 0 4px #ffffff80; transform:rotate(4deg); }
.ai-phone-speaker { width:25%; height:4px; background:#dce6df; border-radius:5px; margin:0 auto 9%; }
.ai-phone-head { display:flex; justify-content:space-between; align-items:center; font-size:2.6cqw; padding:0 6% 9%; color:#304d3d; }
.ai-phone-head strong { font-size:2.2cqw; }
.ai-phone-body { background:#f0f7f2; padding:8%; border-radius:10px; }
.ai-chat-date { display:block; text-align:center; font-size:1.5cqw; color:#899d90; margin-bottom:10%; }
.ai-chat-bubble { background:white; border:1px solid #e3ece5; padding:10%; border-radius:0 9px 9px 9px; font-size:1.7cqw; line-height:1.8; color:#4b6655; }
.ai-coupon { background:#fff; border:1px solid #deebe1; border-radius:10px; padding:13% 7% 9%; text-align:center; margin-top:10%; }
.ai-coupon svg { display:block; margin:auto; width:40%; fill:none; stroke:#079c48; stroke-width:1.5; }
.ai-coupon small { display:block; font:600 1.25cqw/1.5 Arial,sans-serif; letter-spacing:.12em; color:#789883; margin:9% 0; }
.ai-coupon strong { display:block; font-size:2.1cqw; line-height:1.8; color:#2d593d; }
.ai-coupon>span { display:block; padding:9% 0; margin-top:12%; background:#eaf7ef; border-radius:5px; color:#078940; font-size:1.7cqw; }
.ai-phone-home { width:30%; height:3px; background:#cbd9cf; border-radius:5px; margin:10% auto 0; }
.ai-delivery { position:absolute; bottom:4%; left:4%; display:flex; align-items:center; gap:10px; padding:3% 4%; background:white; border:1px solid #e2ece5; border-radius:12px; box-shadow:0 8px 25px #2146320b; }
.ai-delivery>span { display:grid; place-items:center; width:7cqw; height:7cqw; color:#079c48; background:#eaf7ef; border-radius:50%; font-size:3cqw; }
.ai-delivery strong { display:block; font-size:2.25cqw; color:#355943; }
.ai-delivery small { display:block; margin-top:4px; font-size:1.7cqw; color:#8a9c90; }
.ai-studio-note { position:absolute; right:0; bottom:-4%; color:#859b8b; font-size:1.6cqw; }
@media(prefers-reduced-motion:no-preference) {
 .ai-delivery { animation:aiNodeFloat 7s ease-in-out infinite; }
 .ai-impact-hero .eg-hero-actions .eg-button { transition:background .2s,color .2s,box-shadow .2s; }
}
@media(max-width:820px) { .ai-studio { max-width:540px; margin-top:10px; margin-bottom:20px; } }
@media(max-width:540px) {
 .ai-impact-hero .eg-hero-actions .eg-button { min-height:48px; font-size:10px; padding:8px 12px; gap:6px; }
 .ai-button-arrow { width:24px; height:24px; font-size:15px; }
 .ai-button-time { display:none; }
 .ai-compose { border-radius:12px; }
 .ai-phone { border-radius:18px; }
 .ai-compose-head { gap:6px; }
 .ai-app-mark { border-radius:8px; }
 .ai-delivery { gap:6px; }
}
.lb-hero.eg-hero.ai-impact-hero { background:#f9fcfa; }
.ai-impact-hero .eg-hero-actions .ai-button-time { font-size:9px; font-weight:500; }
.ai-phone { top:22%; width:35%; }
.ai-studio-note { bottom:-9%; }
