/* Managed newsroom: restrained editorial presentation. */
.newsroom-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:4rem;align-items:end}
.newsroom-intro-grid h1{margin:0}
.newsroom-intro.section-space{padding-bottom:calc(var(--space) * .72)}
.newsroom-list.section-space{padding-top:calc(var(--space) * .72)}
.newsroom-filters{display:flex;flex-wrap:wrap;align-items:center;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0}
.newsroom-filters a{position:relative;padding:.9rem 1rem;color:var(--muted);font-size:13px;text-decoration:none}
.newsroom-filters a:hover,.newsroom-filters a:focus,.newsroom-filters a.is-active{color:var(--blue)}
.newsroom-filters a.is-active:after{content:'';position:absolute;right:1rem;bottom:-1px;left:1rem;height:2px;background:var(--blue)}
.newsroom-entries{border-top:0}
.newsroom-entry{display:grid;grid-template-columns:minmax(180px,27%) minmax(0,1fr) 24px;gap:clamp(1.8rem,4vw,4.5rem);align-items:center;padding:2.35rem 0;border-bottom:1px solid var(--line);min-width:0}
.newsroom-entry-media{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:108px;text-decoration:none}
.newsroom-entry-logo{padding:1rem 1.25rem}
.newsroom-entry-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:66px;object-fit:contain;object-position:left center}
.newsroom-entry-media:not(.newsroom-entry-logo){overflow:hidden;aspect-ratio:16/8;background:#eef2f5;min-height:0}
.newsroom-entry-media:not(.newsroom-entry-logo) img{display:block;width:100%;height:100%;object-fit:cover}
.newsroom-entry-media-empty{visibility:hidden}
.newsroom-entry-body{min-width:0}
.newsroom-entry-body h2{font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.2;margin:.65rem 0 .55rem}
.newsroom-entry-body h2 a{color:var(--ink);text-decoration:none}.newsroom-entry-body h2 a:hover,.newsroom-entry-body h2 a:focus{color:var(--blue)}
.newsroom-entry-body p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.newsroom-entry-arrow{align-self:center;color:var(--blue);font-size:1.2rem;line-height:1;text-decoration:none;padding:.4rem 0;text-align:right}
.newsroom-entry-arrow:hover,.newsroom-entry-arrow:focus{color:var(--blue-deep)}
.newsroom-empty{border-top:1px solid var(--line);padding:2rem 0;color:var(--muted)}
.newsroom-detail-container{max-width:900px}.newsroom-detail h1{max-width:860px;margin:.65rem 0 1rem}.newsroom-detail-summary{max-width:720px;color:var(--muted);font-size:1.15rem;line-height:1.65}.newsroom-detail-cover{margin:2.4rem 0 2.8rem;aspect-ratio:16/8;overflow:hidden;background:#eef2f5}.newsroom-prose{max-width:720px;font-size:16px;line-height:1.85}.newsroom-prose h2,.newsroom-prose h3{margin-top:2rem}.newsroom-related-list,.newsroom-latest-list{border-top:1px solid var(--line)}.newsroom-related-list a,.newsroom-latest-list a{display:grid;grid-template-columns:180px minmax(0,1fr) 22px;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.newsroom-related-list span,.newsroom-latest-list span{color:var(--blue);font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.newsroom-related-list strong,.newsroom-latest-list strong{color:var(--ink);font-size:15px}.newsroom-related-list b,.newsroom-latest-list b{color:var(--blue);font-weight:400}.newsroom-latest-list a:hover strong,.newsroom-related-list a:hover strong{color:var(--blue)}
@media(max-width:820px){.newsroom-intro-grid{grid-template-columns:1fr;gap:1.5rem}.newsroom-entry{grid-template-columns:minmax(150px,28%) minmax(0,1fr) 20px;gap:1.5rem;padding:2rem 0}.newsroom-entry-logo{padding:.75rem}.newsroom-entry-logo img{max-height:54px}.newsroom-related-list a,.newsroom-latest-list a{grid-template-columns:1fr 20px;gap:.8rem}.newsroom-related-list span,.newsroom-latest-list span{grid-column:1}.newsroom-related-list strong,.newsroom-latest-list strong{grid-column:1}.newsroom-related-list b,.newsroom-latest-list b{grid-column:2;grid-row:1/span 2}}
@media(max-width:520px){.newsroom-filters a{padding:.8rem .65rem}.newsroom-filters a.is-active:after{right:.65rem;left:.65rem}.newsroom-entry{display:block;padding:1.8rem 0}.newsroom-entry-media{width:min(220px,72%);min-height:76px;margin-bottom:1.2rem}.newsroom-entry-logo{justify-content:flex-start;padding:.5rem 0}.newsroom-entry-logo img{max-height:48px}.newsroom-entry-media:not(.newsroom-entry-logo){aspect-ratio:16/8}.newsroom-entry-arrow{display:inline-block;margin-top:1.1rem;padding:0}.newsroom-detail-cover{aspect-ratio:4/3}}
.corporate-menu{position:relative}
.corporate-menu>summary{list-style:none;cursor:pointer;padding:.45rem 0;color:var(--ink);font-size:13px}
.corporate-menu>summary::-webkit-details-marker{display:none}
.corporate-menu>summary:after{content:'⌄';font-size:12px;margin-left:.35rem;color:var(--muted)}
.corporate-menu[open]>summary,.corporate-menu>summary:hover{color:var(--blue)}
.corporate-menu-panel{position:absolute;z-index:20;top:calc(100% + .7rem);left:-1rem;display:grid;min-width:240px;padding:.6rem;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,36,58,.09)}
.corporate-menu-panel a{padding:.65rem .75rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.corporate-menu-panel a:hover,.corporate-menu-panel a:focus{background:#f2f6f8;color:var(--blue)}
.corporate-menu:not([open])>.corporate-menu-panel,.products-menu:not([open])>.products-menu-panel,.language-menu:not([open])>.language-menu-panel{display:none}
.breadcrumbs{display:flex;gap:.55rem;margin-bottom:2.5rem;color:var(--muted);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.04em}
.breadcrumbs a{color:var(--blue);text-decoration:none}
.corporate-lead{max-width:800px}
.corporate-page h2{max-width:780px}
.corporate-prose{max-width:820px;margin-top:3rem}
.corporate-prose section{padding:1.7rem 0;border-top:1px solid var(--line)}
.corporate-prose h2{font-size:clamp(1.35rem,2.4vw,2rem);margin:0 0 .8rem}
.corporate-prose p,.corporate-panels p,.corporate-card-grid p,.corporate-process p,.corporate-partner-card p{color:var(--muted);line-height:1.75}
.corporate-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}
.corporate-panels article,.corporate-card-grid article{border:1px solid var(--line);padding:1.5rem;background:#fff}
.corporate-index{display:block;color:var(--blue);font:500 11px var(--mono);letter-spacing:.08em}
.corporate-panels h2,.corporate-card-grid h2{margin:.8rem 0 0;font-size:1.35rem}
.corporate-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem}
.corporate-process{max-width:880px;margin-top:3rem;border-top:1px solid var(--line)}
.corporate-process article{display:grid;grid-template-columns:70px 1fr;gap:1.5rem;padding:1.45rem 0;border-bottom:1px solid var(--line)}
.corporate-process h2{margin:0;font-size:1.25rem}
.corporate-process p{margin:.55rem 0 0}
.corporate-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.corporate-partner-card{border:1px solid var(--line);padding:1.5rem;background:#fff}
.corporate-partner-logo{height:70px;display:flex;align-items:center;margin-bottom:1.1rem}
.corporate-partner-logo img{max-width:180px;max-height:58px;object-fit:contain;object-position:left center}
.corporate-partner-card h2{margin:0;font-size:1.35rem}
.partner-area{font-size:13px}
.partner-area strong{color:var(--ink)}
.partner-intro{max-width:780px;margin-top:2rem}
.career-note{max-width:780px;margin:3rem 0 0;padding:1.5rem;border-top:2px solid var(--blue);background:#f4f7f8}
.career-note h2{margin:.5rem 0;font-size:1.45rem}
.career-note p{color:var(--muted);line-height:1.7}
.contact-addresses{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);font-size:13px}
.contact-addresses p{margin:.25rem 0 1rem;color:var(--muted);line-height:1.6}
@media (max-width:820px){.corporate-menu-panel{position:static;box-shadow:none;border:0;border-top:1px solid var(--line);min-width:0;margin-top:.45rem}.corporate-menu-panel a{white-space:normal}.corporate-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.corporate-partner-grid{grid-template-columns:1fr}}
@media (max-width:520px){.corporate-panels,.corporate-card-grid{grid-template-columns:1fr}.corporate-process article{grid-template-columns:48px 1fr;gap:.8rem}.breadcrumbs{margin-bottom:1.8rem;line-height:1.5}.corporate-partner-card{padding:1.15rem}}
.products-menu,.language-menu{position:relative}
.products-menu>summary,.language-menu>summary{list-style:none;cursor:pointer;color:var(--ink);font-size:13px;white-space:nowrap}
.products-menu>summary::-webkit-details-marker,.language-menu>summary::-webkit-details-marker{display:none}
.products-menu>summary:after,.language-menu>summary:after{content:'⌄';font-size:11px;margin-left:.35rem;color:var(--muted)}
.products-menu[open]>summary,.products-menu>summary:hover,.language-menu[open]>summary,.language-menu>summary:hover{color:var(--blue)}
.products-menu-panel{position:absolute;z-index:20;top:calc(100% + 1.15rem);left:-1rem;display:grid;grid-template-columns:repeat(2,minmax(155px,1fr));min-width:350px;padding:.6rem;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,36,58,.09)}
.products-menu-panel a{padding:.7rem .75rem;color:var(--ink);font-size:13px;text-decoration:none;white-space:nowrap}
.products-menu-panel a:hover,.products-menu-panel a:focus{background:#f2f6f8;color:var(--blue)}
.products-menu-panel .products-menu-all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:.35rem;color:var(--blue);font-weight:600}
.language-menu>summary{font:500 11px var(--mono);letter-spacing:.05em;padding:.5rem 0}
.language-menu-panel{position:absolute;z-index:20;top:calc(100% + .8rem);right:0;display:grid;min-width:145px;padding:.45rem;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,36,58,.09)}
.language-menu-panel a{display:flex;justify-content:space-between;gap:1.25rem;padding:.55rem .65rem;color:var(--ink);font-size:12px;text-decoration:none}
.language-menu-panel a:hover,.language-menu-panel a:focus,.language-menu-panel a[aria-current="page"]{background:#f2f6f8;color:var(--blue)}
.language-menu-panel strong{font:500 10px var(--mono);color:var(--muted)}
.search-trigger{text-decoration:none!important;color:var(--ink)!important;border:0;background:none}
.search-trigger:hover,.search-trigger:focus{color:var(--blue)!important}
.header-cta{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:0 .9rem;border:1px solid var(--blue);background:var(--blue);color:#fff!important;text-decoration:none!important;font-size:12px!important}
.header-cta:hover,.header-cta:focus{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff!important}
.contact-hero{padding-bottom:3rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(320px,7fr);gap:clamp(3rem,8vw,7rem);align-items:start;margin-top:2rem}
.contact-information{border-top:1px solid #b9c8d5}
.contact-information h2,.contact-form-wrap h2{font-size:1.25rem;margin:1.1rem 0 .75rem}
.contact-information>p{max-width:420px;color:var(--muted);line-height:1.7}
.contact-information .contact-link{grid-template-columns:100px 1fr 18px}
.contact-location{margin-top:1.7rem;padding-top:1.2rem;border-top:1px solid #b9c8d5}
.contact-location strong{display:block;font:500 10px var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.contact-location p{margin:.35rem 0 1.15rem;color:var(--ink);font-size:13px;line-height:1.7}
.contact-form-wrap{border-top:2px solid var(--blue);padding-top:1.1rem}
.contact-form-intro{color:var(--muted);font-size:14px;margin:0 0 1.25rem}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:grid;gap:.4rem;color:var(--muted);font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4),.contact-form label:last-of-type,.contact-form button{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font:15px var(--sans);padding:.8rem .85rem;outline:none}
.contact-form input,.contact-form select{min-height:46px}
.contact-form textarea{resize:vertical;min-height:135px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,31,136,.1)}
.contact-form .button{justify-self:start;margin-top:.25rem}
.contact-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
.contact-success{padding:.8rem 1rem;border-left:3px solid #1d6b56;background:#edf6f2;color:#1f4d40;margin-bottom:1.2rem;font-size:13px}
@media(max-width:820px){.products-menu-panel{position:static;grid-template-columns:1fr;min-width:0;box-shadow:none;border:0;border-top:1px solid var(--line);margin-top:.45rem}.products-menu-panel .products-menu-all{grid-column:auto}.language-menu-panel{right:auto;left:0;top:calc(100% + .5rem)}.header-actions{gap:.65rem}.header-cta{display:none}.contact-layout{grid-template-columns:1fr;gap:3rem}}
@media(max-width:520px){.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form button{grid-column:1}.contact-link{grid-template-columns:88px 1fr 18px}.contact-information .contact-link{grid-template-columns:88px 1fr 18px}.header-actions{align-items:flex-start}.products-menu>summary,.language-menu>summary{padding:.7rem 0}.solution-copy{min-width:0;overflow-wrap:anywhere}}

/* Phase 4.8: editorial corporate compositions and compact footer newsletter. */
.corporate-statement-list{max-width:900px;margin-top:3.2rem;border-top:1px solid var(--line)}
.corporate-statement-list article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}
.corporate-statement-list h2{margin:0 0 .7rem;font-size:clamp(1.5rem,2.6vw,2.35rem);letter-spacing:-.04em}
.corporate-statement-list p{max-width:680px;margin:0;color:var(--muted);line-height:1.8}
.corporate-values-list{max-width:980px;margin-top:3.2rem;border-top:1px solid var(--line)}
.corporate-values-list article{display:grid;grid-template-columns:72px minmax(180px, .65fr) minmax(0,1.35fr);gap:1.5rem;align-items:start;padding:1.35rem 0;border-bottom:1px solid var(--line)}
.corporate-values-list h2{margin:0;font-size:1.2rem}
.corporate-values-list p{margin:0;color:var(--muted);line-height:1.7}
.corporate-lifecycle{max-width:980px;margin-top:3.2rem}
.corporate-lifecycle article:nth-child(4),.corporate-lifecycle article:nth-child(5){border-bottom-color:var(--blue)}
.capability-architecture{max-width:1000px;margin-top:3.2rem;border-top:1px solid var(--line)}
.capability-layer{padding:1.35rem 0 1.5rem}
.capability-layer-label{margin:0 0 1rem;color:var(--blue);font:500 11px var(--mono);letter-spacing:.12em}
.capability-layer-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.capability-layer-items article{min-width:0;border-left:2px solid var(--line);padding-left:1rem}
.capability-layer-items article:nth-child(1),.capability-layer-items article:nth-child(6){border-left-color:var(--blue)}
.capability-layer-items h2{margin:.4rem 0;font-size:1.05rem}
.capability-layer-items p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.capability-connector{height:2.1rem;color:var(--blue);font:500 18px var(--mono);border-left:1px solid var(--blue);padding-left:1rem;display:flex;align-items:center}
.capability-systems{border-top:1px solid var(--line)}
.capability-systems>p:not(.capability-layer-label){max-width:650px;color:var(--muted);margin:.2rem 0 1.1rem;line-height:1.7}
.capability-system-line{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.capability-system-line span{padding:.8rem 1rem;border-right:1px solid var(--line);font:500 11px var(--mono);color:var(--ink)}
.partner-directory{grid-template-columns:1fr;gap:0;margin-top:2.4rem}
.partner-entry{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,2fr);gap:2.2rem;align-items:start;border-top:1px solid var(--line);padding:1.6rem 0}
.partner-entry:last-child{border-bottom:1px solid var(--line)}
.partner-entry .corporate-partner-logo{height:76px;margin:0;background:var(--surface);border:1px solid var(--line);padding:1rem 1.2rem}
.partner-entry .corporate-partner-logo img{max-width:100%;max-height:52px;margin:auto;object-position:center}
.partner-entry-copy h2{margin:0 0 .55rem;font-size:1.35rem}
.partner-entry-copy p{max-width:720px;margin:.35rem 0;color:var(--muted);line-height:1.7}
.solution-editorial-list .solution-row{grid-template-columns:45px minmax(190px,.8fr) minmax(0,1.35fr);padding:2rem 0}
.solution-signal{min-height:112px;border-left:1px solid var(--blue);padding:0 0 0 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.solution-signal span,.solution-signal small{font:500 10px var(--mono);color:var(--blue);letter-spacing:.08em}
.solution-signal strong{font-size:1.1rem;line-height:1.25;font-weight:600}
.solution-signal i{height:1px;background:var(--line);width:70%;margin:.3rem 0}
.solution-signal small{color:var(--muted)}
.solution-detail-editorial{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);border-top:1px solid var(--line)}
.solution-context-rail{padding-top:1.8rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.solution-context-rail strong{font-size:1.05rem;margin-top:.1rem}
.solution-context-rail p{margin:0 0 1.5rem;color:var(--muted);font-size:13px;line-height:1.65}
.solution-source-content{margin-top:0}
.contact-form select{appearance:auto;height:46px;min-height:46px;line-height:1.25;padding-block:0}
@media(max-width:900px){.capability-layer-items{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-editorial-list .solution-row{grid-template-columns:36px 1fr}.solution-editorial-list .solution-signal{grid-column:2;grid-row:1}.solution-editorial-list .solution-copy{grid-column:2;grid-row:2}.solution-detail-editorial{grid-template-columns:1fr;gap:0}.solution-context-rail{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;align-items:baseline;padding:1.25rem 0;border-bottom:1px solid var(--line)}.solution-context-rail p{margin:0 0 .5rem}.solution-context-rail .corporate-index{grid-column:1}.solution-context-rail strong{grid-column:2}.solution-context-rail p{grid-column:2}}
@media(max-width:520px){.corporate-statement-list article{grid-template-columns:48px 1fr;gap:.8rem}.corporate-values-list article{grid-template-columns:48px 1fr;gap:.7rem}.corporate-values-list p{grid-column:2}.capability-layer-items{grid-template-columns:1fr}.capability-system-line span{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--line)}.capability-system-line span:last-child{border-bottom:0}.partner-entry{grid-template-columns:1fr;gap:1rem}.partner-entry .corporate-partner-logo{max-width:260px}}

.footer-newsletter{margin-top:2rem;padding-top:1.45rem;border-top:1px solid rgba(255,255,255,.2)}
.footer-newsletter h2{margin:0 0 .45rem;color:#fff;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.footer-newsletter>p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.55}
.newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-top:.9rem}
.newsletter-email-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.newsletter-form input[type=email]{min-width:0;width:100%;height:42px;padding:0 .75rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);background:rgba(255,255,255,.08);color:#fff;font:13px var(--sans);outline:none}
.newsletter-form input[type=email]::placeholder{color:rgba(255,255,255,.68)}
.newsletter-form input[type=email]:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.newsletter-form .button{min-height:42px;white-space:nowrap;margin:0}
.newsletter-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:.5rem;color:rgba(255,255,255,.75);font-size:11px;line-height:1.45}
.newsletter-consent input{flex:0 0 auto;margin-top:.15rem;accent-color:#fff}
.newsletter-consent a{color:#fff;text-underline-offset:2px}
.newsletter-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0}
.newsletter-message{margin-top:.7rem!important;padding:.55rem .7rem;border-left:2px solid #fff;color:#fff!important;background:rgba(255,255,255,.08)!important}
.newsletter-error{border-left-color:#f1c7c7}
@media(max-width:520px){.newsletter-form{grid-template-columns:1fr}.newsletter-consent{grid-column:1}.newsletter-form .button{width:100%}}

/* Footer composition: keep the approved content, use the desktop space more intentionally. */
@media(min-width:821px){
    .site-footer{padding-top:3.25rem}
    .footer-top{grid-template-columns:minmax(230px,1.05fr) repeat(4,minmax(0,1fr));gap:2.5rem;padding-bottom:2.8rem}
    .footer-brand{display:contents}
    .footer-brand>p{grid-column:1;grid-row:1;margin-top:0}
    .footer-brand>address{grid-column:1;grid-row:2;margin-top:1rem}
    .footer-brand>.footer-contact-lines{grid-column:1;grid-row:3;margin-top:1rem}
    .footer-brand>.footer-newsletter{grid-column:2/-1;grid-row:2/span 2;margin:0;padding:1.25rem 0 0;border-top:1px solid rgba(255,255,255,.2)}
    .footer-links{display:contents}
    .footer-links>div{grid-row:1}
    .footer-links>div:nth-child(1){grid-column:2}
    .footer-links>div:nth-child(2){grid-column:3}
    .footer-links>div:nth-child(3){grid-column:4}
    .footer-links>div:nth-child(4){grid-column:5}
}
@media(max-width:820px){.footer-brand{display:block}.footer-links{display:grid}}
@media(min-width:821px){
    .footer-newsletter .newsletter-form{grid-template-columns:minmax(0,1fr) max-content}
    .footer-newsletter .newsletter-form>input[type=email]{grid-column:1;grid-row:1}
    .footer-newsletter .newsletter-form>.newsletter-consent{grid-column:1/-1;grid-row:2}
    .footer-newsletter .newsletter-form>.newsletter-honeypot{grid-column:auto;grid-row:auto}
    .footer-newsletter .newsletter-form>.button{grid-column:2;grid-row:1}
    .footer-newsletter .newsletter-form>.button{width:auto;justify-self:start}
}
@media(min-width:821px){
    .footer-brand>p{max-width:270px;font-size:13px;line-height:1.7}
    .footer-brand>address{font-size:13px;line-height:1.75}
    .footer-contact-lines{font-size:13px;line-height:1.75}
    .footer-links h2{font-size:11px;margin-bottom:1rem}
    .footer-links a{font-size:14px;margin:.62rem 0;line-height:1.45}
    .footer-newsletter{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);column-gap:2rem;align-items:start}
    .footer-newsletter h2{grid-column:1;grid-row:1;margin-top:0;font-size:11px}
    .footer-newsletter>p{grid-column:1;grid-row:2;max-width:260px;font-size:13px;line-height:1.65}
    .footer-newsletter .newsletter-form{grid-column:2;grid-row:1/span 2;margin-top:0}
    .footer-newsletter .newsletter-form input[type=email]{font-size:14px}
    .footer-newsletter .newsletter-consent{font-size:12px}
    .footer-bottom{font-size:11px}
}

/* Partner directory: compact logo wall approved for the public corporate page. */
.partners-page{padding-block:3rem}
.partners-page .eyebrow{display:none}
.partners-page .page-title{font-size:clamp(2rem,3vw,2.6rem);margin:.5rem 0 1rem}
.partners-page .corporate-lead{max-width:680px;margin-top:1.1rem;font-size:13px;line-height:1.65}
.partner-logo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:3.2rem;max-width:1040px}
.partner-logo-tile{min-width:0;min-height:112px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;padding:1.5rem 1.2rem;text-decoration:none;transition:border-color .2s,background .2s}
.partner-logo-tile:hover,.partner-logo-tile:focus-visible{border-color:var(--blue);background:var(--surface)}
.partner-logo-tile:focus-visible{outline:3px solid rgba(25,118,185,.2);outline-offset:2px}
.partner-logo-tile img{display:block;width:auto;max-width:78%;max-height:42px;object-fit:contain;filter:grayscale(1);opacity:.82;transition:opacity .2s}
.partner-logo-tile:hover img,.partner-logo-tile:focus-visible img{opacity:1}
.partner-logo-tile span{font:600 1.05rem var(--sans);color:var(--ink)}
@media(max-width:820px){.partner-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:520px){.partner-logo-wall{gap:10px;margin-top:2.4rem}.partner-logo-tile{min-height:96px;padding:1rem .7rem}.partner-logo-tile img{max-width:88%;max-height:40px}}

/* Partner detail pages: real partner context first, catalog second. */
.partner-detail-page{padding-top:2.5rem}
.partner-detail-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:4rem;align-items:center;border-bottom:1px solid var(--line);padding:2rem 0 3.5rem}
.partner-detail-header .hero-lead{max-width:720px;margin-top:1rem}
.partner-detail-logo{min-height:150px;display:flex;align-items:center;justify-content:center;padding:2rem;border:1px solid var(--line);background:var(--surface);text-decoration:none}
.partner-detail-logo img{display:block;width:auto;max-width:100%;max-height:74px;object-fit:contain}
.partner-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;border-bottom:1px solid var(--line);padding:3rem 0}
.partner-detail-section .eyebrow{margin-bottom:1.1rem}
.partner-detail-areas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.partner-detail-areas li{border-top:1px solid var(--line);padding:.9rem 0;color:var(--ink);font-size:14px}
.partner-detail-areas li:last-child,.partner-detail-areas li:nth-last-child(2){border-bottom:1px solid var(--line)}
.partner-detail-approach{max-width:560px}
.partner-detail-approach p{color:var(--muted);line-height:1.75;margin:0 0 1.4rem}
.partner-products-section{padding:3.5rem 0 1rem}
.partner-products-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.6rem}
.partner-products-heading h2{margin:.35rem 0 0;font-size:clamp(1.5rem,2.3vw,2rem)}
.partner-products-heading>span{font:500 11px var(--mono);color:var(--blue);letter-spacing:.08em}
.partner-product-grid{margin-top:0}
.partner-product-grid .catalog-item h3{margin:.35rem 0 0;font-size:1rem;line-height:1.35}
.partner-products-all{margin-top:1.5rem}
.partner-detail-footer-link{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:2.5rem}
@media(max-width:820px){.partner-detail-header{grid-template-columns:1fr;gap:2rem}.partner-detail-logo{max-width:340px;min-height:120px}.partner-detail-grid{gap:2rem}}
@media(max-width:520px){.partner-detail-page{padding-top:1.5rem}.partner-detail-header{padding:1rem 0 2.5rem}.partner-detail-grid{grid-template-columns:1fr;padding:2.2rem 0;gap:2.3rem}.partner-detail-areas{grid-template-columns:1fr}.partner-detail-areas li:nth-last-child(2){border-bottom:0}.partner-detail-areas li:last-child{border-bottom:1px solid var(--line)}.partner-products-heading{display:block}.partner-products-heading>span{display:block;margin-top:.8rem}}

/* Phase 4.7.3: restrained real-product showcase on the home page. */
.hero-carousel{position:relative;min-width:0;overflow:visible;background:transparent!important}
.hero-carousel-stage{position:relative;height:clamp(430px,39vw,540px);min-height:430px;overflow:visible}
.hero-product-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:opacity .35s ease,visibility 0s linear .35s;z-index:1}
.hero-product-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s;z-index:2}
.hero-product-link{display:block;width:min(100%,540px);color:var(--ink);text-decoration:none}
.hero-product-media{width:100%;height:clamp(320px,30vw,420px);display:grid;place-items:center;background:transparent;border:0;padding:clamp(1rem,2.2vw,2rem);overflow:visible;aspect-ratio:auto}
.hero-product-media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:none!important}
.hero-product-meta{min-height:92px;border-left:2px solid var(--blue);padding:.75rem 0 0 1rem;display:flex;flex-direction:column;gap:.18rem;box-sizing:border-box}
.hero-product-meta span,.hero-product-meta small{font:500 10px var(--mono);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-product-meta strong{font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.25;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:2.5em;overflow:hidden}
.hero-product-meta small{color:var(--muted);text-transform:none;letter-spacing:0}
@media(max-width:900px){.hero-carousel-stage{height:clamp(420px,108vw,500px);min-height:420px}.hero-product-link{width:min(100%,480px)}.hero-product-media{height:clamp(280px,72vw,330px);padding:1rem}}
@media(max-width:520px){.hero-carousel-stage{height:clamp(405px,108vw,460px);min-height:405px}.hero-product-link{width:100%}.hero-product-media{height:clamp(260px,72vw,310px);padding:1rem}.hero-product-meta{min-height:86px}.hero-product-meta strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.hero-product-slide{transition:none}}

/* Phase 4.7.6: compact icon-only search control. */
.search-trigger{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;padding:0;border:0;border-radius:3px;background:transparent;transition:background .18s ease,color .18s ease}
.search-trigger:hover,.search-trigger:focus-visible{background:#eef4f9}
.search-trigger:focus-visible{outline:2px solid rgba(25,118,185,.25);outline-offset:1px}
.search-trigger > span:not(.search-icon){display:none}
.search-trigger .search-icon{width:18px;height:18px;border-width:1.5px}
.search-trigger .search-icon:after{width:5px;height:1.5px;right:-4px;bottom:-2px}
.header-actions{gap:1.1rem}

/* Footer intro is intentionally omitted; keep the contact block at the top of the brand column. */
@media(min-width:821px){
    .footer-brand>address{grid-row:1;margin-top:0}
    .footer-brand>.footer-contact-lines{grid-row:2;margin-top:1.25rem}
}

.solutions-menu{position:relative}
.solutions-menu>summary{list-style:none;cursor:pointer;color:var(--ink);font-size:13px;white-space:nowrap}
.solutions-menu>summary::-webkit-details-marker{display:none}
.solutions-menu>summary:after{content:'⌄';font-size:11px;margin-left:.35rem;color:var(--muted)}
.solutions-menu[open]>summary,.solutions-menu>summary:hover{color:var(--blue)}
.solutions-menu-panel{position:absolute;z-index:20;top:calc(100% + 1.15rem);left:-1rem;display:grid;grid-template-columns:repeat(2,minmax(155px,1fr));min-width:350px;padding:.6rem;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,36,58,.09)}
.solutions-menu-panel a{padding:.7rem .75rem;color:var(--ink);font-size:13px;text-decoration:none;white-space:nowrap}
.solutions-menu-panel a:hover,.solutions-menu-panel a:focus{background:#f2f6f8;color:var(--blue)}
.solutions-menu:not([open])>.solutions-menu-panel{display:none}
.solutions-menu-panel .solutions-menu-all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:.35rem;color:var(--blue);font-weight:600}
@media(max-width:820px){.solutions-menu-panel{position:static;grid-template-columns:1fr;min-width:0;box-shadow:none;border:0;border-top:1px solid var(--line);margin-top:.45rem}.solutions-menu-panel .solutions-menu-all{grid-column:auto}}
@media(max-width:520px){.solutions-menu>summary{padding:.7rem 0}}

/* RFID Tunnel pilot page: technical editorial layout, intentionally scoped to this page. */
.rfid-tunnel-page{background:var(--paper);overflow:hidden}
.rfid-tunnel-hero{padding-top:clamp(3.5rem,7vw,6.5rem);padding-bottom:0}
.rfid-tunnel-hero-grid{display:grid;grid-template-columns:minmax(280px,4.4fr) minmax(0,7.6fr);gap:clamp(2.5rem,6vw,7rem);align-items:center}
.rfid-tunnel-hero-copy{max-width:560px}
.rfid-tunnel-hero-copy .page-title{font-size:clamp(3rem,5.6vw,5.6rem);margin:.25rem 0 1.4rem}
.rfid-tunnel-positioning{font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.55;color:var(--muted);max-width:530px;margin:0}
.rfid-tunnel-hero-visual{position:relative;margin:0;min-width:0;background:transparent}
.rfid-tunnel-hero-visual img{display:block;width:100%;height:auto;object-fit:contain}
.rfid-tunnel-hero-visual figcaption{display:none}
.rfid-tunnel-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:clamp(2rem,4vw,4rem)}
.rfid-tunnel-facts>div{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;padding:1rem 1rem 1.1rem 0;border-right:1px solid var(--line);margin-right:1rem}
.rfid-tunnel-facts>div:last-child{border-right:0;margin-right:0}
.rfid-fact-mark,.rfid-tunnel-callouts>li>span,.rfid-engineering-grid span,.rfid-component-list span,.rfid-use-case-list span,.rfid-process-line span{font:500 10px var(--mono);color:var(--blue);letter-spacing:.05em}
.rfid-tunnel-facts>div>strong{font-size:13px;font-weight:600;align-self:end;line-height:1.3}
.rfid-tunnel-facts>div>small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.45;margin-top:.2rem}
.rfid-tunnel-two-col{display:grid;grid-template-columns:minmax(160px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.rfid-tunnel-editorial{border-top:1px solid var(--line)}
.rfid-tunnel-section-label h2,.rfid-tunnel-section-heading h2{font-size:clamp(1.9rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-tunnel-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;margin:1.1rem 0 0;max-width:320px}
.rfid-tunnel-reading-copy{max-width:760px}
.rfid-tunnel-reading-copy h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.25rem}
.rfid-tunnel-reading-copy p{font-size:16px;line-height:1.8;color:var(--muted);max-width:740px;margin:0 0 1rem}
.rfid-tunnel-technical{background:#eef2f5}
.rfid-tunnel-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,3.5fr);gap:2rem;align-items:end;margin-bottom:3rem}
.rfid-tunnel-section-heading>p{color:var(--muted);font-size:14px;line-height:1.7;max-width:480px;margin:0 0 .2rem}
.rfid-tunnel-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.rfid-tunnel-outline{border-top:1px solid #aebdca;border-bottom:1px solid #aebdca;padding:1rem 0 1.2rem;color:var(--blue)}
.rfid-tunnel-outline svg{display:block;width:100%;max-height:300px}
.rfid-tunnel-outline p{font-size:12px;color:var(--muted);margin:.8rem 0 0;max-width:520px}
.rfid-tunnel-callouts{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.rfid-tunnel-callouts>li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:58px;border-bottom:1px solid #b9c8d5}
.rfid-tunnel-callouts>li>span{display:grid;place-items:center;width:26px;height:26px;background:var(--blue);color:#fff;border-radius:50%;font-size:10px}
.rfid-tunnel-callouts strong{display:block;font-size:14px;font-weight:600}
.rfid-tunnel-callouts small{display:block;color:var(--muted);font-size:11px;margin-top:.15rem}
.rfid-tunnel-architecture{border-top:1px solid var(--line)}
.rfid-architecture-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rfid-architecture-flow>div{min-height:126px;padding:1rem .8rem 1rem 0;display:flex;flex-direction:column;justify-content:center}
.rfid-architecture-flow>div>span{font:500 10px var(--mono);color:var(--blue);margin-bottom:.7rem}
.rfid-architecture-flow strong{font-size:15px;font-weight:600;line-height:1.25}
.rfid-architecture-flow small{font-size:11px;color:var(--muted);margin-top:.3rem}
.rfid-architecture-flow>i{font-style:normal;color:var(--blue);font-size:20px;padding:0 .5rem}
.rfid-tunnel-note{color:var(--muted);font-size:13px;line-height:1.7;max-width:720px;margin:1.4rem 0 0 auto}
.rfid-tunnel-inspection{background:#f5f7f8;border-top:1px solid var(--line)}
.rfid-inspection-sheet{display:grid;grid-template-columns:1fr 1fr;align-self:center;border:1px solid #b9c8d5;background:#fff}
.rfid-inspection-col{padding:1.2rem 1.5rem;border-right:1px solid #b9c8d5}
.rfid-inspection-col>p{font:500 10px var(--mono);color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem}
.rfid-inspection-col ul{list-style:none;padding:0;margin:0}
.rfid-inspection-col li{display:flex;justify-content:space-between;border-bottom:1px solid #dce3eb;padding:.48rem 0;font-size:14px}
.rfid-inspection-col li:last-child{border-bottom:0}
.rfid-inspection-col b{color:#19724b;font-weight:600}.rfid-inspection-col b.is-missing{color:#aa342d}
.rfid-inspection-result{grid-column:1/-1;border-top:1px solid #b9c8d5;background:#eef2f5;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.15rem}
.rfid-inspection-result span{font:500 10px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.rfid-inspection-result strong{font-size:15px}.rfid-inspection-result small{color:var(--muted);font-size:11px}
.rfid-tunnel-use-cases{border-top:1px solid var(--line)}
.rfid-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rfid-use-case-list li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:1rem;padding:1.05rem 1rem 1.05rem 0;border-bottom:1px solid var(--line)}
.rfid-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.rfid-use-case-list strong{font-size:15px;font-weight:600}.rfid-use-case-list small{grid-column:2;color:var(--muted);font-size:11px;margin-top:.15rem}
.rfid-tunnel-engineering{background:#eef2f5;border-top:1px solid var(--line)}
.rfid-engineering-grid{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5;border-left:1px solid #b9c8d5}
.rfid-engineering-grid li{min-height:86px;padding:.8rem 1rem;border-right:1px solid #b9c8d5;border-bottom:1px solid #b9c8d5;display:flex;flex-direction:column;gap:.45rem}.rfid-engineering-grid strong{font-size:13px;font-weight:600;line-height:1.35}
.rfid-engineering-statement{font-size:13px;line-height:1.7;color:var(--muted);margin:1.4rem 0 0}
.rfid-tunnel-components{border-top:1px solid var(--line)}
.rfid-component-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rfid-component-list li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:1rem;padding:1.1rem 1.2rem 1.1rem 0;border-bottom:1px solid var(--line)}
.rfid-component-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}.rfid-component-list strong{font-size:14px;font-weight:600}.rfid-component-list small{grid-column:2;color:var(--muted);font-size:11px;margin-top:.15rem}
.rfid-tunnel-products{background:#fff;border-top:1px solid var(--line)}
.rfid-related-products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.rfid-related-product{color:var(--ink);text-decoration:none;border-top:1px solid #b9c8d5;padding-top:1rem}.rfid-related-product:hover strong{color:var(--blue)}
.rfid-related-media{height:190px;display:grid;place-items:center;overflow:hidden;background:#fff;border:0;margin-bottom:1rem}.rfid-related-media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;padding:1rem}.rfid-related-media--square img{max-width:78%;max-height:78%;padding:0}.rfid-related-media--portrait img{max-width:68%;padding:0}.rfid-related-product>span{font:500 10px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.05em}.rfid-related-product strong{display:block;font-size:16px;line-height:1.3;margin-top:.4rem}.rfid-related-product small{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:.6rem}.rfid-related-product small b{color:var(--blue);font-size:16px;font-weight:400}
.rfid-tunnel-process{border-top:1px solid var(--line)}
.rfid-process-line{display:grid;grid-template-columns:repeat(7,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--blue)}.rfid-process-line li{position:relative;padding:1.1rem .7rem 0 0;min-height:96px}.rfid-process-line li:not(:last-child):after{content:"";position:absolute;top:-4px;right:0;width:8px;height:8px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:rotate(45deg)}.rfid-process-line span{display:block;margin-bottom:.55rem}.rfid-process-line strong{display:block;font-size:13px;font-weight:600;line-height:1.3}.rfid-process-line small{display:block;color:var(--muted);font-size:11px;margin-top:.2rem}
.rfid-tunnel-faq{background:#eef2f5;border-top:1px solid var(--line)}.rfid-faq-list{border-top:1px solid #b9c8d5}.rfid-faq-list details{border-bottom:1px solid #b9c8d5}.rfid-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}.rfid-faq-list summary::-webkit-details-marker{display:none}.rfid-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}.rfid-faq-list details[open] summary:after{content:'−'}.rfid-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.rfid-tunnel-final-cta{background:var(--blue-deep);color:#fff}.rfid-tunnel-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}.rfid-tunnel-final-inner>div{max-width:700px}.rfid-tunnel-final-inner .eyebrow{color:#9dbbe0}.rfid-tunnel-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}.rfid-tunnel-final-inner>div>p:last-child{color:#c5d3e4;font-size:14px;line-height:1.7;max-width:620px;margin:0}.rfid-tunnel-final-inner .button-primary{background:#fff;color:var(--blue-deep);flex:none}.rfid-tunnel-final-inner .button-primary:hover{background:#e8eff8;color:var(--blue-deep)}
@media(max-width:900px){.rfid-tunnel-hero-grid{grid-template-columns:1fr;gap:2rem}.rfid-tunnel-hero-copy{max-width:700px}.rfid-tunnel-hero-visual{max-width:760px}.rfid-tunnel-how-grid{grid-template-columns:1fr;gap:2.5rem}.rfid-tunnel-outline{max-width:700px}.rfid-architecture-flow{grid-template-columns:1fr;gap:0}.rfid-architecture-flow>div{min-height:76px;border-bottom:1px solid var(--line);padding:.85rem 0}.rfid-architecture-flow>i{display:block;transform:rotate(90deg);justify-self:center;height:22px;padding:0}.rfid-related-products{grid-template-columns:repeat(3,1fr)}.rfid-process-line{grid-template-columns:repeat(4,1fr);row-gap:1.5rem}.rfid-process-line li:nth-child(4){grid-column:1}.rfid-tunnel-final-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.rfid-tunnel-hero{padding-top:3rem}.rfid-tunnel-facts{grid-template-columns:repeat(2,1fr)}.rfid-tunnel-facts>div{border-bottom:1px solid var(--line);margin-right:1rem}.rfid-tunnel-facts>div:nth-child(2){border-right:0;margin-right:0}.rfid-tunnel-two-col,.rfid-tunnel-section-heading{grid-template-columns:1fr;gap:1.4rem}.rfid-tunnel-section-heading{margin-bottom:2rem}.rfid-tunnel-section-label h2,.rfid-tunnel-section-heading h2{font-size:2.25rem}.rfid-engineering-grid{grid-template-columns:repeat(2,1fr)}.rfid-related-products{grid-template-columns:1fr}.rfid-related-media{height:170px}.rfid-process-line{grid-template-columns:repeat(2,1fr)}.rfid-process-line li:nth-child(4){grid-column:auto}.rfid-process-line li:nth-child(odd):not(:last-child):after{display:none}.rfid-tunnel-final-inner h2{font-size:2.35rem}}
@media(max-width:420px){.rfid-tunnel-facts{grid-template-columns:1fr}.rfid-tunnel-facts>div,.rfid-tunnel-facts>div:nth-child(2){border-right:0;margin-right:0}.rfid-use-case-list,.rfid-component-list{grid-template-columns:1fr}.rfid-use-case-list li:nth-child(odd),.rfid-component-list li:nth-child(odd){border-right:0;margin-right:0}.rfid-engineering-grid{grid-template-columns:1fr}.rfid-inspection-col{padding-inline:1rem}.rfid-inspection-result{padding-inline:1rem}}
/* RFID Tunnel pilot: concise editorial treatment */
.rfid-tunnel-page>section{padding-top:clamp(3.25rem,5vw,5rem);padding-bottom:clamp(3.25rem,5vw,5rem)}
.rfid-tunnel-page .rfid-tunnel-hero{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:0}
.rfid-tunnel-hero-visual{border:0;border-radius:0;box-shadow:none}
.rfid-tunnel-how-intro{max-width:520px;color:var(--muted);font-size:14px;line-height:1.7}
.rfid-tunnel-how-intro p{margin:0 0 .55rem}
.rfid-tunnel-technical .rfid-tunnel-section-heading{margin-bottom:1.6rem}
.rfid-tunnel-technical .rfid-tunnel-how-grid{align-items:start}
.rfid-tunnel-callouts>li{min-height:66px}
.rfid-tunnel-architecture-inline{margin-top:clamp(2rem,4vw,3.5rem);border-top:1px solid #b9c8d5;padding-top:1.35rem}
.rfid-tunnel-architecture-inline>.eyebrow{margin:0 0 .85rem}
.rfid-architecture-flow{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}
.rfid-architecture-flow>div{min-height:92px;padding:1rem .8rem 1rem 0}
.rfid-architecture-flow>div>span{display:none}
.rfid-tunnel-note{margin-top:1rem}
.rfid-tunnel-inline-check{margin:1.5rem 0 0 auto;max-width:520px;border-left:2px solid var(--blue);padding:.15rem 0 .15rem 1rem;color:var(--muted);font-size:12px;line-height:1.5}
.rfid-tunnel-inline-check .eyebrow{margin:0 0 .45rem}
.rfid-tunnel-inline-check p{margin:.15rem 0}
.rfid-inline-result{display:block;color:var(--ink);margin-top:.45rem}
.rfid-use-case-list li:nth-child(5){grid-column:1/-1;border-right:0;margin-right:0}
.rfid-engineering-grid{grid-template-columns:repeat(2,1fr)}
.rfid-process-line{grid-template-columns:repeat(5,1fr)}
.rfid-tunnel-page .rfid-tunnel-final-cta{padding-top:clamp(3.25rem,5vw,5rem);padding-bottom:clamp(3.25rem,5vw,5rem)}
@media(max-width:900px){.rfid-architecture-flow{grid-template-columns:1fr;gap:0}.rfid-process-line{grid-template-columns:repeat(3,1fr)}.rfid-process-line li:nth-child(4){grid-column:auto}}
@media(max-width:620px){.rfid-tunnel-page>section{padding-top:3rem;padding-bottom:3rem}.rfid-tunnel-hero-visual figcaption{padding-top:.45rem}.rfid-architecture-flow{grid-template-columns:1fr}.rfid-architecture-flow>div{min-height:64px}.rfid-process-line{grid-template-columns:repeat(2,1fr)}.rfid-process-line li:nth-child(4){grid-column:auto}.rfid-tunnel-inline-check{margin-left:0}.rfid-engineering-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.rfid-engineering-grid{grid-template-columns:1fr}}
/* Keep the pilot CTA visually distinct from the global navy footer. */
.rfid-tunnel-page .rfid-tunnel-final-cta{background:#f5f7f8;color:var(--ink);border-top:1px solid var(--line);padding-bottom:clamp(4rem,5.5vw,5rem)}
.rfid-tunnel-page .rfid-tunnel-final-inner .eyebrow{color:var(--blue)}
.rfid-tunnel-page .rfid-tunnel-final-inner>div>p:last-child{color:var(--muted)}
.rfid-tunnel-page .rfid-tunnel-final-inner .button-primary{background:var(--blue);color:#fff}
.rfid-tunnel-page .rfid-tunnel-final-inner .button-primary:hover{background:var(--blue-deep);color:#fff}
/* Hero composition aligned to the approved editorial reference. */
.rfid-tunnel-page .rfid-tunnel-hero-grid{grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:start}
.rfid-tunnel-page .rfid-tunnel-hero-copy{max-width:520px;padding-top:clamp(4rem,6vw,5.5rem)}
.rfid-tunnel-page .rfid-tunnel-hero-copy .page-title{max-width:390px;font-size:clamp(3.9rem,6vw,6rem);line-height:.98;margin:.55rem 0 1.8rem}
.rfid-tunnel-page .rfid-tunnel-positioning{font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.48;max-width:500px}
.rfid-tunnel-page .rfid-tunnel-hero-visual img{max-width:100%}
.rfid-tunnel-page .rfid-tunnel-facts{margin-top:0}
.rfid-tunnel-page .rfid-tunnel-facts>div{padding-top:1.35rem;padding-bottom:1.65rem}
.rfid-tunnel-page .rfid-tunnel-facts>div>strong{font-size:16px}
.rfid-tunnel-page .rfid-tunnel-facts>div>small{font-size:13px}
@media(max-width:900px){.rfid-tunnel-page .rfid-tunnel-hero-grid{grid-template-columns:1fr}.rfid-tunnel-page .rfid-tunnel-hero-copy{padding-top:0}.rfid-tunnel-page .rfid-tunnel-hero-copy .page-title{max-width:520px}}
@media(max-width:620px){.rfid-tunnel-page .rfid-tunnel-hero-copy .page-title{max-width:280px}}
/* Use the supplied wide artwork as the desktop hero composition. */
.rfid-tunnel-page .rfid-tunnel-hero{padding-top:0}
.rfid-tunnel-page .rfid-tunnel-hero-canvas{position:relative;width:100%;max-width:none;margin-inline:0}
.rfid-tunnel-page .rfid-tunnel-hero-copy{position:absolute;z-index:2;left:max(1rem,calc((100% - 1240px)/2));top:clamp(7rem,10vw,9rem);max-width:470px;padding-top:0}
.rfid-tunnel-page .rfid-tunnel-hero-visual{position:relative;width:100%;max-width:none;margin:0;background:transparent}
.rfid-tunnel-page .rfid-tunnel-hero-visual picture{display:block}
.rfid-tunnel-page .rfid-tunnel-hero-visual img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.rfid-tunnel-page .rfid-tunnel-facts{margin-top:0}
.rfid-tunnel-page .rfid-tunnel-how-visual{border:0;padding:0;background:transparent}
.rfid-tunnel-page .rfid-tunnel-how-visual img{display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 6%,#000 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 6%,#000 94%,transparent 100%);mask-composite:intersect}
@media(min-width:901px){.rfid-tunnel-page .rfid-tunnel-technical .rfid-tunnel-how-grid{grid-template-columns:minmax(0,6.5fr) minmax(300px,5.5fr);gap:clamp(2rem,5vw,5rem)}.rfid-tunnel-page .rfid-tunnel-technical .rfid-tunnel-callouts>li{min-height:72px}}
.rfid-tunnel-page .rfid-tunnel-use-cases{padding-top:clamp(2.75rem,4vw,4.25rem);padding-bottom:clamp(2.75rem,4vw,4.25rem)}
.rfid-tunnel-page .rfid-tunnel-technical{padding-bottom:clamp(2.75rem,4.5vw,4rem)}
@media(min-width:901px){.rfid-tunnel-page .rfid-tunnel-technical .rfid-architecture-flow>div{min-height:76px;padding:.75rem .8rem .75rem 0}}
@media(max-width:900px){.rfid-tunnel-page .rfid-tunnel-hero-canvas{display:flex;flex-direction:column;width:calc(100% - 32px);margin-inline:16px}.rfid-tunnel-page .rfid-tunnel-hero-copy{position:static;order:1;max-width:700px;padding-top:0}.rfid-tunnel-page .rfid-tunnel-hero-visual{order:2}.rfid-tunnel-page .rfid-tunnel-hero-visual img{width:100%;height:auto}}
@media(min-width:901px){.rfid-tunnel-page .rfid-tunnel-hero-visual img{width:min(92%,1440px);margin-inline:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}}
.rfid-tunnel-page .rfid-tunnel-project-variables{margin-top:clamp(2.5rem,4vw,4rem);padding-top:clamp(2rem,3vw,3rem);border-top:1px solid var(--line)}
.rfid-tunnel-page .rfid-tunnel-project-heading h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.1;letter-spacing:-.04em;margin:.3rem 0 .8rem}
.rfid-tunnel-page .rfid-tunnel-project-heading>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.7;max-width:320px;margin:0}
.rfid-tunnel-page .rfid-tunnel-project-variables .rfid-engineering-grid{border-left:0}
.rfid-tunnel-page .rfid-tunnel-project-variables .rfid-engineering-grid li{min-height:0;padding:.75rem 0;border-right:0}
.rfid-tunnel-page .rfid-tunnel-project-variables .rfid-engineering-grid li>span{font:500 10px var(--mono);color:var(--blue)}
.rfid-tunnel-page .rfid-tunnel-hardware-process .rfid-tunnel-process-inline{display:grid;grid-template-columns:minmax(220px,2fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start;margin-top:clamp(2.5rem,4vw,4rem);padding-top:clamp(2rem,3vw,3rem);border-top:1px solid var(--line)}
.rfid-tunnel-page .rfid-tunnel-process-intro>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;max-width:320px;margin:.55rem 0 0}
.rfid-tunnel-page .rfid-tunnel-faq{padding-top:clamp(2.75rem,4vw,4rem);padding-bottom:clamp(2.75rem,4vw,4rem)}
@media(max-width:900px){.rfid-tunnel-page .rfid-tunnel-project-variables{grid-template-columns:1fr;gap:1.5rem}.rfid-tunnel-page .rfid-tunnel-hardware-process .rfid-tunnel-process-inline{grid-template-columns:1fr;gap:1.5rem}}
.rfid-tunnel-page .rfid-tunnel-facts>div{grid-template-columns:1fr}
.rfid-tunnel-page .rfid-tunnel-facts>div>small{grid-column:1}
.rfid-tunnel-page .rfid-tunnel-callouts>li{grid-template-columns:1fr}
.rfid-tunnel-page .rfid-use-case-list li{grid-template-columns:1fr}
.rfid-tunnel-page .rfid-use-case-list small{grid-column:1}
.rfid-tunnel-page .rfid-tunnel-project-note{display:flex;gap:1rem;align-items:baseline;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7}
.rfid-tunnel-page .rfid-tunnel-project-note .eyebrow{flex:none;margin:0;color:var(--blue)}
@media(max-width:620px){.rfid-tunnel-page .rfid-tunnel-project-note{display:block}.rfid-tunnel-page .rfid-tunnel-project-note .eyebrow{margin-bottom:.4rem}}
.footer-solution-groups{display:grid;gap:.7rem}
.footer-solution-groups span{display:block;color:#e1eaf3;font-size:13px;line-height:1.45}
.solutions-menu-label{grid-column:1/-1;padding:.35rem .75rem .55rem;color:var(--blue);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.solutions-menu-label-advanced{margin-top:.35rem;border-top:1px solid var(--line);padding-top:.8rem}
.solutions-menu-label-operational{margin-top:.35rem;border-top:1px solid var(--line);padding-top:.8rem}
.solutions-menu-label-additional{margin-top:.35rem;border-top:1px solid var(--line);padding-top:.8rem}
.solutions-menu-advanced-link{grid-column:1/-1;white-space:normal!important;line-height:1.45}
.advanced-solutions{display:grid;grid-template-columns:minmax(220px,4fr) minmax(0,8fr);gap:5rem;margin-top:4rem;padding-top:3rem;border-top:1px solid var(--line)}
.advanced-solutions-copy h2{margin:0 0 1rem;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.04em}
.advanced-solutions-copy>p:not(.eyebrow){max-width:560px;color:var(--muted);line-height:1.75}
.advanced-solutions-flow{align-self:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.advanced-solutions-flow span{min-height:4.6rem;padding:1.15rem 1rem 1.15rem 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500;display:flex;align-items:center}
.advanced-solution-secondary{grid-column:1/-1;display:grid;grid-template-columns:4fr 8fr;gap:5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.advanced-solution-secondary h3{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.03em}
.advanced-solution-secondary p{max-width:650px;margin:0 0 1rem;color:var(--muted);line-height:1.7}
@media(max-width:820px){.advanced-solutions{grid-template-columns:1fr;gap:2rem}.advanced-solutions-flow{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.advanced-solution-secondary{grid-template-columns:1fr;gap:1rem}}
@media(max-width:520px){.advanced-solutions-flow{grid-template-columns:1fr}.advanced-solutions-flow span{min-height:3.6rem}}
.rfid-gate-page{background:var(--paper);overflow:hidden}
.rfid-gate-hero{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3rem,5vw,5rem)}
.rfid-gate-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.rfid-gate-hero-copy{max-width:520px}
.rfid-gate-hero-copy .page-title{font-size:clamp(3.9rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.8rem}
.rfid-gate-positioning{font-size:clamp(1.2rem,1.75vw,1.5rem);line-height:1.5;color:var(--muted);max-width:500px;margin:0}
.rfid-gate-hero-visual{margin:0;min-width:0;background:transparent}
.rfid-gate-hero-visual img{display:block;width:100%;height:auto;object-fit:contain}
.rfid-gate-page>section{border-top:1px solid var(--line)}
.rfid-gate-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,3fr);gap:2rem;align-items:end;margin-bottom:2.5rem}
.rfid-gate-section-heading h2,.rfid-gate-section-label h2{font-size:clamp(1.9rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-gate-section-heading>p,.rfid-gate-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:480px;margin:0}
.rfid-gate-technical{background:#eef2f5}
.rfid-gate-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.rfid-gate-diagram{border-top:1px solid #aebdca;border-bottom:1px solid #aebdca;padding:1rem 0 1.2rem;color:var(--blue)}
.rfid-gate-diagram svg{display:block;width:100%;height:auto;max-height:330px}
.rfid-gate-diagram .gate-floor,.rfid-gate-diagram .gate-structure,.rfid-gate-diagram .gate-crossbar,.rfid-gate-diagram .gate-signal,.rfid-gate-diagram .gate-direction{fill:none;stroke:currentColor;stroke-width:2}
.rfid-gate-diagram .gate-pallet{fill:#d9b48e;stroke:#35516e;stroke-width:2}.rfid-gate-diagram .gate-load{fill:none;stroke:#35516e;stroke-width:2}.rfid-gate-diagram .gate-wheel{stroke:#35516e;stroke-width:3}.rfid-gate-diagram .gate-sensor{fill:var(--blue);stroke:#fff;stroke-width:3}.rfid-gate-diagram .gate-reader{fill:#173d67;stroke:currentColor;stroke-width:2}.rfid-gate-diagram .gate-reader-line{stroke:currentColor;stroke-width:2}
.rfid-gate-diagram p{color:var(--muted);font-size:12px;line-height:1.7;margin:.8rem 0 0;max-width:520px}
.rfid-gate-callouts{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}.rfid-gate-callouts li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:78px;border-bottom:1px solid #b9c8d5}.rfid-gate-callouts li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}.rfid-gate-callouts strong{display:block;font-size:14px;font-weight:600}.rfid-gate-callouts small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:.15rem}
.rfid-gate-use-cases{padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem)}.rfid-gate-two-col{display:grid;grid-template-columns:minmax(190px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}.rfid-gate-section-label>p:not(.eyebrow){max-width:320px;margin-top:1.1rem}.rfid-gate-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.rfid-gate-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}.rfid-gate-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}.rfid-gate-use-case-list strong{display:block;font-size:15px;font-weight:600}.rfid-gate-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}.rfid-gate-project-note{display:flex;gap:1rem;align-items:baseline;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7}.rfid-gate-project-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.rfid-gate-products{background:#fff}.rfid-gate-products .rfid-related-products{margin-top:.5rem}.rfid-gate-faq{background:#eef2f5}.rfid-gate-final-cta{background:#f5f7f8;color:var(--ink)}.rfid-gate-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}.rfid-gate-final-inner>div{max-width:700px}.rfid-gate-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}.rfid-gate-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:620px;margin:0}
@media(max-width:900px){.rfid-gate-hero-grid,.rfid-gate-how-grid{grid-template-columns:1fr;gap:2rem}.rfid-gate-hero-copy{max-width:700px}.rfid-gate-hero-visual{max-width:760px}.rfid-gate-two-col{grid-template-columns:1fr;gap:1.5rem}.rfid-gate-section-label>p:not(.eyebrow){max-width:600px}.rfid-gate-final-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.rfid-gate-hero{padding-top:3rem}.rfid-gate-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}.rfid-gate-section-heading h2,.rfid-gate-section-label h2{font-size:2.25rem}.rfid-gate-use-case-list{grid-template-columns:1fr}.rfid-gate-use-case-list li:nth-child(odd){border-right:0;margin-right:0}.rfid-gate-project-note{display:block}.rfid-gate-project-note .eyebrow{margin-bottom:.4rem}.rfid-gate-final-inner h2{font-size:2.35rem}}

.rfid-gate-how-image{display:block;width:100%;height:auto;object-fit:contain}

.rfid-gate-diagram{border:0;padding:0;overflow:visible}
.rfid-gate-how-image{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 4%,black 96%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 4%,black 96%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}

.rfid-gate-hero-visual{border:0;border-radius:0;box-shadow:none}
.rfid-gate-hero-visual img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 4%,#000 96%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 4%,#000 96%,transparent 100%);mask-composite:intersect}

@media(min-width:1101px){
    .rfid-gate-page .rfid-gate-hero{padding-top:0;padding-bottom:0}
    .rfid-gate-page .rfid-gate-hero-grid{position:relative;display:block;width:100%;max-width:none;margin-inline:0;min-height:clamp(42rem,52vw,48rem)}
    .rfid-gate-page .rfid-gate-hero-copy{position:absolute;z-index:2;top:clamp(7rem,10vw,9rem);left:max(1rem,calc((100% - 1240px)/2));max-width:470px}
    .rfid-gate-page .rfid-gate-hero-visual{width:min(100%,1120px);margin:0 0 0 auto}
    .rfid-gate-page .rfid-gate-hero-visual img{width:100%;height:auto}
}
@media(max-width:1100px) and (min-width:901px){
    .rfid-gate-page .rfid-gate-hero-grid{grid-template-columns:minmax(280px,5fr) minmax(0,7fr);gap:3rem}
    .rfid-gate-page .rfid-gate-hero-copy .page-title{font-size:clamp(3.3rem,5.5vw,5rem)}
}
@media(max-width:900px){
    .rfid-gate-page .rfid-gate-hero-grid{display:flex;width:calc(100% - 32px);max-width:none;margin-inline:16px;min-height:0}
    .rfid-gate-page .rfid-gate-hero-copy{position:static;order:1}
    .rfid-gate-page .rfid-gate-hero-visual{order:2;width:100%;max-width:760px;margin:0}
}
/* gate hero scale refinement */
@media(min-width:1101px){
    .rfid-gate-page .rfid-gate-hero-grid{min-height:clamp(38rem,44vw,40rem)}
    .rfid-gate-page .rfid-gate-hero-visual{width:min(100%,860px)}
}
/* gate hero proportion refinement */
@media(min-width:1101px){
    .rfid-gate-page .rfid-gate-hero-grid{min-height:clamp(36rem,42vw,38rem)}
    .rfid-gate-page .rfid-gate-hero-visual{width:min(100%,780px,calc(100% - 520px))}
    .rfid-gate-page .rfid-gate-hero-copy{top:50%;transform:translateY(-50%)}
}
@media(max-width:900px){.rfid-gate-page .rfid-gate-hero-copy{transform:none}}
/* gate hero mobile flow fix */
@media(max-width:900px){.rfid-gate-page .rfid-gate-hero-grid{flex-direction:column}}

/* gate hero balanced grid */
@media(min-width:1101px){
    .rfid-gate-page .rfid-gate-hero{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(3rem,5vw,5rem)}
    .rfid-gate-page .rfid-gate-hero-grid{position:static;display:grid;width:auto;max-width:1240px;margin-inline:auto;min-height:0;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
    .rfid-gate-page .rfid-gate-hero-copy{position:static;top:auto;left:auto;max-width:520px;transform:none}
    .rfid-gate-page .rfid-gate-hero-visual{width:100%;max-width:none;margin:0}
    .rfid-gate-page .rfid-gate-hero-visual img{width:100%;max-width:780px;margin-inline:auto}
}
/* gate hero full-width integration */
@media(min-width:1101px){
    .rfid-gate-page .rfid-gate-hero{padding-top:0;padding-bottom:0}
    .rfid-gate-page .rfid-gate-hero-grid{position:relative;display:block;width:100%;max-width:none;margin-inline:0;min-height:clamp(45rem,59vw,54rem)}
    .rfid-gate-page .rfid-gate-hero-copy{position:absolute;z-index:2;top:50%;left:max(1rem,calc((100% - 1240px)/2));max-width:470px;transform:translateY(-50%)}
    .rfid-gate-page .rfid-gate-hero-visual{position:relative;z-index:1;width:min(100%,1280px);margin:0 auto;max-width:none}
    .rfid-gate-page .rfid-gate-hero-visual:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,rgba(247,248,250,.96) 18%,rgba(247,248,250,.64) 31%,rgba(247,248,250,0) 51%)}
    .rfid-gate-page .rfid-gate-hero-visual img{position:relative;z-index:0;width:100%;max-width:none;margin:0}
}
@media(max-width:900px){.rfid-gate-page .rfid-gate-hero-grid{display:flex;flex-direction:column;min-height:0}.rfid-gate-page .rfid-gate-hero-visual:before{display:none}}

/* RFID Kabin solution page: compact controlled-storage architecture. */
.rfid-kabin-page{background:var(--paper);overflow:hidden}
.rfid-kabin-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.rfid-kabin-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.rfid-kabin-hero-copy{max-width:560px}
.rfid-kabin-hero-copy .page-title{font-size:clamp(3.7rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.55rem}
.rfid-kabin-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:500px;margin:0 0 1rem}
.rfid-kabin-positioning{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:var(--muted);max-width:510px;margin:0}
.rfid-kabin-hero-media,.rfid-kabin-how-media{margin:0;min-width:0;background:transparent}
.rfid-kabin-hero-media img,.rfid-kabin-how-media img{display:block;width:100%;height:auto;object-fit:contain}
.rfid-kabin-hero-media,.rfid-kabin-how-media{position:relative;isolation:isolate;--rfid-kabin-fade:var(--paper)}
.rfid-kabin-how-media{--rfid-kabin-fade:#eef2f5}
.rfid-kabin-hero-media img,.rfid-kabin-how-media img{position:relative;z-index:0}
.rfid-kabin-hero-media::before,.rfid-kabin-how-media::before,.rfid-kabin-hero-media::after,.rfid-kabin-how-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.rfid-kabin-hero-media::before,.rfid-kabin-how-media::before{background:linear-gradient(to right,var(--rfid-kabin-fade) 0%,var(--rfid-kabin-fade) 1%,transparent 7%,transparent 93%,var(--rfid-kabin-fade) 99%,var(--rfid-kabin-fade) 100%)}
.rfid-kabin-hero-media::after,.rfid-kabin-how-media::after{background:linear-gradient(to bottom,var(--rfid-kabin-fade) 0%,transparent 4%,transparent 97%,var(--rfid-kabin-fade) 100%)}
.rfid-kabin-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.rfid-kabin-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.rfid-kabin-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.rfid-kabin-media-placeholder small{max-width:260px;color:var(--muted);font-size:12px;line-height:1.6}
.rfid-kabin-media-placeholder--how{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.rfid-kabin-page>section{border-top:1px solid var(--line)}
.rfid-kabin-technical{background:#eef2f5}
.rfid-kabin-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.rfid-kabin-section-heading h2,.rfid-kabin-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-kabin-section-heading>p,.rfid-kabin-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:620px;margin:0 0 .35rem}
.rfid-kabin-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.rfid-kabin-how-media{border:0;padding:0}
.rfid-kabin-callouts{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.rfid-kabin-callouts li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.rfid-kabin-callouts li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.rfid-kabin-callouts strong{display:block;font-size:14px;font-weight:600}
.rfid-kabin-callouts small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.rfid-kabin-technical-note{margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding-top:1rem;border-top:1px solid #b9c8d5;color:var(--muted);font-size:12px;line-height:1.7;max-width:760px}
.rfid-kabin-use-cases{padding-top:clamp(3.25rem,5vw,5rem);padding-bottom:clamp(3.25rem,5vw,5rem)}
.rfid-kabin-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.rfid-kabin-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rfid-kabin-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.rfid-kabin-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.rfid-kabin-use-case-list li:last-child{grid-column:1 / -1;max-width:50%}
.rfid-kabin-use-case-list strong{display:block;font-size:15px;font-weight:600}
.rfid-kabin-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.rfid-kabin-products{background:#fff}
.rfid-kabin-products .rfid-related-products{margin-top:.5rem}
.rfid-kabin-faq{background:#eef2f5}
.rfid-kabin-final-cta{background:#f5f7f8;color:var(--ink)}
.rfid-kabin-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.rfid-kabin-final-inner>div{max-width:700px}
.rfid-kabin-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-kabin-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:620px;margin:0}
@media(max-width:900px){
    .rfid-kabin-hero-grid,.rfid-kabin-how-grid,.rfid-kabin-two-col{grid-template-columns:1fr;gap:2rem}
    .rfid-kabin-hero-copy{max-width:700px}
    .rfid-kabin-hero-media{max-width:760px}
    .rfid-kabin-use-case-list{grid-template-columns:repeat(2,1fr)}
    .rfid-kabin-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .rfid-kabin-hero{padding-top:3rem}
    .rfid-kabin-hero-copy .page-title{font-size:3.5rem}
    .rfid-kabin-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .rfid-kabin-section-heading h2,.rfid-kabin-section-label h2{font-size:2.25rem}
    .rfid-kabin-use-case-list{grid-template-columns:1fr}
    .rfid-kabin-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .rfid-kabin-use-case-list li:last-child{grid-column:auto;max-width:none}
    .rfid-kabin-final-inner h2{font-size:2.35rem}
}

/* Smart mirror: retail product information and interaction point. */
.mirror-solution-page{background:var(--paper);overflow:hidden}
.mirror-solution-page>section{border-top:1px solid var(--line)}
.mirror-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.mirror-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.mirror-hero-copy{max-width:700px}
.mirror-hero-copy .page-title{font-size:clamp(3rem,5vw,5.1rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.mirror-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.mirror-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.mirror-hero-media,.mirror-how-media,.mirror-architecture-media{margin:0;min-width:0;background:transparent}
.mirror-hero-media img,.mirror-how-media img,.mirror-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.mirror-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.mirror-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.mirror-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.mirror-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.mirror-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.mirror-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.mirror-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.mirror-section-heading h2,.mirror-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.mirror-section-heading>p,.mirror-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.mirror-how{background:#eef2f5}
.mirror-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.mirror-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.mirror-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:84px;border-bottom:1px solid #b9c8d5}
.mirror-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.mirror-flow-list strong{display:block;font-size:14px;font-weight:600}
.mirror-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.mirror-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.mirror-interaction-list,.mirror-use-case-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}
.mirror-interaction-list li,.mirror-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.mirror-interaction-list li:nth-child(odd),.mirror-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.mirror-interaction-list strong,.mirror-use-case-list strong{display:block;font-size:15px;font-weight:600}
.mirror-interaction-list small,.mirror-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.mirror-architecture{background:#f5f7f8}
.mirror-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.mirror-architecture-chain{display:grid;gap:.55rem}
.mirror-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.mirror-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.mirror-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.mirror-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.mirror-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.mirror-rfid-note,.mirror-inventory-note{display:flex;gap:1rem;align-items:baseline;margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}
.mirror-rfid-note .eyebrow,.mirror-inventory-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.mirror-faq{background:#eef2f5}
.mirror-faq-list{border-top:1px solid #b9c8d5}
.mirror-faq-list details{border-bottom:1px solid #b9c8d5}
.mirror-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.mirror-faq-list summary::-webkit-details-marker{display:none}
.mirror-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.mirror-faq-list details[open] summary:after{content:'−'}
.mirror-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.mirror-final-cta{background:#f5f7f8;color:var(--ink)}
.mirror-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.mirror-final-inner>div{max-width:720px}
.mirror-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.mirror-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .mirror-hero-grid,.mirror-how-grid,.mirror-architecture-grid,.mirror-two-col{grid-template-columns:1fr;gap:2rem}
    .mirror-hero-copy{max-width:700px}
    .mirror-hero-media{max-width:760px}
    .mirror-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .mirror-hero{padding-top:3rem}
    .mirror-hero-copy .page-title{font-size:3.15rem}
    .mirror-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .mirror-section-heading h2,.mirror-section-label h2{font-size:2.25rem}
    .mirror-interaction-list,.mirror-use-case-list{grid-template-columns:1fr}
    .mirror-interaction-list li:nth-child(odd),.mirror-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .mirror-rfid-note,.mirror-inventory-note{display:block}
    .mirror-rfid-note .eyebrow,.mirror-inventory-note .eyebrow{margin-bottom:.4rem}
    .mirror-final-inner h2{font-size:2.35rem}
}

/* Interactive kiosks: configurable self-service and information terminals. */
.kiosk-solution-page{background:var(--paper);overflow:hidden}
.kiosk-solution-page>section{border-top:1px solid var(--line)}
.kiosk-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.kiosk-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.kiosk-hero-copy{max-width:700px}
.kiosk-hero-copy .page-title{font-size:clamp(3rem,5vw,5.1rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.kiosk-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.kiosk-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.kiosk-hero-media,.kiosk-how-media,.kiosk-architecture-media{margin:0;min-width:0;background:transparent}
.kiosk-hero-media img,.kiosk-how-media img,.kiosk-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.kiosk-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.kiosk-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.kiosk-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.kiosk-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.kiosk-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.kiosk-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.kiosk-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.kiosk-section-heading h2,.kiosk-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.kiosk-section-heading>p,.kiosk-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.kiosk-how{background:#eef2f5}
.kiosk-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.kiosk-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.kiosk-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:84px;border-bottom:1px solid #b9c8d5}
.kiosk-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.kiosk-flow-list strong{display:block;font-size:14px;font-weight:600}
.kiosk-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.kiosk-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.kiosk-function-list,.kiosk-use-case-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}
.kiosk-function-list li,.kiosk-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.kiosk-function-list li:nth-child(odd),.kiosk-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.kiosk-function-list strong,.kiosk-use-case-list strong{display:block;font-size:15px;font-weight:600}
.kiosk-function-list small,.kiosk-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.kiosk-architecture{background:#f5f7f8}
.kiosk-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.kiosk-architecture-chain{display:grid;gap:.55rem}
.kiosk-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.kiosk-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.kiosk-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.kiosk-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.kiosk-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.kiosk-architecture-note,.kiosk-payment-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.kiosk-payment-note{display:flex;gap:1rem;align-items:baseline;color:var(--muted)}
.kiosk-payment-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.kiosk-faq{background:#eef2f5}
.kiosk-faq-list{border-top:1px solid #b9c8d5}
.kiosk-faq-list details{border-bottom:1px solid #b9c8d5}
.kiosk-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.kiosk-faq-list summary::-webkit-details-marker{display:none}
.kiosk-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.kiosk-faq-list details[open] summary:after{content:'−'}
.kiosk-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.kiosk-final-cta{background:#f5f7f8;color:var(--ink)}
.kiosk-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.kiosk-final-inner>div{max-width:720px}
.kiosk-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.kiosk-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .kiosk-hero-grid,.kiosk-how-grid,.kiosk-architecture-grid,.kiosk-two-col{grid-template-columns:1fr;gap:2rem}
    .kiosk-hero-copy{max-width:700px}
    .kiosk-hero-media{max-width:760px}
    .kiosk-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .kiosk-hero{padding-top:3rem}
    .kiosk-hero-copy .page-title{font-size:3.1rem}
    .kiosk-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .kiosk-section-heading h2,.kiosk-section-label h2{font-size:2.25rem}
    .kiosk-function-list,.kiosk-use-case-list{grid-template-columns:1fr}
    .kiosk-function-list li:nth-child(odd),.kiosk-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .kiosk-payment-note{display:block}
    .kiosk-payment-note .eyebrow{margin-bottom:.4rem}
    .kiosk-final-inner h2{font-size:2.35rem}
}

/* RFID Portal solution page: fixed RFID identification point. */
.rfid-portal-page{background:var(--paper);overflow:hidden}
.rfid-portal-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.rfid-portal-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.rfid-portal-hero-copy{max-width:560px}
.rfid-portal-hero-copy .page-title{font-size:clamp(3.7rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.55rem}
.rfid-portal-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:500px;margin:0 0 1rem}
.rfid-portal-positioning{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:var(--muted);max-width:520px;margin:0}
.rfid-portal-hero-media,.rfid-portal-how-media{margin:0;min-width:0;background:transparent}
.rfid-portal-hero-media img,.rfid-portal-how-media img{display:block;width:100%;height:auto;object-fit:contain}
.rfid-portal-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.rfid-portal-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.rfid-portal-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.rfid-portal-media-placeholder small{max-width:280px;color:var(--muted);font-size:12px;line-height:1.6}
.rfid-portal-media-placeholder--how{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.rfid-portal-page>section{border-top:1px solid var(--line)}
.rfid-portal-technical{background:#eef2f5}
.rfid-portal-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.rfid-portal-section-heading h2,.rfid-portal-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-portal-section-heading>p,.rfid-portal-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0 0 .35rem}
.rfid-portal-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.rfid-portal-callouts{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.rfid-portal-callouts li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:92px;border-bottom:1px solid #b9c8d5}
.rfid-portal-callouts li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.rfid-portal-callouts strong{display:block;font-size:14px;font-weight:600}
.rfid-portal-callouts small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.rfid-portal-technical-note{margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding-top:1rem;border-top:1px solid #b9c8d5;color:var(--muted);font-size:12px;line-height:1.7;max-width:800px}
.rfid-portal-use-cases{padding-top:clamp(3.25rem,5vw,5rem);padding-bottom:clamp(3.25rem,5vw,5rem)}
.rfid-portal-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.rfid-portal-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rfid-portal-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.rfid-portal-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.rfid-portal-use-case-list li:last-child{grid-column:1 / -1;max-width:50%}
.rfid-portal-use-case-list strong{display:block;font-size:15px;font-weight:600}
.rfid-portal-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.rfid-portal-products{background:#fff}
.rfid-portal-products .rfid-related-products{margin-top:.5rem}
.rfid-portal-faq{background:#eef2f5}
.rfid-portal-final-cta{background:#f5f7f8;color:var(--ink)}
.rfid-portal-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.rfid-portal-final-inner>div{max-width:720px}
.rfid-portal-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-portal-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .rfid-portal-hero-grid,.rfid-portal-how-grid,.rfid-portal-two-col{grid-template-columns:1fr;gap:2rem}
    .rfid-portal-hero-copy{max-width:700px}
    .rfid-portal-hero-media{max-width:760px}
    .rfid-portal-use-case-list{grid-template-columns:repeat(2,1fr)}
    .rfid-portal-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .rfid-portal-hero{padding-top:3rem}
    .rfid-portal-hero-copy .page-title{font-size:3.5rem}
    .rfid-portal-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .rfid-portal-section-heading h2,.rfid-portal-section-label h2{font-size:2.25rem}
    .rfid-portal-use-case-list{grid-template-columns:1fr}
    .rfid-portal-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .rfid-portal-use-case-list li:last-child{grid-column:auto;max-width:none}
    .rfid-portal-final-inner h2{font-size:2.35rem}
}

/* RFID Mat solution page: defined floor-level read zone. */
.rfid-mat-page{background:var(--paper);overflow:hidden}
.rfid-mat-page>section{border-top:1px solid var(--line)}
.rfid-mat-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.rfid-mat-hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.rfid-mat-hero-copy{max-width:720px}
.rfid-mat-hero-copy .page-title{font-size:clamp(3.7rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.55rem}
.rfid-mat-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:500px;margin:0 0 1rem}
.rfid-mat-positioning{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:var(--muted);max-width:520px;margin:0}
.rfid-mat-hero-media,.rfid-mat-how-media{margin:0;min-width:0;background:transparent}
.rfid-mat-hero-media{grid-column:1 / -1}
.rfid-mat-hero-media img,.rfid-mat-how-media img{display:block;width:100%;height:auto;object-fit:contain}
.rfid-mat-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.rfid-mat-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.rfid-mat-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.rfid-mat-media-placeholder small{max-width:280px;color:var(--muted);font-size:12px;line-height:1.6}
.rfid-mat-media-placeholder--how{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.rfid-mat-technical{background:#eef2f5}
.rfid-mat-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.rfid-mat-section-heading h2,.rfid-mat-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-mat-section-heading>p,.rfid-mat-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0 0 .35rem}
.rfid-mat-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.rfid-mat-callouts{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.rfid-mat-callouts li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:92px;border-bottom:1px solid #b9c8d5}
.rfid-mat-callouts li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.rfid-mat-callouts strong{display:block;font-size:14px;font-weight:600}
.rfid-mat-callouts small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.rfid-mat-technical-note{margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding-top:1rem;border-top:1px solid #b9c8d5;color:var(--muted);font-size:12px;line-height:1.7;max-width:840px}
.rfid-mat-use-cases{padding-top:clamp(3.25rem,5vw,5rem);padding-bottom:clamp(3.25rem,5vw,5rem)}
.rfid-mat-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.rfid-mat-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rfid-mat-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.rfid-mat-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.rfid-mat-use-case-list li:last-child{grid-column:1 / -1;max-width:50%}
.rfid-mat-use-case-list strong{display:block;font-size:15px;font-weight:600}
.rfid-mat-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.rfid-mat-products{background:#fff}
.rfid-mat-products .rfid-related-products{margin-top:.5rem}
.rfid-mat-faq{background:#eef2f5}
.rfid-mat-final-cta{background:#f5f7f8;color:var(--ink)}
.rfid-mat-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.rfid-mat-final-inner>div{max-width:720px}
.rfid-mat-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rfid-mat-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .rfid-mat-hero-grid,.rfid-mat-how-grid,.rfid-mat-two-col{grid-template-columns:1fr;gap:2rem}
    .rfid-mat-hero-copy{max-width:700px}
    .rfid-mat-hero-media{max-width:760px}
    .rfid-mat-use-case-list{grid-template-columns:repeat(2,1fr)}
    .rfid-mat-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .rfid-mat-hero{padding-top:3rem}
    .rfid-mat-hero-copy .page-title{font-size:3.5rem}
    .rfid-mat-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .rfid-mat-section-heading h2,.rfid-mat-section-label h2{font-size:2.25rem}
    .rfid-mat-use-case-list{grid-template-columns:1fr}
    .rfid-mat-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .rfid-mat-use-case-list li:last-child{grid-column:auto;max-width:none}
    .rfid-mat-final-inner h2{font-size:2.35rem}
}

/* Warehouse Management System: software and warehouse operations solution. */
.warehouse-solution-page{background:var(--paper);overflow:hidden}
.warehouse-solution-page>section{border-top:1px solid var(--line)}
.warehouse-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.warehouse-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.warehouse-hero-copy{max-width:560px}
.warehouse-hero-copy .page-title{font-size:clamp(3.4rem,5.5vw,5.5rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.55rem}
.warehouse-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:500px;margin:0 0 1rem}
.warehouse-positioning{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:var(--muted);max-width:540px;margin:0}
.warehouse-hero-media,.warehouse-flow-media,.warehouse-architecture-media{margin:0;min-width:0;background:transparent}
.warehouse-hero-media img,.warehouse-flow-media img,.warehouse-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.warehouse-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.warehouse-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.warehouse-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.warehouse-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.warehouse-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.warehouse-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.warehouse-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.warehouse-section-heading h2,.warehouse-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.warehouse-section-heading>p,.warehouse-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.warehouse-flow{background:#eef2f5}
.warehouse-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.warehouse-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.warehouse-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.warehouse-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.warehouse-flow-list strong{display:block;font-size:14px;font-weight:600}
.warehouse-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.warehouse-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.warehouse-operation-list,.warehouse-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.warehouse-operation-list li,.warehouse-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.warehouse-operation-list li:nth-child(odd),.warehouse-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.warehouse-operation-list strong,.warehouse-use-case-list strong{display:block;font-size:15px;font-weight:600}
.warehouse-operation-list small,.warehouse-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.warehouse-architecture{background:#fff}
.warehouse-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.warehouse-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.warehouse-architecture-copy p{margin:0 0 1rem}
.warehouse-architecture-copy ul{list-style:none;padding:0;margin:0 0 1rem;border-top:1px solid var(--line)}
.warehouse-architecture-copy li{padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
.warehouse-architecture-copy li:before{content:'+';color:var(--blue);font-family:var(--mono);margin-right:.7rem}
.warehouse-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.warehouse-identification-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.warehouse-identification-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.warehouse-identification-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.warehouse-faq{background:#eef2f5}
.warehouse-final-cta{background:#f5f7f8;color:var(--ink)}
.warehouse-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.warehouse-final-inner>div{max-width:720px}
.warehouse-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.warehouse-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .warehouse-hero-grid,.warehouse-flow-grid,.warehouse-architecture-grid,.warehouse-two-col{grid-template-columns:1fr;gap:2rem}
    .warehouse-hero-copy{max-width:700px}
    .warehouse-hero-media{max-width:760px}
    .warehouse-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .warehouse-hero{padding-top:3rem}
    .warehouse-hero-copy .page-title{font-size:3.25rem}
    .warehouse-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .warehouse-section-heading h2,.warehouse-section-label h2{font-size:2.25rem}
    .warehouse-operation-list,.warehouse-use-case-list{grid-template-columns:1fr}
    .warehouse-operation-list li:nth-child(odd),.warehouse-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .warehouse-identification-note{display:block}
    .warehouse-identification-note .eyebrow{margin-bottom:.4rem}
    .warehouse-final-inner h2{font-size:2.35rem}
}

/* Logistics Management System: movement, transfer and receiving records. */
.logistics-solution-page{background:var(--paper);overflow:hidden}
.logistics-solution-page>section{border-top:1px solid var(--line)}
.logistics-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.logistics-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.logistics-hero-copy{max-width:580px}
.logistics-hero-copy .page-title{font-size:clamp(3.25rem,5.2vw,5.4rem);line-height:.98;letter-spacing:-.06em;margin:.55rem 0 1.55rem}
.logistics-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:520px;margin:0 0 1rem}
.logistics-positioning{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:var(--muted);max-width:560px;margin:0}
.logistics-hero-media,.logistics-flow-media,.logistics-architecture-media{margin:0;min-width:0;background:transparent}
.logistics-hero-media img,.logistics-flow-media img,.logistics-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.logistics-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.logistics-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.logistics-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.logistics-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.logistics-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.logistics-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.logistics-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.logistics-section-heading h2,.logistics-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.logistics-section-heading>p,.logistics-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.logistics-flow{background:#eef2f5}
.logistics-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.logistics-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.logistics-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.logistics-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.logistics-flow-list strong{display:block;font-size:14px;font-weight:600}
.logistics-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.logistics-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.logistics-operation-list,.logistics-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.logistics-operation-list li,.logistics-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.logistics-operation-list li:nth-child(odd),.logistics-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.logistics-operation-list strong,.logistics-use-case-list strong{display:block;font-size:15px;font-weight:600}
.logistics-operation-list small,.logistics-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.logistics-architecture{background:#fff}
.logistics-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.logistics-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.logistics-architecture-chain{display:grid;gap:.55rem}
.logistics-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.logistics-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.logistics-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.logistics-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.logistics-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.logistics-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.logistics-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.logistics-identification-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.logistics-identification-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.logistics-identification-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.logistics-faq{background:#eef2f5}
.logistics-faq-list{border-top:1px solid #b9c8d5}
.logistics-faq-list details{border-bottom:1px solid #b9c8d5}
.logistics-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.logistics-faq-list summary::-webkit-details-marker{display:none}
.logistics-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.logistics-faq-list details[open] summary:after{content:'−'}
.logistics-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.logistics-final-cta{background:#f5f7f8;color:var(--ink)}
.logistics-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.logistics-final-inner>div{max-width:720px}
.logistics-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.logistics-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .logistics-hero-grid,.logistics-flow-grid,.logistics-architecture-grid,.logistics-two-col{grid-template-columns:1fr;gap:2rem}
    .logistics-hero-copy{max-width:700px}
    .logistics-hero-media{max-width:760px}
    .logistics-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .logistics-hero{padding-top:3rem}
    .logistics-hero-copy .page-title{font-size:3.15rem}
    .logistics-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .logistics-section-heading h2,.logistics-section-label h2{font-size:2.25rem}
    .logistics-operation-list,.logistics-use-case-list{grid-template-columns:1fr}
    .logistics-operation-list li:nth-child(odd),.logistics-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .logistics-identification-note{display:block}
    .logistics-identification-note .eyebrow{margin-bottom:.4rem}
    .logistics-final-inner h2{font-size:2.35rem}
}

/* Textile Management System: product identity and textile movement solution. */
.textile-solution-page{background:var(--paper);overflow:hidden}
.textile-solution-page>section{border-top:1px solid var(--line)}
.textile-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.textile-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.textile-hero-copy{max-width:700px}
.textile-hero-copy .page-title{font-size:clamp(3.1rem,5.1vw,5.25rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.textile-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.textile-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.textile-hero-media,.textile-flow-media,.textile-architecture-media{margin:0;min-width:0;background:transparent}
.textile-hero-media img,.textile-flow-media img,.textile-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.textile-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.textile-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.textile-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.textile-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.textile-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.textile-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.textile-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.textile-section-heading h2,.textile-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.textile-section-heading>p,.textile-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.textile-flow{background:#eef2f5}
.textile-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.textile-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.textile-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.textile-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.textile-flow-list strong{display:block;font-size:14px;font-weight:600}
.textile-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.textile-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.textile-operation-list,.textile-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.textile-operation-list li,.textile-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.textile-operation-list li:nth-child(odd),.textile-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.textile-operation-list strong,.textile-use-case-list strong{display:block;font-size:15px;font-weight:600}
.textile-operation-list small,.textile-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.textile-architecture{background:#fff}
.textile-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.textile-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.textile-architecture-chain{display:grid;gap:.55rem}
.textile-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.textile-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.textile-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.textile-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.textile-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.textile-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.textile-rfid-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.textile-rfid-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.textile-rfid-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.textile-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.textile-faq{background:#eef2f5}
.textile-faq-list{border-top:1px solid #b9c8d5}
.textile-faq-list details{border-bottom:1px solid #b9c8d5}
.textile-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.textile-faq-list summary::-webkit-details-marker{display:none}
.textile-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.textile-faq-list details[open] summary:after{content:'−'}
.textile-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.textile-final-cta{background:#f5f7f8;color:var(--ink)}
.textile-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.textile-final-inner>div{max-width:720px}
.textile-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.textile-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .textile-hero-grid,.textile-flow-grid,.textile-architecture-grid,.textile-two-col{grid-template-columns:1fr;gap:2rem}
    .textile-hero-copy{max-width:700px}
    .textile-hero-media{max-width:760px}
    .textile-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .textile-hero{padding-top:3rem}
    .textile-hero-copy .page-title{font-size:3.15rem}
    .textile-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .textile-section-heading h2,.textile-section-label h2{font-size:2.25rem}
    .textile-operation-list,.textile-use-case-list{grid-template-columns:1fr}
    .textile-operation-list li:nth-child(odd),.textile-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .textile-rfid-note{display:block}
    .textile-rfid-note .eyebrow{margin-bottom:.4rem}
    .textile-final-inner h2{font-size:2.35rem}
}

/* Store Management System: physical retail product movement and inventory. */
.store-solution-page{background:var(--paper);overflow:hidden}
.store-solution-page>section{border-top:1px solid var(--line)}
.store-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.store-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.store-hero-copy{max-width:700px}
.store-hero-copy .page-title{font-size:clamp(3.1rem,5.1vw,5.25rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.store-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.store-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.store-hero-media,.store-flow-media,.store-architecture-media{margin:0;min-width:0;background:transparent}
.store-hero-media img,.store-flow-media img,.store-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.store-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.store-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.store-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.store-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.store-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.store-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.store-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.store-section-heading h2,.store-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.store-section-heading>p,.store-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.store-flow{background:#eef2f5}
.store-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.store-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.store-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.store-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.store-flow-list strong{display:block;font-size:14px;font-weight:600}
.store-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.store-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.store-operation-list,.store-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.store-operation-list li,.store-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.store-operation-list li:nth-child(odd),.store-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.store-operation-list strong,.store-use-case-list strong{display:block;font-size:15px;font-weight:600}
.store-operation-list small,.store-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.store-architecture{background:#fff}
.store-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.store-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.store-architecture-chain{display:grid;gap:.55rem}
.store-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.store-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.store-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.store-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.store-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.store-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.store-rfid-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.store-rfid-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.store-rfid-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.store-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.store-faq{background:#eef2f5}
.store-faq-list{border-top:1px solid #b9c8d5}
.store-faq-list details{border-bottom:1px solid #b9c8d5}
.store-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.store-faq-list summary::-webkit-details-marker{display:none}
.store-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.store-faq-list details[open] summary:after{content:'−'}
.store-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.store-final-cta{background:#f5f7f8;color:var(--ink)}
.store-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.store-final-inner>div{max-width:720px}
.store-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.store-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .store-hero-grid,.store-flow-grid,.store-architecture-grid,.store-two-col{grid-template-columns:1fr;gap:2rem}
    .store-hero-copy{max-width:700px}
    .store-hero-media{max-width:760px}
    .store-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .store-hero{padding-top:3rem}
    .store-hero-copy .page-title{font-size:3.15rem}
    .store-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .store-section-heading h2,.store-section-label h2{font-size:2.25rem}
    .store-operation-list,.store-use-case-list{grid-template-columns:1fr}
    .store-operation-list li:nth-child(odd),.store-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .store-rfid-note{display:block}
    .store-rfid-note .eyebrow{margin-bottom:.4rem}
    .store-final-inner h2{font-size:2.35rem}
}

/* Asset Tracking System: identity, assignment, location and lifecycle. */
.asset-solution-page{background:var(--paper);overflow:hidden}
.asset-solution-page>section{border-top:1px solid var(--line)}
.asset-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.asset-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.asset-hero-copy{max-width:700px}
.asset-hero-copy .page-title{font-size:clamp(3.1rem,5.1vw,5.25rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.asset-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.asset-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.asset-hero-media,.asset-flow-media,.asset-architecture-media{margin:0;min-width:0;background:transparent}
.asset-hero-media img,.asset-flow-media img,.asset-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.asset-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.asset-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.asset-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.asset-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.asset-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.asset-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.asset-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.asset-section-heading h2,.asset-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.asset-section-heading>p,.asset-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.asset-flow{background:#eef2f5}
.asset-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.asset-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.asset-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:82px;border-bottom:1px solid #b9c8d5}
.asset-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.asset-flow-list strong{display:block;font-size:14px;font-weight:600}
.asset-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.asset-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.asset-area-list,.asset-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.asset-area-list li,.asset-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.asset-area-list li:nth-child(odd),.asset-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.asset-area-list strong,.asset-use-case-list strong{display:block;font-size:15px;font-weight:600}
.asset-area-list small,.asset-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.asset-architecture{background:#fff}
.asset-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.asset-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.asset-architecture-chain{display:grid;gap:.55rem}
.asset-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.asset-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.asset-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.asset-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.asset-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.asset-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.asset-identification-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.asset-identification-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.asset-identification-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.asset-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.asset-faq{background:#eef2f5}
.asset-faq-list{border-top:1px solid #b9c8d5}
.asset-faq-list details{border-bottom:1px solid #b9c8d5}
.asset-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.asset-faq-list summary::-webkit-details-marker{display:none}
.asset-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.asset-faq-list details[open] summary:after{content:'−'}
.asset-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.asset-final-cta{background:#f5f7f8;color:var(--ink)}
.asset-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.asset-final-inner>div{max-width:720px}
.asset-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.asset-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .asset-hero-grid,.asset-flow-grid,.asset-architecture-grid,.asset-two-col{grid-template-columns:1fr;gap:2rem}
    .asset-hero-copy{max-width:700px}
    .asset-hero-media{max-width:760px}
    .asset-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .asset-hero{padding-top:3rem}
    .asset-hero-copy .page-title{font-size:3.15rem}
    .asset-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .asset-section-heading h2,.asset-section-label h2{font-size:2.25rem}
    .asset-area-list,.asset-use-case-list{grid-template-columns:1fr}
    .asset-area-list li:nth-child(odd),.asset-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .asset-identification-note{display:block}
    .asset-identification-note .eyebrow{margin-bottom:.4rem}
    .asset-final-inner h2{font-size:2.35rem}
}

/* Personnel Tracking System: identity, authorized access and time events. */
.personnel-solution-page{background:var(--paper);overflow:hidden}
.personnel-solution-page>section{border-top:1px solid var(--line)}
.personnel-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.personnel-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.personnel-hero-copy{max-width:700px}
.personnel-hero-copy .page-title{font-size:clamp(3.1rem,5.1vw,5.25rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.personnel-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.personnel-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.personnel-hero-media,.personnel-flow-media,.personnel-architecture-media{margin:0;min-width:0;background:transparent}
.personnel-hero-media img,.personnel-flow-media img,.personnel-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}

/* Generated solution visuals blend into their section instead of reading as pasted cards. */
:where(.warehouse-hero-media,.warehouse-flow-media,.warehouse-architecture-media,.logistics-hero-media,.logistics-flow-media,.logistics-architecture-media,.textile-hero-media,.textile-flow-media,.textile-architecture-media,.store-hero-media,.store-flow-media,.store-architecture-media,.asset-hero-media,.asset-flow-media,.asset-architecture-media,.personnel-hero-media,.personnel-flow-media,.personnel-architecture-media,.rtls-hero-media,.rtls-how-media,.rtls-architecture-media,.kiosk-hero-media,.kiosk-how-media,.kiosk-architecture-media,.mirror-hero-media,.mirror-how-media,.mirror-architecture-media) img{
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 4%,#000 96%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 4%,#000 96%,transparent 100%);
    mask-composite:intersect;
}
.personnel-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.personnel-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.personnel-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.personnel-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.personnel-media-placeholder--flow{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.personnel-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.personnel-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.personnel-section-heading h2,.personnel-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.personnel-section-heading>p,.personnel-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.personnel-flow{background:#eef2f5}
.personnel-flow-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.personnel-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.personnel-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.personnel-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.personnel-flow-list strong{display:block;font-size:14px;font-weight:600}
.personnel-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.personnel-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.personnel-operation-list,.personnel-use-case-list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.personnel-operation-list li,.personnel-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.personnel-operation-list li:nth-child(odd),.personnel-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.personnel-operation-list strong,.personnel-use-case-list strong{display:block;font-size:15px;font-weight:600}
.personnel-operation-list small,.personnel-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.personnel-architecture{background:#fff}
.personnel-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.personnel-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.personnel-architecture-chain{display:grid;gap:.55rem}
.personnel-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.personnel-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.personnel-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.personnel-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.personnel-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.personnel-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.personnel-identification-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.personnel-identification-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.personnel-identification-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.personnel-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.personnel-faq{background:#eef2f5}
.personnel-faq-list{border-top:1px solid #b9c8d5}
.personnel-faq-list details{border-bottom:1px solid #b9c8d5}
.personnel-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.personnel-faq-list summary::-webkit-details-marker{display:none}
.personnel-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.personnel-faq-list details[open] summary:after{content:'−'}
.personnel-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.personnel-final-cta{background:#f5f7f8;color:var(--ink)}
.personnel-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.personnel-final-inner>div{max-width:720px}
.personnel-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.personnel-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .personnel-hero-grid,.personnel-flow-grid,.personnel-architecture-grid,.personnel-two-col{grid-template-columns:1fr;gap:2rem}
    .personnel-hero-copy{max-width:700px}
    .personnel-hero-media{max-width:760px}
    .personnel-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .personnel-hero{padding-top:3rem}
    .personnel-hero-copy .page-title{font-size:3.15rem}
    .personnel-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .personnel-section-heading h2,.personnel-section-label h2{font-size:2.25rem}
    .personnel-operation-list,.personnel-use-case-list{grid-template-columns:1fr}
    .personnel-operation-list li:nth-child(odd),.personnel-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .personnel-identification-note{display:block}
    .personnel-identification-note .eyebrow{margin-bottom:.4rem}
    .personnel-final-inner h2{font-size:2.35rem}
}

/* RTLS: project-specific real-time and near-real-time location visibility. */
.rtls-solution-page{background:var(--paper);overflow:hidden}
.rtls-solution-page>section{border-top:1px solid var(--line)}
.rtls-hero{padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.rtls-hero-grid{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5.5rem);align-items:center}
.rtls-hero-copy{max-width:700px}
.rtls-hero-copy .page-title{font-size:clamp(3rem,5vw,5.1rem);line-height:1;letter-spacing:-.06em;margin:.55rem 0 1.4rem}
.rtls-hero-thesis{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);max-width:560px;margin:0 0 1rem}
.rtls-positioning{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:640px;margin:0}
.rtls-hero-media,.rtls-how-media,.rtls-architecture-media{margin:0;min-width:0;background:transparent}
.rtls-hero-media img,.rtls-how-media img,.rtls-architecture-media img{display:block;width:100%;height:auto;object-fit:contain}
.rtls-media-placeholder{display:grid;align-content:center;justify-items:start;gap:.75rem;min-height:clamp(360px,34vw,520px);padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:#f1f4f6;color:var(--ink)}
.rtls-media-placeholder .eyebrow{margin:0;color:var(--blue)}
.rtls-media-placeholder strong{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.rtls-media-placeholder small{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}
.rtls-media-placeholder--how{min-height:clamp(320px,32vw,470px);background:#e9eef2}
.rtls-media-placeholder--architecture{min-height:clamp(260px,26vw,390px);background:#f1f4f6}
.rtls-section-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,2fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.rtls-section-heading h2,.rtls-section-label h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rtls-section-heading>p,.rtls-section-label>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;margin:0 0 .35rem}
.rtls-how{background:#eef2f5}
.rtls-how-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.rtls-flow-list{list-style:none;padding:0;margin:0;border-top:1px solid #b9c8d5}
.rtls-flow-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;border-bottom:1px solid #b9c8d5}
.rtls-flow-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:500 10px var(--mono)}
.rtls-flow-list strong{display:block;font-size:14px;font-weight:600}
.rtls-flow-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.2rem}
.rtls-two-col{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(2.5rem,8vw,9rem);align-items:start}
.rtls-technology-list,.rtls-visibility-list,.rtls-use-case-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rtls-technology-list article{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.rtls-technology-list article>span{color:var(--blue);font:500 10px var(--mono);padding-top:.25rem}
.rtls-technology-list h3{font-size:18px;margin:0 0 .45rem;font-weight:600}
.rtls-technology-list p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.rtls-visibility{background:#fff}
.rtls-visibility-list,.rtls-use-case-list{display:grid;grid-template-columns:repeat(2,1fr)}
.rtls-visibility-list li,.rtls-use-case-list li{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}
.rtls-visibility-list li:nth-child(odd),.rtls-use-case-list li:nth-child(odd){border-right:1px solid var(--line);margin-right:1.2rem}
.rtls-visibility-list strong,.rtls-use-case-list strong{display:block;font-size:15px;font-weight:600}
.rtls-visibility-list small,.rtls-use-case-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.3rem}
.rtls-event-note,.rtls-gps-note{display:flex;gap:1rem;align-items:baseline;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.rtls-event-note .eyebrow,.rtls-gps-note .eyebrow{flex:none;margin:0;color:var(--blue)}
.rtls-event-note>p:last-child,.rtls-gps-note>p:last-child{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.rtls-architecture{background:#f5f7f8}
.rtls-architecture-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.rtls-architecture-copy{color:var(--muted);font-size:14px;line-height:1.7}
.rtls-architecture-chain{display:grid;gap:.55rem}
.rtls-architecture-chain>div{display:grid;grid-template-columns:32px 1fr;column-gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.rtls-architecture-chain span{color:var(--blue);font:500 10px var(--mono);padding-top:.15rem}
.rtls-architecture-chain strong{color:var(--ink);font-size:14px;font-weight:600}
.rtls-architecture-chain small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.5;margin-top:.15rem}
.rtls-architecture-chain i{justify-self:start;margin-left:13px;color:var(--blue);font-style:normal;line-height:1}
.rtls-architecture-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.rtls-use-cases{padding-bottom:clamp(2.5rem,4vw,4rem)}
.rtls-faq{background:#eef2f5}
.rtls-faq-list{border-top:1px solid #b9c8d5}
.rtls-faq-list details{border-bottom:1px solid #b9c8d5}
.rtls-faq-list summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-size:14px;font-weight:500}
.rtls-faq-list summary::-webkit-details-marker{display:none}
.rtls-faq-list summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:20px;font-weight:400;top:.7rem}
.rtls-faq-list details[open] summary:after{content:'−'}
.rtls-faq-list details p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 1.1rem}
.rtls-final-cta{background:#f5f7f8;color:var(--ink)}
.rtls-final-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.rtls-final-inner>div{max-width:720px}
.rtls-final-inner h2{font-size:clamp(2rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:.3rem 0 1rem}
.rtls-final-inner>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:640px;margin:0}
@media(max-width:900px){
    .rtls-hero-grid,.rtls-how-grid,.rtls-architecture-grid,.rtls-two-col{grid-template-columns:1fr;gap:2rem}
    .rtls-hero-copy{max-width:700px}
    .rtls-hero-media{max-width:760px}
    .rtls-final-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    .rtls-hero{padding-top:3rem}
    .rtls-hero-copy .page-title{font-size:3.05rem}
    .rtls-section-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
    .rtls-section-heading h2,.rtls-section-label h2{font-size:2.25rem}
    .rtls-visibility-list,.rtls-use-case-list{grid-template-columns:1fr}
    .rtls-visibility-list li:nth-child(odd),.rtls-use-case-list li:nth-child(odd){border-right:0;margin-right:0}
    .rtls-event-note,.rtls-gps-note{display:block}
    .rtls-event-note .eyebrow,.rtls-gps-note .eyebrow{margin-bottom:.4rem}
    .rtls-final-inner h2{font-size:2.35rem}
}

/* Permanent product taxonomy: compare the current family menu with click-to-expand categories. */
.products-menu-mega > summary{color:var(--ink)}
.products-menu-mega[open] > summary,.products-menu-mega > summary:hover{color:var(--blue)}
.products-menu-panel-mega{display:block;min-width:370px;padding:.55rem}
.products-menu-panel-mega>a{display:block}
.product-submenu{border-bottom:1px solid var(--line);margin-bottom:.35rem;padding-bottom:.35rem}
.product-submenu>summary{list-style:none;cursor:pointer;padding:.7rem .75rem;color:var(--ink);font-size:13px;font-weight:600}
.product-submenu>summary::-webkit-details-marker{display:none}
.product-submenu>summary:after{content:'+';float:right;color:var(--blue);font:500 15px var(--mono)}
.product-submenu[open]>summary{color:var(--blue)}
.product-submenu[open]>summary:after{content:'−'}
.product-submenu-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding:.3rem 0 .45rem}
.product-submenu-panel a{padding:.55rem .75rem;color:var(--ink);font-size:12px;text-decoration:none;white-space:normal}
.product-submenu-panel a:hover,.product-submenu-panel a:focus{background:#f2f6f8;color:var(--blue)}
.product-submenu-panel .product-submenu-all{grid-column:1/-1;color:var(--blue);font-weight:600}
.products-menu-panel-mega .products-menu-all{display:block}
@media(max-width:820px){.products-menu-panel-mega{min-width:0}.product-submenu-panel{grid-template-columns:1fr}}
/* Permanent product taxonomy: show every family in the solution-menu-style grouping. */
.products-menu-panel-mega{min-width:500px;max-width:min(620px,calc(100vw - 2rem));max-height:calc(100vh - 5rem);overflow:auto;padding:.65rem}
.product-category-group+.product-category-group{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.35rem}
.product-category-group-label{padding:.55rem .75rem .35rem;color:var(--blue);font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.product-category-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.product-category-group-grid a{padding:.6rem .75rem;color:var(--ink);font-size:12px;text-decoration:none;white-space:normal}
.product-category-group-grid a:hover,.product-category-group-grid a:focus{background:#f2f6f8;color:var(--blue)}
.products-menu-panel-mega>.products-menu-all{display:block;border-top:1px solid var(--line);margin-top:.35rem;padding:.75rem;color:var(--blue);font-weight:600}
@media(max-width:820px){.products-menu-panel-mega{min-width:0;max-width:none;max-height:none}.product-category-group-grid{grid-template-columns:1fr}}
/* Permanent product taxonomy: click-to-open flyout for family categories. */
.products-menu-panel-mega{display:block;position:absolute;width:230px;min-width:230px;max-width:none;max-height:none;overflow:visible;padding:.45rem 0}
.product-flyout-item{position:static;border-bottom:1px solid var(--line)}
.product-flyout-item>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;list-style:none;cursor:pointer;padding:.72rem .8rem;color:var(--ink);font-size:12px;font-weight:600}
.product-flyout-item>summary::-webkit-details-marker{display:none}
.product-flyout-item>summary:after{content:'›';color:var(--blue);font:500 18px var(--mono);line-height:1}
.product-flyout-item>summary small{margin-left:auto;color:var(--muted);font:500 10px var(--mono);white-space:nowrap}
.product-flyout-item[open]>summary,.product-flyout-item>summary:hover{background:#f2f6f8;color:var(--blue)}
.product-flyout-panel{position:absolute;z-index:21;top:-1px;left:calc(100% - 1px);width:385px;min-height:100%;padding:.65rem;background:#fff;border:1px solid var(--line);box-shadow:12px 12px 30px rgba(16,36,58,.09)}
.product-flyout-heading{padding:.25rem .75rem .65rem;color:var(--blue);font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.product-flyout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding-top:.25rem}
.product-flyout-grid a{padding:.62rem .75rem;color:var(--ink);font-size:12px;text-decoration:none;white-space:normal}
.product-flyout-grid a:hover,.product-flyout-grid a:focus{background:#f2f6f8;color:var(--blue)}
.products-menu-panel-mega>.products-menu-all{display:block;padding:.75rem .8rem;border-top:1px solid var(--line);margin-top:.35rem;color:var(--blue);font-weight:600}
@media(max-width:820px){.products-menu-panel-mega{position:static;width:auto;min-width:0;max-width:none;box-shadow:none;border:0;padding:0;overflow:visible}.product-flyout-item{position:relative}.product-flyout-item>summary:after{content:'+'}.product-flyout-item[open]>summary:after{content:'−'}.product-flyout-panel{position:static;width:auto;min-height:0;padding:.25rem 0 .45rem;border:0;border-top:1px solid var(--line);box-shadow:none}.product-flyout-heading{display:none}.product-flyout-grid{grid-template-columns:1fr;border-top:0;padding-top:0}.product-flyout-grid a{padding:.55rem 1.25rem}}
/* Permanent product taxonomy: keep the flyout inside the viewport. */
@media(min-width:821px){.product-flyout-panel{left:calc(100% + .75rem);right:auto}}
@media(max-width:820px){.product-flyout-panel{left:auto;right:auto}}
/* Only the most recently opened family flyout remains visible. */
.products-menu-panel-mega>.product-flyout-item[open]:has(~ .product-flyout-item[open])>.product-flyout-panel{display:none}
/* Permanent product taxonomy: align desktop flyout to the right without overflow. */
@media(min-width:821px){.products-menu-panel-mega{left:auto;right:-1rem}.product-flyout-panel{left:calc(100% + .75rem);right:auto}}

/* Permanent product taxonomy: let the right flyout fit its content. */
@media(min-width:821px){.product-flyout-panel{min-height:0}}

/* Permanent product taxonomy: narrow visual polish for the approved mega-menu. */
@media(min-width:821px){
  .products-menu-panel-mega .product-flyout-item>summary{font-weight:500}
  .product-flyout-panel{left:calc(100% + .35rem);right:auto}
  .product-flyout-grid{align-items:start}
  .product-flyout-grid a{padding-top:.7rem;padding-bottom:.7rem;line-height:1.7}
}
@media(min-width:821px) and (max-width:1100px){
  .products-menu-panel-mega{width:210px;min-width:210px}
  .product-flyout-panel{width:300px}
}

/* Related solution cross-sell: same restrained editorial rhythm as solution sections. */
.related-solutions-section{background:#fff;border-top:1px solid var(--line)}
.related-solutions-heading{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,1.45fr);gap:3rem;align-items:end;margin-bottom:2.4rem}
.related-solutions-heading h2{font-size:clamp(2rem,4vw,3.75rem);line-height:1.05;letter-spacing:-.045em;margin:.3rem 0 0}
.related-solutions-heading>p{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.related-solutions-grid{margin-top:0}
.related-solution-media{height:190px}
.related-solution-media img{padding:0;object-fit:cover}
.related-solution-card>span{display:block}
@media(max-width:620px){.related-solutions-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}.related-solution-media{height:170px}}

.product-flyout-family-link{display:block;color:inherit;text-decoration:none}
.product-flyout-heading a{color:inherit;text-decoration:none}
@media(max-width:820px){
  .product-flyout-item>summary .product-flyout-family-link{pointer-events:none}
  .product-flyout-heading{display:block;padding:.45rem 1.25rem .35rem}
  .product-flyout-heading a{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
}


/* Products mega menu: editorial family panel polish. */
@media(min-width:821px){
  .products-menu-panel-mega{
    width:230px;
    min-width:230px;
    padding:.65rem .7rem .55rem;
    background:#fff;
    border:1px solid var(--line);
  }
  .product-family-panel-label{
    padding:.3rem .75rem .55rem;
    border-bottom:1px solid var(--line);
    color:var(--blue);
    font:500 10px var(--mono);
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .product-flyout-item{border-bottom:0}
  .product-flyout-item>summary .product-flyout-family-link{padding:0;background:transparent;color:inherit;font-size:inherit;white-space:normal}
  .product-flyout-item>summary{
    padding:.66rem .75rem;
    background:transparent;
    color:var(--ink);
    font-size:13px;
    font-weight:500;
  }
  .product-flyout-item>summary:after{opacity:.72;font-size:16px}
  .product-flyout-item[open]>summary,
  .product-flyout-item>summary:hover,
  .product-flyout-item>summary:focus,
  .product-flyout-item>summary:focus-within{
    background:transparent;
    color:var(--blue);
  }
  .product-flyout-item[open]>summary{box-shadow:inset 2px 0 0 var(--blue)}
  .products-menu-panel-mega>.products-menu-all{
    margin:.3rem .05rem 0;
    padding:.7rem .75rem .25rem;
    border-top:1px solid var(--line);
    background:transparent;
    font-size:13px;
    font-weight:600;
  }
  .product-flyout-panel{
    top:-1px;
    left:calc(100% + .2rem);
    padding:.65rem;
  }
  .product-flyout-heading{padding:.25rem .75rem .6rem;font-size:10px;letter-spacing:.1em}
  .product-flyout-grid a{padding-top:.65rem;padding-bottom:.65rem;font-size:13px;line-height:1.55}
}
@media(max-width:820px){.product-family-panel-label{display:none}}


/* Final audit: balance desktop hero product media without changing the frame. */
@media(min-width:901px){
  .hero-product-media img{transform:scale(1.15)}
}

/* Products mega menu interaction refinement. */
@media(min-width:821px){
  .products-menu-panel-mega .product-flyout-item[open]>summary,
  .products-menu-panel-mega .product-flyout-item>summary:hover,
  .products-menu-panel-mega .product-flyout-item>summary:focus,
  .products-menu-panel-mega .product-flyout-item>summary:focus-within{
    background:#f7f9fa;
    color:var(--ink);
    box-shadow:none;
  }
  .products-menu-panel-mega .product-flyout-item>summary:after{
    color:var(--blue);
  }
  .product-flyout-panel{
    left:100%;
    margin-left:0;
  }
  .product-flyout-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
  }
  .product-flyout-heading .product-flyout-all{
    flex:0 0 auto;
    color:var(--blue);
    font:500 10px var(--mono);
    letter-spacing:.04em;
    text-transform:none;
    white-space:nowrap;
  }
}
@media(max-width:820px){
  .product-flyout-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
  }
  .product-flyout-heading .product-flyout-all{
    flex:0 0 auto;
    color:var(--blue);
    font:500 10px var(--mono);
    letter-spacing:.04em;
    text-transform:none;
    white-space:nowrap;
  }
}
/* Products mega menu mobile overflow refinement. */
.product-flyout-heading .product-flyout-all{
  display:inline-flex;
  width:auto;
}
/* Products mega menu selected underline refinement. */
.products-menu-panel-mega .product-flyout-family-link::after{
  content:none;
  display:none;
}


/* Shared immersive solution hero media system. The RFID Tunnel/Gate composition is the visual reference; approved assets and solution copy remain page-specific. */
:is(
    .rfid-kabin-hero-grid,.rfid-portal-hero-grid,.rfid-mat-hero-grid,
    .warehouse-hero-grid,.logistics-hero-grid,.textile-hero-grid,
    .store-hero-grid,.asset-hero-grid,.personnel-hero-grid,
    .rtls-hero-grid,.kiosk-hero-grid,.mirror-hero-grid
){
    position:relative;
    display:grid;
    grid-template-columns:minmax(300px,5fr) minmax(0,8fr);
    align-items:center;
    width:100%;
    max-width:none;
    min-height:clamp(38rem,50vw,52rem);
    margin:0;
}
:is(
    .rfid-kabin-hero,.rfid-portal-hero,.rfid-mat-hero,
    .warehouse-hero,.logistics-hero,.textile-hero,
    .store-hero,.asset-hero,.personnel-hero,
    .rtls-hero,.kiosk-hero,.mirror-hero
){padding-top:0;padding-bottom:0}
:is(
    .rfid-kabin-hero-copy,.rfid-portal-hero-copy,.rfid-mat-hero-copy,
    .warehouse-hero-copy,.logistics-hero-copy,.textile-hero-copy,
    .store-hero-copy,.asset-hero-copy,.personnel-hero-copy,
    .rtls-hero-copy,.kiosk-hero-copy,.mirror-hero-copy
){
    position:relative;
    z-index:2;
    grid-column:1;
    grid-row:1;
    top:auto;
    left:max(1rem,calc((100vw - 1240px)/2));
    max-width:470px;
    transform:none;
}
:is(
    .rfid-kabin-hero-media,.rfid-portal-hero-media,.rfid-mat-hero-media,
    .warehouse-hero-media,.logistics-hero-media,.textile-hero-media,
    .store-hero-media,.asset-hero-media,.personnel-hero-media,
    .rtls-hero-media,.kiosk-hero-media,.mirror-hero-media
){
    position:relative;
    z-index:1;
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:none;
    height:100%;
    margin:0;
    background:transparent;
}
:is(
    .rfid-kabin-hero-media img,.rfid-portal-hero-media img,.rfid-mat-hero-media img,
    .warehouse-hero-media img,.logistics-hero-media img,.textile-hero-media img,
    .store-hero-media img,.asset-hero-media img,.personnel-hero-media img,
    .rtls-hero-media img,.kiosk-hero-media img,.mirror-hero-media img
){display:block;width:100%;max-width:none;height:100%;object-fit:contain;object-position:center}
@media(max-width:900px){
    :is(
        .rfid-kabin-hero-grid,.rfid-portal-hero-grid,.rfid-mat-hero-grid,
        .warehouse-hero-grid,.logistics-hero-grid,.textile-hero-grid,
        .store-hero-grid,.asset-hero-grid,.personnel-hero-grid,
        .rtls-hero-grid,.kiosk-hero-grid,.mirror-hero-grid
    ){
        display:flex;
        flex-direction:column;
        width:calc(100% - 32px);
        min-height:0;
        margin-inline:16px;
    }
    :is(
        .rfid-kabin-hero,.rfid-portal-hero,.rfid-mat-hero,
        .warehouse-hero,.logistics-hero,.textile-hero,
        .store-hero,.asset-hero,.personnel-hero,
        .rtls-hero,.kiosk-hero,.mirror-hero
    ){padding-top:3rem;padding-bottom:3rem}
    :is(
        .rfid-kabin-hero-copy,.rfid-portal-hero-copy,.rfid-mat-hero-copy,
        .warehouse-hero-copy,.logistics-hero-copy,.textile-hero-copy,
        .store-hero-copy,.asset-hero-copy,.personnel-hero-copy,
        .rtls-hero-copy,.kiosk-hero-copy,.mirror-hero-copy
    ){
        position:static;
        order:1;
        max-width:700px;
        transform:none;
    }
    :is(
        .rfid-kabin-hero-media,.rfid-portal-hero-media,.rfid-mat-hero-media,
        .warehouse-hero-media,.logistics-hero-media,.textile-hero-media,
        .store-hero-media,.asset-hero-media,.personnel-hero-media,
        .rtls-hero-media,.kiosk-hero-media,.mirror-hero-media
    ){
        order:2;
        align-self:auto;
        display:block;
        height:auto;
        max-width:760px;
    }
    :is(
        .rfid-kabin-hero-media img,.rfid-portal-hero-media img,.rfid-mat-hero-media img,
        .warehouse-hero-media img,.logistics-hero-media img,.textile-hero-media img,
        .store-hero-media img,.asset-hero-media img,.personnel-hero-media img,
        .rtls-hero-media img,.kiosk-hero-media img,.mirror-hero-media img
    ){height:auto;object-fit:contain}
}

/* Immersive hero finish: soften rectangular asset edges into the page surface without changing source pixels. */
:is(
    .rfid-kabin-hero-media,
    .rfid-portal-hero-media,
    .rfid-mat-hero-media,
    .warehouse-hero-media,
    .logistics-hero-media,
    .textile-hero-media,
    .store-hero-media,
    .asset-hero-media,
    .personnel-hero-media,
    .rtls-hero-media,
    .kiosk-hero-media,
    .mirror-hero-media
){
    isolation:isolate;
}
:is(
    .rfid-kabin-hero-media,
    .rfid-portal-hero-media,
    .rfid-mat-hero-media,
    .warehouse-hero-media,
    .logistics-hero-media,
    .textile-hero-media,
    .store-hero-media,
    .asset-hero-media,
    .personnel-hero-media,
    .rtls-hero-media,
    .kiosk-hero-media,
    .mirror-hero-media
) img{
    -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
    mask-composite:intersect;
}

/* RFID Mat: keep the approved wide composition high in the hero and clear the copy/media boundary. */
@media(min-width:901px){
    .rfid-mat-hero-grid{column-gap:clamp(1.5rem,2.5vw,3rem)}
    .rfid-mat-hero-copy{max-width:410px}
    .rfid-mat-hero-media{align-items:flex-start;padding-top:clamp(4rem,5.5vw,5rem)}
    .rfid-mat-hero-media img{height:auto;max-height:none}
}

/* RFID Mat: complete the wide hero composition without changing its approved asset. */
@media(min-width:901px){
    .rfid-mat-hero-media{align-self:start;align-items:flex-start;padding-top:clamp(4rem,5.5vw,5rem);height:auto;aspect-ratio:16 / 9;overflow:hidden}
    .rfid-mat-hero-media img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 52%}
}
