/* CeRaNetworks shared design system. Bootstrap 5.3 utilities remain available. */
:root{--cera-navy:#030f4e;--cera-blue:#036fff;--cera-primary:#0560d5;--cera-sky:#30a8fe;--cera-ink:#15233c;--cera-muted:#56647a;--cera-line:#dfe6f0;--cera-surface:#f4f7fb;--cera-white:#fff;--cera-radius:12px;--cera-radius-sm:8px;--cera-shadow:0 8px 28px rgba(15,35,75,.06);--cera-space-1:8px;--cera-space-2:16px;--cera-space-3:24px;--cera-space-4:32px;--cera-space-6:48px;--cera-space-8:64px;--cera-space-10:80px;--bs-primary:#0560d5;--bs-primary-rgb:5,96,213;--bs-body-color:#15233c;--bs-body-font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--bs-link-color:#0560d5;--bs-link-color-rgb:5,96,213;--bs-link-hover-color:#034ba9;--bs-link-hover-color-rgb:3,75,169}
html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;line-height:1.7;background:var(--cera-white);overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:1.3;letter-spacing:-.025em;font-weight:650;color:var(--cera-ink)}h1{font-size:clamp(2rem,4vw,3.5rem)}h2{font-size:clamp(1.65rem,2.8vw,2.25rem)}h3{font-size:1.25rem}a{text-underline-offset:4px}img,svg,video{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #2576d9;outline-offset:4px}section[id]{scroll-margin-top:130px}.skip-link{position:fixed;left:16px;top:-100px;background:#fff;color:var(--cera-navy);padding:12px 20px;z-index:1200;border:2px solid var(--cera-primary);border-radius:8px}.skip-link:focus{top:8px}.text-muted{color:var(--cera-muted)!important}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:750;color:var(--cera-primary);margin-bottom:16px}.btn{padding:11px 22px;font-weight:600;border-radius:8px;white-space:normal}.btn-primary{--bs-btn-bg:var(--cera-primary);--bs-btn-border-color:var(--cera-primary);--bs-btn-hover-bg:#034ba9;--bs-btn-hover-border-color:#034ba9;--bs-btn-active-bg:#034ba9;--bs-btn-active-border-color:#034ba9}.btn-outline-primary{--bs-btn-color:var(--cera-primary);--bs-btn-border-color:var(--cera-primary);--bs-btn-hover-bg:var(--cera-primary);--bs-btn-hover-border-color:var(--cera-primary)}.btn-sm{padding:6px 14px}.action-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.section{padding:64px 0}.section-alt{background:var(--cera-surface)}.section-heading{max-width:760px;margin-bottom:40px}.section-heading p{color:var(--cera-muted);margin:16px 0 0}.section-heading-row{display:flex;justify-content:space-between;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:32px}.section-heading-row .section-heading{margin-bottom:0}.section-heading-row>a{flex-shrink:0;font-weight:600}.container{--bs-gutter-x:40px}.site-header{position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid var(--cera-line)}.site-utility{background:var(--cera-surface);font-size:.8rem;border-bottom:1px solid var(--cera-line)}.site-utility .container{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:16px}.utility-links{display:flex;gap:24px;align-items:center}.site-utility a{text-decoration:none;color:var(--cera-ink)}.site-utility .btn-primary{color:#fff}.site-navbar{padding:14px 0}.navbar-brand{margin:0 32px 0 0;padding:0;max-width:230px}.navbar-brand img{display:block;width:218px;height:auto}.site-navbar .navbar-collapse{justify-content:end}.site-navbar .nav-link{color:var(--cera-ink);font-size:.94rem;font-weight:600;padding:12px 15px!important;border-radius:6px}.site-navbar .nav-link:hover,.site-navbar .nav-link:focus,.site-navbar .nav-link.active{color:var(--cera-primary);background:#edf4ff}.site-navbar .dropdown-menu{padding:12px;min-width:250px;border:1px solid var(--cera-line);border-radius:12px;box-shadow:var(--cera-shadow);max-height:calc(100dvh - 160px);overflow-y:auto}.site-navbar .dropdown-item{padding:9px 12px;border-radius:6px;white-space:normal;color:var(--cera-ink);font-size:.9rem}.site-navbar .dropdown-item.active{background:var(--cera-primary);color:#fff}.site-navbar .dropdown-header{color:var(--cera-muted);font-size:.72rem;font-weight:650;padding:8px 12px;text-transform:uppercase;letter-spacing:.06em}.navbar-toggler{padding:10px;min-height:44px}.mobile-actions{padding:20px 0 8px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--cera-line);margin-top:16px}.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0;background:var(--cera-navy);color:#dae7ff}.page-hero:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 30%,rgba(3,111,255,.25),transparent 65%)}.page-hero h1,.page-hero h2,.page-hero h3{color:#fff}.page-hero .eyebrow{color:#8dcaff}.page-hero p{max-width:680px;color:#c3d2ed;font-size:1.1rem;margin:24px 0}.page-hero .breadcrumb{--bs-breadcrumb-divider-color:#9aaecf;--bs-breadcrumb-item-active-color:#c3d2ed;font-size:.85rem;margin-bottom:32px}.page-hero .breadcrumb a{color:#c3d2ed}.page-hero .btn-primary{--bs-btn-bg:#0560d5;--bs-btn-border-color:#4b9bff}.page-hero .btn-outline-light{--bs-btn-color:#fff;--bs-btn-border-color:#91a6ca}.hero-home{padding:72px 0 56px}.hero-home h1{max-width:750px}.hero-home .hero-lead{font-size:1.15rem;max-width:650px}.hero-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:24px 0;color:#dbe8ff}.hero-price strong{font-size:2rem;font-weight:650;color:#fff}.hero-art{display:block;margin:auto;width:100%;max-width:370px;max-height:410px;object-fit:contain}.hero-points{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;margin:32px 0 0;list-style:none;font-size:.85rem;color:#c3d2ed}.hero-points .bi{color:#8dcaff;margin-right:6px}.service-bar{background:#f4f7fb;border-bottom:1px solid var(--cera-line);padding:24px 0}.service-message{font-size:1.125rem;margin-bottom:24px}.service-bar .service-detail{display:flex;align-items:center;gap:12px}.service-detail .bi{font-size:1.5rem;color:var(--cera-primary)}.service-detail strong{display:block;font-size:.9rem}.service-detail span{font-size:.8rem;color:var(--cera-muted)}.feature-grid,.product-grid{display:grid;grid-template-columns:1fr;gap:24px}.feature-card,.product-card{background:#fff;border:1px solid var(--cera-line);border-radius:var(--cera-radius);padding:28px;box-shadow:var(--cera-shadow);min-width:0;height:100%}.feature-card .feature-icon,.product-card .feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:#edf4ff;color:var(--cera-primary);font-size:1.5rem;margin-bottom:24px}.feature-card p{margin:12px 0 0;color:var(--cera-muted);font-size:.94rem}.product-card{display:flex;flex-direction:column}.product-card .product-category{color:var(--cera-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.product-card p{color:var(--cera-muted);font-size:.94rem}.product-card ul{padding-left:20px;color:var(--cera-muted);font-size:.9rem;margin-bottom:24px}.product-card li{margin:6px 0}.product-price{margin-top:auto;padding-top:16px;margin-bottom:20px;color:var(--cera-muted);font-size:.9rem}.product-price strong{color:var(--cera-ink);font-size:1.75rem}.product-card .card-link{margin-top:auto;font-weight:600;text-decoration:none;align-self:flex-start}.card-link .bi{margin-left:8px}.spec-table{border:1px solid var(--cera-line);border-radius:12px;overflow:auto;background:#fff;max-width:100%;scroll-margin-top:130px}.spec-table table{margin:0;min-width:640px;--bs-table-color:var(--cera-ink)}.spec-table th,.spec-table td{padding:20px 24px;vertical-align:middle}.spec-table thead th{background:#edf3fb;font-weight:650}.spec-table caption{padding:16px 24px;color:var(--cera-muted);caption-side:top}.stat-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:center}.stat-strip strong{display:block;color:var(--cera-primary);font-size:2rem;line-height:1.3}.stat-strip span{font-size:.9rem;color:var(--cera-muted)}.logo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:center}.logo-strip figure{margin:0;min-width:0;height:104px;background:white;border:1px solid var(--cera-line);border-radius:8px;padding:20px;display:flex;align-items:center;justify-content:center}.logo-strip img{object-fit:contain;max-height:64px;max-width:100%;width:auto}.dc-card{border:1px solid var(--cera-line);background:#fff;border-radius:12px;overflow:hidden;height:100%;display:flex;flex-direction:column;min-width:0;box-shadow:var(--cera-shadow)}.dc-visual{height:180px;background:#e4ecfa;display:flex;align-items:center;justify-content:center;color:var(--cera-primary);border-bottom:1px solid var(--cera-line)}.dc-visual .bi{font-size:3rem}.dc-card img{width:100%;height:180px;object-fit:cover}.dc-card .dc-content{padding:28px;display:flex;flex-direction:column;flex:1}.dc-card p{color:var(--cera-muted)}.dc-card a{margin-top:auto;font-weight:600}.dc-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dc-gallery button{padding:0;border:1px solid var(--cera-line);background:#fff;border-radius:8px;overflow:hidden;cursor:zoom-in}.dc-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-dialog{border:0;border-radius:12px;padding:24px;max-width:min(920px,calc(100vw - 32px));max-height:90dvh;background:#fff}.gallery-dialog::backdrop{background:rgba(3,15,40,.8)}.gallery-dialog .gallery-close{display:block;margin-left:auto;margin-bottom:16px}.gallery-dialog img{max-height:70dvh;object-fit:contain;display:block;margin:auto}.gallery-dialog figcaption{margin-top:12px}.accordion{--bs-accordion-border-color:var(--cera-line);--bs-accordion-active-bg:#edf4ff;--bs-accordion-active-color:var(--cera-primary);--bs-accordion-btn-padding-y:22px;--bs-accordion-btn-padding-x:24px}.accordion-button{font-weight:600;line-height:1.5}.accordion-body{color:var(--cera-muted)}.cta-band{background:var(--cera-navy);padding:48px;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;color:#c3d2ed}.cta-band h2{color:white}.cta-band p{margin:12px 0 0;max-width:650px}.empty-state{text-align:center;border:1px dashed #aabbd2;border-radius:12px;padding:48px 24px;background:var(--cera-surface)}.empty-state>.bi{color:var(--cera-primary);font-size:2rem}.empty-state h2,.empty-state h3{margin:16px 0}.empty-state p{color:var(--cera-muted)}.article-list{list-style:none;padding:0;margin:0}.article-item{padding:24px 0;border-bottom:1px solid var(--cera-line)}.article-item:first-child{padding-top:0}.article-item a{text-decoration:none;font-weight:600;font-size:1.05rem}.article-item time,.article-meta{font-size:.85rem;color:var(--cera-muted);display:block;margin-bottom:8px}.article-item p{color:var(--cera-muted);margin:12px 0 0}.prose{max-width:80ch;line-height:1.85;overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{margin:40px 0 16px}.prose p,.prose ul,.prose ol{margin-bottom:24px}.prose img{height:auto!important;max-width:100%!important}.prose iframe{max-width:100%}.prose pre{overflow:auto;padding:24px;background:var(--cera-surface);border-radius:8px}.prose table{display:block;overflow:auto;width:100%;max-width:100%;border-collapse:collapse}.prose td,.prose th{padding:12px;border:1px solid var(--cera-line)}.prose blockquote{border-left:4px solid var(--cera-primary);padding:12px 24px;background:var(--cera-surface)}.sidebar-panel{border:1px solid var(--cera-line);border-radius:12px;padding:24px;background:#fff}.sidebar-panel h2{font-size:1.125rem;margin-bottom:16px}.category-list{list-style:none;margin:24px 0 0;padding:0}.category-list a{display:block;padding:12px;border-radius:8px;text-decoration:none;color:var(--cera-ink)}.category-list a:hover,.category-list a[aria-current="page"]{color:var(--cera-primary);background:#edf4ff}.search-box{display:flex;gap:8px;flex-wrap:wrap}.search-box input{min-width:0;flex:1 1 140px}.search-box .btn{padding:8px 12px}.pagination{flex-wrap:wrap;gap:4px;--bs-pagination-color:var(--cera-primary);--bs-pagination-active-bg:var(--cera-primary);--bs-pagination-active-border-color:var(--cera-primary)}.page-link{min-width:44px;min-height:44px;text-align:center;border-radius:6px!important}.notice{background:#edf4ff;color:#174579;border:1px solid #a8caff;padding:20px 24px;border-radius:8px}.tag{display:inline-block;color:#174579;background:#e7f1ff;border-radius:6px;padding:3px 10px;font-size:.75rem;font-weight:600}.site-footer{background:#071432;color:#b6c4df;padding:64px 0 24px;font-size:.9rem}.site-footer h2{font-size:.9rem;color:white;margin-bottom:24px;letter-spacing:0}.site-footer a{color:#c2cee3;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:12px 0}.footer-brand img{width:218px;display:block;margin-bottom:24px}.footer-brand p{max-width:320px}.footer-contact{display:grid;gap:8px;font-style:normal}.footer-contact a{overflow-wrap:anywhere}.footer-legal{border-top:1px solid #2b3852;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:.78rem}.footer-legal p{margin:0}.error-code{font-size:clamp(4rem,14vw,8rem);font-weight:700;color:#98c7ff;line-height:1;margin-bottom:24px}.error-page{min-height:45vh}.news-panels{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:768px){.feature-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.logo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.news-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:80px 0}.spec-table thead th{position:sticky;top:0;z-index:1}}
@media(min-width:1200px){.container{max-width:1320px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.logo-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-home{padding:88px 0 72px}.hero-art{max-width:420px}.mobile-actions{display:none}}
@media(max-width:1199.98px){.site-utility{display:none}.site-navbar .navbar-collapse{max-height:calc(100dvh - 88px);overflow-y:auto;margin-top:16px;padding-bottom:8px}.site-navbar .dropdown-menu{box-shadow:none;max-height:none;margin-bottom:8px}.site-navbar .nav-link{padding-left:12px!important}.navbar-brand img{width:200px}.navbar-brand{margin-right:16px}.site-navbar .navbar-collapse:not(.show):not(.collapsing){display:none}}
@media(max-width:575.98px){.container{--bs-gutter-x:40px}.section{padding:48px 0}.page-hero{padding:48px 0}.hero-home{padding:48px 0 40px}.hero-home .hero-lead{font-size:1rem}.hero-art{width:240px;max-height:240px}.hero-points{gap:12px}.hero-points li{flex-basis:100%}.feature-card,.product-card{padding:24px}.cta-band{padding:32px 24px}.cta-band .action-row{width:100%}.cta-band .btn{flex:1}.section-heading{margin-bottom:32px}.dc-gallery{gap:8px}.site-footer{padding-top:48px}.footer-legal{margin-top:32px}.mobile-actions .btn{flex:1 1 auto}.site-navbar .dropdown-menu{min-width:0}.site-navbar .navbar-brand img{width:190px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* B2: stronger hierarchy; all existing component selectors remain supported. */
:root{--cera-navy:#061126;--cera-primary:#075cce;--cera-ink:#111e35;--cera-muted:#526177;--cera-surface:#f2f5f9;--cera-radius:20px;--cera-shadow:0 16px 48px rgba(10,30,65,.06)}
h1,h2,h3{font-weight:700;letter-spacing:-.04em}h1{font-size:clamp(2.25rem,4.5vw,4.25rem)}h2{font-size:clamp(1.8rem,3.3vw,3rem)}.section{padding:88px 0}.section-heading{max-width:820px}.section-heading p{font-size:1.08rem}.btn{border-radius:999px;min-height:48px;padding:12px 25px}.btn-sm{min-height:44px;padding:9px 18px}.page-hero{padding:88px 0;background:linear-gradient(120deg,#061126,#10285a)}.page-hero h1{max-width:1050px}.page-hero p{max-width:750px}.page-hero:before{background:radial-gradient(ellipse at 90% 10%,#1269b53d,transparent 60%)}.site-header{background:rgba(255,255,255,.97)}.site-navbar{padding:15px 0}.site-navbar .nav-link{font-size:.88rem;padding:12px 13px!important}.site-navbar .dropdown-menu{box-shadow:0 20px 60px #0b1c3824;border-radius:16px;min-width:290px}.site-navbar .dropdown-header{font-size:.7rem;letter-spacing:.1em}.site-navbar .dropdown-item{min-height:44px}.utility-links{gap:24px}.site-utility{background:#f6f8fc}.site-utility .container{min-height:52px}.site-utility .btn-primary{color:#fff}.mobile-actions>a:not(.btn){display:inline-flex;align-items:center;min-height:44px}.feature-card,.product-card,.dc-card{border-radius:var(--cera-radius);box-shadow:none}.feature-card,.product-card{padding:32px}.feature-card h3,.product-card h3{font-size:1.4rem}.feature-card .feature-icon,.product-card .feature-icon{border-radius:14px;width:54px;height:54px}.product-card .product-price strong{font-size:2.2rem}.spec-table{border-radius:16px}.spec-table table{--bs-table-striped-bg:#f6f8fc}.spec-table thead th{background:#edf2fa;font-size:.86rem}.spec-table tbody tr:hover>*{background:#f7faff}.spec-table th,.spec-table td{padding:22px 24px}.spec-table caption{font-weight:600;color:var(--cera-ink)}.stat-strip strong{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.05em}.stat-strip span{display:block;margin-top:8px}.cta-band{border-radius:24px;background:linear-gradient(120deg,#061126,#133f82)}.site-footer{background:#061126;color:#bac8de;padding-top:80px}.site-footer h2{color:#fff;letter-spacing:0;font-size:.85rem}.site-footer a{color:#bac8de}.site-footer a:hover{color:#fff}.footer-brand img{background:#fff;padding:8px;border-radius:8px;width:218px;height:auto}.footer-network{margin:40px 0 0;padding:24px 0;border-top:1px solid #263653;color:#d0dcee;font-size:.85rem}.footer-legal{margin-top:0}.footer-legal a{min-height:44px;display:inline-flex;align-items:center}.footer-legal p{margin:0}.footer-contact a{padding:4px 0;min-height:36px}.section-dark{background:#061126;color:#bbcae0}.section-dark h2,.section-dark h3{color:#fff}.section-dark .eyebrow{color:#8dcaff}
/* Shared B2 components. */
.stat-hero{position:relative;isolation:isolate;background:#050e20;color:#c3d3ea;padding:100px 0;min-height:calc(100svh - 134px);display:flex;align-items:center;overflow:hidden}.stat-hero .container{position:relative}.stat-hero h1{color:#fff;font-size:clamp(3.25rem,7vw,6rem);line-height:1.05;letter-spacing:-.055em}.stat-hero .eyebrow{color:#8dccff}.stat-hero .hero-lead{font-size:clamp(1.05rem,1.6vw,1.4rem);max-width:680px;margin:28px 0 32px}.stat-hero .btn-outline-light{--bs-btn-border-color:#778dab}.big-number-band{text-align:center;padding:115px 0;background:#fff}.big-number-band .big-number{font-size:clamp(6rem,17vw,15rem);font-weight:750;letter-spacing:-.075em;line-height:1.05;color:var(--cera-primary);margin:16px 0 32px}.big-number-band .big-number span{font-size:.34em;letter-spacing:-.04em;margin-left:.1em}.big-number-band h2{font-size:clamp(1.8rem,3.5vw,3rem);max-width:900px;margin:0 auto 24px}.big-number-band p:not(.big-number){color:var(--cera-muted);max-width:680px;margin:0 auto 28px}.number-dark{background:#080f1d}.number-dark .big-number{color:#80bdff}.number-dark h2{color:white}.number-dark .eyebrow{color:#8dcaff}.number-dark p:not(.big-number){color:#b9c9e0}.product-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-tile{position:relative;display:flex;flex-direction:column;min-width:0;min-height:380px;padding:40px;border:1px solid var(--cera-line);border-radius:24px;background:white}.tile-topline{display:flex;justify-content:space-between;gap:16px;align-items:center}.tile-topline .bi{font-size:2rem;color:var(--cera-primary)}.tile-topline .eyebrow{margin:0}.product-tile h3{font-size:clamp(1.5rem,2.2vw,2rem);margin:24px 0 12px}.product-tile p{max-width:560px;color:var(--cera-muted);font-size:.95rem;margin-bottom:24px}.product-tile .tile-promise{font-size:1.1rem;color:var(--cera-ink);margin-bottom:8px}.product-tile .tile-price{margin:0 0 24px;color:var(--cera-ink)}.tile-price strong{font-size:2.5rem;letter-spacing:-.04em}.tile-link{display:inline-flex;gap:24px;align-items:center;font-weight:650;min-height:44px;align-self:flex-start;margin-top:auto;text-decoration:none}.tile-link .bi{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #b3cee9;border-radius:50%}.tile-wide{grid-column:1/-1}.tile-blue{background:linear-gradient(115deg,#e3efff,#f1f7ff)}.tile-blue h3{font-size:clamp(2rem,3.6vw,3.25rem)}.feature-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}.feature-split>*,.feature-split .media{min-width:0}.feature-split p{color:var(--cera-muted);max-width:650px}.diagram-frame{border:1px solid var(--cera-line);border-radius:24px;padding:32px;background:var(--cera-surface)}.diagram-caption{font-size:.78rem;color:var(--cera-muted);text-align:center;margin:12px 0 0}.steps,.timeline{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:24px}.steps>li,.timeline>li{counter-increment:step;position:relative;border-left:2px solid var(--cera-line);padding:0 0 24px 32px}.steps>li:before,.timeline>li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--cera-primary);font-weight:750;font-size:1.4rem;margin-bottom:12px}.steps h3,.timeline h3{font-size:1.3rem}.cta-band-v2{background:linear-gradient(135deg,#071730,#0c3875);color:#cedef5;text-align:center;padding:110px 0}.cta-band-v2 .eyebrow{color:#8dcaff}.cta-band-v2 h2{font-size:clamp(2.6rem,5.5vw,5rem);color:#fff;line-height:1.1;letter-spacing:-.05em}.cta-band-v2 p{margin:24px auto 32px;max-width:640px}.form-label{font-weight:650;color:var(--cera-ink)}.form-control,.form-select{padding:13px 16px;min-height:50px;border-color:#8090a7;border-radius:10px;background-color:#fff;color:var(--cera-ink)}.form-control:focus,.form-select:focus{border-color:var(--cera-primary);box-shadow:0 0 0 3px #075cce24}.form-control[aria-invalid=true],.form-select[aria-invalid=true]{border-color:#b42318}.field-error{display:block;color:#a32020;font-size:.85rem;min-height:0;margin-top:6px}.form-help{font-size:.85rem;color:var(--cera-muted)}.form-status:empty{display:none}.form-status{padding:20px;border-radius:12px;background:#edf4ff;border:1px solid #afccec;margin-bottom:24px;color:#15355b}.form-status.is-error{background:#fff1f0;border-color:#e5b5b0;color:#8b221b}.form-status.is-success{background:#eaf6f0;border-color:#a7d0b9;color:#155a37}.consult-float{position:fixed;z-index:1020;right:24px;bottom:24px;display:flex;align-items:center;border-radius:999px;background:#075cce;box-shadow:0 8px 30px #051a4a40;color:white;max-width:calc(100vw - 32px)}.consult-float[hidden]{display:none}.consult-float a{color:white;text-decoration:none;padding:13px 18px;min-height:52px;font-weight:650;display:flex;gap:10px;align-items:center}.consult-float button{width:44px;height:44px;padding:0;margin-right:4px;color:#fff;background:transparent;border:0;border-left:1px solid #ffffff40;border-radius:0 50% 50% 0}.consult-float:focus-within{outline:3px solid #93cfff;outline-offset:4px}body:has(.consult-float) .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.consult-float.is-field-focused{visibility:hidden;pointer-events:none}.is-revealing{animation:cera-reveal .65s cubic-bezier(.2,.7,.25,1) both}@keyframes cera-reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px){.site-navbar .navbar-brand{margin-right:28px}}
@media(max-width:767.98px){.section{padding:60px 0}.page-hero{padding:56px 0}.feature-split{grid-template-columns:1fr;gap:32px}.product-tiles{grid-template-columns:1fr;gap:16px}.tile-wide{grid-column:auto}.product-tile{padding:28px;min-height:340px}.stat-hero{padding:70px 0 88px;min-height:calc(100svh - 78px)}.big-number-band{padding:80px 0}.big-number-band .big-number{margin-bottom:24px}.cta-band-v2{padding:80px 0}.consult-float{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));visibility:hidden;pointer-events:none}.consult-float.is-past-intro:not(.is-field-focused){visibility:visible;pointer-events:auto}.consult-float a{width:48px;height:48px;min-height:48px;padding:0;justify-content:center;gap:0;flex:none;font-size:1.2rem}.consult-float-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.feature-card,.product-card{padding:26px}.site-footer{padding-top:56px}.footer-network{margin-top:32px}.diagram-frame{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.is-revealing,[data-reveal]{opacity:1!important;transform:none!important}}
/* Match the footer's g-lg-5 row gutters so they stay inside its container. */
@media(min-width:992px){.site-footer>.container{--bs-gutter-x:48px}}

/* B3 accessible colour contract — navy/blue, with non-colour state cues. */
:root{--cera-primary:#0053bd;--cera-primary-hover:#003f91;--cera-on-primary:#fff;--cera-primary-dark:#8dccff;--cera-primary-dark-hover:#b8e1ff;--cera-muted:#45556e;--cera-on-dark:#e2ecfa;--cera-control-border:#677b96;--cera-focus:#0053bd;--cera-attack:#a32c00;--cera-attack-dark:#ffbd77;--cera-clean:#00617d;--cera-clean-dark:#90e4ff;--cera-error:#982419;--cera-success:#145b3a;--bs-primary:#0053bd;--bs-primary-rgb:0,83,189;--bs-link-color:#0053bd;--bs-link-color-rgb:0,83,189;--bs-link-hover-color:#003f91;--bs-link-hover-color-rgb:0,63,145}
.btn-primary{--bs-btn-color:var(--cera-on-primary);--bs-btn-bg:var(--cera-primary);--bs-btn-border-color:var(--cera-primary);--bs-btn-hover-color:var(--cera-on-primary);--bs-btn-hover-bg:var(--cera-primary-hover);--bs-btn-hover-border-color:var(--cera-primary-hover);--bs-btn-active-color:var(--cera-on-primary);--bs-btn-active-bg:var(--cera-primary-hover);--bs-btn-active-border-color:var(--cera-primary-hover)}
.btn-outline-primary{--bs-btn-color:var(--cera-primary);--bs-btn-border-color:var(--cera-primary);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--cera-primary);--bs-btn-hover-border-color:var(--cera-primary);--bs-btn-active-color:#fff;--bs-btn-active-bg:var(--cera-primary-hover);--bs-btn-active-border-color:var(--cera-primary-hover)}
:is(.page-hero,.stat-hero,.section-dark,.cta-band,.cta-band-v2,.number-dark) .btn-primary{--bs-btn-color:var(--cera-navy);--bs-btn-bg:var(--cera-primary-dark);--bs-btn-border-color:var(--cera-primary-dark);--bs-btn-hover-color:var(--cera-navy);--bs-btn-hover-bg:var(--cera-primary-dark-hover);--bs-btn-hover-border-color:var(--cera-primary-dark-hover);--bs-btn-active-color:var(--cera-navy);--bs-btn-active-bg:var(--cera-primary-dark-hover);--bs-btn-active-border-color:var(--cera-primary-dark-hover)}
:is(.page-hero,.stat-hero,.section-dark,.cta-band,.cta-band-v2,.number-dark) .btn-outline-light{--bs-btn-color:#fff;--bs-btn-border-color:#c1d4ee;--bs-btn-hover-color:var(--cera-navy);--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff;--bs-btn-active-color:var(--cera-navy);--bs-btn-active-bg:var(--cera-primary-dark-hover);--bs-btn-active-border-color:var(--cera-primary-dark-hover)}
.btn:disabled,.btn.disabled{opacity:1;--bs-btn-disabled-color:var(--cera-ink);--bs-btn-disabled-bg:#e3e9f2;--bs-btn-disabled-border-color:var(--cera-control-border);border-style:dashed}
:is(a,button,input,select,textarea,[tabindex]):focus-visible,.form-control:focus,.form-select:focus,.form-check-input:focus{outline:3px solid var(--cera-focus);outline-offset:3px;box-shadow:0 0 0 3px #fff}
:is(.page-hero,.stat-hero,.section-dark,.number-dark,.cta-band,.cta-band-v2) .eyebrow{color:var(--cera-primary-dark)}
:is(.page-hero,.section-dark,.cta-band,.cta-band-v2) p,.stat-hero .hero-lead,.number-dark p:not(.big-number){color:var(--cera-on-dark)}
.page-hero .breadcrumb{--bs-breadcrumb-divider-color:var(--cera-on-dark);--bs-breadcrumb-item-active-color:var(--cera-on-dark)}.page-hero .breadcrumb a,.hero-points{color:var(--cera-on-dark)}
main :is(p,li,dd,td,.prose,.notice,.section-heading-row,.product-card) a:not(.btn),main .card-link{ text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.site-navbar :is(.nav-link.active,.dropdown-item.active),.category-list a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;font-weight:750}
.site-navbar :is(.nav-link,.dropdown-item):hover,.site-utility a:not(.btn):hover{text-decoration:underline}
.form-control,.form-select{border-color:var(--cera-control-border)}.form-control::placeholder,textarea::placeholder{color:var(--cera-muted);opacity:1}.form-control[aria-invalid=true],.form-select[aria-invalid=true]{border:2px solid var(--cera-error)}
.field-error{color:var(--cera-error);font-weight:600}.field-error-icon,.form-status-icon{display:inline-block;font-weight:800;margin-right:.45em}.form-status.is-error{background:#fff1f0;border-color:var(--cera-error);color:var(--cera-error)}.form-status.is-success{background:#eaf6f0;border-color:var(--cera-success);color:var(--cera-success)}
.form-check-input{border-color:var(--cera-control-border)}.form-check-input:checked{background-color:var(--cera-primary);border-color:var(--cera-primary)}.form-check-input:checked~.form-check-label{font-weight:750;text-decoration:underline;text-underline-offset:3px}.form-check-input:disabled~.form-check-label,.form-check-input:disabled{opacity:1}
.form-range::-webkit-slider-thumb{background:var(--cera-primary)}.form-range::-moz-range-thumb{background:var(--cera-primary)}.form-range::-webkit-slider-runnable-track{background:#cad5e5;border:1px solid var(--cera-control-border)}.form-range::-moz-range-track{background:#cad5e5;border:1px solid var(--cera-control-border)}
.consult-float{background:var(--cera-primary)}.consult-float:focus-within{outline:3px solid var(--cera-focus);outline-offset:3px;box-shadow:0 0 0 3px #fff}
.language-notice{position:fixed;z-index:1040;bottom:max(16px,env(safe-area-inset-bottom,0px));left:max(16px,env(safe-area-inset-left,0px));max-width:calc(100vw - 32px);width:430px;padding:14px 18px;border:2px solid var(--cera-primary);border-radius:12px;background:#fff;color:var(--cera-ink);box-shadow:0 8px 28px #06112633;font-size:.875rem;line-height:1.6;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.language-notice button{border:0;background:transparent;color:var(--cera-primary);padding:6px 0;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-align:left}.language-notice button:hover{color:var(--cera-primary-hover)}
@media(max-width:767.98px){body:has(.language-notice) .consult-float{bottom:140px}}

/* B3 prominence: saturated brand accents, clear card hierarchy, stable hover geometry. */
:root{--cera-primary:#0057d9;--cera-primary-hover:#0041ad;--cera-primary-dark:#66c2ff;--cera-primary-dark-hover:#a3dcff;--cera-muted:#344965;--cera-surface:#edf3ff;--cera-card-border:#a4bce0;--cera-shadow:0 12px 32px rgba(0,54,132,.12);--bs-primary:#0057d9;--bs-primary-rgb:0,87,217;--bs-link-color:#0057d9;--bs-link-color-rgb:0,87,217;--bs-link-hover-color:#0041ad;--bs-link-hover-color-rgb:0,65,173}
.section-heading h2,.feature-split h2,.big-number-band h2{font-size:clamp(2rem,3.5vw,3.25rem);font-weight:700;letter-spacing:-.035em}.section-heading h2:after{content:"";display:block;width:72px;height:5px;margin-top:20px;border-radius:4px;background:var(--cera-primary)}
.feature-card h3,.product-card h3,.dc-card h3{font-size:1.5rem;font-weight:700}.product-tile h3{font-size:clamp(1.65rem,2.35vw,2.2rem);font-weight:700}.product-tile.tile-blue h3{font-size:clamp(2.1rem,3.8vw,3.5rem)}
.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.11em}.section-heading .eyebrow{width:fit-content;max-width:100%;padding:6px 10px;background:#e0ebff;border-radius:6px}
:is(.page-hero,.stat-hero,.section-dark,.number-dark,.cta-band,.cta-band-v2) .eyebrow{border-left:4px solid currentColor;padding:3px 0 3px 12px;background:transparent}
.btn{font-weight:700}.btn-primary:not(:disabled):not(.disabled){box-shadow:0 4px 12px #0057d929}.btn-primary:hover:not(:disabled):not(.disabled){box-shadow:0 6px 18px #0057d940}
.site-navbar .nav-link.active{background:var(--cera-primary);color:#fff;font-weight:750}.site-navbar .dropdown-item.active{font-weight:750}
.feature-card,.product-card,.product-tile,.dc-card,.consult-card,.sidebar-panel{border-color:var(--cera-card-border);box-shadow:var(--cera-shadow)}
.feature-card,.product-card,.product-tile,.consult-card{border-top:5px solid var(--cera-primary)}
.feature-card .feature-icon,.product-card .feature-icon{background:var(--cera-primary);color:#fff;box-shadow:0 6px 16px #0057d926}.tile-topline>.bi{background:var(--cera-primary);color:#fff;border-radius:12px;padding:8px;line-height:1}
.product-card p,.product-card ul,.product-tile p,.feature-card p,.feature-card li,.dc-card p{color:var(--cera-muted)}.product-card ul,.product-tile .tile-promise{font-weight:550}
.product-price strong,.tile-price strong,.hero-price strong{font-weight:800}.product-price strong,.tile-price strong,.stat-strip strong{color:var(--cera-primary)}.product-price,.product-tile .tile-price{font-weight:600}
.tile-link,.product-card .card-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:8px 16px;background:#e7efff;border:1px solid var(--cera-primary);border-radius:10px;color:var(--cera-primary);font-weight:750;text-decoration:none;max-width:100%}.tile-link:hover,.product-card .card-link:hover{background:var(--cera-primary);color:#fff}.tile-link .bi{width:30px;height:30px;background:var(--cera-primary);border-color:var(--cera-primary);color:#fff;flex-shrink:0}.tile-link:hover .bi{background:#fff;color:var(--cera-primary)}
.product-tile.tile-blue,.product-card:has(>.card-link[href*="/page/highBandwidth.html"]){background-color:#073371;background-image:linear-gradient(120deg,#082b61,#0b438f);border-color:#164e9b;border-top:6px solid #66c2ff;box-shadow:0 16px 36px #07337133}
.product-tile.tile-blue :is(h3,p,.eyebrow,.tile-price strong),.product-card:has(>.card-link[href*="/page/highBandwidth.html"]) :is(h3,p,ul,li){color:#fff}.product-tile.tile-blue .tile-topline>.bi{background:#fff;color:var(--cera-primary)}
.product-tile.tile-blue .tile-link,.product-card:has(>.card-link[href*="/page/highBandwidth.html"]) .card-link{background:#fff;color:var(--cera-primary);border-color:#fff}.product-tile.tile-blue .tile-link:hover,.product-card:has(>.card-link[href*="/page/highBandwidth.html"]) .card-link:hover{background:#dcedff;color:var(--cera-primary-hover);border-color:#dcedff}
.spec-table{border-color:var(--cera-card-border);box-shadow:0 8px 24px #0733710c}.spec-table thead th{background:#dce9ff;color:#142e52;font-weight:750}.spec-table tbody tr:has(>td:last-child .btn)>td:nth-last-child(2){color:var(--cera-primary);font-weight:750}.spec-table caption{color:var(--cera-ink);font-weight:700}
.tag{background:var(--cera-primary);color:#fff;font-weight:750}.stat-strip strong{font-weight:800}.consult-card{border-color:var(--cera-card-border)}.consult-card h2{font-weight:700}.consult-card .form-label{font-weight:700;color:#183b70}.consult-card .form-label>span{color:var(--cera-muted)}
#china-premium{background:linear-gradient(110deg,#e3edff,#f7faff)}
.site-footer{border-top:6px solid var(--cera-primary)}.site-footer h2{font-size:1rem;font-weight:750;color:#b7ddff;letter-spacing:.04em}.site-footer a{font-weight:550;color:#e2ecfa}.footer-network{color:#e2ecfa;border-top-color:#516e96}.footer-legal{border-top-color:#516e96}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product-card,.product-tile,.dc-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.product-card:hover,.product-tile:hover,.dc-card:hover{transform:translateY(-3px);border-color:var(--cera-primary);box-shadow:0 18px 40px #07337126}}

.btn-primary:focus-visible:not(:disabled):not(.disabled){box-shadow:0 0 0 3px #fff}
/* Page-specific form CSS loads later; keep the shared panel accent above its border shorthand. */
.section .consult-card{border-color:var(--cera-card-border);border-top:5px solid var(--cera-primary)}
/* The submit label already shows preparation; keep its live status without moving the form. */
.consult-card .form-status:not(.is-error):not(.is-success){position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Balance card, section and stat/hero titles without splitting Latin words or locking CJK runs. */
h1,h2,h3{text-wrap:balance;word-break:normal;line-break:strict}
/* Chinese headings wrap at punctuation, spaces and editorial phrase boundaries. */
html:lang(zh) :is(h1,h2,h3){word-break:keep-all;overflow-wrap:normal}
/* Give paragraph and list endings room to avoid a stranded final character or word. */
p,li{text-wrap:pretty}

/* The current language has a text marker and underline, independent of colour. */
.language-switcher { display: inline-flex; flex-wrap: wrap; gap: .35rem .65rem; align-items: center; }
.language-switcher a { display: inline-flex; align-items: center; gap: .25rem; min-height: 44px; line-height: 1.65; }
.language-switcher [aria-current="true"] { font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.language-current { font-size: .8em; }
/* Vietnamese stacked diacritics need room above capitals and below the baseline. */
html:lang(vi) :is(h1,h2,h3,h4,h5,h6) { line-height: 1.3; }
html:lang(vi) :is(.btn,.badge,.tag,.eyebrow) { line-height: 1.65; }

@media(max-width:1199.98px) { .mobile-actions .language-switcher { flex-basis: 100%; } }

/* B31 layout balance */
/* Natural-height fallback; long copy stays visible and actions share the card foot. */
.feature-card{display:flex;flex-direction:column;min-width:0}
.feature-card>.feature-icon{flex-shrink:0}
.feature-card>:is(a,.action-row){margin-top:auto;align-self:flex-start}
.feature-card>figcaption{margin-top:auto}
:is(.feature-card,.product-card,.product-tile,.dc-content)>:is(h2,h3,p,ul,blockquote){min-width:0}
.product-card:has(>.card-link[href*="/page/highBandwidth.html"]){border-top-width:5px}
.product-card>.card-link,.product-tile>.tile-link{flex-shrink:0}
.feature-split{align-items:stretch}
.feature-split>div:not(.location-pair){display:flex;flex-direction:column;justify-content:center}
.feature-split>div>.feature-card{height:auto;flex:1;justify-content:center}
.feature-split>div>.feature-card>:is(a,.action-row){margin-top:24px}
.feature-split>div>.eyebrow{align-self:flex-start}
.feature-split>.location-pair{align-self:center;width:100%}
.location-pair>a{display:flex;flex-direction:column;align-items:flex-start}
.location-pair>a>.bi{margin-top:auto}
.site-footer h2{line-height:1.4;min-block-size:2.8em}
.site-footer li:first-child{margin-top:0}

/* Subgrid shares intrinsic content rows, including wrapped titles/specifications.
   Bootstrap wrappers remain in the DOM, and the reading/focus order is unchanged. */
@supports(grid-template-rows:subgrid){
 @media(min-width:768px){
  main .row:has(>div>:is(.feature-card,.dc-card)){
   --balance-columns:1;
   display:grid;grid-template-columns:repeat(calc(var(--balance-columns) * 2),minmax(0,1fr));
   column-gap:24px;row-gap:0;margin:0;align-items:stretch
  }
  main .row:has(>div>:is(.feature-card,.dc-card))>div{
   display:grid;grid-template-rows:subgrid;grid-row:span 7;grid-column:span 2;
   width:auto;min-width:0;padding:0;margin:0 0 24px;row-gap:0
  }
  main .row:has(>[class~="col-md-6"]>:is(.feature-card,.dc-card)){--balance-columns:2}
  main .row:has(>[class~="col-md-4"]>:is(.feature-card,.dc-card)){--balance-columns:3}
  :is(main .row>div,.feature-grid)>.feature-card{
   display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;
   align-content:start;height:auto
  }
  :is(main .row>div,.feature-grid)>.feature-card>:is(.feature-icon,img){grid-row:1;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>h3{grid-row:2;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>p{grid-row:3;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>p~p{grid-row:4}
  :is(main .row>div,.feature-grid)>.feature-card>address{grid-row:3;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>address~p{grid-row:4}
  :is(main .row>div,.feature-grid)>.feature-card>ul{grid-row:3;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>p~ul{grid-row:4}
  main .row:has(.carrier-wordmarks)>div>.feature-card>.carrier-wordmarks{grid-row:4}
  /* A one-paragraph body spans the same region as its neighbour's two paragraphs.
     The two paragraphs keep separate rows, so their text can never overlap. */
  main .row:has(>div>.feature-card>p+p)>div>.feature-card:not(:has(>p+p,>ul))>p:first-of-type{grid-row:3 / span 2}
  :is(main .row>div,.feature-grid)>.feature-card>blockquote{grid-row:3 / span 3;align-self:start}
  :is(main .row>div,.feature-grid)>.feature-card>:is(a,.action-row,figcaption){grid-row:7;align-self:end}
  main .row>div>.dc-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;height:auto}
  .dc-card>:is(.dc-visual,img){grid-row:1}
  .dc-card>.dc-content{display:grid;grid-template-rows:subgrid;grid-row:2 / span 6;row-gap:0}
  .dc-content>h3{grid-row:1;align-self:start}
  .dc-content>p{grid-row:2;align-self:start}
  .dc-content>a{grid-row:6;align-self:end}

  .feature-grid,.product-grid,.product-tiles{row-gap:0}
  .feature-grid>.feature-card,.product-grid>.product-card,.product-tiles>.product-tile{margin-bottom:24px}
  .product-grid>.product-card{display:grid;grid-template-rows:subgrid;grid-row:span 10;row-gap:0;height:auto}
  .product-grid>.product-card>.feature-icon{grid-row:1}
  .product-grid>.product-card>.product-category{grid-row:2}
  .product-grid>.product-card>h3{grid-row:3;align-self:start}
  .product-grid>.product-card>p{grid-row:4;align-self:start}
  .product-grid>.product-card>ul{display:grid;grid-template-rows:subgrid;grid-row:5 / span 4;row-gap:0}
  .product-grid>.product-card>.product-price{grid-row:9;margin-top:0;align-self:end}
  .product-grid>.product-card>:is(.card-link,.btn){grid-row:10;align-self:end;justify-self:start}

  .product-tiles>.product-tile{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;min-height:0}
  .product-tile>.tile-topline{grid-row:1;align-self:start}
  .product-tile>h3{grid-row:2;align-self:start}
  .product-tile>.tile-promise{grid-row:3;align-self:start}
  .product-tile>p:not(.tile-promise):not(.tile-price){grid-row:4;align-self:start}
  .product-tile>.tile-price{grid-row:5;align-self:end}
  .product-tile>.tile-link{grid-row:6;align-self:end;justify-self:start}
 }
 @media(min-width:992px){
  main .row:has(>[class~="col-lg-6"]>:is(.feature-card,.dc-card)){--balance-columns:2}
  main .row:has(>[class~="col-lg-4"]>:is(.feature-card,.dc-card)){--balance-columns:3}
  /* Four cards read as two pairs; five read as a trio followed by a pair. */
  main .row:has(>[class~="col-lg-4"]>.feature-card):has(>div:nth-child(4):last-child){--balance-columns:2}
  main .row:has(>[class~="col-lg-4"]>.feature-card):has(>div:nth-child(5):last-child)>div:nth-last-child(-n+2){grid-column:span 3}
 }
 @media(min-width:1200px){
  main .row:has(>[class~="col-xl-4"]>.feature-card){--balance-columns:3}
  main .row:has(>[class~="col-xl-3"]>.feature-card){--balance-columns:4}
  main .row:has(>[class~="col-xl-4"]>.feature-card):has(>div:nth-child(4):last-child){--balance-columns:2}
  main .row:has(>[class~="col-xl-4"]>.feature-card):has(>div:nth-child(5):last-child)>div:nth-last-child(-n+2){grid-column:span 3}
 }
}
/* Keep incomplete catalogue rows balanced, including the seven-service catalogue. */
@media(min-width:768px) and (max-width:1199.98px){
 .product-grid:has(>:nth-child(2n+1):last-child)>:last-child{grid-column:1 / -1;width:calc((100% - 24px) / 2);justify-self:center}
}
@media(min-width:1200px){
 .product-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .product-grid>.product-card{grid-column:span 2}
 .product-grid:has(>:nth-child(7):last-child)>.product-card:nth-child(n+4){grid-column:span 3}
}
@media(max-width:767.98px){
 .feature-split{gap:32px}
 .feature-card>:is(a,.action-row){margin-top:24px}
 .feature-card>figcaption{margin-top:24px}
 .product-tile{min-height:0}
 .product-tile>.tile-link{margin-top:8px}
 .site-footer h2{margin-bottom:16px}
}
/* Matching commercial tables use the same column proportions across locations. */
.spec-table:has(thead tr>:nth-child(8):last-child) table{table-layout:fixed;min-width:1200px}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(1){width:20%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(2){width:8%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(3){width:12%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(4){width:16%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(5){width:8%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(6){width:12%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(7){width:10%}
.spec-table:has(thead tr>:nth-child(8):last-child) thead th:nth-child(8){width:14%}
.spec-table:has(thead tr>:nth-child(2):last-child) table{table-layout:fixed}
.spec-table:has(thead tr>:nth-child(2):last-child) thead th:first-child{width:30%}

/* B4 review fix R1: readable mobile CTA pills in every language. */
@media(max-width:575.98px){
 .cta-band .action-row{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;width:100%;align-items:stretch}
 .cta-band>.btn,.cta-band .action-row>.btn{display:flex;align-items:center;justify-content:center;flex:none;width:100%;min-width:0;min-height:52px}
}
/* The shared row map supports at most two body blocks: p+p, p+ul or address+p.
   A more complex body switches its entire sibling group to natural flex flow.
   Keep the outer seven-row span so boxes and action baselines remain shared. */
@supports(grid-template-rows:subgrid){
 @media(min-width:768px){
  main .row:has(>div>.feature-card),.feature-grid{
   --cera-feature-display:grid;--cera-feature-body-align:start;--cera-feature-footer-align:end
  }
  main .row:has(
   >div>.feature-card>:nth-child(n+3 of p,ul,ol,address,blockquote),
   >div>.feature-card>ol,
   >div>.feature-card>ul~:is(p,ul,address,blockquote),
   >div>.feature-card>p~:is(address,blockquote),
   >div>.feature-card>address~:is(ul,address,blockquote),
   >div>.feature-card>blockquote~:is(p,ul,address,blockquote)
  ),
  .feature-grid:has(
   >.feature-card>:nth-child(n+3 of p,ul,ol,address,blockquote),
   >.feature-card>ol,
   >.feature-card>ul~:is(p,ul,address,blockquote),
   >.feature-card>p~:is(address,blockquote),
   >.feature-card>address~:is(ul,address,blockquote),
   >.feature-card>blockquote~:is(p,ul,address,blockquote)
  ){
   --cera-feature-display:flex;--cera-feature-body-align:auto;--cera-feature-footer-align:flex-start
  }
  :is(main .row>div,.feature-grid)>.feature-card{display:var(--cera-feature-display,grid)}
  :is(main .row>div,.feature-grid)>.feature-card>:is(h3,p,ul,ol,address,blockquote){align-self:var(--cera-feature-body-align,start)}
  :is(main .row>div,.feature-grid)>.feature-card>:is(a,.action-row,figcaption){align-self:var(--cera-feature-footer-align,end)}
 }
}
