/* Concept B routes and accessible controls. Fonts stay on this host. */
@media(min-width:761px){.concept-b .hero h1{font-size:clamp(42px,4.2vw,60px)}}
[hidden]{display:none!important}
h1,h2,h3,h4,.btn,.wordmark{font-family:Poppins,Inter,Arial,sans-serif}
.pageintro{padding-top:68px;padding-bottom:35px}.pageintro h1{max-width:950px;font-size:clamp(36px,4.5vw,66px)}
.lead{font-size:18px;color:var(--muted);line-height:1.7;max-width:780px;margin-top:24px}
.breadcrumbs{padding-top:26px;font-size:11px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.breadcrumbs a,.inline-link,.prose a{text-decoration:underline;text-underline-offset:4px}
.detailgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:65px;padding-bottom:40px;align-items:start}
.detailgrid h1{font-size:clamp(36px,4vw,60px);overflow-wrap:anywhere}.detailgrid h2{font-size:20px;margin:30px 0 10px}
.detailgrid p{margin-top:18px}.detailgrid .eyebrow{margin-top:0}.detailvisual{background:var(--soft);border-radius:18px;min-height:430px;display:grid;place-items:center;padding:45px}
.detailvisual .detail-logo{width:200px;height:200px;object-fit:contain;border-radius:20px}.detailvisual.commerce{padding:0;overflow:hidden}.detailvisual.commerce img{width:100%;height:auto}
.detailvisual.media{background:#101c3d}.detailvisual.media img{border-radius:50%;width:230px;height:230px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;list-style:none;margin:30px 0}
.features li{padding:25px;border:1px solid var(--line);border-radius:6px;line-height:1.6;background:#fff}
.features li::before{content:'↗';display:block;color:var(--accent);margin-bottom:18px;font-size:20px}
.faq{max-width:860px;margin:50px auto 80px}.faq h2{font-size:36px;margin-bottom:28px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-family:Poppins,Inter,sans-serif;font-size:16px;padding-right:20px}.faq p{color:var(--muted);margin-top:16px;font-size:14px}
.prose{max-width:920px}.prose section{margin:40px 0}.prose h2{font-size:26px;margin-bottom:18px}.prose p{margin:16px 0;color:var(--muted);overflow-wrap:anywhere}.prose li{line-height:1.7}.prose>h1{margin-top:40px;font-size:40px}
.division-list{margin:45px 0 75px}.division-list article{padding:30px 0;border-top:1px solid var(--line)}
.contactlayout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;margin-top:32px;margin-bottom:80px}.contactlayout aside h2{font-size:28px}.contactlayout aside p{margin:25px 0;font-size:14px}.contactlayout form{background:white;border:1px solid var(--line);border-radius:12px;padding:32px;min-width:0}.contactlayout .preview-note{margin:0 0 22px}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.field-error{color:#9d241b;font-size:12px}.fields [aria-invalid=true]{border-color:#a32b20;outline-color:#a32b20}
[data-form-status]{margin-top:20px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}[data-form-status]:empty{margin:0}[data-state=error]{color:#8b2119;background:#fff1ee;padding:14px;border-radius:5px}[data-state=success]{color:#125139;background:#edf9f1;padding:14px;border-radius:5px}
.consent-banner{position:fixed;bottom:18px;left:24px;right:24px;z-index:50;margin:auto;max-width:1180px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 55px #101f4225;padding:24px 28px;border-radius:12px;display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:center}
.consent-banner h2{font-size:18px}.consent-banner p{font-size:12px;color:var(--muted);margin-top:8px}.consent-banner .dialogactions{margin:0;justify-content:flex-end;gap:8px}.consent-banner .btn{font-size:11px;padding:12px 14px}.consentrows small{display:block;color:var(--muted);margin-top:6px}.consentrows input{width:20px;height:20px;accent-color:var(--accent)}
.mediacopy .status{border-color:#768eae;color:#d9e5f5}.mediacopy h3 a:hover{text-decoration:underline;text-underline-offset:5px}.mediaart img{transition:transform .3s}.mediaart:hover img{transform:scale(1.04)}.story-step.is-active{border-top-color:var(--accent)}.products .productcard .label{margin:0 0 10px;font-size:9px}.mediagrid{margin-top:30px}.mediacopy p{line-height:1.6}.footerlinks button{font-size:inherit;padding:0}.footerlinks a:hover,.footerlinks button:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.desktopnav{gap:12px;font-size:11px}.headerinner{gap:20px}.detailgrid,.contactlayout{gap:35px}.detailvisual{min-height:340px}.consent-banner{grid-template-columns:1fr}.consent-banner .dialogactions{justify-content:flex-start}}
@media(max-width:760px){.detailgrid,.contactlayout{grid-template-columns:1fr;gap:30px}.detailgrid{padding-top:35px}.detailvisual{min-height:250px;padding:30px}.detailvisual .detail-logo{width:140px;height:140px}.detailvisual.media img{width:160px;height:160px}.pageintro{padding-top:40px;padding-bottom:16px}.pageintro h1{font-size:36px}.lead{font-size:16px;margin-top:20px}.features{grid-template-columns:1fr}.features li{padding:22px}.faq h2{font-size:29px}.faq summary{font-size:14px}.contactlayout{margin-bottom:45px}.contactlayout form{padding:22px}.contactlayout aside p{margin:15px 0}.consent-banner{left:12px;right:12px;bottom:12px;padding:18px;gap:16px;max-height:65vh;overflow:auto}.consent-banner h2{font-size:16px}.consent-banner p{font-size:11px}.consent-banner .dialogactions{display:grid;grid-template-columns:1fr 1fr;width:100%}.consent-banner .dialogactions button:last-child{grid-column:1/-1}.consent-banner .btn{font-size:10px;padding:11px 9px}.prose h2{font-size:23px}.detailgrid .actions{align-items:flex-start}.detailgrid .textlink{max-width:100%;overflow-wrap:anywhere}.footerinner{align-items:flex-start}.footerlinks{line-height:1.9}.reviewbar{line-height:1.5}.reviewbar span:last-child{max-width:170px;text-align:right}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.headerinner{gap:8px}.langs{gap:7px}.mobilemenu summary{padding:8px}.wordmark{font-size:22px}.concept-b h1{font-size:32px}.tech-stage{margin:0}.floating-tag{font-size:9px;padding:10px}.concept-b .productcopy{padding:22px}.productcopy h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){.mediaart:hover img{transform:none}}
@media(max-width:360px){.concept-b .tech-stage::before{width:270px;height:270px}.concept-b .tech-stage::after{width:220px;height:220px}}
@keyframes portfolio-enter{from{opacity:.75;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference) and (min-width:761px){.motion-reveal.is-revealed{animation:portfolio-enter .5s ease-out both}}
