/* Lumi has a reserved grid area, never an overlay on editorial content. */
.lumi-message{width:100%;max-width:360px;margin-inline:auto;text-align:center;position:relative;isolation:isolate}
.lumi-message img{display:block;width:100%;height:auto;object-fit:contain}
.lumi-play{font:inherit;font-size:.875rem;color:#61497c;background:#ffffffb8;border:1px solid #d7c6e8;border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer;margin-top:4px}
.lumi-play:hover{background:#eee4fa}.lumi-play:focus-visible{outline:3px solid #7955b7;outline-offset:4px}
.solutions-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);align-items:center;gap:36px;margin-bottom:36px;min-height:0}
.solutions-intro>div:first-child{min-width:0}
.solutions-intro .intro-mascot{position:static;inset:auto;transform:none;display:block;width:100%;max-width:330px;min-width:0;justify-self:end;align-self:start;grid-column:2;grid-row:1;flex:none}
.solutions-intro .intro-mascot .lumi-message{width:100%}
.cta .cta-mascot{position:static;inset:auto;transform:none;width:100%;max-width:330px;opacity:1;pointer-events:auto;justify-self:end;grid-column:2;grid-row:1}
.contact-mascot{position:static;inset:auto;width:100%;max-width:360px;height:auto;margin:24px auto}
.solutions-greeting{display:flex;justify-content:flex-end;margin:0 0 40px}.solutions-greeting .lumi-message{max-width:330px}
@media(max-width:700px){
 .solutions-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;min-height:0;margin-bottom:28px;padding:0}
 .solutions-intro .intro-mascot{position:static;inset:auto;grid-column:1;grid-row:1;width:min(100%,310px);max-width:310px;justify-self:end;align-self:start;flex:none}
 .solutions-intro>div:first-child{grid-column:1;grid-row:2}
 .solutions-intro h2{max-width:none;font-size:clamp(2rem,8.3vw,2.65rem);line-height:1.13;letter-spacing:-.045em;margin:14px 0 18px}
 .solutions-intro p{max-width:none;font-size:1rem;line-height:1.65;position:static}
 .solutions-intro p br{display:none}.solutions-intro .eyebrow{font-size:.75rem}
 .cta{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 24px;overflow:visible}
 .cta>div:first-child{grid-column:1;grid-row:2}.cta .cta-mascot{position:static;inset:auto;grid-column:1;grid-row:1;max-width:310px;width:100%;justify-self:end;opacity:1;pointer-events:auto;margin:0}
 .cta h2{font-size:2rem;line-height:1.16}.cta p{font-size:1rem;line-height:1.65}.cta .eyebrow{font-size:.75rem}.cta .btn{font-size:.9rem;min-height:48px}
 .contact-grid aside .contact-mascot{grid-column:1/-1;grid-row:auto;width:100%;max-width:330px;margin:20px 0 20px auto}
 .solutions-greeting{margin:0 0 32px}.lumi-message{max-width:330px}
 .home .flow-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .home .flow-card{padding:26px;border-radius:26px}.home .flow-card h3{font-size:1.5rem;letter-spacing:-.035em}.home .flow-card p{font-size:1rem;line-height:1.6}.home .flow-card .text-link{font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;padding:10px 14px}
 .home .flow-card .mini-ill{height:116px;max-width:210px}.home .flow-card .eyebrow{font-size:.75rem}
 .hero h1{font-size:clamp(2.25rem,10vw,3.75rem);letter-spacing:-.055em;white-space:normal;line-height:1.09}
 .hero .actions{flex-wrap:wrap;gap:12px}.hero .actions .btn{font-size:.875rem;min-height:48px;padding:13px 17px}
 .hero-benefits{font-size:.8rem;gap:14px;justify-content:flex-start;flex-wrap:wrap;line-height:1.4}
 .photo-check{font-size:.875rem;line-height:1.5;padding:17px}.photo-stage{margin-bottom:60px}.floating-app small{font-size:.75rem}
 .solutions-home{padding-top:28px}.welcome-feature p{font-size:1rem;line-height:1.65}.welcome-feature .btn{font-size:.875rem;min-height:48px}
 .film-bottom>span,.film-transcript{font-size:.875rem;line-height:1.6}.hero-motion-toggle{font-size:.8rem;min-height:40px}
}

@media(min-width:701px){.solutions-intro{max-width:1120px;margin-inline:auto;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:48px}.solutions-intro .intro-mascot{justify-self:center;align-self:center}.cta{grid-template-columns:minmax(0,1.25fr) minmax(260px,.8fr)}.cta .cta-mascot{justify-self:center}.solutions-greeting{justify-content:center}}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-fields input,.contact-fields select{width:100%;box-sizing:border-box}.contact-fields select{font:inherit;padding:15px;border:1px solid #d6c9e4;border-radius:14px;background:#ffffffb0;color:#292630;min-height:50px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-state{margin-top:16px;line-height:1.6}#contact-result{background:#f0e8fb;border-radius:24px;padding:24px;margin-top:24px;text-align:center}#contact-result img{object-fit:contain}.sent #send-contact{display:none}.sending #send-contact{animation:little-hop .8s ease-in-out infinite}.sending #send-contact:after{content:'✦';margin-left:12px}@keyframes little-hop{50%{transform:translateY(-3px) rotate(-1deg)}}@media(max-width:700px){.contact-fields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.sending #send-contact{animation:none}}

/* Concrete solution descriptions, with a readable two-column layout. */
.flow-grid.clear-solutions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.clear-solutions .flow-card{padding:32px;display:flex;flex-direction:column;min-width:0}.clear-solutions .mini-ill{height:108px;max-width:220px;margin-bottom:20px}.clear-solutions .eyebrow{margin-bottom:10px;text-transform:uppercase;color:#61497c}.clear-solutions h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15;margin-bottom:22px}.clear-solutions p{font-size:1rem;line-height:1.65}.solution-pain b,.solution-outcome b,.solution-actions>b{display:block;font-size:.8rem;letter-spacing:.025em;color:#58486a;margin-bottom:6px}.solution-actions ul{padding-left:20px;margin:8px 0 20px;font-size:1rem}.solution-outcome{border-top:1px solid #d9cfe3;padding-top:17px;margin-top:auto}.clear-solutions .text-link{align-self:flex-start;margin-top:8px}.solutions-explainer,.solution-before{max-width:820px;background:#ffffffa8;border:1px solid #e9deee;border-radius:28px;padding:36px;margin:0 auto 70px}.solutions-explainer h2,.solution-before h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:20px}.solutions-explainer p,.solution-before p{font-size:1.05rem;line-height:1.7}.clarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:26px}.clarity-grid article{padding:28px;border:1px solid #e4d9ed;border-radius:24px;background:#fffdf9b5}.clarity-grid h3{font-size:1.4rem;line-height:1.2}.clarity-grid p{font-size:1rem;line-height:1.7;margin-bottom:0}.solution-delivery{display:grid;grid-template-columns:1fr 1fr;gap:36px;background:#eee6f5;border-radius:26px;padding:32px;margin:45px 0 26px}.solution-delivery h3{font-size:1.4rem}.solution-delivery p,.solution-delivery li{font-size:1rem;line-height:1.7}.solution-scope h2{max-width:800px}.clear-solutions .flow-card:hover{transform:translateY(-4px)}@media(max-width:700px){.flow-grid.clear-solutions,.clarity-grid,.solution-delivery{grid-template-columns:1fr}.clear-solutions .flow-card{padding:26px}.solutions-explainer,.solution-before{padding:26px;margin-bottom:42px}.solution-delivery{padding:26px;gap:24px}.clear-solutions .mini-ill{height:100px}.clear-solutions .text-link{white-space:normal}}
