/* LINE-green product design. Original visual assets; no reference-site assets. */
body:where(.is-front,.home) { --lb-ink:#162e24; --lb-green:#009d43; --lb-lime:#b7f3c9; --lb-paper:#fff; --lb-line:#e0e9e3; background:#fff; color:#162e24; }
.eg-container { width:min(1280px,90%); margin-inline:auto; }
body #nav.lb-nav { position:relative; height:90px; padding-inline:5%; background:#fff; border-bottom:1px solid #eaf0ec; }
.lb-brand { font-size:26px; letter-spacing:-.035em; gap:10px; }
.lb-brand-icon { width:41px; height:41px; background:#06c755; color:#fff; border-radius:12px; }
.lb-brand small { font-size:8px; letter-spacing:1.7px; margin-top:2px; }
.lb-desktop-nav { gap:27px; font-size:12px; }
.lb-nav-contact { border:0; color:#fff; background:#00883a; padding:15px 24px; border-radius:6px; gap:24px; box-shadow:none; }
.lb-nav-contact:hover { background:#007f36; }
.lb-nav-end { gap:12px; }
.lb-menu-links { top:75px; background:#fff; border-radius:8px; }
.lb-hero.eg-hero { padding:0; background:linear-gradient(115deg,#f7fff9 0%,#ebfcf1 48%,#d9fbe6 100%); position:relative; isolation:isolate; overflow:clip; }
.eg-hero-backdrop { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.eg-hero-backdrop::before { content:''; position:absolute; width:1040px; height:1040px; right:-380px; top:-105px; border-radius:50%; background:linear-gradient(150deg,#06c755 0%,#36d876 55%,#8aedac 100%); box-shadow:0 0 100px #06c75510; }
.eg-hero-backdrop::after { content:''; position:absolute; width:100%; height:170px; bottom:0; background:linear-gradient(0deg,#effcf4,transparent); }
.eg-orbit { position:absolute; width:1160px; height:1160px; border:1px solid #fff6; border-radius:50%; top:-170px; right:-440px; }
.eg-orbit-two { width:1260px; height:1260px; right:-490px; top:-220px; border:1px solid #06c75526; }
.eg-orbit-three { width:1370px; height:1370px; right:-545px; top:-275px; border:1px solid #06c75515; }
.eg-background-word { position:absolute; bottom:-34px; left:3%; font:800 175px/.95 Arial,sans-serif; letter-spacing:-12px; color:#08a44806; white-space:nowrap; }
.eg-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:10px; min-height:655px; padding-top:36px; padding-bottom:25px; }
.eg-hero-copy.lb-hero-copy { padding:0; position:relative; z-index:2; min-width:0; }
.eg-eyebrow { display:flex; align-items:center; gap:9px; font:700 11px/1.8 Arial,sans-serif; letter-spacing:1.7px; color:#008b3b; margin-bottom:27px; }
.eg-eyebrow>span { width:19px; height:3px; background:#06c755; }
.eg-hero-kicker { font-size:15px; font-weight:700; letter-spacing:.04em; margin-bottom:18px; }
.eg-hero .eg-hero-copy h1 { font-size:clamp(42px,4.45vw,66px); font-weight:900; line-height:1.48; letter-spacing:-.055em; margin:0 0 24px; color:#102f21; white-space:nowrap; }
.eg-hero h1 span { color:#009d43; background:linear-gradient(transparent 81%,#06c75516 81%,#06c75516 96%,transparent 96%); }
.eg-hero-description { font-size:14px; line-height:2.15; color:#53675b; font-weight:500; }
.eg-hero-actions { display:flex; gap:13px; align-items:stretch; margin-top:33px; }
.eg-button { display:inline-flex; align-items:center; justify-content:center; gap:17px; border-radius:6px; font-size:13px; font-weight:700; min-height:59px; padding:17px 24px; transition:transform .25s,box-shadow .25s,background .25s; text-decoration:none; }
.eg-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; }
.eg-button>span { font-size:18px; margin-left:7px; transition:translate .25s; }
.lb-button.eg-button-primary { background:#00883a; color:#fff; border:1px solid #00883a; box-shadow:0 8px 20px #009d4324; }
.eg-button-outline { color:#008d3b; background:#ffffffd9; border:1px solid #009d43; }
.eg-button:hover { transform:translateY(-3px); box-shadow:0 10px 26px #009d4325; }
.eg-button:hover>span { translate:4px 0; }
.eg-hero-checks { display:flex; gap:22px; margin-top:20px; font-size:11px; color:#596e60; }
.eg-hero-checks b { color:#00aa49; padding-right:5px; }
.eg-product-wrap.lb-scene-wrap { position:relative; height:565px; align-self:center; margin:0; }
.eg-product-stage.lb-scene { position:relative; width:640px; height:550px; margin:0 0 0 -320px; left:50%; transform:scale(var(--stage-scale,1)) perspective(1200px) rotateY(var(--scene-x,0deg)) rotateX(var(--scene-y,0deg)); transform-origin:top center; transition:transform .6s ease-out; }
.eg-stage-glow { position:absolute; width:430px; height:430px; border-radius:50%; background:#bdffd970; filter:blur(30px); top:80px; left:180px; }
.eg-window { background:#fff; border:1px solid #fff; border-radius:12px; box-shadow:-12px 24px 45px #00471c21,0 3px 8px #06532612; }
.eg-dashboard { position:absolute; top:89px; left:6px; width:430px; transform:perspective(1200px) rotateY(5deg) rotateZ(-7deg); overflow:hidden; }
.eg-window-top { height:42px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; border-bottom:1px solid #eaf1ed; }
.eg-window-brand { display:flex; align-items:center; gap:4px; font-size:11px; color:#008e3c; }
.eg-window-brand b { color:#253e30; }
.eg-window-dots { color:#b6cfbd; font-size:7px; letter-spacing:3px; }
.eg-dashboard-body { display:flex; height:299px; }
.eg-sidebar { display:flex; flex-direction:column; align-items:center; gap:19px; width:44px; padding:12px 8px; background:#f6faf7; color:#86a38f; font-size:17px; }
.eg-sidebar .eg-sidebar-current { background:#dbf7e5; color:#00a945; border-radius:5px; padding:0 6px; }
.eg-dashboard-main { padding:17px 18px; flex:1; min-width:0; }
.eg-dashboard-title { display:flex; align-items:center; justify-content:space-between; }
.eg-dashboard-title small { display:block; font:600 5px Arial,sans-serif; letter-spacing:1px; color:#93a59a; margin-bottom:6px; }
.eg-dashboard-title strong { display:block; font-size:11px; }
.eg-ai-tag { background:#e6f9ed; color:#04ae4b; font-size:9px; padding:5px 7px; border-radius:4px; }
.eg-builder-tabs { display:flex; align-items:center; gap:20px; margin:16px 0 9px; font-size:7px; border-bottom:1px solid #e8efeb; color:#85958a; }
.eg-builder-tabs b { color:#01973f; border-bottom:2px solid #06c755; padding-bottom:7px; }
.eg-mini-builder { position:relative; background-color:#f9fcfa; background-image:radial-gradient(#cddfd2 .7px,transparent .7px); background-size:11px 11px; border:1px solid #ebf3ed; border-radius:5px; padding:12px 25px 11px; }
.eg-builder-node { position:relative; z-index:1; display:flex; align-items:center; gap:9px; width:190px; padding:7px 10px; margin:auto; border:1px solid #cfe8d7; border-radius:5px; background:#fff; box-shadow:0 3px 7px #2973430b; }
.eg-builder-node>span { width:21px; height:21px; display:grid; place-items:center; background:#e4f9eb; border-radius:5px; color:#00963e; font-size:15px; }
.eg-builder-node small { font:600 5px Arial,sans-serif; color:#88a794; display:block; margin-bottom:3px; letter-spacing:.7px; }
.eg-builder-node b { font-size:8px; display:block; }
.eg-builder-node i { font-style:normal; margin-left:auto; color:#06b74b; font-size:8px; }
.eg-node-ai { border-color:#73dda0; }
.eg-builder-connector { height:12px; width:1px; background:#65d992; margin:auto; }
.eg-builder-branches { position:relative; text-align:center; font-size:6px; color:#739b80; margin-bottom:6px; }
.eg-builder-branches:before { content:''; position:absolute; left:30px; right:30px; height:15px; border:1px solid #94d6ab; border-bottom:0; top:6px; }
.eg-builder-branches span { position:relative; background:#f9fcfa; padding:0 6px; }
.eg-builder-split { display:flex; justify-content:space-between; gap:10px; }
.eg-builder-split>div { background:#fff; border:1px solid #dbeadf; border-radius:4px; padding:8px 9px; font-size:6px; flex:1; }
.eg-builder-split span { color:#009d43; margin-right:4px; }
.eg-builder-status { display:flex; align-items:center; gap:5px; font-size:6px; margin-top:9px; color:#73917f; }
.eg-live-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:#06c755; flex-shrink:0; }
.eg-smartphone { position:absolute; top:109px; left:376px; width:206px; height:396px; background:#fff; border:5px solid #fff; border-radius:29px; box-shadow:8px 22px 36px #00592329,0 0 0 1px #ccdcd1; transform:rotate(8deg); overflow:hidden; }
.eg-phone-hardware { height:27px; position:relative; display:flex; align-items:center; justify-content:space-between; padding:0 13px; font:700 7px Arial,sans-serif; color:#304c3c; }
.eg-phone-hardware>span { position:absolute; width:56px; height:13px; border-radius:99px; background:#163625; top:3px; left:calc(50% - 28px); }
.eg-phone-header { display:flex; gap:7px; align-items:center; padding:9px; color:#163e27; border-bottom:1px solid #d7eadd; }
.eg-phone-header>span { font-size:15px; line-height:1; }
.eg-phone-header>span:last-child { margin-left:auto; }
.eg-store-avatar { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#06c755; color:#fff; font:700 16px Arial,sans-serif; }
.eg-phone-header>b { font-size:9px; }
.eg-phone-header small { display:block; font-size:5px; font-weight:400; color:#95a398; margin-top:2px; }
.eg-phone-conversation { padding:8px 12px; background:#f1f8f3; height:286px; }
.eg-chat-date { display:block; width:24px; margin:0 auto 8px; font-size:5px; text-align:center; color:#99ad9f; }
.eg-chat-bubble { padding:9px; border-radius:8px 8px 8px 0; background:#fff; color:#47624d; font-size:7px; line-height:1.7; margin-right:14px; box-shadow:0 2px 3px #122d1a05; }
.eg-chat-reply { margin:8px 0 9px 46px; padding:7px 8px; background:#91edac; color:#255237; border-radius:8px 8px 0 8px; font-size:6px; }
.eg-chat-offer { width:144px; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 3px 6px #122d1a08; }
.eg-offer-art { height:84px; background:linear-gradient(130deg,#cfe8bf,#5b9970); position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.eg-offer-art svg { width:70px; height:56px; position:relative; }
.eg-offer-art strong { position:relative; font:italic 9px Georgia,serif; color:white; margin-top:2px; }
.eg-offer-ring { position:absolute; width:125px; height:125px; border-radius:50%; border:1px solid #fff6; top:-66px; right:-50px; }
.eg-offer-copy { padding:8px 10px; }
.eg-offer-copy small { display:block; color:#079b44; font-size:5px; }
.eg-offer-copy b { font-size:8px; display:block; margin:4px 0; }
.eg-offer-copy p { font-size:5px; color:#7a8d80; line-height:1.5; }
.eg-offer-copy>span { display:block; background:#08bd54; color:#fff; margin-top:7px; border-radius:3px; padding:5px 8px; font-size:6px; text-align:center; }
.eg-offer-copy i { float:right; font-style:normal; }
.eg-phone-input { display:flex; align-items:center; gap:7px; padding:9px 8px; font-size:10px; color:#829c8b; }
.eg-phone-input>span:nth-child(2) { background:#f0f5f1; border-radius:99px; padding:4px 15px 4px 8px; font-size:6px; flex:1; }
.eg-floating { position:absolute; z-index:3; background:#fff; border:1px solid #fff; box-shadow:0 12px 30px #105a2b1a; }
.eg-ai-notice { display:flex; align-items:center; gap:11px; padding:13px 18px; top:37px; left:135px; border-radius:10px; transform:rotate(-3deg); }
.eg-notice-icon { background:linear-gradient(140deg,#e2fbeb,#c5f9d7); color:#06b94e; font-size:27px; padding:0 8px; border-radius:8px; }
.eg-ai-notice small { font:600 6px Arial,sans-serif; color:#7d9b88; letter-spacing:1px; display:block; margin-bottom:6px; }
.eg-ai-notice b { font-size:11px; color:#25563a; display:block; }
.eg-notice-check { margin-left:10px; background:#06c755; color:white; border-radius:50%; width:17px; height:17px; display:grid; place-items:center; font-size:10px; }
.eg-customer-card { display:flex; align-items:center; gap:14px; padding:15px 19px; top:450px; left:65px; border-radius:10px; transform:rotate(-5deg); }
.eg-avatar-stack { display:flex; padding-left:5px; }
.eg-avatar-stack>span { width:33px; height:33px; overflow:hidden; border:2px solid #fff; border-radius:50%; background:#e4edde; margin-left:-7px; }
.eg-avatar-stack>span:nth-child(2) { background:#f5e9d2; }
.eg-customer-card b { font-size:9px; line-height:1.7; color:#386447; }
.eg-trend { width:41px; height:30px; fill:none; stroke:#06c755; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.eg-line-tile { position:absolute; width:76px; height:76px; top:399px; left:8px; border-radius:19px; background:linear-gradient(130deg,#1ce976,#06c755 65%); box-shadow:0 7px 0 #00a849,0 20px 25px #05983e2c; transform:rotate(-12deg); }
.eg-line-tile svg { width:100%; height:100%; }
.eg-spark { position:absolute; color:#fff; text-shadow:0 3px 10px #06c75522; }
.eg-spark-one { top:30px; right:34px; font-size:45px; transform:rotate(15deg); }
.eg-spark-two { bottom:2px; right:5px; font-size:60px; color:#00b64b; }
.eg-product-caption { position:absolute; bottom:0; right:30px; color:#3e8660; font-size:9px; }
.eg-hero-foot { position:relative; display:flex; justify-content:space-between; align-items:center; padding:17px 0 25px; border-top:1px solid #009d431a; gap:15px; }
.eg-hero-foot>span { display:flex; align-items:center; gap:8px; font:600 8px Arial,sans-serif; color:#5e9772; letter-spacing:1.3px; }
.eg-hero-foot>a { display:flex; gap:13px; align-items:center; font:700 8px Arial,sans-serif; letter-spacing:1.3px; color:#398355; }
.eg-hero-foot>a b { font-size:19px; font-weight:400; }
.eg-hero-foot .lb-motion-toggle { color:#508964; font-size:9px; }
.eg-capability-bar { background:#fff; border-bottom:1px solid #e7eee9; }
.eg-capability-bar>.eg-container { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:33px 0; }
.eg-capability-bar p { font-size:12px; color:#647969; }
.eg-capability-bar strong { font-weight:700; color:#21432e; }
.eg-capability-bar>.eg-container>span { font-size:13px; font-weight:700; color:#57715f; border-left:1px solid #dce8df; padding-left:23px; }
body:where(.is-front,.home) main>.eg-section { padding:100px 0; }
.eg-section-heading { text-align:center; margin-bottom:48px; }
.eg-section-eyebrow { font:700 11px/1.7 Arial,sans-serif; letter-spacing:2.4px; color:#06a848; margin:0 0 18px; }
body:where(.is-front,.home) .eg-section-heading h2 { font-size:clamp(28px,3vw,44px); font-weight:900; letter-spacing:-.035em; line-height:1.6; margin:0; }
.eg-section-heading h2 span { color:#009d43; }
.eg-section-heading>p:last-child:not(.eg-section-eyebrow) { font-size:14px; line-height:2; color:#6b7d71; margin:20px auto 0; }
.eg-about { background:#fff; }
.eg-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.eg-value-card { border:1px solid #e0eee5; border-radius:14px; padding:27px 29px 0; overflow:hidden; background:linear-gradient(155deg,#fff 35%,#f4fcf7); transition:translate .3s,box-shadow .3s; }
.eg-value-card:hover { translate:0 -6px; box-shadow:0 12px 35px #1464350c; }
.eg-value-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:23px; }
.eg-value-top>span { font:700 12px Arial,sans-serif; letter-spacing:1px; color:#a6c1af; }
.eg-value-top svg { width:45px; height:45px; stroke:#06b34c; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.eg-value-card h3 { font-size:19px; font-weight:700; letter-spacing:-.04em; margin-bottom:13px; }
.eg-value-card>p { font-size:12px; line-height:2; color:#708176; min-height:73px; }
.eg-value-proof { border-top:1px solid #e4eee7; display:flex; align-items:center; justify-content:space-between; padding:17px 0; margin-top:23px; }
.eg-value-proof>span { font-size:10px; color:#859b8b; }
.eg-value-proof strong { font:700 49px/1.2 Arial,sans-serif; letter-spacing:-2px; color:#06ae4b; }
.eg-value-proof small { font:700 13px 'Noto Sans JP',sans-serif; margin-left:5px; letter-spacing:0; }
.eg-value-proof .eg-value-text { font:700 28px 'Noto Sans JP',sans-serif; letter-spacing:-1px; }
.eg-flow { background:linear-gradient(180deg,#f1fbf5,#f8fcfa); border-block:1px solid #e6f2e9; }
.eg-journey { background:#fff; border:1px solid #deeee4; border-radius:16px; box-shadow:0 15px 45px #0d542509; }
.eg-journey-label { display:flex; align-items:center; gap:7px; padding:19px 25px; border-bottom:1px solid #e8f0eb; font:600 8px Arial,sans-serif; letter-spacing:1.2px; color:#5d8b6d; }
.eg-journey-label small { margin-left:auto; font:400 10px 'Noto Sans JP',sans-serif; color:#8da593; }
.eg-journey-track { display:grid; grid-template-columns:repeat(5,1fr); padding:30px 15px; }
body:where(.is-front,.home) #flow .flow-step { position:relative; padding:12px 16px 15px; border-radius:10px; text-align:center; transform:none; transition:background .5s; }
body:where(.is-front,.home) #flow .flow-step.is-current { background:#f0fbf4; transform:none; }
.flow-step:not(:last-child)::after { content:'→'; position:absolute; right:-7px; top:85px; color:#8bd6a7; font:300 21px Arial,sans-serif; z-index:1; }
.eg-step-number { font:500 10px Arial,sans-serif; color:#92b19d; text-align:left; margin:0 0 16px; }
.eg-step-icon { width:69px; height:69px; margin:0 auto 24px; background:linear-gradient(140deg,#ebfcf0,#d7f7e2); border:1px solid #bfeecf; border-radius:18px; display:grid; place-items:center; box-shadow:0 7px 0 #eff7f1; }
.eg-step-icon svg { width:32px; height:32px; stroke:#00a348; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.flow-step h3 { font-size:13px; font-weight:700; margin-bottom:12px; }
.flow-step p { font-size:11px; line-height:1.9; color:#76877c; }
.eg-step-chip { display:inline-block; padding:5px 10px; margin-top:19px; color:#4d9969; font-size:8px; background:#f0f9f3; border-radius:99px; }
.eg-journey-bottom { padding:0 40px 25px; display:flex; align-items:center; gap:15px; font-size:9px; color:#84a58f; }
.eg-journey-line { flex:1; height:3px; background:linear-gradient(90deg,#e1f5e8,#06c755,#e1f5e8); background-size:200% 100%; border-radius:5px; }
/* Existing product content receives the same hierarchy and color system. */
body:where(.is-front,.home) .font-serif { font-family:'Noto Sans JP',sans-serif; letter-spacing:-.04em; }
body:where(.is-front,.home) h2 { font-weight:900; }
body:where(.is-front,.home) .text-teal-700 { color:#009d43; }
body:where(.is-front,.home) .text-gold,body:where(.is-front,.home) .text-gold-ink { color:#06a848; }
body:where(.is-front,.home) .font-display { font:700 11px/1.7 Arial,sans-serif; letter-spacing:2.4px; }
body:where(.is-front,.home) .bg-ivory { background:#f5fbf7; }
body:where(.is-front,.home) .bg-ivory-warm { background:#f2fbf6; }
body:where(.is-front,.home) [class*="border-gold"] { border-color:#dcece2; }
body:where(.is-front,.home) [class*="border-ivory"] { border-color:#e0ebe4; }
body:where(.is-front,.home) main>section:not(.eg-hero) .h-px.w-16 { display:none; }
body:where(.is-front,.home) .text-forest-ink { color:#163324; }
body:where(.is-front,.home) .text-sage { color:#708178; }
body:where(.is-front,.home) #features .lb-demo { padding:50px; background:linear-gradient(120deg,#f0fbf4,#e1f8ea); border:1px solid #d5eedf; border-radius:18px; gap:65px; margin-top:55px; }
.lb-demo-copy .lb-eyebrow { color:#03a849; font:600 10px Arial,sans-serif; letter-spacing:1.1px; }
.lb-demo h3 { font-size:35px; letter-spacing:-.025em; line-height:1.55; margin:22px 0; }
.lb-demo-copy>p:not(.lb-eyebrow) { font-size:13px; line-height:2; color:#74887b; }
.lb-demo-tabs { gap:9px; margin-top:30px; }
.lb-demo-tabs button { border-radius:5px; border-color:#c6e1d0; padding:12px 20px; color:#518164; background:#fff; }
.lb-demo-tabs button[aria-selected="true"] { color:#fff; background:#00883a; border-color:#00883a; box-shadow:0 5px 12px #009d4320; }
.lb-demo-hint { color:#73947f; font-size:9px; }
.lb-demo-screen { border-color:#e0eee4; border-radius:12px; box-shadow:0 16px 35px #0c623014; transform:rotate(1deg); }
.lb-screen-top { padding:19px; border-color:#e4f0e8; }
.lb-request { background:#daf7e4; color:#268346; }
.lb-ai-badge { background:#06c755; color:#fff; }
.lb-coupon { background:linear-gradient(140deg,#f2faee,#dbefda); border:1px solid #d5e8d1; border-radius:6px; padding:20px; }
.lb-coupon span { color:#5b9265; font-size:8px; }
.lb-coupon strong { color:#2e6b3b; font-size:16px; margin:10px 0; }
.lb-coupon small { color:#84a389; }
.lb-screen-foot { color:#7d9e88; border-color:#d9eadd; }
body:where(.is-front,.home) #features .grid { gap:20px; margin-top:40px; }
body:where(.is-front,.home) #features .grid>div { border-radius:12px; border:1px solid #e3ede7; padding:27px; box-shadow:none; }
body:where(.is-front,.home) #features .grid>div:hover { background:#f5fcf8; transform:translateY(-5px); }
body:where(.is-front,.home) #features .grid>div>.absolute { display:none; }
body:where(.is-front,.home) #features .grid .relative>div:first-child { width:48px; height:48px; background:#eafaf0; border:1px solid #daf2e3; border-radius:12px; box-shadow:none; margin-bottom:19px; }
body:where(.is-front,.home) #features .grid svg { width:25px; height:25px; color:#03b14a; }
body:where(.is-front,.home) #features .grid h3 { font-size:17px; margin-bottom:12px; }
body:where(.is-front,.home) #features .grid p { font-size:12px; line-height:2; }
body:where(.is-front,.home) #reasons { background:#f2faf5; }
body:where(.is-front,.home) #reasons .reason-card { border-radius:14px; padding:32px; border:1px solid #e0eee5; box-shadow:none; }
body:where(.is-front,.home) #reasons .reason-card h3 { font-size:18px; line-height:1.8; }
body:where(.is-front,.home) #reasons .reason-card p { font-size:12px; line-height:2; }
body:where(.is-front,.home) #reasons .reason-card .font-display { font-size:39px; letter-spacing:-1px; color:#cdf0da; }
body:where(.is-front,.home) #reasons .reason-card>.absolute { display:none; }
body:where(.is-front,.home) #reasons svg { color:#06b04b; }
body:where(.is-front,.home) #reasons [class*="bg-gold/"] { background:#e8f9ef; color:#149948; }
body:where(.is-front,.home) #cases { background:#fff; }
body:where(.is-front,.home) #cases .grid>div { border-radius:12px; border:1px solid #e4eee8; }
body:where(.is-front,.home) #cases .grid h3 { font-size:16px; line-height:1.9; }
.eg-case-visual { position:relative; height:220px; background:linear-gradient(145deg,#e7faed,#bcebd0); overflow:hidden; padding:23px; display:flex; flex-direction:column; justify-content:space-between; }
.eg-case-visual::before { content:''; position:absolute; width:220px; height:220px; border:35px solid #ffffff40; border-radius:50%; right:-75px; top:-85px; }
.eg-case-visual>span { font-size:10px; color:#47916a; letter-spacing:.06em; }
.eg-case-metric { position:relative; display:flex; align-items:baseline; gap:10px; color:#078942; font:700 66px/.95 Arial,sans-serif; letter-spacing:-3px; }
.eg-case-metric small { font:700 14px 'Noto Sans JP',sans-serif; letter-spacing:0; }
.eg-case-visual>b { color:#487f5e; font-size:11px; font-weight:500; }
.eg-case-visual svg { position:absolute; width:120px; height:70px; right:20px; bottom:18px; fill:none; stroke:#45ba79; stroke-width:2; opacity:.5; }
body:where(.is-front,.home) #pricing { background:#f3faf6; }
body:where(.is-front,.home) #pricing .bg-gradient-to-b { background:#fff; border:1px solid #dbeee1; box-shadow:0 18px 40px #16723a09; border-radius:18px; }
body:where(.is-front,.home) #pricing .bg-gradient-to-b>.absolute { display:none; }
body:where(.is-front,.home) #pricing .bg-gradient-to-b>.relative { border:0; }
body:where(.is-front,.home) #pricing [class*="text-ivory"] { color:#5f7d69; }
body:where(.is-front,.home) #pricing h3.text-ivory { color:#193c29; font-size:27px; }
body:where(.is-front,.home) #pricing .bg-gradient-to-b .text-gold { color:#06a747; }
body:where(.is-front,.home) #pricing .grid>div { background:#f2faf5; border-color:#e2f0e7; border-radius:8px; }
body:where(.is-front,.home) .cta-shine { background:#00883a; color:#fff; border:1px solid #00883a; border-radius:6px; box-shadow:0 7px 20px #00833920; font-size:14px; }
body:where(.is-front,.home) #faq .faq-item { border:1px solid #e4ede7; background:#fff; margin-top:13px; border-radius:8px; }
body:where(.is-front,.home) #faq .faq-item summary { padding:23px; }
body:where(.is-front,.home) #faq .faq-item summary::before { color:#06b24c; font-size:18px; margin-right:10px; }
body:where(.is-front,.home) #faq .faq-item summary span { font-size:15px; }
body:where(.is-front,.home) #faq .faq-answer p { font-size:13px; padding:0 25px 25px 64px; line-height:2; }
body:where(.is-front,.home) #contact { background:linear-gradient(115deg,#007c35,#00883a); }
body:where(.is-front,.home) #contact:before { content:''; position:absolute; width:750px; height:750px; border:1px solid #ffffff30; border-radius:50%; top:-250px; right:-200px; box-shadow:0 0 0 65px #ffffff05,0 0 0 130px #ffffff05; pointer-events:none; }
body:where(.is-front,.home) #contact .text-gold,body:where(.is-front,.home) #contact .text-gold-light,body:where(.is-front,.home) #contact .text-gradient-gold { color:#fff; -webkit-text-fill-color:currentColor; }
body:where(.is-front,.home) #contact .cta-shine { background:#fff; color:#008d3b; border-color:#fff; padding:20px 42px; }
body:where(.is-front,.home) #contact h2 { color:#fff; font-size:40px; }
body:where(.is-front,.home) #contact [class*="text-ivory"] { color:#e0ffec; }
body:where(.is-front,.home) footer { background:#103322; border:0; }
body:where(.is-front,.home) .lb-motion-paused .eg-product-stage { transform:scale(var(--stage-scale,1)); }
@keyframes egFloat { 0%,100% { translate:0 0; } 50% { translate:0 -11px; } }
@keyframes egDrift { 0%,100% { translate:0 0; } 50% { translate:5px -7px; } }
@keyframes egMessage { 0%,7% { opacity:.45; translate:0 4px; } 20%,100% { opacity:1; translate:0 0; } }
@keyframes egLine { to { background-position:-200% 0; } }
@keyframes egBreath { 0%,100% { scale:1; opacity:.65; } 50% { scale:1.14; opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
  .eg-smartphone { animation:egFloat 6s ease-in-out infinite; }
  .eg-ai-notice { animation:egDrift 7s ease-in-out infinite; }
  .eg-customer-card { animation:egFloat 8s 1s ease-in-out infinite; }
  .eg-line-tile { animation:egDrift 5s .5s ease-in-out infinite; }
  .eg-stage-glow { animation:egBreath 9s ease-in-out infinite; }
  .eg-chat-first { animation:egMessage 8s ease-in-out infinite; }
  .eg-chat-reply { animation:egMessage 8s .7s ease-in-out infinite; }
  .eg-chat-offer { animation:egMessage 8s 1.4s ease-in-out infinite; }
  .eg-journey-line { animation:egLine 5s linear infinite; }
  .eg-spark { animation:egBreath 7s ease-in-out infinite; }
}
@media(min-width:1650px) { .eg-hero-grid { min-height:740px; gap:30px; } .eg-hero-backdrop::before { right:-200px; } .eg-orbit { right:-260px; } .eg-orbit-two { right:-310px; } .eg-orbit-three { right:-365px; } }
@media(max-width:1200px) {
  .eg-hero-grid { grid-template-columns:1fr 1fr; min-height:610px; gap:0; } .eg-product-wrap.lb-scene-wrap { height:475px; --stage-scale:.84; }
  .eg-hero .eg-hero-copy h1 { font-size:47px; } .eg-hero-description { font-size:12px; } .eg-hero-kicker { font-size:12px; } .eg-hero-actions { gap:10px; } .eg-button { font-size:11px; padding:15px 17px; gap:10px; min-height:53px; } .eg-hero-checks { font-size:10px; gap:14px; }
  .lb-desktop-nav { gap:17px; font-size:11px; } .eg-capability-bar>.eg-container>span { font-size:11px; padding-left:16px; } .eg-capability-bar p { font-size:10px; }
  .eg-value-card { padding:25px 23px 0; } .eg-value-card h3 { font-size:16px; } .eg-value-card>p { font-size:11px; } .eg-value-proof .eg-value-text { font-size:24px; }
  body:where(.is-front,.home) #features .lb-demo { padding:35px; gap:35px; } .lb-demo h3 { font-size:30px; }
}
@media(max-width:950px) {
  .lb-desktop-nav { display:none; } .lb-menu { display:block; } .eg-hero .eg-hero-copy h1 { font-size:39px; } .eg-product-wrap.lb-scene-wrap { --stage-scale:.67; height:390px; } .eg-hero-grid { min-height:520px; }
  .eg-hero-backdrop::before { width:780px; height:780px; right:-340px; top:-100px; } .eg-orbit { width:850px; height:850px; top:-135px; right:-375px; } .eg-orbit-two { width:930px; height:930px; top:-175px; right:-415px; } .eg-orbit-three { display:none; }
  .eg-eyebrow { font-size:8px; letter-spacing:1px; margin-bottom:20px; } .eg-hero-kicker { font-size:10px; } .eg-hero-description { font-size:11px; } .eg-button svg { width:15px; } .eg-button { font-size:10px; gap:6px; padding:13px 12px; min-height:49px; } .eg-button>span { font-size:15px; margin-left:2px; }
  .eg-hero-checks { font-size:9px; gap:10px; } .eg-product-caption { font-size:7px; right:0; } .eg-value-grid { gap:14px; } .eg-value-card { padding:22px 18px 0; } .eg-value-proof { flex-wrap:wrap; gap:12px; } .eg-value-proof strong { font-size:43px; }
  .eg-journey-track { grid-template-columns:repeat(3,1fr); gap:20px; padding:23px; } .flow-step:nth-child(3)::after { display:none; } .eg-step-icon { width:62px; height:62px; }
  .eg-capability-bar>.eg-container { flex-wrap:wrap; justify-content:center; gap:18px; padding:24px 0; } .eg-capability-bar p { width:100%; text-align:center; }
  .eg-hero-foot>span { font-size:6px; letter-spacing:1px; } .eg-hero-foot .lb-motion-toggle { font-size:8px; }
}
@media(max-width:680px) {
  body #nav.lb-nav { height:75px; padding-inline:5%; } .lb-brand { font-size:22px; } .lb-brand-icon { width:33px; height:33px; border-radius:9px; } .lb-brand small { font-size:6px; } .lb-nav-contact { font-size:10px; padding:11px 13px; gap:11px; } .lb-nav-end { gap:4px; } .lb-menu summary { width:34px; padding:5px; }
  .eg-container { width:89%; } .lb-hero.eg-hero { padding:0; } .eg-hero-grid { grid-template-columns:1fr; padding-top:39px; padding-bottom:0; min-height:0; } .eg-hero-copy.lb-hero-copy { text-align:center; }
  .eg-eyebrow { justify-content:center; font-size:8px; letter-spacing:1.3px; margin-bottom:18px; } .eg-eyebrow>span { width:14px; } .eg-hero-kicker { font-size:10px; margin-bottom:13px; }
  .eg-hero .eg-hero-copy h1 { font-size:clamp(32px,8.8vw,48px); line-height:1.52; white-space:nowrap; margin-bottom:19px; letter-spacing:-.06em; } .eg-hero .eg-hero-copy h1 br { display:block; }
  .eg-hero-description { font-size:10px; line-height:2; } .eg-hero-actions { gap:10px; justify-content:center; margin-top:24px; } .eg-button { padding:13px 15px; font-size:10px; gap:7px; min-height:49px; border-radius:5px; } .eg-button svg { width:15px; } .eg-button>span { font-size:14px; }
  .eg-hero-checks { justify-content:center; margin-top:15px; gap:18px; font-size:9px; } .eg-product-wrap.lb-scene-wrap { height:310px; --stage-scale:.52; margin-top:20px; } .eg-product-caption { bottom:0; right:0; font-size:7px; }
  .eg-hero-backdrop::before { width:630px; height:630px; top:375px; right:-220px; background:linear-gradient(140deg,#06c755,#73e79e); } .eg-orbit { width:715px; height:715px; top:333px; right:-262px; } .eg-orbit-two { width:805px; height:805px; top:288px; right:-307px; } .eg-background-word { display:none; }
  .eg-hero-foot { margin-top:18px; padding:14px 0; gap:5px; } .eg-hero-foot>span { font-size:5px; letter-spacing:.6px; gap:5px; } .eg-hero-foot>a { display:none; } .eg-hero-foot .lb-motion-toggle { font-size:7px; padding:6px 0; }
  .eg-capability-bar>.eg-container { gap:15px 0; padding:25px 0; justify-content:normal; } .eg-capability-bar p { font-size:10px; margin-bottom:4px; } .eg-capability-bar>.eg-container>span { width:50%; font-size:10px; text-align:center; padding:0; border:0; } .eg-capability-bar>.eg-container>span:nth-child(even) { border-right:1px solid #e0ebe4; }
  body:where(.is-front,.home) main>.eg-section { padding:65px 0; } .eg-section-heading { margin-bottom:32px; } .eg-section-eyebrow { font-size:9px; letter-spacing:1.7px; margin-bottom:13px; }
  body:where(.is-front,.home) .eg-section-heading h2 { font-size:27px; line-height:1.65; } .eg-section-heading>p:last-child:not(.eg-section-eyebrow) { font-size:11px; line-height:2; margin-top:16px; } .eg-section-heading>p br { display:none; }
  .eg-value-grid { grid-template-columns:1fr; gap:17px; } .eg-value-card { padding:24px 25px 0; } .eg-value-top { margin-bottom:15px; } .eg-value-top svg { width:36px; height:36px; } .eg-value-card h3 { font-size:18px; } .eg-value-card>p { font-size:12px; min-height:0; } .eg-value-proof { margin-top:19px; padding:15px 0; flex-wrap:nowrap; } .eg-value-proof strong { font-size:44px; } .eg-value-proof .eg-value-text { font-size:28px; }
  .eg-journey-track { grid-template-columns:1fr; gap:8px; padding:16px; } body:where(.is-front,.home) #flow .flow-step { text-align:left; padding:19px 18px 19px 85px; min-height:138px; border:1px solid #e7f2eb; border-radius:8px; } .eg-step-number { position:absolute; left:15px; top:12px; font-size:8px; } .eg-step-icon { position:absolute; left:17px; top:40px; width:47px; height:47px; border-radius:13px; box-shadow:0 4px 0 #f0f6f2; } .eg-step-icon svg { width:25px; height:25px; } .flow-step h3 { font-size:14px; margin:3px 0 9px; } .flow-step p { font-size:11px; line-height:1.8; } .flow-step p br { display:none; } .eg-step-chip { margin-top:10px; font-size:8px; padding:4px 8px; }
  .flow-step:not(:last-child)::after { content:'↓'; right:50%; top:auto; bottom:-15px; font-size:18px; } .flow-step:nth-child(3)::after { display:block; } .eg-journey-label { padding:18px; font-size:7px; } .eg-journey-label small { font-size:8px; } .eg-journey-bottom { padding:10px 21px 20px; font-size:7px; gap:10px; }
  body:where(.is-front,.home) #features .lb-demo { padding:27px 19px; gap:28px; margin-top:35px; border-radius:12px; } .lb-demo h3 { font-size:28px; margin:18px 0; } .lb-demo-copy>p:not(.lb-eyebrow) { font-size:11px; } .lb-demo-tabs { margin-top:21px; gap:8px; } .lb-demo-tabs button { padding:11px 18px; font-size:11px; } .lb-demo-hint { font-size:8px; }
  .lb-demo-screen { transform:none; } .lb-coupon { padding:16px; } .lb-coupon strong { font-size:14px; } body:where(.is-front,.home) #features .grid { gap:13px; margin-top:28px; } body:where(.is-front,.home) #features .grid>div { padding:24px; } body:where(.is-front,.home) #features .grid h3 { font-size:17px; }
  body:where(.is-front,.home) #reasons .reason-card { padding:26px; } body:where(.is-front,.home) #reasons .reason-card h3 { font-size:17px; } .eg-case-visual { height:195px; padding:24px; } .eg-case-metric { font-size:62px; }
  body:where(.is-front,.home) #pricing h3.text-ivory { font-size:23px; } body:where(.is-front,.home) #pricing .bg-gradient-to-b>.relative { padding:25px 15px; } body:where(.is-front,.home) #pricing [class*="text-ivory"] { font-size:12px; } body:where(.is-front,.home) #pricing .font-display { font-size:20px; } body:where(.is-front,.home) #pricing .cta-shine { font-size:12px; padding:16px 24px; }
  body:where(.is-front,.home) #faq .faq-item summary { padding:20px 16px; } body:where(.is-front,.home) #faq .faq-item summary span { font-size:12px; line-height:1.9; } body:where(.is-front,.home) #faq .faq-item summary::before { margin-right:4px; font-size:17px; } body:where(.is-front,.home) #faq .faq-answer p { padding:0 18px 22px 44px; font-size:11px; }
  body:where(.is-front,.home) #contact h2 { font-size:28px; } body:where(.is-front,.home) #contact .cta-shine { padding:17px 34px; font-size:13px; } body:where(.is-front,.home) #contact .text-gold-light { font-size:10px; }
}
@media(max-width:360px) { .eg-product-wrap.lb-scene-wrap { --stage-scale:.47; height:280px; } .eg-button { padding:12px 10px; font-size:9px; gap:5px; } .eg-hero .eg-hero-copy h1 { font-size:31px; } .eg-hero-description { font-size:9px; } .lb-brand { font-size:19px; } .lb-nav-contact { padding:10px; } }
@media(prefers-reduced-motion:reduce) { .eg-product-stage.lb-scene { transform:scale(var(--stage-scale,1))!important; } .eg-hero-backdrop::before { animation:none; } }
body.lb-motion-paused .eg-product-stage.lb-scene { transform:scale(var(--stage-scale,1)); }
.eg-section-eyebrow { color:#00863a; }
.eg-eyebrow { color:#008238; }
.eg-product-caption { color:#245f3e; }
body:where(.is-front,.home) .font-display.text-gold { color:#00863a; }
.eg-hero-foot>span,.eg-hero-foot .lb-motion-toggle { color:#477759; }
@keyframes egJourneyStep { 0%,16% { background:#06b64e; box-shadow:0 0 0 7px #06c75513; color:#fff; } 25%,100% { background:#e4f9ec; box-shadow:0 7px 0 #eff7f1; color:#00a348; } }
.flow-step:nth-child(2) { --step-delay:1.4s; }
.flow-step:nth-child(3) { --step-delay:2.8s; }
.flow-step:nth-child(4) { --step-delay:4.2s; }
.flow-step:nth-child(5) { --step-delay:5.6s; }
.eg-step-icon { color:#00a348; }
.eg-step-icon svg { stroke:currentColor; }
@media(prefers-reduced-motion:no-preference) { .flow-step.is-current .eg-step-icon { animation:egJourneyStep 8s var(--step-delay,0s) ease-in-out infinite; } }

/* Lbest original illustration direction: paper, ink and meaningful movement. */
.lb-service-art { display:block; width:96px; height:96px; overflow:visible; }
body:where(.is-front,.home) #reasons .reason-card .lb-service-art { width:64px; height:64px; }
body:where(.is-front,.home) #reasons .reason-card [class*="bg-gradient-to-br"]:has(>.lb-service-art) { background:transparent; box-shadow:none; width:72px; height:72px; border-radius:0; }
.lb-ui-icon { display:inline-block; width:18px; height:18px; vertical-align:middle; flex-shrink:0; }
.eg-sidebar>span { display:grid; place-items:center; width:28px; height:28px; }
.eg-sidebar .eg-sidebar-current { padding:4px; }
.eg-ai-tag .lb-ui-icon { width:12px; height:12px; margin-right:3px; }
.eg-window-dots { display:flex; gap:5px; }
.eg-window-dots i { width:5px; height:5px; background:#b9cbbf; border-radius:50%; }
.eg-notice-icon .lb-service-art { width:36px; height:36px; }
.eg-spark { text-shadow:none; animation:none; }
.eg-spark-one { width:88px; height:88px; top:7px; right:15px; transform:rotate(9deg); }
.eg-spark-two { width:73px; height:73px; right:1px; bottom:0; transform:rotate(-8deg); }
.eg-spark .lb-service-art { width:100%; height:100%; filter:drop-shadow(0 5px 0 #00893815); }
.eg-hero-backdrop::before { background:#06c755; box-shadow:none; border-radius:42% 0 0 42%; transform:rotate(-12deg); }
.eg-hero-backdrop::after { height:70px; background:linear-gradient(0deg,#effcf4,transparent); }
.eg-orbit { border-style:dashed; opacity:.55; }
.eg-stage-glow { display:none; }
.eg-smartphone,.eg-ai-notice,.eg-customer-card,.eg-line-tile { animation:none; }
.eg-hero .eg-hero-copy h1 { letter-spacing:-.045em; }
.eg-value-top { align-items:flex-start; min-height:101px; }
.eg-value-top svg.lb-service-art { width:94px; height:94px; }
.eg-value-top>span { padding-top:10px; color:#53856b; }
.eg-value-card { border-radius:4px; box-shadow:none; }
.eg-step-icon { width:100px; height:100px; background:transparent; border:0; box-shadow:none; border-radius:0; }
.eg-step-icon svg.lb-service-art { width:82px; height:82px; }
.flow-step.is-current .eg-step-icon { animation:none; }
.lb-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; margin-top:64px; }
.lb-service-card { min-width:0; border:1px solid #d5e5db; border-radius:5px; overflow:hidden; background:#fff; transition:box-shadow .35s,border-color .35s; }
.lb-service-picture { position:relative; height:218px; background:#eff7ef; overflow:hidden; border-bottom:1px solid #d5e5db; }
.lb-service-card:nth-child(2n) .lb-service-picture { background:#f3f3e9; }
.lb-service-card:nth-child(3n) .lb-service-picture { background:#e4f5ea; }
.lb-service-index { position:absolute; left:21px; top:18px; font:500 13px/1.2 Arial,sans-serif; color:#315b42; }
.lb-service-caption { position:absolute; right:19px; top:20px; font:600 8px/1 Arial,sans-serif; letter-spacing:1.3px; color:#54745e; }
.lb-service-drawing { position:absolute; inset:38px 0 20px; display:grid; place-items:center; }
.lb-service-drawing::before { content:''; position:absolute; width:178px; height:122px; border:1px solid #b9d3bc; border-radius:50%; transform:rotate(-25deg); }
.lb-service-card:nth-child(2n) .lb-service-drawing::before { border-radius:2px; width:144px; height:128px; transform:rotate(12deg); border-style:dashed; }
.lb-service-drawing .lb-service-art { width:138px; height:138px; position:relative; z-index:1; filter:drop-shadow(4px 7px 0 #21593210); transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.lb-service-baseline { position:absolute; height:1px; background:#bad3bf; width:58px; bottom:19px; left:calc(50% - 29px); }
.lb-service-body { padding:26px 25px 23px; }
.lb-service-name { color:#008637; font-size:11px; font-weight:700; margin:0 0 11px; letter-spacing:.04em; }
body:where(.is-front,.home) .lb-service-body h3 { font-size:19px; font-weight:800; letter-spacing:-.04em; line-height:1.65; min-height:63px; margin:0 0 13px; color:#193f30; }
.lb-service-body>p:not(.lb-service-name) { font-size:13px; line-height:1.95; color:#53675a; min-height:78px; }
.lb-service-trail { border-top:1px solid #e1e9e2; margin-top:22px; padding-top:16px; font-size:10px; font-weight:600; color:#44684f; }
.lb-service-card:hover { border-color:#6bb684; box-shadow:0 8px 0 #e8f2e9; }
@keyframes lbInkLift { 0%,100% { transform:translateY(0); } 45% { transform:translateY(-5px); } }
@keyframes lbCapsuleTurn { 0%,100% { transform:rotate(0); } 35% { transform:rotate(18deg); } 70% { transform:rotate(-12deg); } }
@keyframes lbStampPress { 0%,100% { transform:translateY(-3px); } 45%,60% { transform:translateY(5px); } }
@keyframes lbRouteTravel { to { stroke-dashoffset:-32; } }
@media(prefers-reduced-motion:no-preference) {
 .lb-service-card:hover .lb-service-drawing>.lb-service-art { transform:translateY(-3px); }
 .lb-service-card:hover .lb-art-lift,.flow-step.is-current .lb-art-lift { animation:lbInkLift 2.5s ease-in-out infinite; }
 .lb-service-card:hover .lb-art-turn { transform-origin:48px 32px; animation:lbCapsuleTurn 2s ease-in-out infinite; }
 .lb-service-card:hover .lb-art-stamp { animation:lbStampPress 1.8s ease-in-out infinite; }
 .flow-step.is-current .lb-art-route { animation:lbRouteTravel 3s linear infinite; }
}
@media(max-width:1000px) { .lb-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
 .eg-value-top { min-height:83px; margin-bottom:8px; }
 .eg-value-top svg.lb-service-art { width:76px; height:76px; }
 .eg-step-icon { width:55px; height:64px; left:14px; top:35px; }
 .eg-step-icon svg.lb-service-art { width:55px; height:55px; }
 .eg-hero-backdrop::before { border-radius:45% 0 0 45%; top:460px; }
 .lb-service-grid { grid-template-columns:1fr; gap:24px; margin-top:35px; }
 .lb-service-picture { height:205px; }
 .lb-service-body { padding:23px; }
 body:where(.is-front,.home) .lb-service-body h3 { font-size:20px; min-height:0; }
 .lb-service-body>p:not(.lb-service-name) { font-size:13px; min-height:0; }
 .lb-service-trail { font-size:10px; margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) { .lb-service-art *,.lb-service-card,.lb-service-drawing>.lb-service-art { animation:none!important; transition:none!important; } }

/* The comparison film is content: preserve the entire frame and native controls. */
.lb-video-hero .eg-hero-grid { grid-template-columns:minmax(0,.87fr) minmax(0,1.2fr); gap:38px; min-height:650px; padding-top:54px; padding-bottom:44px; }
.eg-hero.lb-video-hero .eg-hero-copy h1 { font-size:clamp(36px,3.7vw,55px); }
.lb-video-hero .eg-hero-backdrop::before { opacity:.13; right:-450px; background:#06c755; }
.lb-video-hero .eg-hero-backdrop::after { display:none; }
.lb-hero-film { margin:0; min-width:0; padding:22px; background:#fff; border:1px solid #c6dfce; border-radius:14px; box-shadow:0 20px 55px #143e2412,7px 7px 0 #06c7551a; }
.lb-film-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.lb-film-label { color:#008238; font:700 10px/1.5 Arial,sans-serif; letter-spacing:.15em; }
.lb-film-duration { color:#49604f; font:600 12px/1.5 Arial,sans-serif; letter-spacing:.05em; }
.lb-hero-film h2 { margin:0 0 19px; color:#173c2b; font-size:clamp(18px,1.65vw,24px); line-height:1.6; font-weight:800; letter-spacing:-.035em; }
.lb-hero-film h2 span { display:inline-block; color:#008637; }
.lb-film-frame { width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #dce7de; border-radius:7px; background:#17291e; }
.lb-hero-video { display:block; width:100%; height:100%; object-fit:contain; }
.lb-hero-video:focus-visible { outline:3px solid #06c755; outline-offset:-4px; }
.lb-hero-film figcaption { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:16px; }
.lb-hero-film figcaption p { font-size:11px; line-height:1.9; color:#465e4f; }
.lb-hero-film figcaption a { flex-shrink:0; font-size:11px; font-weight:700; color:#007631; text-decoration:underline; text-underline-offset:4px; }
.lb-film-note { margin-top:13px; padding-top:11px; border-top:1px solid #e6ede7; font-size:9px; line-height:1.85; color:#657268; }
/* Vertical (9:16) service movie: phone-width card instead of a letterboxed 16:9 frame */
.lb-hero-film.lb-hero-film--portrait { width:100%; max-width:400px; justify-self:center; }
.lb-hero-film--portrait .lb-film-frame { aspect-ratio:9/16; width:min(100%, calc((100svh - 330px) * 9 / 16)); min-width:220px; margin-inline:auto; border-radius:12px; background:#0f2a1c; }
.lb-hero-film--portrait figcaption { flex-direction:column; align-items:flex-start; gap:8px; }
@media(max-width:540px) { .lb-hero-film.lb-hero-film--portrait { max-width:340px; } }
@media(max-width:1100px) {
 .lb-video-hero .eg-hero-grid { gap:24px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 .lb-hero-film { padding:17px; }
 .lb-hero-film figcaption { flex-direction:column; align-items:flex-start; gap:8px; }
 .lb-video-hero .eg-hero-actions { gap:8px; }
 .lb-video-hero .eg-button { padding:15px 13px; gap:8px; font-size:11px; }
}
@media(max-width:950px) {
 .lb-video-hero .eg-hero-grid { grid-template-columns:1fr; min-height:0; gap:34px; padding-top:40px; }
 .lb-video-hero .eg-hero-copy { text-align:center; }
 .lb-video-hero .eg-eyebrow,.lb-video-hero .eg-hero-actions,.lb-video-hero .eg-hero-checks { justify-content:center; }
 .lb-hero-film { width:100%; max-width:740px; justify-self:center; text-align:left; }
 .lb-hero-film figcaption { flex-direction:row; align-items:center; }
 .eg-hero.lb-video-hero .eg-hero-copy h1 { font-size:46px; }
}
@media(max-width:680px) {
 .lb-video-hero .eg-hero-grid { padding-top:30px; padding-bottom:24px; gap:30px; }
 .eg-hero.lb-video-hero .eg-hero-copy h1 { font-size:clamp(27px,7.9vw,38px); }
 .lb-hero-film { padding:12px; border-radius:10px; box-shadow:0 12px 28px #143e2410,4px 4px 0 #06c75518; }
 .lb-hero-film h2 { font-size:18px; margin-bottom:13px; }
 .lb-film-heading { margin-bottom:8px; }
 .lb-film-label { font-size:8px; }
 .lb-hero-film figcaption { flex-direction:column; align-items:flex-start; gap:9px; margin-top:12px; }
 .lb-hero-film figcaption p,.lb-hero-film figcaption a { font-size:11px; }
 .lb-film-note { font-size:9px; }
 .lb-video-hero .eg-hero-backdrop::before { top:360px; }
 .lb-video-hero .eg-hero-description { font-size:11px; }
 .lb-video-hero .eg-button { min-height:49px; padding:12px 13px; font-size:10px; gap:7px; }
}
