.public-body { background:#fff; color:#172033; }
.public-shell { width:min(100% - 40px, 1320px); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.public-topbar { background:#111827; color:#e5e7eb; font-size:12px; }
.public-topbar > div { width:min(100% - 40px, 1320px); min-height:31px; margin:auto; display:flex; align-items:center; justify-content:flex-end; gap:28px; }
.public-header { position:sticky; top:0; z-index:60; background:rgba(255,255,255,.98); border-bottom:1px solid #e5e7eb; box-shadow:0 5px 18px rgba(17,24,39,.05); backdrop-filter:blur(12px); }
.public-header__main { width:min(100% - 40px, 1320px); min-height:78px; margin:auto; display:grid; grid-template-columns:auto minmax(280px,1fr) auto; align-items:center; gap:28px; }
.public-header-search { height:46px; display:grid; grid-template-columns:1fr auto; border:2px solid #202938; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 4px 12px rgba(17,24,39,.04); }
.public-header-search:focus-within { border-color:var(--dpm-red); box-shadow:0 0 0 4px rgba(181,18,27,.1); }
.public-header-search input { min-width:0; padding:0 15px; border:0; outline:0; color:var(--ink); font:inherit; }
.public-header-search button { border:0; padding:0 18px; background:#202938; color:white; font-weight:850; cursor:pointer; }
.public-header-search button:hover { background:var(--dpm-red); }
.public-header__tools { display:flex; align-items:center; gap:15px; }
.public-header__tools .language-switcher { margin:0; }
.public-login { display:flex; flex-direction:column; text-decoration:none; line-height:1.2; padding-left:16px; border-left:1px solid var(--line); }
.public-login small { color:var(--muted); font-size:11px; }
.public-login strong { margin-top:3px; font-size:13px; }
.public-login:hover strong { color:var(--dpm-red); }
.public-menu-button { display:none; border:1px solid var(--line); border-radius:10px; background:white; padding:9px 12px; font-weight:850; }
.public-client-dock { position:fixed; right:22px; bottom:22px; z-index:58; min-width:184px; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:18px; overflow:hidden; padding:9px 10px 9px 17px; border:1px solid rgba(255,255,255,.16); border-radius:15px; color:#fff; background:#202938; box-shadow:0 16px 38px rgba(17,24,39,.24); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.public-client-dock::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--dpm-red); }
.public-client-dock__label small,.public-client-dock__label strong { display:block; }
.public-client-dock__label small { color:#c6ccd5; font-size:8px; font-weight:900; letter-spacing:.12em; }
.public-client-dock__label strong { margin-top:2px; color:#fff; font-size:13px; }
.public-client-dock__icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--dpm-red); font-size:19px; font-weight:900; }
.public-client-dock:hover { color:#fff; background:#151d2a; box-shadow:0 20px 45px rgba(17,24,39,.3); transform:translateY(-2px); }
.public-client-dock:focus-visible { outline:3px solid rgba(181,18,27,.3); outline-offset:3px; }
.public-nav { background:#fff; border-top:1px solid #f0f1f3; }
.public-nav > div { width:min(100% - 40px, 1320px); min-height:46px; margin:auto; display:flex; align-items:center; gap:3px; }
.public-nav a { align-self:stretch; display:flex; align-items:center; padding:0 14px; text-decoration:none; color:#475467; border-bottom:3px solid transparent; font-size:13px; font-weight:800; white-space:nowrap; }
.public-nav a:hover,.public-nav a.is-active { color:var(--dpm-red); border-color:var(--dpm-red); }
.public-nav a.public-nav__account { margin-left:auto; }
.public-nav a.public-nav__quote { margin:5px 0 5px 8px; border:0; border-radius:9px; background:var(--dpm-red); color:white; }
.public-nav a.public-nav__quote:hover { background:var(--dpm-red-dark); }

.marketing-hero { overflow:hidden; background:radial-gradient(circle at 80% 12%,rgba(219,35,46,.14),transparent 29%),linear-gradient(122deg,#f7f8fa 0%,#fff 55%,#fdf0f1 100%); border-bottom:1px solid #eef0f3; }
.marketing-hero__grid { min-height:570px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); align-items:center; gap:72px; padding-block:62px; }
.marketing-hero__content h1 { max-width:780px; margin:0; font-size:clamp(42px,5.4vw,70px); line-height:.98; letter-spacing:-.045em; }
.marketing-hero__content > p { max-width:710px; margin:24px 0; color:#596579; font-size:19px; line-height:1.65; }
.hero-search { max-width:760px; display:grid; grid-template-columns:1fr auto; gap:9px; padding:7px; border:1px solid #d9dde5; border-radius:14px; background:white; box-shadow:0 16px 44px rgba(17,24,39,.1); }
.hero-search input { min-width:0; border:0; outline:0; padding:0 12px; font:inherit; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:18px; margin-top:23px; color:#4d596b; font-size:13px; font-weight:750; }
.marketing-hero__visual { position:relative; min-height:410px; }
.hero-visual-card { position:absolute; inset:25px 35px 20px 45px; display:flex; flex-direction:column; padding:18px; border:1px solid white; border-radius:28px; background:white; box-shadow:0 28px 65px rgba(31,41,55,.17); transform:rotate(2.5deg); }
.hero-visual-card > span { color:var(--dpm-red); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.hero-visual-card img { width:100%; height:255px; margin:5px 0 10px; object-fit:contain; }
.hero-visual-card strong { font-size:16px; line-height:1.35; }
.hero-visual-card a { margin-top:auto; color:var(--dpm-red); font-size:13px; font-weight:850; text-decoration:none; }
.hero-placeholder { flex:1; display:grid; place-items:center; margin:10px 0; border-radius:18px; color:#d3d8df; background:#f4f6f8; font-size:72px; font-weight:950; }
.hero-floating { position:absolute; z-index:2; display:flex; flex-direction:column; min-width:185px; padding:13px 16px; border:1px solid rgba(255,255,255,.8); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 15px 34px rgba(17,24,39,.14); }
.hero-floating strong { font-size:13px; }
.hero-floating span { color:var(--muted); font-size:11px; }
.hero-floating--one { top:0; right:-6px; }
.hero-floating--two { bottom:0; left:0; }
.trust-strip { background:#202938; color:white; }
.trust-strip .public-shell { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-strip .public-shell > div { min-height:88px; display:flex; flex-direction:column; justify-content:center; padding:15px 25px; border-left:1px solid rgba(255,255,255,.12); }
.trust-strip .public-shell > div:last-child { border-right:1px solid rgba(255,255,255,.12); }
.trust-strip strong { font-size:14px; }
.trust-strip span { color:#b9c1cd; font-size:12px; margin-top:3px; }

.public-section { padding:75px 0; }
.public-section--soft { background:#f5f7f9; }
.public-section--dark { color:white; background:#171e2a; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:28px; }
.section-heading h2 { margin:0; font-size:clamp(28px,3vw,41px); line-height:1.08; letter-spacing:-.025em; }
.section-heading p { max-width:720px; margin:10px 0 0; color:var(--muted); }
.section-heading > a { color:var(--dpm-red); font-size:14px; font-weight:850; text-decoration:none; white-space:nowrap; }
.marketing-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.marketing-categories > a { min-width:0; padding:12px 12px 18px; border:1px solid #e6e8ec; border-radius:17px; background:white; box-shadow:0 7px 24px rgba(17,24,39,.045); text-decoration:none; transition:.2s ease; }
.marketing-categories > a:hover { transform:translateY(-4px); border-color:#d7a9ac; box-shadow:0 18px 35px rgba(17,24,39,.1); }
.marketing-category__image { height:145px; display:grid; place-items:center; margin-bottom:15px; border-radius:12px; overflow:hidden; background:#f2f4f7; }
.marketing-category__image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.marketing-category__image span { color:#c8ced7; font-size:36px; font-weight:950; }
.marketing-categories strong,.marketing-categories > a > span { display:block; }
.marketing-categories strong { font-size:15px; }
.marketing-categories > a > span { margin-top:4px; color:var(--muted); font-size:12px; }
.public-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.public-product-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e3e6eb; border-radius:16px; overflow:hidden; background:white; box-shadow:0 8px 24px rgba(17,24,39,.055); transition:.2s ease; }
.public-product-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(17,24,39,.11); }
.public-product-card__image { position:relative; height:220px; display:grid; place-items:center; overflow:hidden; background:#f5f6f8; text-decoration:none; color:var(--muted); font-size:13px; }
.public-product-card__image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .25s ease; }
.public-product-card:hover .public-product-card__image img { transform:scale(1.035); }
.public-product-card__image b { position:absolute; top:10px; left:10px; padding:6px 9px; border-radius:7px; background:#fff0f1; color:var(--dpm-red); box-shadow:0 2px 9px rgba(17,24,39,.08); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.public-product-card__body { flex:1; display:flex; flex-direction:column; padding:16px; }
.public-product-card__body > span { color:var(--dpm-red); font-size:10px; font-weight:900; text-transform:uppercase; }
.public-product-card__body h2,.public-product-card__body h3 { margin:7px 0; font-size:15px; line-height:1.36; }
.public-product-card__body h2 a { text-decoration:none; }
.public-product-card__body p { margin:2px 0 8px; color:var(--muted); font-size:12px; }
.public-product-card__body small { display:block; margin-bottom:15px; color:#7b8493; font-size:10px; }
.public-card-variants { margin:7px 0 15px; padding:11px; border:1px solid #e1e5ea; border-radius:11px; background:#f8f9fb; }
.public-card-variants__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-bottom:8px; }
.public-card-variants__heading span,.public-card-variants__heading small { display:block; margin:0; }
.public-card-variants__heading span { color:#394457; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.035em; }
.public-card-variants__heading small { color:#8a93a1; font-size:9px; }
.public-card-variants__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.public-card-variants__grid a { min-width:0; min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:6px; padding:7px 8px; border:1px solid #d9dee6; border-radius:8px; color:#202938; background:#fff; font-size:10px; font-weight:850; line-height:1.2; text-decoration:none; }
.public-card-variants__grid a span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.public-card-variants__grid a b { flex:0 0 auto; color:#aeb5c0; font-size:11px; }
.public-card-variants__grid a:hover { border-color:#c8101e; color:#c8101e; background:#fff4f5; }
.public-card-variants__grid a:hover b { color:#c8101e; }
.public-card-variants__grid .is-extra { display:none; }
.public-card-variants.is-expanded .public-card-variants__grid .is-extra { display:flex; }
.public-card-variants__toggle { width:100%; margin-top:7px; padding:5px 8px; border:0; color:#a3121c; background:transparent; font:inherit; font-size:9px; font-weight:900; text-align:center; cursor:pointer; }
.public-card-variants__toggle:hover { text-decoration:underline; }
.public-product-card__actions { display:flex; gap:7px; margin-top:auto; }
.public-product-card__body .button { min-height:36px; flex:1; padding:7px 9px; font-size:11px; }
.solution-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.solution-grid a { min-height:220px; display:flex; flex-direction:column; padding:25px; border:1px solid #e4e7eb; border-radius:18px; color:inherit; background:linear-gradient(145deg,#fff,#f7f8fa); text-decoration:none; transition:.2s ease; }
.solution-grid a:hover { color:white; border-color:var(--dpm-red); background:var(--dpm-red); transform:translateY(-3px); }
.solution-grid span { color:var(--dpm-red); font-size:13px; font-weight:950; }
.solution-grid strong { margin-top:auto; font-size:18px; }
.solution-grid p { min-height:55px; margin:8px 0 0; color:var(--muted); font-size:13px; }
.solution-grid a:hover span,.solution-grid a:hover p { color:rgba(255,255,255,.78); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.why-grid h2 { max-width:570px; margin:0; font-size:clamp(34px,4.5vw,58px); line-height:1; }
.why-grid p { max-width:620px; color:#c2c8d2; font-size:17px; }
.why-grid .button { margin-top:12px; }
.why-list { display:grid; gap:13px; }
.why-list article { padding:20px 22px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.04); }
.why-list strong,.why-list span { display:block; }
.why-list strong { font-size:16px; }
.why-list span { margin-top:4px; color:#aeb7c4; font-size:13px; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:40px 45px; border:1px solid #e2e5e9; border-radius:22px; background:linear-gradient(120deg,#f7f8fa,#fff3f4); }
.final-cta h2 { margin:0; font-size:clamp(28px,3vw,40px); }
.final-cta p { margin:8px 0 0; color:var(--muted); }
.final-cta > div:last-child { display:flex; gap:9px; flex-wrap:wrap; flex-shrink:0; }

.public-page-hero { padding:55px 0; border-bottom:1px solid #e6e8ec; background:radial-gradient(circle at 85% 0,rgba(181,18,27,.09),transparent 30%),#f6f7f9; }
.public-page-hero .public-shell { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.public-page-hero h1 { max-width:850px; margin:0; font-size:clamp(34px,4.2vw,54px); line-height:1.02; letter-spacing:-.035em; }
.public-page-hero p { max-width:790px; margin:14px 0 0; color:var(--muted); font-size:17px; }
.public-section--catalog { padding-top:40px; background:#f5f6f8; }
.public-catalog-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
.public-filter-panel { position:sticky; top:174px; padding:19px; border:1px solid #e2e5ea; border-radius:15px; background:white; box-shadow:0 7px 22px rgba(17,24,39,.05); }
.public-filter-panel__heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:18px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.public-filter-panel__heading a { color:var(--dpm-red); font-size:12px; font-weight:800; }
.public-filter-panel .field { margin-bottom:15px; }
.public-filter-panel .button { margin-top:4px; }
.public-search-hint { display:block; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.45; }
.public-search-match { display:block; width:max-content; max-width:100%; margin:-2px 0 8px; color:#48576b; font-size:10px; font-weight:750; letter-spacing:.01em; }
.button--wide { width:100%; justify-content:center; }
.public-filter-help { margin:20px -7px -7px; padding:16px; border-radius:12px; background:#f3f5f7; }
.public-filter-help strong { font-size:13px; }
.public-filter-help p { margin:5px 0 9px; color:var(--muted); font-size:11px; }
.public-filter-help a { color:var(--dpm-red); font-size:11px; font-weight:850; }
.public-results__head { min-height:48px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }
.public-results__head div { display:flex; flex-direction:column; }
.public-results__head strong { color:var(--ink); font-size:17px; }
.public-results__head .public-results__filters { max-width:62%; align-items:flex-end; flex-direction:row; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.public-results__filters span { padding:6px 9px; border:1px solid #dfe3e8; border-radius:999px; color:#596678; background:#fff; line-height:1.25; }
.public-results__filters b { color:#263143; font-weight:850; }
.public-product-grid--catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-pagination { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:28px; padding:16px 18px; border:1px solid #dfe3e8; border-radius:14px; background:#fff; box-shadow:0 7px 22px rgba(17,24,39,.04); }
.catalog-pagination__summary { display:flex; flex-direction:column; color:var(--muted); font-size:11px; line-height:1.45; }
.catalog-pagination__summary strong { color:var(--ink); font-size:13px; }
.catalog-pagination__links { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.catalog-pagination__links a,.catalog-pagination__links .is-current { min-width:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:8px 11px; border:1px solid #dfe3e8; border-radius:10px; color:var(--ink); background:#fff; font-size:11px; font-weight:850; text-decoration:none; }
.catalog-pagination__links a:hover { border-color:#c78388; color:var(--dpm-red); }
.catalog-pagination__links .is-current { border-color:var(--dpm-red); color:#fff; background:var(--dpm-red); }
.catalog-pagination__gap { padding:0 3px; color:var(--muted); }
.public-empty-state { min-height:390px; display:grid; place-items:center; align-content:center; padding:35px; border:1px dashed #cfd4dc; border-radius:16px; text-align:center; background:white; }
.public-empty-state > span { color:#b7bdc7; font-size:48px; }
.public-empty-state h2 { margin:8px 0 3px; }
.public-empty-state p { max-width:550px; color:var(--muted); }

.public-section--product { padding-top:27px; background:#f7f8fa; }
.public-breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:19px; color:var(--muted); font-size:12px; }
.public-breadcrumbs a { text-decoration:none; }
.public-product-hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:50px; padding:30px; border:1px solid #e2e5ea; border-radius:20px; background:white; box-shadow:0 14px 42px rgba(17,24,39,.07); }
.public-product-gallery__main { height:490px; display:grid; place-items:center; overflow:hidden; border-radius:15px; background:#f4f5f7; }
.public-product-gallery__main img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.public-product-gallery__main > span { color:var(--muted); }
.public-product-gallery__thumbs { display:flex; gap:9px; margin-top:10px; }
.public-product-gallery__thumbs button { width:72px; height:65px; padding:4px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:white; cursor:pointer; }
.public-product-gallery__thumbs button:hover { border-color:var(--dpm-red); }
.public-product-gallery__thumbs img { width:100%; height:100%; object-fit:contain; }
.public-product-info { padding:12px 10px 5px 0; }
.public-product-info h1 { margin:0; font-size:clamp(29px,3.3vw,44px); line-height:1.08; letter-spacing:-.025em; }
.public-product-code { margin-top:13px; color:var(--muted); font-size:12px; }
.public-product-badge { display:flex; align-items:center; gap:12px; margin-top:20px; padding:12px 14px; border:1px solid #efc5c8; border-radius:12px; background:#fff5f5; }
.public-product-badge > span { display:grid; place-items:center; width:33px; height:33px; border-radius:9px; color:white; background:var(--dpm-red); font-size:18px; }
.public-product-badge strong,.public-product-badge small { display:block; }
.public-product-badge strong { color:var(--dpm-red); font-size:13px; }
.public-product-badge small { color:#76565a; }
.public-product-lead { margin:22px 0; color:#495568; font-size:17px; line-height:1.7; }
.public-product-benefits { display:grid; gap:8px; color:#455064; font-size:13px; font-weight:700; }
.public-product-cta { margin-top:25px; padding:19px; border-radius:14px; background:#f3f5f7; }
.public-product-cta strong,.public-product-cta span { display:block; }
.public-product-cta span { margin:3px 0 13px; color:var(--muted); font-size:12px; }
.public-product-documents { display:flex; gap:18px; flex-wrap:wrap; margin-top:18px; }
.public-product-documents a { color:var(--dpm-red); font-size:12px; font-weight:850; }
.public-product-feature { display:grid; grid-template-columns:1fr 1.15fr; gap:35px; margin-top:22px; padding:32px; border-radius:19px; color:white; background:#202938; }
.public-product-feature h2 { margin:0; font-size:30px; line-height:1.12; }
.public-product-feature p { color:#c5cbd4; }
.public-feature-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.public-feature-steps article { display:flex; flex-direction:column; padding:15px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.04); }
.public-feature-steps b { color:#ff6f77; font-size:11px; }
.public-feature-steps strong { margin-top:20px; font-size:13px; }
.public-feature-steps span { margin-top:4px; color:#b7c0cc; font-size:11px; }
.public-product-feature > .button { grid-column:2; justify-self:start; }
.public-product-section { margin-top:22px; padding:30px; border:1px solid #e2e5ea; border-radius:19px; background:white; }
.public-variant-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.public-variant-grid article { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px; border:1px solid var(--line); border-radius:11px; }
.public-variant-grid strong,.public-variant-grid span,.public-variant-grid small { display:block; }
.public-variant-grid span { margin-top:3px; color:#4e596b; font-size:13px; }
.public-variant-grid small { color:var(--muted); font-size:10px; }
.public-rich-content { color:#475467; }
.public-rich-content h2,.public-rich-content h3 { color:var(--ink); }

.public-section--form { padding-top:40px; background:#f5f6f8; }
.public-form-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr); gap:25px; align-items:start; }
.public-request-form,.public-form-aside { border:1px solid #e1e4e9; border-radius:18px; background:white; box-shadow:0 10px 30px rgba(17,24,39,.06); }
.public-request-form { padding:28px; }
.public-form-heading { display:flex; align-items:flex-start; gap:12px; margin:5px 0 19px; padding-top:5px; }
.public-form-heading:not(:first-of-type) { margin-top:31px; padding-top:26px; border-top:1px solid var(--line); }
.public-form-heading > span { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--dpm-red); font-size:12px; font-weight:900; }
.public-form-heading h2 { margin:0; font-size:20px; }
.public-form-heading p { margin:2px 0 0; color:var(--muted); font-size:12px; }
.public-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.public-form-grid .field--wide { grid-column:1/-1; }
.public-request-form > .field { margin-top:15px; }
.field label { display:block; margin-bottom:5px; color:#344054; font-size:12px; font-weight:800; }
.field small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
textarea.input { resize:vertical; }
.public-form-consent { display:flex; gap:11px; margin-top:24px; padding:14px; border-radius:11px; background:#f2f6f4; color:#355b48; }
.public-form-consent > span { flex:0 0 auto; font-weight:950; }
.public-form-consent p { margin:0; font-size:11px; }
.public-form-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.public-transformable-hint { display:none; gap:11px; margin-top:15px; padding:15px; border:1px solid #efc6c9; border-radius:12px; background:#fff5f5; }
.public-transformable-hint.is-visible { display:flex; }
.public-transformable-hint > span { flex:0 0 32px; height:32px; display:grid; place-items:center; border-radius:9px; color:white; background:var(--dpm-red); }
.public-transformable-hint strong { color:var(--dpm-red); font-size:13px; }
.public-transformable-hint p { margin:3px 0 0; color:#6e5557; font-size:11px; }
.public-form-aside { position:sticky; top:174px; overflow:hidden; padding:28px; }
.public-form-aside h2 { margin:0 0 20px; font-size:26px; line-height:1.12; }
.public-form-aside ul { display:grid; gap:15px; margin:0; padding:0; list-style:none; }
.public-form-aside li { padding-left:17px; border-left:3px solid #e7b3b6; }
.public-form-aside li strong,.public-form-aside li span { display:block; }
.public-form-aside li strong { font-size:13px; }
.public-form-aside li span { margin-top:3px; color:var(--muted); font-size:11px; }
.public-aside-note { margin:25px -28px -28px; padding:22px 28px; background:#202938; color:white; }
.public-aside-note p { margin:5px 0 11px; color:#c2c8d2; font-size:11px; }
.public-aside-note a { color:#ff9096; font-size:12px; font-weight:850; }
.public-request-success-wrap { min-height:630px; display:grid; align-items:center; background:radial-gradient(circle at 50% 10%,rgba(181,18,27,.1),transparent 37%),#f6f7f9; }
.public-request-success { max-width:740px; margin:auto; padding:48px; border:1px solid #e2e5e9; border-radius:23px; text-align:center; background:white; box-shadow:0 20px 55px rgba(17,24,39,.09); }
.public-success-mark { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; color:white; background:#168354; font-size:28px; font-weight:950; }
.public-request-success h1 { margin:0; font-size:34px; line-height:1.1; }
.public-request-success > p { color:var(--muted); font-size:15px; }
.public-request-code { display:flex; flex-direction:column; gap:3px; max-width:420px; margin:25px auto; padding:17px; border:1px dashed #bcc3ce; border-radius:12px; background:#f7f8fa; }
.public-request-code span,.public-request-code small { color:var(--muted); font-size:10px; }
.public-request-code strong { font-size:19px; letter-spacing:.06em; }
.public-request-success .public-form-actions { justify-content:center; }

.public-footer { padding-top:54px; color:#c8ced7; background:#111722; }
.public-footer__grid { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:50px; padding-bottom:42px; }
.public-footer .portal-brand { color:white; }
.public-footer .portal-brand small { color:#9ca5b3; }
.public-footer__grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.public-footer__grid > div:first-child p { max-width:410px; color:#929daa; font-size:12px; }
.public-footer__grid strong { color:white; font-size:13px; }
.public-footer__grid a,.public-footer__grid span { color:#9ca5b3; font-size:12px; text-decoration:none; }
.public-footer__grid a:hover { color:white; }
.public-footer__social { display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.public-social-links { display:flex; flex-wrap:wrap; gap:10px; }
.public-footer__grid .public-social-links a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; border:1px solid #536071; border-radius:50%; color:#f5f7fa; background:#1c2533; transition:background .15s,border-color .15s; }
.public-footer__grid .public-social-links a:hover { color:#fff; background:#b5121b; border-color:#b5121b; }
.public-social-links a:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.public-social-links svg { display:block; flex:none; }
.public-footer__bottom { min-height:58px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.09); color:#7f8997; font-size:11px; }

@media (max-width:1100px) {
    .public-header__main { grid-template-columns:auto 1fr auto; gap:16px; }
    .public-header__tools .public-login { display:none; }
    .public-nav a { padding-inline:9px; font-size:12px; }
    .marketing-hero__grid { grid-template-columns:1.1fr .9fr; gap:35px; }
    .public-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .public-product-grid--catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .marketing-categories,.solution-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
    .public-body { padding-bottom:78px; }
    .public-topbar,.public-header-search,.public-nav { display:none; }
    .public-header__main { min-height:68px; grid-template-columns:auto 1fr auto; }
    .public-header__tools { justify-self:end; }
    .public-menu-button { display:block; }
    .public-client-dock { right:12px; bottom:12px; left:12px; min-width:0; min-height:56px; padding:8px 9px 8px 16px; border-radius:14px; }
    .public-client-dock__label { display:flex; align-items:baseline; gap:9px; }
    .public-client-dock__label small { color:#ffb4b9; }
    .public-client-dock__label strong { margin:0; font-size:14px; }
    .public-nav.is-open { display:block; position:absolute; width:100%; box-shadow:0 15px 25px rgba(17,24,39,.12); }
    .public-nav.is-open > div { min-height:0; display:grid; padding:10px 20px 17px; }
    .public-nav.is-open a { min-height:42px; border:0; }
    .public-nav.is-open a.public-nav__account { margin-left:0; }
    .public-nav.is-open a.public-nav__quote { margin:4px 0; }
    .marketing-hero__grid { grid-template-columns:1fr; padding-block:48px; }
    .marketing-hero__visual { display:none; }
    .trust-strip .public-shell { grid-template-columns:repeat(2,1fr); }
    .public-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .why-grid { grid-template-columns:1fr; gap:35px; }
    .final-cta { align-items:flex-start; flex-direction:column; }
    .public-catalog-layout { grid-template-columns:1fr; }
    .public-filter-panel,.public-form-aside { position:static; }
    .public-product-hero { grid-template-columns:1fr; gap:25px; }
    .public-product-gallery__main { height:390px; }
    .public-product-feature { grid-template-columns:1fr; }
    .public-product-feature > .button { grid-column:1; }
    .public-form-layout { grid-template-columns:1fr; }
    .public-footer__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
    .public-shell,.public-header__main { width:min(100% - 24px,1320px); }
    .public-header__tools .language-switcher__label { display:none; }
    .public-header__tools { gap:7px; }
    .portal-brand small { display:none; }
    .marketing-hero__content h1 { font-size:40px; }
    .marketing-hero__content > p { font-size:16px; }
    .hero-search { grid-template-columns:1fr; }
    .hero-search input { min-height:44px; }
    .trust-strip .public-shell { grid-template-columns:1fr; }
    .trust-strip .public-shell > div { min-height:68px; border-right:1px solid rgba(255,255,255,.12); }
    .public-section { padding:52px 0; }
    .section-heading,.public-page-hero .public-shell { align-items:flex-start; flex-direction:column; }
    .marketing-categories,.solution-grid,.public-product-grid,.public-product-grid--catalog { grid-template-columns:1fr; }
    .public-product-card__image { height:260px; }
    .public-card-variants__grid { grid-template-columns:1fr 1fr; }
    .final-cta { padding:27px; }
    .public-page-hero { padding:40px 0; }
    .public-page-hero h1 { font-size:35px; }
    .public-product-hero,.public-product-section,.public-request-form { padding:18px; }
    .public-product-gallery__main { height:310px; }
    .public-feature-steps,.public-variant-grid { grid-template-columns:1fr; }
    .public-form-grid { grid-template-columns:1fr; }
    .public-form-grid .field--wide { grid-column:1; }
    .public-form-aside { padding:22px; }
    .public-aside-note { margin:25px -22px -22px; padding:20px 22px; }
    .public-request-success { padding:32px 20px; }
    .public-footer__grid { grid-template-columns:1fr; gap:25px; }
}

/* Industrial DPM presentation */
.portal-brand__logo {
    width: 58px;
    height: 52px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 9px;
}
.public-header .portal-brand strong { font-size:18px; letter-spacing:-.02em; }
.public-header .portal-brand small { font-size:10px; letter-spacing:.055em; text-transform:uppercase; }
.public-topbar > div { justify-content:space-between; }
.public-topbar a { color:inherit; text-decoration:none; }
.public-topbar__contacts { display:flex; gap:22px; }
.public-header__main { min-height:82px; }
.public-nav > div { min-height:44px; }
.public-nav a { text-transform:uppercase; letter-spacing:.025em; font-size:11px; }
.public-nav a.public-nav__quote { text-transform:none; letter-spacing:0; }

/* Privacy, consent and external-media controls. */
.public-privacy-check { display:flex; align-items:flex-start; gap:9px; margin-top:16px; color:#4b5565; font-size:11px; line-height:1.45; }
.public-privacy-check input { flex:0 0 auto; width:15px; height:15px; margin:1px 0 0; accent-color:var(--dpm-red); }
.public-privacy-check a { color:var(--dpm-red); font-weight:850; }
.public-privacy-settings { padding:0; border:0; color:#aeb6c2; background:transparent; font:inherit; cursor:pointer; }
.public-privacy-settings:hover { color:white; }
.cookie-notice { position:fixed; right:22px; bottom:22px; z-index:180; display:flex; align-items:flex-end; gap:18px; width:min(100% - 44px,510px); padding:18px; border:1px solid #dce1e8; border-radius:16px; color:#d8dee8; background:#182130; box-shadow:0 18px 50px rgba(15,23,36,.3); }
.cookie-notice[hidden] { display:none; }
.cookie-notice strong,.cookie-notice p,.cookie-notice a { display:block; }
.cookie-notice strong { color:white; font-size:13px; }
.cookie-notice p { margin:4px 0 7px; color:#b7c0cd; font-size:11px; line-height:1.45; }
.cookie-notice a { color:#ff9ca1; font-size:11px; font-weight:850; }
.cookie-notice .button { flex:0 0 auto; white-space:nowrap; }
.legal-page { max-width:900px; padding:42px; border:1px solid #e1e4e9; border-radius:18px; color:#4b5565; background:white; box-shadow:0 10px 30px rgba(17,24,39,.06); }
.legal-page h2 { margin:31px 0 9px; color:#202938; font-size:20px; }
.legal-page p { margin:0; line-height:1.65; }
.legal-page a { color:var(--dpm-red); font-weight:800; }
.legal-page__notice { margin-bottom:26px!important; padding:15px 16px; border:1px solid #f2cf8e; border-radius:12px; color:#775117; background:#fff8e8; }
.legal-page__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-10px 0 24px; padding-bottom:18px; border-bottom:1px solid #e5e7eb; color:#6b7280; font-size:13px; }
.legal-page__providers ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:14px 0 0; padding:0; list-style:none; }
.legal-page__providers li { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:8px; background:#f6f8fa; font-size:12px; }
.legal-page__providers code { overflow-wrap:anywhere; color:#263247; }
.legal-page__providers span { flex:0 0 auto; color:#6b7280; }
.legal-page__updated { margin-top:31px!important; color:#6b7280; font-size:12px; }
.video-frame--consent { display:grid; place-items:center; padding:16px; background:linear-gradient(135deg,#edf0f4,#dfe5ec); text-align:center; }
.video-frame--consent > div { display:grid; gap:8px; justify-items:center; color:#4b5565; }
.video-frame--consent > div strong { margin:0; color:#202938; }
.video-frame--consent > div span { font-size:11px; }
.video-frame--consent .button { font-size:11px; }
@media (max-width:560px) {
    .cookie-notice { right:12px; bottom:12px; width:calc(100% - 24px); align-items:flex-start; flex-direction:column; gap:12px; }
    .legal-page { padding:24px 18px; }
    .legal-page__meta { align-items:flex-start; flex-direction:column; }
    .legal-page__providers ul { grid-template-columns:1fr; }
    .public-footer__bottom { align-items:flex-start; flex-direction:column; justify-content:center; gap:6px; }
}

.industry-hero {
    overflow:hidden;
    border-bottom:1px solid #dfe3e8;
    background:
        linear-gradient(90deg,rgba(31,41,55,.035) 1px,transparent 1px) 0 0/54px 54px,
        linear-gradient(rgba(31,41,55,.035) 1px,transparent 1px) 0 0/54px 54px,
        linear-gradient(118deg,#f4f5f6 0%,#fff 56%,#f3f4f6 100%);
}
.industry-hero__grid { min-height:590px; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr); align-items:center; gap:72px; padding-block:62px; }
.industry-hero__content h1 { max-width:790px; margin:0; color:#162032; font-size:clamp(44px,5.2vw,70px); line-height:1.01; letter-spacing:-.047em; }
.industry-hero__content > p { max-width:730px; margin:24px 0 26px; color:#536074; font-size:18px; line-height:1.67; }
.industry-hero__actions { display:flex; flex-wrap:wrap; gap:10px; }
.industry-hero__actions .button { min-height:48px; padding-inline:21px; }
.industry-hero__facts { display:flex; flex-wrap:wrap; gap:0; margin-top:28px; color:#536074; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.industry-hero__facts span { padding:0 15px; border-left:1px solid #c9cfd7; }
.industry-hero__facts span:first-child { padding-left:0; border-left:0; }
.industry-hero__media { position:relative; min-height:440px; }
.industry-media__frame { position:absolute; inset:0 24px 48px 0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:22px; overflow:hidden; border:1px solid #d9dde3; border-radius:3px; background:#fff; box-shadow:20px 24px 0 #d9dde1,0 28px 55px rgba(17,24,39,.12); }
.industry-media__frame::before { content:""; position:absolute; width:190px; height:8px; top:0; left:0; background:var(--dpm-red); }
.industry-media__label { color:#6b7483; font-size:9px; font-weight:900; letter-spacing:.15em; }
.industry-media__frame > img { width:100%; height:295px; padding:14px 24px; object-fit:contain; object-position:center; mix-blend-mode:multiply; }
.industry-media__caption { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; padding-top:15px; border-top:1px solid #e1e4e9; }
.industry-media__caption strong { color:#202938; font-size:14px; }
.industry-media__caption span { max-width:230px; color:#6d7786; text-align:right; font-size:10px; }
.industry-media__spec { position:absolute; right:0; bottom:0; left:32px; min-height:66px; display:grid; grid-template-columns:auto auto 1fr auto auto 1fr auto auto; align-items:center; gap:9px; padding:11px 15px; color:white; background:#202938; box-shadow:0 12px 25px rgba(17,24,39,.18); }
.industry-media__spec span { color:#ff8188; font-size:9px; font-weight:900; }
.industry-media__spec strong { font-size:10px; white-space:nowrap; }
.industry-media__spec i { height:1px; background:#596274; }

.capability-bar { border-bottom:1px solid #e0e3e8; background:#fff; }
.capability-bar .public-shell { display:grid; grid-template-columns:repeat(4,1fr); }
.capability-bar .public-shell > div { min-height:94px; display:flex; flex-direction:column; justify-content:center; padding:18px 26px; border-left:1px solid #e5e7eb; }
.capability-bar .public-shell > div:last-child { border-right:1px solid #e5e7eb; }
.capability-bar strong { color:#202938; font-size:13px; text-transform:uppercase; letter-spacing:.055em; }
.capability-bar span { margin-top:4px; color:#727c8b; font-size:11px; }

.converting-section { background:#fff; }
.technical-heading { display:grid; grid-template-columns:1fr .8fr; gap:80px; align-items:end; margin-bottom:34px; padding-bottom:29px; border-bottom:1px solid #dfe3e8; }
.technical-heading h2 { max-width:750px; margin:0; font-size:clamp(33px,4vw,52px); line-height:1.03; letter-spacing:-.034em; }
.technical-heading > p { margin:0; color:#5f6b7c; font-size:15px; line-height:1.7; }
.converting-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #dfe3e8; border-left:1px solid #dfe3e8; }
.converting-grid article { position:relative; min-height:390px; display:flex; flex-direction:column; padding:27px 25px; border-right:1px solid #dfe3e8; border-bottom:1px solid #dfe3e8; background:white; transition:.2s ease; }
.converting-grid article:hover { z-index:1; transform:translateY(-5px); border-color:#cfd4db; box-shadow:0 18px 35px rgba(17,24,39,.09); }
.converting-grid article > span { position:absolute; top:27px; right:24px; color:#9ca4b0; font-size:10px; font-weight:900; }
.converting-grid h3 { margin:30px 0 10px; font-size:19px; }
.converting-grid p { margin:0; color:#626d7d; font-size:12px; line-height:1.65; }
.converting-grid b { margin-top:auto; padding-top:20px; border-top:1px solid #e4e7eb; color:#7a4550; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.045em; }
.technical-icon { position:relative; width:76px; height:76px; display:grid; place-items:center; border:1px solid #d6dbe1; background:#f4f5f7; }
.technical-icon i { position:absolute; display:block; }
.technical-icon--slit i { width:11px; height:44px; border:3px solid #293345; border-radius:50%; }
.technical-icon--slit i:nth-child(1) { left:16px; }
.technical-icon--slit i:nth-child(2) { left:31px; }
.technical-icon--slit i:nth-child(3) { left:46px; border-color:var(--dpm-red); }
.technical-icon--rewind i { width:37px; height:37px; border:8px solid #293345; border-radius:50%; }
.technical-icon--rewind i:nth-child(1) { left:9px; }
.technical-icon--rewind i:nth-child(2) { right:8px; width:23px; height:23px; border-width:5px; border-color:var(--dpm-red); }
.technical-icon--die i:nth-child(1) { width:46px; height:42px; border:2px dashed #293345; }
.technical-icon--die i:nth-child(2),.technical-icon--die i:nth-child(3) { width:14px; height:14px; border:3px solid var(--dpm-red); border-radius:50%; }
.technical-icon--die i:nth-child(2) { left:18px; }.technical-icon--die i:nth-child(3) { right:18px; }
.technical-icon--sheet i { width:45px; height:31px; border:2px solid #293345; background:white; }
.technical-icon--sheet i:nth-child(1) { transform:translate(-7px,-7px); }.technical-icon--sheet i:nth-child(2) { transform:translate(0,0); }.technical-icon--sheet i:nth-child(3) { transform:translate(7px,7px); border-color:var(--dpm-red); }

.engineering-section { padding:84px 0; color:white; background:#1c2431; }
.engineering-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.engineering-intro h2 { margin:0; font-size:clamp(34px,4vw,51px); line-height:1.03; letter-spacing:-.035em; }
.engineering-intro p { color:#bac2cd; line-height:1.7; }
.engineering-intro .button { margin-top:13px; }
.engineering-steps { border-top:1px solid #4b5565; }
.engineering-steps article { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:24px 5px; border-bottom:1px solid #4b5565; }
.engineering-steps article > span { color:#f27d84; font-size:11px; font-weight:900; }
.engineering-steps strong { font-size:16px; }
.engineering-steps p { margin:5px 0 0; color:#aeb7c4; font-size:12px; line-height:1.6; }

.material-section { background:#f3f5f7; }
.marketing-categories--technical { grid-template-columns:repeat(4,minmax(0,1fr)); }
.marketing-categories--technical > a { padding:0; overflow:hidden; border-radius:3px; box-shadow:none; }
.marketing-categories--technical > a:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(17,24,39,.09); }
.marketing-categories--technical .marketing-category__image { position:relative; height:230px; margin:0; border-radius:0; background:#fff; }
.marketing-categories--technical .marketing-category__image img { position:absolute; inset:0; width:100%; height:100%; padding:24px; object-fit:contain; object-position:center; }
.marketing-categories--technical > a > div:last-child { padding:17px 18px; border-top:1px solid #e1e4e8; }
.marketing-categories--technical strong { min-height:42px; line-height:1.35; }
.product-section { background:#fff; }
.product-section .public-product-card { border-radius:3px; box-shadow:none; }
.product-section .public-product-card:hover { box-shadow:0 16px 34px rgba(17,24,39,.09); }
.product-section .public-product-card__image { height:310px; padding:22px; background:#fff; border-bottom:1px solid #e3e6eb; }
.product-section .public-product-card__image img { width:100%; height:100%; object-fit:contain; object-position:center; }
.product-section .public-product-card__body { min-height:215px; }

.portal-promo { padding:68px 0; border-top:1px solid #dfe3e8; border-bottom:1px solid #dfe3e8; background:#eef1f4; }
.portal-promo__grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; }
.portal-promo h2 { margin:0; font-size:clamp(30px,3.7vw,47px); line-height:1.05; letter-spacing:-.03em; }
.portal-promo p { max-width:820px; margin:13px 0 0; color:#5f6a7a; }
.portal-promo__actions { display:grid; gap:9px; min-width:225px; }
.button--dark { color:white; background:#202938; border-color:#202938; }
.button--dark:hover { color:white; background:#111827; }
.contact-strip { padding:56px 0; background:#fff; }
.contact-strip .public-shell { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.contact-strip h2 { max-width:820px; margin:0; font-size:clamp(27px,3.2vw,40px); line-height:1.1; }
.contact-strip .public-shell > div:last-child { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.contact-strip .public-shell > div:last-child > a:not(.button) { color:#202938; font-size:13px; font-weight:850; }

.public-footer { padding-top:48px; }
.public-footer .portal-brand__logo { width:66px; height:59px; filter:drop-shadow(0 4px 7px rgba(0,0,0,.18)); }
.public-footer__company a { color:#d7dce3; }

/* Consistent product photography */
.public-product-grid--catalog .public-product-card__image { height:300px; padding:22px; background:#fff; }
.public-product-grid--catalog .public-product-card__image img { width:100%; height:100%; object-fit:contain; object-position:center; }
.public-product-gallery__main { background:#fff; border:1px solid #e4e7eb; }
.public-product-gallery__main img { padding:28px; object-fit:contain; object-position:center; }

@media (max-width:1100px) {
    .industry-hero__grid { grid-template-columns:1fr .85fr; gap:38px; }
    .converting-grid { grid-template-columns:repeat(2,1fr); }
    .marketing-categories--technical { grid-template-columns:repeat(2,1fr); }
    .contact-strip .public-shell { align-items:flex-start; flex-direction:column; }
}
@media (max-width:820px) {
    .public-topbar { display:none; }
    .industry-hero__grid { grid-template-columns:1fr; min-height:0; padding-block:48px; }
    .industry-hero__media { min-height:420px; }
    .capability-bar .public-shell { grid-template-columns:repeat(2,1fr); }
    .technical-heading,.engineering-grid { grid-template-columns:1fr; gap:28px; }
    .portal-promo__grid { grid-template-columns:1fr; }
    .portal-promo__actions { display:flex; flex-wrap:wrap; }
    .catalog-pagination { align-items:flex-start; flex-direction:column; }
    .catalog-pagination__links { justify-content:flex-start; }
}
@media (max-width:560px) {
    .portal-brand__logo { width:48px; height:45px; }
    .public-header .portal-brand strong { font-size:16px; }
    .industry-hero__content h1 { font-size:40px; }
    .industry-hero__facts { display:grid; gap:8px; }
    .industry-hero__facts span { padding:0; border:0; }
    .industry-hero__media { min-height:365px; }
    .industry-media__frame { inset:0 10px 40px 0; padding:16px; box-shadow:10px 13px 0 #d9dde1; }
    .industry-media__frame > img { height:225px; padding:10px; }
    .industry-media__caption span { display:none; }
    .industry-media__spec { left:13px; grid-template-columns:auto 1fr auto 1fr auto 1fr; }
    .industry-media__spec i { display:none; }
    .capability-bar .public-shell,.converting-grid,.marketing-categories--technical { grid-template-columns:1fr; }
    .capability-bar .public-shell > div { min-height:70px; border-right:1px solid #e5e7eb; }
    .converting-grid article { min-height:340px; }
    .engineering-section { padding:58px 0; }
    .product-section .public-product-card__image,.public-product-grid--catalog .public-product-card__image { height:320px; }
    .contact-strip .public-shell > div:last-child { align-items:flex-start; flex-direction:column; }
}

/* Landing refinement: softer commerce hero, service carousel and guided modals */
.portal-brand__logo {
    width: 62px;
    height: 54px;
    border-radius: 0;
    object-fit: contain;
    filter: drop-shadow(0 4px 7px rgba(31,41,55,.14));
}
.public-header { box-shadow:0 7px 24px rgba(17,24,39,.065); }
.public-header__main { gap:30px; }
.public-header-search { border:1px solid #cfd5dd; border-radius:13px; box-shadow:none; }
.public-header-search button { background:var(--dpm-red); }
.public-header-search button:hover { background:var(--dpm-red-dark); }
.public-nav { border-top:1px solid #eceef1; }
.public-nav a { text-transform:none; letter-spacing:0; font-size:12px; }

.commerce-hero {
    overflow:hidden;
    background:
        radial-gradient(circle at 83% 15%,rgba(181,18,27,.13),transparent 30%),
        linear-gradient(125deg,#f6f7f9 0%,#fff 54%,#fff3f4 100%);
    border-bottom:1px solid #e8eaee;
}
.commerce-hero__grid { min-height:590px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr); align-items:center; gap:72px; padding-block:58px; }
.commerce-hero__content h1 { max-width:810px; margin:0; color:#172033; font-size:clamp(43px,5vw,68px); line-height:1; letter-spacing:-.046em; }
.commerce-hero__content > p { max-width:740px; margin:23px 0; color:#586579; font-size:18px; line-height:1.67; }
.commerce-hero__search { max-width:740px; height:57px; display:grid; grid-template-columns:1fr auto; padding:6px; border:1px solid #d7dbe2; border-radius:15px; background:white; box-shadow:0 15px 37px rgba(31,41,55,.11); }
.commerce-hero__search:focus-within { border-color:#d38c91; box-shadow:0 0 0 4px rgba(181,18,27,.08),0 15px 37px rgba(31,41,55,.11); }
.commerce-hero__search input { min-width:0; padding:0 13px; border:0; outline:0; color:#273244; font:inherit; }
.commerce-hero__search button { padding:0 23px; border:0; border-radius:10px; color:white; background:var(--dpm-red); font:inherit; font-size:13px; font-weight:850; cursor:pointer; }
.commerce-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:17px; }
.commerce-hero__facts { display:flex; flex-wrap:wrap; gap:20px; margin-top:22px; color:#4f5d70; font-size:12px; font-weight:750; }
.commerce-hero__visual { position:relative; min-height:440px; }
.commerce-product-card { position:absolute; inset:18px 34px 28px 25px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:18px; border:1px solid rgba(255,255,255,.95); border-radius:24px; color:#172033; background:white; box-shadow:0 28px 68px rgba(31,41,55,.17); text-decoration:none; transform:rotate(1.3deg); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.commerce-product-card::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:24px; background:white; }
.commerce-product-card:hover,.commerce-product-card:focus-visible { border-color:#e3b5b8; color:#172033; box-shadow:0 32px 76px rgba(31,41,55,.21); outline:none; transform:rotate(.4deg) translateY(-3px); }
.commerce-product-card__tag { color:var(--dpm-red); font-size:9px; font-weight:950; letter-spacing:.1em; }
.commerce-product-card > img { width:100%; height:270px; padding:9px 20px; object-fit:contain; object-position:center; mix-blend-mode:multiply; }
.commerce-product-card__body { padding-top:13px; border-top:1px solid #e8eaee; }
.commerce-product-card__body span,.commerce-product-card__body strong,.commerce-product-card__body b { display:block; }
.commerce-product-card__body span { color:var(--dpm-red); font-size:9px; font-weight:900; text-transform:uppercase; }
.commerce-product-card__body strong { margin-top:4px; font-size:13px; line-height:1.35; }
.commerce-product-card__body b { margin-top:8px; color:var(--dpm-red); font-size:11px; font-weight:850; }
.commerce-float { position:absolute; z-index:2; min-width:195px; padding:13px 16px; border:1px solid rgba(255,255,255,.95); border-radius:13px; background:rgba(255,255,255,.96); box-shadow:0 14px 32px rgba(31,41,55,.15); }
.commerce-float strong,.commerce-float span { display:block; }
.commerce-float strong { font-size:12px; }.commerce-float span { margin-top:2px; color:#6b7584; font-size:10px; }
.commerce-float--top { top:0; right:0; }.commerce-float--bottom { bottom:0; left:0; }

.service-showcase { overflow:hidden; background:#fff; }
.service-showcase__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:27px; }
.service-showcase__heading h2 { max-width:800px; margin:0; font-size:clamp(32px,4vw,50px); line-height:1.04; letter-spacing:-.035em; }
.service-showcase__heading p { margin:10px 0 0; color:#697485; }
.carousel-controls { display:flex; gap:8px; flex:0 0 auto; }
.carousel-controls button { width:45px; height:45px; border:1px solid #d5dae1; border-radius:50%; color:#202938; background:white; font-size:18px; cursor:pointer; transition:.18s ease; }
.carousel-controls button:hover { color:white; border-color:var(--dpm-red); background:var(--dpm-red); }
.service-carousel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px)/3); gap:18px; overflow-x:auto; padding:4px 2px 24px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.service-carousel::-webkit-scrollbar { display:none; }
.service-slide { min-height:315px; scroll-snap-align:start; position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:25px; overflow:hidden; border:1px solid #e0e4e9; border-radius:18px; color:#202938; background:linear-gradient(145deg,#fff,#f7f8fa); text-align:left; font:inherit; cursor:pointer; transition:.2s ease; }
.service-slide::before { content:""; position:absolute; width:125px; height:125px; right:-65px; bottom:-65px; border-radius:50%; background:#fff0f1; transition:.25s ease; }
.service-slide:hover { transform:translateY(-4px); border-color:#d7a4a8; box-shadow:0 18px 38px rgba(31,41,55,.1); }
.service-slide:hover::before { transform:scale(2); }
.service-slide__number { position:absolute; top:24px; right:24px; color:#9aa3af; font-size:10px; font-weight:900; }
.service-slide .technical-icon { flex:0 0 auto; border-radius:14px; background:white; }
.service-slide h3 { position:relative; margin:45px 0 5px; font-size:23px; }
.service-slide p { position:relative; margin:0; color:#657183; font-size:13px; }
.service-slide b { position:relative; margin-top:auto; color:var(--dpm-red); font-size:11px; }

body.modal-open { overflow:hidden; }
.site-modal[hidden] { display:none; }
.site-modal { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:22px; opacity:0; pointer-events:none; transition:opacity .18s ease; }
.site-modal.is-open { opacity:1; pointer-events:auto; }
.site-modal__backdrop { position:absolute; inset:0; border:0; background:rgba(15,23,36,.66); backdrop-filter:blur(5px); cursor:default; }
.site-modal__panel { position:relative; z-index:1; width:min(100%,760px); max-height:min(90vh,850px); overflow:auto; border:1px solid rgba(255,255,255,.7); border-radius:22px; background:white; box-shadow:0 30px 90px rgba(0,0,0,.3); transform:translateY(16px) scale(.985); transition:transform .2s ease; }
.site-modal.is-open .site-modal__panel { transform:translateY(0) scale(1); }
.site-modal__close { position:absolute; top:16px; right:16px; z-index:3; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid #dfe3e8; border-radius:50%; color:#4f5968; background:white; font-size:23px; line-height:1; cursor:pointer; }
.site-modal__close:hover { color:white; border-color:#202938; background:#202938; }
.site-modal__panel--service { width:min(100%,720px); padding:42px; }
.service-modal__content { padding-right:35px; }
.service-modal__content h2 { max-width:600px; margin:0; font-size:clamp(28px,4vw,43px); line-height:1.06; letter-spacing:-.035em; }
.service-modal__content > p { margin:17px 0; color:#5f6b7c; font-size:15px; line-height:1.7; }
.service-modal__content ul { display:grid; gap:0; margin:23px 0 0; padding:0; border-top:1px solid #e2e5e9; list-style:none; }
.service-modal__content li { padding:13px 3px; border-bottom:1px solid #e2e5e9; color:#344054; font-size:13px; font-weight:750; }
.service-modal__content li::before { content:"✓"; margin-right:10px; color:var(--dpm-red); font-weight:950; }
.service-modal__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:30px -42px -42px; padding:20px 42px; background:#f2f4f6; }
.service-modal__footer span { color:#647082; font-size:12px; }

.site-modal__panel--quote { width:min(100%,880px); display:grid; grid-template-columns:.72fr 1.28fr; overflow:hidden; }
.quote-modal__intro { padding:38px; color:white; background:linear-gradient(145deg,#1e2735,#111827); }
.quote-modal__intro h2 { margin:0; font-size:30px; line-height:1.08; letter-spacing:-.03em; }
.quote-modal__intro > p { color:#bec6d0; font-size:12px; line-height:1.65; }
.quote-modal__steps { display:grid; gap:14px; margin-top:35px; }
.quote-modal__steps span { display:flex; align-items:center; gap:10px; color:#d9dee5; font-size:12px; font-weight:700; }
.quote-modal__steps b { width:27px; height:27px; display:grid; place-items:center; border:1px solid #687384; border-radius:50%; color:#ff8c93; font-size:10px; }
.quote-modal__form {
    min-width:0;
    min-height:0;
    max-height:inherit;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:38px;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
}
.quote-modal__product { margin:0 35px 18px 0; padding:10px 12px; border-radius:10px; background:#fff1f2; }
.quote-modal__product span,.quote-modal__product strong { display:block; }
.quote-modal__product span { color:#8c5559; font-size:9px; text-transform:uppercase; font-weight:900; }.quote-modal__product strong { color:var(--dpm-red); font-size:12px; }
.modal-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.modal-form-grid .field--wide { grid-column:1/-1; }
.quote-modal__configurator { margin-top:14px; border:1px solid #dfe4ea; border-radius:12px; background:#f8fafc; }
.quote-modal__configurator[hidden] { display:none; }
.quote-modal__configurator summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 14px; cursor:pointer; list-style:none; }
.quote-modal__configurator summary::-webkit-details-marker { display:none; }
.quote-modal__configurator summary span,.quote-modal__configurator summary strong,.quote-modal__configurator summary small { display:block; }
.quote-modal__configurator summary strong { color:#263143; font-size:12px; }
.quote-modal__configurator summary small { margin-top:2px; color:#6c7685; font-size:9px; }
.quote-modal__configurator summary > b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#202938; transition:transform .18s ease; }
.quote-modal__configurator[open] summary > b { transform:rotate(45deg); }
.quote-modal__configurator-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:0 14px 14px; border-top:1px solid #e5e9ee; }
.quote-modal__configurator-fields .field { padding-top:12px; }
.quote-modal__footer { display:flex; align-items:flex-end; justify-content:flex-end; gap:20px; margin-top:18px; }
.quote-modal__footer .button { flex:0 0 auto; }

@media (max-width:960px) {
    .commerce-hero__grid { grid-template-columns:1fr .82fr; gap:35px; }
    .service-carousel { grid-auto-columns:calc((100% - 18px)/2); }
}
@media (max-width:820px) {
    .commerce-hero__grid { grid-template-columns:1fr; min-height:0; padding-block:48px; }
    .commerce-hero__visual { min-height:410px; }
    .site-modal__panel--quote { grid-template-columns:1fr; overflow-y:auto; overscroll-behavior:contain; }
    .quote-modal__form { max-height:none; overflow:visible; }
    .quote-modal__intro { padding:28px; }
    .quote-modal__steps { grid-template-columns:repeat(3,1fr); margin-top:20px; }
    .quote-modal__steps span { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px) {
    .portal-brand__logo { width:53px; height:47px; }
    .commerce-hero__content h1 { font-size:39px; }
    .commerce-hero__content > p { font-size:16px; }
    .commerce-hero__search { height:auto; grid-template-columns:1fr; padding:6px; }
    .commerce-hero__search input { min-height:45px; }.commerce-hero__search button { min-height:42px; }
    .commerce-hero__facts { display:grid; gap:7px; }
    .commerce-hero__visual { min-height:370px; }
    .commerce-product-card { inset:12px 10px 25px 5px; }.commerce-product-card > img { height:225px; }
    .commerce-float--top { right:-5px; }.commerce-float--bottom { left:-5px; }
    .service-showcase__heading { align-items:flex-start; flex-direction:column; }
    .service-carousel { grid-auto-columns:86%; }
    .site-modal { padding:10px; }
    .site-modal__panel { border-radius:17px; }
    .site-modal__panel--service { padding:28px 22px; }
    .service-modal__footer { align-items:flex-start; flex-direction:column; margin:25px -22px -28px; padding:18px 22px; }
    .quote-modal__intro,.quote-modal__form { padding:25px 20px; }
    .quote-modal__intro h2 { font-size:26px; }
    .modal-form-grid { grid-template-columns:1fr; }.modal-form-grid .field--wide { grid-column:1; }
    .quote-modal__configurator-fields { grid-template-columns:1fr; }
    .quote-modal__footer { align-items:stretch; flex-direction:column; }.quote-modal__footer .button { justify-content:center; }
}

/* Application SEO: indexable, curated routes instead of faceted URL copies */
.public-filter-applications {
    margin:20px -7px 0;
    padding:16px;
    border:1px solid #eadadd;
    border-radius:12px;
    background:#fff7f7;
}
.public-filter-applications strong {
    display:block;
    color:#7e1720;
    font-size:13px;
}
.public-filter-applications p {
    margin:5px 0 9px;
    color:#6d5960;
    font-size:11px;
    line-height:1.5;
}
.public-filter-applications a {
    color:var(--dpm-red);
    font-size:11px;
    font-weight:850;
}
.public-application-directory { background:#f5f6f8; }
.public-application-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.public-application-card {
    min-height:238px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:18px;
    padding:23px;
    border:1px solid #e0e4e9;
    border-radius:17px;
    color:inherit;
    background:#fff;
    box-shadow:var(--white-shadow);
    text-decoration:none;
    transition:.2s ease;
}
.public-application-card:hover {
    color:inherit;
    border-color:#d8a4a8;
    box-shadow:var(--white-shadow-hover);
    transform:translateY(-3px);
}
.public-application-card__icon {
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border:1px solid #ead9db;
    border-radius:15px;
    color:#a9141e;
    background:#fff6f6;
}
.public-application-card__icon svg {
    width:32px;
    height:32px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.public-application-card__content {
    min-width:0;
    display:flex;
    flex-direction:column;
}
.public-application-card__meta {
    color:var(--dpm-red);
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.public-application-card h2 {
    margin:17px 0 8px;
    color:#172033;
    font-size:21px;
    line-height:1.15;
}
.public-application-card__description {
    display:block;
    color:#687487;
    font-size:12px;
    line-height:1.65;
}
.public-application-card strong {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:20px;
    color:#8e1520;
    font-size:12px;
}
.public-application-card strong b { font-size:17px; }
.public-application-help { padding-top:0; background:#f5f6f8; }
.public-application-help .public-shell {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:34px 38px;
    border-radius:18px;
    color:#fff;
    background:#202938;
}
.public-application-help h2 {
    margin:0;
    font-size:30px;
}
.public-application-help p {
    max-width:830px;
    margin:9px 0 0;
    color:#c1c8d2;
}
.public-application-help .button { flex:0 0 auto; }
.public-application-hero {
    padding:34px 0 62px;
    border-bottom:1px solid #e2e5ea;
    background:
        radial-gradient(circle at 87% 13%,rgba(181,18,27,.12),transparent 28%),
        linear-gradient(135deg,#f5f6f8,#fff 58%,#fff5f5);
}
.public-application-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);
    gap:54px;
    align-items:center;
}
.public-application-hero h1 {
    max-width:900px;
    margin:0;
    color:#172033;
    font-size:clamp(39px,5vw,64px);
    line-height:1;
    letter-spacing:-.045em;
}
.public-application-hero__grid > div > p {
    max-width:820px;
    margin:20px 0 0;
    color:#5b6779;
    font-size:17px;
    line-height:1.7;
}
.public-application-hero__actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}
.public-application-hero__visual {
    min-width:0;
}
.public-application-hero__visual figure {
    position:relative;
    aspect-ratio:3/2;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(120,129,143,.24);
    border-radius:20px;
    background:#e9edf1;
    box-shadow:0 20px 45px rgba(31,41,55,.16);
}
.public-application-hero__visual figure::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 58%,rgba(15,23,42,.16));
}
.public-application-hero__visual img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}
.public-application-summary {
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:14px;
    margin:-37px 16px 0;
    padding:16px 18px;
    border:1px solid #e0d2d4;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    box-shadow:var(--white-shadow);
    backdrop-filter:blur(8px);
}
.public-application-summary span,
.public-application-summary strong,
.public-application-summary p,
.public-application-summary small { display:block; }
.public-application-summary span {
    grid-column:1 / -1;
    color:#8e1520;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
}
.public-application-summary strong {
    grid-row:2 / 4;
    margin:7px 0 0;
    color:#172033;
    font-size:38px;
    line-height:1;
}
.public-application-summary p {
    margin:7px 0 0;
    color:#4f5d70;
    font-size:12px;
    font-weight:750;
}
.public-application-summary small {
    margin-top:3px;
    padding:0;
    border:0;
    color:#758092;
    font-size:10px;
    line-height:1.4;
}
.public-application-guide { background:#fff; }
.public-application-guide__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.public-application-guide article {
    padding:29px;
    border:1px solid #e1e5ea;
    border-radius:17px;
    background:#f8f9fb;
}
.public-application-guide h2 {
    margin:0;
    color:#172033;
    font-size:28px;
}
.public-application-guide ul {
    display:grid;
    gap:0;
    margin:18px 0 0;
    padding:0;
    border-top:1px solid #dde2e8;
    list-style:none;
}
.public-application-guide li {
    position:relative;
    padding:13px 5px 13px 26px;
    border-bottom:1px solid #dde2e8;
    color:#465367;
    font-size:13px;
    line-height:1.45;
}
.public-application-guide li::before {
    content:"";
    position:absolute;
    top:19px;
    left:5px;
    width:8px;
    height:8px;
    border:2px solid #c8101e;
    border-radius:50%;
}
.public-application-queries {
    margin-top:18px;
    padding:20px 24px;
    border:1px solid #e2e6eb;
    border-radius:15px;
    background:#fff;
}
.public-application-queries > strong {
    display:block;
    margin-bottom:11px;
    color:#39465a;
    font-size:11px;
    text-transform:uppercase;
}
.public-application-queries > div {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.public-application-queries a {
    padding:8px 11px;
    border:1px solid #dce1e7;
    border-radius:999px;
    color:#455166;
    background:#f8f9fa;
    font-size:11px;
    font-weight:750;
    text-decoration:none;
}
.public-application-queries a:hover {
    color:#8e1520;
    border-color:#d7a5aa;
    background:#fff5f5;
}
.public-application-products { background:#f4f6f8; }
.public-product-grid--application {
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.public-product-grid--application .public-product-card__image {
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    padding:0;
    background:linear-gradient(155deg,#fff 0%,#f7f8fa 100%);
}
.public-product-grid--application .public-product-card__image img {
    display:block;
    width:auto;
    height:auto;
    max-width:calc(100% - 60px);
    max-height:calc(100% - 60px);
    object-fit:contain;
    object-position:center;
    transform:none;
}
.public-product-grid--application .public-product-card:hover .public-product-card__image img {
    transform:none;
}
.public-related-applications { padding-top:0; background:#f4f6f8; }
.public-related-applications .public-shell > div:last-child {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.public-related-applications .public-shell > div:last-child a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:15px 17px;
    border:1px solid #dfe3e8;
    border-radius:11px;
    color:#273345;
    background:#fff;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
.public-related-applications .public-shell > div:last-child a:hover {
    color:#8e1520;
    border-color:#d6a4a9;
}
.public-product-application-links {
    display:grid;
    gap:7px;
    margin:17px 0 14px;
    padding-top:15px;
    border-top:1px solid #dce1e6;
}
.public-product-application-links strong {
    color:#4c586b;
    font-size:10px;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.public-product-application-links a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid #dfe3e8;
    border-radius:8px;
    color:#7f1720;
    background:#fff;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

@media (max-width:960px) {
    .public-application-grid,
    .public-product-grid--application { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-application-hero__grid { grid-template-columns:minmax(0,1fr) minmax(330px,.8fr); gap:34px; }
}
@media (max-width:760px) {
    .public-application-help .public-shell,
    .public-application-hero__grid { align-items:flex-start; grid-template-columns:1fr; flex-direction:column; }
    .public-application-hero__visual { width:100%; }
    .public-application-guide__grid { grid-template-columns:1fr; }
    .public-related-applications .public-shell > div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
    .public-application-grid,
    .public-product-grid--application,
    .public-related-applications .public-shell > div:last-child { grid-template-columns:1fr; }
    .public-product-grid--application .public-product-card__image {
        aspect-ratio:16/10;
    }
    .public-product-grid--application .public-product-card__image img {
        max-width:calc(100% - 44px);
        max-height:calc(100% - 44px);
    }
    .public-application-card {
        min-height:0;
        grid-template-columns:50px minmax(0,1fr);
        gap:15px;
        padding:20px;
    }
    .public-application-card__icon {
        width:50px;
        height:50px;
        border-radius:13px;
    }
    .public-application-card__icon svg { width:28px; height:28px; }
    .public-application-card h2 { margin-top:13px; font-size:20px; }
    .public-application-help .public-shell { padding:27px 23px; }
    .public-application-hero { padding:25px 0 46px; }
    .public-application-hero h1 { font-size:38px; }
    .public-application-hero__grid > div > p { font-size:15px; }
    .public-application-hero__actions { align-items:stretch; flex-direction:column; }
    .public-application-hero__actions .button { justify-content:center; }
    .public-application-hero__visual figure {
        aspect-ratio:4/3;
        border-radius:16px;
    }
    .public-application-summary {
        grid-template-columns:44px minmax(0,1fr);
        margin:-26px 10px 0;
        padding:14px 15px;
    }
    .public-application-summary strong { font-size:32px; }
    .public-application-guide article { padding:23px 20px; }
    .public-application-products .section-heading { align-items:flex-start; flex-direction:column; }
}

/* Visual tuning: restrained actions, light elevation and mobile category flow */
.public-body {
    --white-shadow: 0 8px 24px rgba(31,41,55,.075), 0 1px 3px rgba(31,41,55,.055);
    --white-shadow-hover: 0 15px 34px rgba(31,41,55,.12), 0 2px 5px rgba(31,41,55,.06);
}
.public-body .button--dark,
.public-body .button--primary {
    color:#fff;
    border-color:#202938;
    background:#202938;
    box-shadow:0 7px 17px rgba(31,41,55,.16);
}
.public-body .button--dark:hover,
.public-body .button--primary:hover {
    color:#fff;
    border-color:#111827;
    background:#111827;
    box-shadow:0 10px 23px rgba(31,41,55,.22);
    transform:translateY(-1px);
}
.public-nav a.public-nav__quote,
.commerce-hero__search button,
.public-header-search button,
.commerce-hero__actions .button--primary {
    color:#fff8f6;
    border-color:#97131b;
    background:linear-gradient(180deg,#b51b24,#99121a);
    box-shadow:0 7px 17px rgba(139,15,24,.19);
}
.public-nav a.public-nav__quote:hover,
.commerce-hero__search button:hover,
.public-header-search button:hover,
.commerce-hero__actions .button--primary:hover {
    color:#fff;
    border-color:#850d15;
    background:#8f1018;
    box-shadow:0 10px 23px rgba(139,15,24,.25);
}
.public-body .button--secondary {
    color:#263143;
    border-color:#d9dde4;
    background:#fff;
    box-shadow:var(--white-shadow);
}
.public-body .button--secondary:hover {
    color:#111827;
    border-color:#bec5cf;
    background:#fff;
    box-shadow:var(--white-shadow-hover);
    transform:translateY(-1px);
}
.public-nav a.public-nav__quote { margin-block:5px; border-radius:9px; }

.public-header,
.commerce-product-card,
.commerce-float,
.service-slide,
.marketing-categories > a,
.public-product-card,
.public-filter-panel,
.public-request-form,
.public-form-aside,
.public-product-hero,
.public-product-section,
.site-modal__panel,
.public-request-success {
    box-shadow:var(--white-shadow);
}
.service-slide:hover,
.marketing-categories > a:hover,
.public-product-card:hover { box-shadow:var(--white-shadow-hover); }
.public-header-search,
.commerce-hero__search,
.public-body .input,
.public-body .language-switcher__select {
    background:#fff;
    box-shadow:0 3px 10px rgba(31,41,55,.055);
}
.public-body .input:focus,
.public-body .language-switcher__select:focus {
    border-color:#aeb6c2;
    box-shadow:0 0 0 3px rgba(31,41,55,.075),0 4px 12px rgba(31,41,55,.06);
    outline:none;
}

.scroll-reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.scroll-reveal.is-visible { opacity:1; transform:translateY(0); }

.portal-promo { background:#edf0f3; }
.portal-promo__heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:55px; }
.portal-promo__heading h2 { max-width:840px; margin:0; font-size:clamp(31px,4vw,49px); line-height:1.04; letter-spacing:-.035em; }
.portal-promo__heading p { max-width:800px; margin:13px 0 0; color:#596678; line-height:1.65; }
.portal-promo__actions { min-width:225px; display:grid; gap:9px; }
.portal-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:31px; }
.portal-feature-grid article { position:relative; min-height:145px; overflow:hidden; padding:19px; border:1px solid #dde1e6; border-radius:14px; background:#fff; box-shadow:var(--white-shadow); }
.portal-feature-grid article::before { content:""; position:absolute; top:0; left:0; width:52px; height:4px; border-radius:0 0 4px 0; background:#ae1720; }
.portal-feature-grid strong,.portal-feature-grid span { display:block; }
.portal-feature-grid strong { color:#202938; font-size:13px; }
.portal-feature-grid span { margin-top:8px; color:#667285; font-size:11px; line-height:1.55; }

.contact-strip { background:#fff; }
.contact-strip .public-shell { padding:35px 38px; border:1px solid #e1e4e9; border-radius:19px; background:#fff; box-shadow:var(--white-shadow); }
.contact-strip h2 { max-width:850px; }
.contact-strip p { max-width:780px; margin:11px 0 0; color:#657184; }
.contact-strip__action { min-width:235px; display:flex !important; align-items:stretch !important; flex-direction:column; gap:9px !important; }
.contact-strip__action .button { justify-content:center; }
.contact-strip__action small { color:#727c8b; text-align:center; font-size:10px; }

@media (max-width:1000px) {
    .portal-feature-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
    .public-results__head { align-items:flex-start; flex-direction:column; margin-bottom:12px; }
    .public-results__head .public-results__filters { max-width:none; align-items:flex-start; justify-content:flex-start; }
    .portal-promo__heading { grid-template-columns:1fr; gap:25px; }
    .portal-promo__actions { display:flex; flex-wrap:wrap; }
    .contact-strip .public-shell { padding:28px; }
}
@media (max-width:560px) {
    .public-body {
        overflow-x:hidden;
        background:#f5f5f7;
    }
    .public-shell,
    .public-header__main { width:min(100% - 28px,1320px); }
    .public-header {
        border-bottom-color:rgba(17,24,39,.07);
        background:rgba(255,255,255,.88);
        box-shadow:0 7px 24px rgba(17,24,39,.07);
        backdrop-filter:blur(18px) saturate(145%);
    }
    .public-header__main { min-height:66px; }
    .public-header .portal-brand__logo { width:47px; height:42px; }
    .public-header .portal-brand strong { font-size:16px; }
    .public-menu-button { border-color:#dfe2e7; border-radius:999px; padding:8px 12px; background:rgba(255,255,255,.82); }

    .commerce-hero {
        min-height:0;
        border-bottom:0;
        background:
            radial-gradient(circle at 50% 43%,rgba(181,18,27,.09),transparent 31%),
            linear-gradient(180deg,#fff 0%,#f5f5f7 62%,#eceef2 100%);
    }
    .commerce-hero__grid { min-height:0; display:flex; flex-direction:column; gap:0; padding-block:26px 34px; }
    .commerce-hero__content { display:contents; }
    .commerce-hero__content > .eyebrow { order:0; align-self:center; }
    .commerce-hero__content > h1 {
        order:1;
        max-width:350px;
        margin:10px auto 0;
        font-size:clamp(36px,10.2vw,43px);
        line-height:.98;
        letter-spacing:-.052em;
        text-wrap:balance;
    }
    .commerce-hero__content > p {
        order:2;
        max-width:340px;
        margin:17px auto 0;
        color:#606b7c;
        font-size:14px;
        line-height:1.52;
        text-wrap:pretty;
    }
    .commerce-hero__search {
        order:3;
        width:100%;
        height:52px;
        grid-template-columns:minmax(0,1fr) auto;
        margin:22px 0 0;
        padding:5px;
        border:1px solid rgba(129,138,151,.3);
        border-radius:999px;
        box-shadow:0 14px 36px rgba(31,41,55,.1);
    }
    .commerce-hero__search input { min-height:40px; padding-left:14px; font-size:13px; }
    .commerce-hero__search button { min-width:74px; min-height:40px; padding:0 17px; border-radius:999px; }
    .commerce-hero__actions { order:5; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
    .commerce-hero__actions .button { width:100%; min-height:43px; justify-content:center; padding:9px 10px; border-radius:999px; font-size:11px; }
    .commerce-hero__visual {
        order:4;
        width:calc(100% + 12px);
        min-height:0;
        margin:24px -6px 0;
    }
    .commerce-hero__visual::before { display:none; }
    .commerce-product-card {
        position:relative;
        inset:auto;
        min-height:355px;
        display:grid;
        grid-template-rows:auto minmax(0,1fr) auto;
        padding:18px;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.9);
        border-radius:27px;
        background:rgba(255,255,255,.82);
        box-shadow:0 24px 65px rgba(31,41,55,.14);
        transform:none;
        backdrop-filter:blur(9px);
    }
    .commerce-product-card:hover,.commerce-product-card:focus-visible { transform:translateY(-2px); }
    .commerce-product-card::after { border-radius:27px; background:linear-gradient(155deg,#fff,#f1f3f6); }
    .commerce-product-card::before {
        content:"";
        position:absolute;
        z-index:2;
        top:13px;
        right:15px;
        width:44px;
        height:30px;
        background:url("../logo-ui-v1.webp") center/contain no-repeat;
        opacity:.78;
        pointer-events:none;
    }
    .commerce-product-card__tag { max-width:70%; font-size:8px; text-align:left; }
    .commerce-product-card > img,
    .commerce-product-card > .hero-placeholder {
        width:100%;
        height:235px;
        padding:13px 23px 2px;
        object-fit:contain;
        transform:scale(.96);
        transition:transform .9s cubic-bezier(.16,1,.3,1);
    }
    .commerce-hero__visual.is-visible .commerce-product-card > img { transform:scale(1); }
    .commerce-product-card__body { padding-top:12px; text-align:left; }
    .commerce-product-card__body strong { display:-webkit-box; overflow:hidden; margin-top:4px; font-size:13px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .commerce-product-card__body b { margin-top:7px; }
    .commerce-float { display:none; }
    .commerce-hero__facts { order:6; width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:14px; padding:0; overflow:visible; }
    .commerce-hero__facts span { min-width:0; padding:8px 5px; border:1px solid #dde1e6; border-radius:12px; background:rgba(255,255,255,.76); font-size:8px; line-height:1.25; text-align:center; white-space:normal; }

    .commerce-hero__content,.service-showcase__heading,.engineering-intro,.section-heading,.portal-promo__heading,.contact-strip .public-shell { text-align:center; }
    .commerce-hero__actions,.commerce-hero__facts,.carousel-controls,.portal-promo__actions,.contact-strip__action { justify-content:center; }
    .section-heading { align-items:center; }
    .section-heading h2,
    .service-showcase__heading h2,
    .portal-promo__heading h2 {
        max-width:360px;
        margin-inline:auto;
        font-size:clamp(30px,8.6vw,36px);
        line-height:1.02;
        letter-spacing:-.045em;
        text-wrap:balance;
    }
    .section-heading p,
    .service-showcase__heading p { max-width:340px; margin-inline:auto; font-size:13px; line-height:1.5; }

    .service-showcase { padding:32px 0; }
    .service-showcase__heading { align-items:center; margin-bottom:24px; }
    .carousel-controls { display:none; }
    .service-carousel {
        display:grid;
        grid-auto-flow:row;
        grid-auto-columns:auto;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        overflow:visible;
        padding:0;
        scroll-snap-type:none;
    }
    .service-slide {
        min-height:190px;
        padding:16px;
        border-radius:20px;
        background:linear-gradient(145deg,#fff,#f2f4f7);
    }
    .service-slide:nth-child(2),
    .service-slide:nth-child(4) { transition-delay:.08s; }
    .service-slide__number { top:15px; right:15px; }
    .service-slide .technical-icon { transform:scale(.82); transform-origin:top left; }
    .service-slide h3 { margin:27px 0 5px; font-size:18px; letter-spacing:-.025em; }
    .service-slide p { font-size:11px; line-height:1.42; }
    .service-slide b { font-size:9px; }

    .engineering-section { margin:0 10px; border-radius:28px; }
    .engineering-grid { gap:30px; padding-block:59px; }
    .engineering-intro h2 { max-width:350px; margin-inline:auto; font-size:35px; line-height:1.02; letter-spacing:-.045em; }
    .engineering-intro .button { display:inline-flex; }

    .material-section { height:auto; padding:68px 0; overflow:visible; }
    .material-section > .public-shell { position:static; width:min(100% - 28px,1320px); height:auto; overflow:visible; padding:0; }
    .material-section .section-heading { margin-bottom:25px; }
    .marketing-categories--technical {
        width:100%;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        overflow:visible;
        transform:none;
    }
    .marketing-categories--technical > a {
        position:relative;
        width:auto;
        min-width:0;
        overflow:hidden;
        border:0;
        border-radius:22px;
        box-shadow:0 16px 38px rgba(31,41,55,.1);
    }
    .marketing-categories--technical > a:nth-child(1),
    .marketing-categories--technical > a:nth-child(4) { grid-column:1/-1; }
    .marketing-categories--technical > a::before,
    .product-section .public-product-card::before {
        content:"";
        position:absolute;
        z-index:3;
        top:11px;
        right:11px;
        width:31px;
        height:23px;
        border-radius:7px;
        background:rgba(255,255,255,.82) url("../logo-ui-v1.webp") center/24px auto no-repeat;
        box-shadow:0 4px 12px rgba(31,41,55,.08);
        pointer-events:none;
    }
    .marketing-categories--technical .marketing-category__image { height:38vw; min-height:142px; max-height:190px; margin:0; background:#fff; }
    .marketing-categories--technical > a:nth-child(1) .marketing-category__image,
    .marketing-categories--technical > a:nth-child(4) .marketing-category__image { height:61vw; max-height:285px; }
    .marketing-categories--technical .marketing-category__image img { width:100%; height:100%; padding:17px; object-fit:contain; object-position:center; transition:transform .8s cubic-bezier(.16,1,.3,1); }
    .marketing-categories--technical > a.is-visible .marketing-category__image img { transform:scale(1.04); }
    .marketing-categories--technical > a > div:last-child { padding:14px 15px 16px; }
    .marketing-categories--technical strong { min-height:0; font-size:13px; }

    .product-section { padding:68px 0; }
    .product-section .public-product-grid { gap:17px; }
    .product-section .public-product-card {
        position:relative;
        border:0;
        border-radius:25px;
        box-shadow:0 18px 45px rgba(31,41,55,.105);
    }
    .product-section .public-product-card__image { height:min(76vw,350px); padding:28px; border-bottom:0; background:linear-gradient(155deg,#fff,#eef0f3); }
    .product-section .public-product-card__image img { transform:scale(.96); transition:transform .8s cubic-bezier(.16,1,.3,1); }
    .product-section .public-product-card.is-visible .public-product-card__image img { transform:scale(1); }
    .product-section .public-product-card__body { min-height:0; padding:19px; }
    .product-section .public-product-card__body h3 { font-size:18px; line-height:1.25; }
    .product-section .public-product-card__body > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }

    .portal-promo { padding:67px 0; }
    .portal-promo__heading { gap:22px; }
    .portal-promo__actions { width:100%; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .portal-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .portal-feature-grid article { min-height:142px; padding:16px; }
    .contact-strip { padding:12px 0 68px; }
    .contact-strip .public-shell { padding:34px 20px; border-radius:25px; }
    .contact-strip__action { width:100%; min-width:0; }

    [data-home-reveal] {
        opacity:0;
        filter:saturate(.88);
        transform:translateY(22px) scale(.985);
        transition:
            opacity .68s ease,
            filter .75s ease,
            transform .75s cubic-bezier(.16,1,.3,1);
    }
    [data-home-reveal].is-visible {
        opacity:1;
        filter:saturate(1);
        transform:translateY(0) scale(1);
    }

    /* Mobile 9:16: keep the first view balanced without hiding the main actions. */
    .commerce-hero__grid { padding-block:18px 22px; }
    .commerce-hero__content > h1 {
        max-width:345px;
        margin-top:7px;
        font-size:clamp(32px,9.2vw,38px);
        line-height:.99;
    }
    .commerce-hero__content > p {
        display:-webkit-box;
        overflow:hidden;
        max-width:345px;
        margin-top:11px;
        font-size:13px;
        line-height:1.46;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:3;
    }
    .commerce-hero__search {
        height:48px;
        margin-top:15px;
    }
    .commerce-hero__search input,
    .commerce-hero__search button { min-height:36px; }
    .commerce-hero__visual { margin-top:15px; }
    .commerce-product-card {
        min-height:245px;
        grid-template-rows:auto 145px auto;
        padding:14px 16px;
        border-radius:24px;
    }
    .commerce-product-card::after { border-radius:24px; }
    .commerce-product-card::before {
        top:10px;
        right:13px;
        width:38px;
        height:27px;
    }
    .commerce-product-card > img,
    .commerce-product-card > .hero-placeholder {
        height:145px;
        padding:7px 25px 0;
    }
    .commerce-product-card__body { padding-top:8px; }
    .commerce-product-card__body span { font-size:8px; }
    .commerce-product-card__body strong {
        margin-top:3px;
        font-size:12px;
        -webkit-line-clamp:1;
    }
    .commerce-product-card__body b { margin-top:5px; font-size:10px; }
    .commerce-hero__actions { margin-top:10px; }
    .commerce-hero__actions .button { min-height:40px; }
    .commerce-hero__facts { margin-top:9px; }
    .commerce-hero__facts span { padding:6px 4px; }

    /* Technical request: compact mobile sheet with a scrollable form body. */
    .site-modal {
        place-items:end center;
        padding:6px 6px max(6px,env(safe-area-inset-bottom));
    }
    .site-modal__panel--quote {
        width:100%;
        max-height:calc(100svh - 12px);
        grid-template-columns:1fr;
        grid-template-rows:auto minmax(0,1fr);
        overflow:hidden;
        border-radius:22px 22px 17px 17px;
        transform:translateY(24px) scale(.99);
    }
    .site-modal__close {
        top:10px;
        right:10px;
        width:32px;
        height:32px;
        border-color:rgba(255,255,255,.28);
        color:#fff;
        background:rgba(255,255,255,.12);
        font-size:20px;
    }
    .site-modal__close:hover {
        border-color:#fff;
        color:#172033;
        background:#fff;
    }
    .quote-modal__intro {
        min-height:0;
        padding:17px 52px 14px 17px;
        background:linear-gradient(135deg,#202938,#111827);
    }
    .quote-modal__intro .eyebrow { font-size:8px; }
    .quote-modal__intro h2 {
        max-width:290px;
        margin-top:4px;
        font-size:21px;
        line-height:1.08;
        letter-spacing:-.025em;
    }
    .quote-modal__intro > p {
        max-width:330px;
        margin:6px 0 0;
        color:#c6cdd6;
        font-size:10px;
        line-height:1.4;
    }
    .quote-modal__steps { display:none; }
    .quote-modal__form {
        min-height:0;
        overflow-y:auto;
        overscroll-behavior:contain;
        padding:14px 16px calc(16px + env(safe-area-inset-bottom));
        scrollbar-width:thin;
    }
    .quote-modal__product {
        margin:0 38px 10px 0;
        padding:8px 10px;
        border-radius:9px;
    }
    .modal-form-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px 10px;
    }
    .modal-form-grid .field--wide { grid-column:1/-1; }
    .quote-modal__form .field label {
        margin-bottom:3px;
        font-size:10px;
    }
    .quote-modal__form .input {
        min-height:41px;
        padding:8px 10px;
        border-radius:10px;
        font-size:16px;
    }
    .quote-modal__form textarea.input {
        min-height:76px;
        resize:none;
    }
    .quote-modal__configurator {
        margin-top:10px;
        border-radius:10px;
    }
    .quote-modal__configurator summary { padding:10px 11px; }
    .quote-modal__configurator-fields {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        padding:0 11px 11px;
    }
    .quote-modal__configurator-fields .field { padding-top:9px; }
    .public-privacy-check {
        gap:7px;
        margin-top:10px;
        font-size:9px;
        line-height:1.35;
    }
    .quote-modal__footer {
        position:sticky;
        bottom:calc(-16px - env(safe-area-inset-bottom));
        z-index:2;
        display:block;
        margin:10px -16px calc(-16px - env(safe-area-inset-bottom));
        padding:10px 16px calc(10px + env(safe-area-inset-bottom));
        border-top:1px solid #e4e7eb;
        background:rgba(255,255,255,.96);
        box-shadow:0 -10px 24px rgba(31,41,55,.08);
        backdrop-filter:blur(12px);
    }
    .quote-modal__footer .button {
        width:100%;
        min-height:43px;
        justify-content:center;
    }
}
@media (max-width:560px) and (max-height:760px) {
    .commerce-hero__grid { padding-block:14px 18px; }
    .commerce-hero__content > h1 {
        max-width:330px;
        font-size:clamp(29px,8.5vw,34px);
    }
    .commerce-hero__content > p { -webkit-line-clamp:2; }
    .commerce-hero__search { margin-top:11px; }
    .commerce-hero__visual { margin-top:11px; }
    .commerce-product-card {
        min-height:216px;
        grid-template-rows:auto 119px auto;
    }
    .commerce-product-card > img,
    .commerce-product-card > .hero-placeholder { height:119px; }
    .commerce-hero__actions { margin-top:8px; }
    .commerce-hero__facts { display:none; }
    .quote-modal__intro > p { display:none; }
    .quote-modal__intro { padding-block:14px 12px; }
    .quote-modal__form textarea.input { min-height:68px; }
}
@media (max-width:350px) {
    .modal-form-grid,
    .quote-modal__configurator-fields { grid-template-columns:1fr; }
    .modal-form-grid .field--wide { grid-column:1; }
}
@media (prefers-reduced-motion:reduce) {
    .scroll-reveal { opacity:1; transform:none; transition:none; }
}
@media (prefers-reduced-motion:reduce) and (max-width:560px) {
    [data-home-reveal] { opacity:1; filter:none; transform:none; transition:none; }
    .commerce-product-card > img,
    .marketing-categories--technical .marketing-category__image img,
    .product-section .public-product-card__image img { transform:none; transition:none; }
}

/* Selected red actions requested across home and catalogue */
.portal-promo__actions .button--primary,
.contact-strip__action .button--primary,
.public-page-hero--catalog .button--primary,
.public-filter-panel form > .button--primary {
    color:#fff8f6;
    border-color:#97131b;
    background:linear-gradient(180deg,#b51b24,#99121a);
    box-shadow:0 7px 17px rgba(139,15,24,.19);
}
.portal-promo__actions .button--primary:hover,
.contact-strip__action .button--primary:hover,
.public-page-hero--catalog .button--primary:hover,
.public-filter-panel form > .button--primary:hover {
    color:#fff;
    border-color:#850d15;
    background:#8f1018;
    box-shadow:0 10px 23px rgba(139,15,24,.25);
}
.public-page-hero--catalog .public-shell { align-items:center; }

/* Unified public product preview */
.public-product-page { background:#f5f6f8; }
.public-product-hero--preview { grid-template-columns:minmax(0,42%) minmax(0,1fr); gap:28px; padding:28px; border-radius:26px; }
.public-product-hero--preview .public-product-gallery__main { width:100%; height:455px; padding:20px; border:0; cursor:zoom-in; }
.public-product-hero--preview .public-product-gallery__main img { padding:0; }
.public-product-hero--preview .public-product-gallery__thumbs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-product-hero--preview .public-product-gallery__thumbs button { width:100%; height:105px; background:#fff; }
.public-product-hero--preview .public-product-gallery__thumbs button.is-active { border-color:#b5121b; box-shadow:0 0 0 2px rgba(181,18,27,.1); }
.public-product-hero--preview .public-product-info { padding:5px 2px 2px; }
.public-product-hero--preview .public-product-info h1 { font-size:clamp(31px,3.4vw,46px); }
.public-product-hero--preview .public-product-lead { margin:18px 0; }

.public-preview-badges { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.public-preview-badge { padding:8px 12px; border:1px solid #dfe3e8; border-radius:999px; color:#374151; background:#f3f4f6; font-size:12px; font-weight:850; }
.public-preview-badge--available { color:#166534; border-color:#bbebca; background:#dcfce7; }
.public-preview-badge--check { color:#92400e; border-color:#f1d38c; background:#fef3c7; }
.public-preview-badge--transform, .public-preview-badge--orderable { color:#1d4ed8; border-color:#a9c8f5; background:#e8f1ff; }

.public-preview-docs { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:16px 0; padding:16px; border:1px solid #e1e4e9; border-radius:16px; background:#fff; box-shadow:0 5px 16px rgba(31,41,55,.045); }
.public-preview-docs strong,.public-preview-docs span { display:block; }
.public-preview-docs strong { font-size:13px; }
.public-preview-docs span { margin-top:3px; color:#6b7280; font-size:11px; }
.public-preview-docs > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.public-preview-docs a { padding:8px 12px; border:1px solid #b5121b; border-radius:999px; color:#202938; text-decoration:none; font-size:11px; font-weight:850; }
.public-preview-docs a:hover { color:#fff; background:#b5121b; }

.public-delivery-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:16px 0; padding:18px 20px; border:1px solid #bfd4f3; border-radius:18px; background:#eef5ff; }
.public-delivery-card span,.public-delivery-card strong { display:block; }
.public-delivery-card > div:first-child span { color:#1d4ed8; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.public-delivery-card > div:first-child strong { margin-top:4px; color:#111827; font-size:28px; }
.public-delivery-timer { text-align:right; color:#4b5563; font-size:11px; font-weight:750; }
.public-delivery-timer strong { margin-top:3px; color:#1d4ed8; font-size:15px; font-variant-numeric:tabular-nums; }
.public-product-hero--preview .public-product-cta { margin-top:16px; }

.public-amazon-card { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:14px; padding:16px 18px; border:1px solid #f0cf8e; border-radius:18px; background:#fff8e8; }
.public-amazon-card span,.public-amazon-card strong { display:block; }
.public-amazon-card span { color:#a85208; font-size:9px; font-weight:950; letter-spacing:.09em; }
.public-amazon-card strong { margin-top:3px; font-size:14px; }
.public-amazon-card p { margin:4px 0 0; color:#6b7280; font-size:11px; }
.public-amazon-card > a,.public-amazon-card > button { flex:0 0 auto; padding:10px 15px; border:0; border-radius:999px; color:#fff; background:#202938; text-decoration:none; font-family:inherit; font-size:11px; font-weight:900; cursor:pointer; }
.public-amazon-card > a:hover,.public-amazon-card > button:hover { background:#111827; }

.public-product-options { padding:34px; }
.public-product-options > summary { list-style:none; }
.public-product-options > summary::-webkit-details-marker { display:none; }
.public-options-summary { display:flex; align-items:center; justify-content:space-between; gap:28px; cursor:pointer; }
.public-options-summary > div { min-width:0; }
.public-options-summary h2 { margin:0; font-size:clamp(25px,3vw,38px); letter-spacing:-.025em; }
.public-options-summary p { margin:8px 0 0; color:#667285; line-height:1.55; }
.public-options-toggle { flex:0 0 auto; display:flex; align-items:center; gap:10px; color:#283446; font-size:11px; font-weight:850; }
.public-options-toggle b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:#202938; font-size:18px; transition:transform .18s ease; }
.public-product-options[open] .public-options-toggle b { transform:rotate(45deg); }
.public-options-body { padding-top:24px; }
.public-options-grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(370px,.94fr); gap:20px; align-items:stretch; }
.public-options-grid--single { grid-template-columns:1fr; }
.public-standard-variants,.public-roll-configurator { min-width:0; min-height:470px; display:flex; flex-direction:column; padding:20px; border:1px solid #e0e4e9; border-radius:16px; background:#f8f9fa; }
.public-options-title strong,.public-options-title span { display:block; }
.public-options-title strong { font-size:16px; }
.public-options-title span { margin-top:4px; color:#687486; font-size:11px; line-height:1.55; }
.public-options-title--variants { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.public-options-title--variants > div { min-width:0; }
.public-options-title--variants .public-variant-count { flex:0 0 auto; margin:0; padding:6px 9px; border:1px solid #dce2e9; border-radius:999px; color:#536174; background:#fff; font-size:9px; font-weight:850; line-height:1.2; white-space:nowrap; }
.public-standard-variants .public-variant-grid { flex:1; grid-template-columns:minmax(0,1fr); align-content:start; gap:8px; max-height:430px; margin-top:16px; padding:2px 8px 14px 2px; overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:10px; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#bbc2cc transparent; }
.public-standard-variants .public-variant-grid article { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:0; align-items:center; gap:14px; padding:12px 13px; background:#fff; }
.public-standard-variants .public-variant-grid article.is-selected { border-color:#b5121b; box-shadow:0 0 0 2px rgba(181,18,27,.08); }
.public-standard-variants .public-variant-copy { min-width:0; width:100%; }
.public-standard-variants .public-variant-measure { color:#172033; font-size:14px; line-height:1.25; }
.public-standard-variants .public-variant-name { display:-webkit-box; margin-top:4px; overflow:hidden; color:#596579; font-size:10px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.public-standard-variants .public-variant-copy small { margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.public-standard-variants .public-variant-grid article > .button { min-width:145px; justify-content:center; padding:9px 11px; font-size:10px; white-space:nowrap; }
.public-config-source { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:16px; padding:13px 14px; border-radius:11px; color:#fff; background:#202938; }
.public-config-source span { font-size:10px; font-weight:800; }
.public-config-source strong { font-size:13px; }
.public-guided-step { margin-top:12px; padding:13px; border:1px solid #dde2e8; border-radius:12px; background:#fff; }
.public-guided-step__title { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.public-guided-step__title > span { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:#202938; font-size:10px; font-weight:900; }
.public-guided-step__title strong { font-size:12px; }
.public-guided-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.public-guided-choices--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-guided-choices button { display:flex; min-width:0; min-height:66px; align-items:center; gap:8px; padding:9px; border:1px solid #dce2e9; border-radius:10px; color:#526176; background:#f8fafc; text-align:left; cursor:pointer; }
.public-guided-choices button > svg { flex:0 0 25px; width:25px; height:25px; }
.public-guided-choices button span,.public-guided-choices button strong,.public-guided-choices button small { display:block; min-width:0; }
.public-guided-choices button strong { color:#202938; font-size:11px; }
.public-guided-choices button small { margin-top:2px; color:#6b7685; font-size:8px; line-height:1.25; }
.public-guided-choices button.is-active { border-color:#b5121b; color:#b5121b; background:#fff4f4; box-shadow:0 0 0 2px rgba(181,18,27,.09); }
.public-die-cut-panel { display:none; margin:12px 0; padding:13px; border:1px solid #eed29d; border-radius:11px; color:#65430c; background:#fff8e8; }
.public-die-cut-panel strong,.public-die-cut-panel p { display:block; }
.public-die-cut-panel p { margin:4px 0 0; font-size:10px; line-height:1.5; }
.public-roll-configurator.is-die-cut .public-guided-dimensions { display:none; }
.public-roll-configurator.is-die-cut .public-die-cut-panel { display:block; }
.public-config-format { margin:14px 0 0; padding:0; border:0; }
.public-config-format legend { margin-bottom:7px; color:#334155; font-size:11px; font-weight:850; }
.public-config-format > div { display:inline-flex; padding:4px; border:1px solid #dce2e9; border-radius:11px; background:#fff; }
.public-config-format button { min-width:92px; padding:8px 13px; border:0; border-radius:8px; color:#536174; background:transparent; font-size:11px; font-weight:850; cursor:pointer; }
.public-config-format button.is-active { color:#fff; background:#202938; box-shadow:0 3px 8px rgba(31,41,55,.17); }
.public-config-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }
.public-config-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.public-config-results > div { padding:11px; border:1px solid #dde2e8; border-radius:10px; background:#fff; }
.public-config-results span,.public-config-results strong { display:block; }
.public-config-results span { min-height:28px; color:#6a7483; font-size:9px; }
.public-config-results strong { margin-top:3px; font-size:16px; }
.public-config-message { min-height:47px; margin:12px 0; padding:11px 13px; border:1px solid #eed29d; border-radius:10px; color:#78571b; background:#fff8e8; font-size:10px; line-height:1.5; }
.public-config-message strong { display:block; color:#65430c; }
.public-roll-configurator > .button { justify-content:center; width:100%; margin-top:auto; }
.public-config-actions { display:flex; align-items:stretch; gap:9px; margin-top:auto; }
.public-config-actions .button { flex:1; justify-content:center; }

.public-description-section,.public-video-section { padding:38px; }
.public-rich-content__body { color:#465266; font-size:15px; line-height:1.75; }
.public-rich-content__body > :first-child { margin-top:0; }
.public-rich-content__body > :last-child { margin-bottom:0; }
.public-rich-content__body h2,.public-rich-content__body h3,.public-rich-content__body h4 { margin:28px 0 10px; color:#202938; line-height:1.2; }
.public-rich-content__body p { margin:0 0 15px; }
.public-rich-content__body ul,.public-rich-content__body ol { margin:12px 0 18px; padding-left:23px; }
.public-rich-content__body li { margin:6px 0; }
.public-rich-content__body img { display:block; max-width:100%; height:auto; margin:24px auto; border-radius:14px; }
.public-rich-content__body table { width:100%; margin:20px 0; border-collapse:collapse; }
.public-rich-content__body th,.public-rich-content__body td { padding:10px; border:1px solid #dfe3e8; text-align:left; }
.public-product-content-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.34fr); gap:28px; align-items:start; }
.public-product-applications { padding:20px; border:1px solid #ead0d2; border-radius:15px; background:#fff7f7; }
.public-product-applications > span { color:#ad1119; font-size:10px; font-weight:950; letter-spacing:.08em; }
.public-product-applications ul { display:grid; gap:9px; margin:15px 0; padding:0; list-style:none; }
.public-product-applications li { position:relative; margin:0; padding-left:17px; color:#293548; font-size:13px; font-weight:750; }
.public-product-applications li::before { position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:#ad1119; content:""; }
.public-product-applications small { display:block; padding-top:13px; border-top:1px solid #ead0d2; color:#6f7a8b; font-size:10px; line-height:1.5; }
.public-video-section .video-grid > div { padding:12px; border:1px solid #e1e5ea; border-radius:14px; background:#f8f9fa; }
.public-video-section .video-grid strong { display:block; margin-top:9px; font-size:12px; }

.public-image-modal[hidden] { display:none; }
.public-image-modal { position:fixed; inset:0; z-index:250; display:grid; place-items:center; padding:28px; background:rgba(15,23,42,.84); }
.public-image-modal img { max-width:min(90vw,1100px); max-height:86vh; padding:18px; border-radius:20px; background:#fff; object-fit:contain; box-shadow:0 30px 90px rgba(0,0,0,.4); }
.public-image-modal button { position:fixed; top:22px; right:25px; z-index:2; width:43px; height:43px; border:0; border-radius:50%; color:#fff; background:#b5121b; font-size:27px; cursor:pointer; }

@media (max-width:950px) {
    .public-product-hero--preview { grid-template-columns:1fr; }
    .public-options-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .public-page-hero--catalog .public-shell { align-items:center; }
    .public-section--product { padding:12px 0 42px; }
    .public-product-page > .public-shell { width:min(100% - 18px,1320px); }
    .public-breadcrumbs {
        flex-wrap:nowrap;
        gap:6px;
        margin:0 2px 10px;
        padding:2px 0 5px;
        overflow-x:auto;
        color:#697487;
        font-size:10px;
        white-space:nowrap;
        scrollbar-width:none;
    }
    .public-breadcrumbs::-webkit-scrollbar { display:none; }

    .public-product-hero--preview {
        gap:0;
        padding:0;
        overflow:hidden;
        border:0;
        border-radius:24px;
        background:#fff;
        box-shadow:0 16px 42px rgba(31,41,55,.1);
    }
    .public-product-hero--preview .public-product-gallery {
        min-width:0;
        padding:7px 14px 0;
        background:#fff;
    }
    .public-product-hero--preview .public-product-gallery__main {
        position:relative;
        width:100%;
        height:auto;
        min-height:0;
        aspect-ratio:16/9;
        overflow:hidden;
        padding:0;
        border-radius:0;
        background:transparent;
    }
    .public-product-hero--preview .public-product-gallery__main img {
        width:100%;
        height:100%;
        box-sizing:border-box;
        padding:0;
        object-fit:cover;
        object-position:center;
        transform:none;
    }
    .public-product-hero--preview .public-product-gallery__main img.is-smart-cropped {
        position:absolute;
        max-width:none;
        max-height:none;
        object-fit:fill;
        mix-blend-mode:multiply;
    }
    .public-product-hero--preview .public-product-gallery__thumbs {
        gap:7px;
        margin:8px 0 11px;
    }
    .public-product-hero--preview .public-product-gallery__thumbs button {
        height:59px;
        padding:5px;
        border-radius:11px;
    }
    .public-product-hero--preview .public-product-info {
        display:flex;
        flex-direction:column;
        padding:18px 17px 17px;
        text-align:left;
    }
    .public-product-hero--preview .public-product-info > .eyebrow { order:0; font-size:8px; }
    .public-product-hero--preview .public-product-info h1 {
        order:1;
        display:-webkit-box;
        overflow:hidden;
        margin-top:5px;
        font-size:clamp(23px,6.7vw,28px);
        line-height:1.08;
        letter-spacing:-.035em;
        overflow-wrap:anywhere;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .public-product-code { order:2; margin-top:8px; font-size:10px; }
    .public-product-hero--preview .public-product-lead {
        order:6;
        display:-webkit-box;
        overflow:hidden;
        margin:12px 0 0;
        padding-top:11px;
        border-top:1px solid #e6e9ed;
        color:#536075;
        font-size:11px;
        line-height:1.52;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .public-preview-badges { order:3; gap:6px; margin:10px 0; }
    .public-preview-badge {
        padding:6px 8px;
        font-size:9px;
        line-height:1.25;
    }

    .public-preview-docs {
        order:7;
        display:grid;
        grid-template-columns:auto minmax(0,1fr);
        align-items:center;
        gap:8px;
        margin:8px 0 0;
        padding:8px 9px;
        border:0;
        border-radius:9px;
        background:#f4f6f8;
        box-shadow:none;
    }
    .public-preview-docs > div:first-child strong {
        color:#5f6b7d;
        font-size:9px;
    }
    .public-preview-docs > div:first-child span {
        display:none;
    }
    .public-preview-docs > div:last-child {
        width:auto;
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-end;
        gap:3px 8px;
    }
    .public-preview-docs a {
        min-height:0;
        display:inline;
        padding:2px 0;
        border:0;
        border-radius:0;
        color:#596678;
        text-align:right;
        text-decoration:underline;
        text-underline-offset:2px;
        font-size:8px;
    }
    .public-delivery-card {
        order:5;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        margin:12px 0;
        padding:13px;
        border-radius:14px;
    }
    .public-delivery-card > div:first-child strong { font-size:21px; }
    .public-delivery-card > div:first-child span { font-size:8px; }
    .public-delivery-timer { text-align:right; font-size:9px; }
    .public-delivery-timer strong { font-size:12px; }
    .public-product-hero--preview .public-product-cta {
        order:4;
        margin-top:8px;
        padding:12px;
        border-radius:13px;
    }
    .public-product-cta strong { font-size:13px; }
    .public-product-cta span { display:none; }
    .public-product-cta .button { min-height:40px; margin-top:8px; }
    .public-amazon-card {
        order:8;
        align-items:stretch;
        flex-direction:column;
        gap:10px;
        margin-top:11px;
        padding:13px;
        border-radius:14px;
    }
    .public-amazon-card p { line-height:1.45; }
    .public-amazon-card > a,.public-amazon-card > button {
        display:flex;
        min-height:39px;
        align-items:center;
        justify-content:center;
        padding:8px 12px;
        text-align:center;
    }

    .public-product-feature {
        gap:16px;
        margin-top:14px;
        padding:20px 17px;
        border-radius:22px;
    }
    .public-product-feature h2 {
        margin-top:5px;
        font-size:26px;
        line-height:1.05;
        letter-spacing:-.035em;
    }
    .public-product-feature p { margin:9px 0 0; font-size:12px; line-height:1.55; }
    .public-feature-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .public-feature-steps article {
        min-width:0;
        min-height:105px;
        padding:10px 8px;
    }
    .public-feature-steps strong {
        margin-top:8px;
        font-size:10px;
        line-height:1.25;
    }
    .public-feature-steps span {
        margin-top:3px;
        font-size:8px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }
    .public-product-feature > .button {
        width:100%;
        min-height:42px;
        justify-content:center;
    }

    .public-product-options,
    .public-description-section,
    .public-video-section {
        margin-top:14px;
        padding:19px 16px;
        border:0;
        border-radius:21px;
        box-shadow:0 12px 32px rgba(31,41,55,.075);
    }
    .public-product-page .section-heading {
        align-items:flex-start;
        margin-bottom:18px;
        text-align:left;
    }
    .public-product-page .section-heading h2,
    .public-options-summary h2 {
        max-width:none;
        margin:0;
        font-size:25px;
        line-height:1.08;
        letter-spacing:-.035em;
        text-align:left;
    }
    .public-product-page .section-heading p,
    .public-options-summary p {
        max-width:none;
        margin:7px 0 0;
        font-size:11px;
        line-height:1.5;
        text-align:left;
    }
    .public-options-summary {
        align-items:flex-start;
        flex-direction:column;
        gap:13px;
    }
    .public-options-toggle {
        width:100%;
        min-height:40px;
        justify-content:space-between;
        padding-top:11px;
        border-top:1px solid #e2e6eb;
    }
    .public-options-toggle b { width:30px; height:30px; }
    .public-options-body { padding-top:14px; }
    .public-options-grid { gap:12px; }
    .public-standard-variants,
    .public-roll-configurator {
        min-height:0;
        padding:13px;
        border-radius:14px;
    }
    .public-options-title--variants {
        align-items:center;
        flex-direction:row;
        gap:8px;
    }
    .public-options-title strong { font-size:14px; }
    .public-options-title span { font-size:9px; }
    .public-options-title--variants .public-variant-count {
        max-width:120px;
        padding:5px 7px;
        overflow:hidden;
        font-size:8px;
        text-overflow:ellipsis;
    }
    .public-standard-variants .public-variant-grid {
        display:grid;
        grid-template-columns:1fr;
        align-content:start;
        max-height:min(52svh,440px);
        margin-top:11px;
        padding:1px 5px 8px 1px;
        overflow-y:auto;
        scrollbar-gutter:auto;
    }
    .public-standard-variants .public-variant-grid article {
        grid-template-columns:minmax(0,1fr) auto;
        min-height:0;
        gap:8px;
        padding:10px;
    }
    .public-standard-variants .public-variant-measure { font-size:12px; }
    .public-standard-variants .public-variant-name {
        margin-top:2px;
        font-size:9px;
        -webkit-line-clamp:1;
    }
    .public-standard-variants .public-variant-copy small {
        margin-top:3px;
        font-size:8px;
    }
    .public-standard-variants .public-variant-grid article > .button {
        width:auto;
        min-width:104px;
        min-height:36px;
        padding:7px 8px;
        font-size:8px;
        white-space:normal;
        text-align:center;
    }

    .public-config-source {
        align-items:center;
        flex-direction:row;
        gap:8px;
        margin-top:11px;
        padding:10px;
    }
    .public-config-source span { font-size:8px; }
    .public-config-source strong { font-size:10px; text-align:right; }
    .public-guided-step {
        margin-top:9px;
        padding:10px;
    }
    .public-guided-step__title { margin-bottom:8px; }
    .public-guided-choices,
    .public-guided-choices--four { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    .public-guided-choices button {
        min-height:57px;
        gap:6px;
        padding:7px;
    }
    .public-guided-choices button > svg {
        flex-basis:21px;
        width:21px;
        height:21px;
    }
    .public-guided-choices button strong { font-size:10px; }
    .public-guided-choices button small { font-size:7px; }
    .public-config-fields {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
        margin-top:9px;
    }
    .public-config-fields .field:last-child { grid-column:1/-1; }
    .public-config-fields .field label { font-size:9px; }
    .public-config-fields .input {
        min-height:40px;
        padding:8px 9px;
        font-size:16px;
    }
    .public-config-results {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
        margin-top:9px;
    }
    .public-config-results > div { padding:9px; }
    .public-config-results span { min-height:0; font-size:8px; }
    .public-config-results strong { font-size:14px; }
    .public-config-message {
        min-height:0;
        margin:9px 0;
        padding:9px 10px;
        font-size:9px;
    }
    .public-config-actions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }
    .public-config-actions .button,
    .public-roll-configurator > .button {
        min-height:40px;
        padding:8px;
        font-size:9px;
        text-align:center;
    }

    .public-product-content-grid { grid-template-columns:1fr; gap:17px; }
    .public-rich-content__body {
        overflow-wrap:anywhere;
        font-size:13px;
        line-height:1.65;
    }
    .public-rich-content__body h2,
    .public-rich-content__body h3,
    .public-rich-content__body h4 {
        margin:21px 0 8px;
        font-size:20px;
    }
    .public-rich-content__body table {
        display:block;
        max-width:100%;
        overflow-x:auto;
        font-size:10px;
    }
    .public-product-applications {
        padding:15px;
        border-radius:13px;
    }
    .public-product-applications li { font-size:11px; }
    .public-video-section .video-grid { grid-template-columns:1fr; }
    .public-video-section .video-frame { aspect-ratio:16/9; }
    .public-image-modal { padding:8px; }
    .public-image-modal img {
        max-width:calc(100vw - 16px);
        max-height:calc(100svh - 24px);
        padding:10px;
        border-radius:15px;
    }
    .public-image-modal button {
        top:max(10px,env(safe-area-inset-top));
        right:10px;
        width:38px;
        height:38px;
    }
}
@media (max-width:350px) {
    .public-preview-docs > div:last-child,
    .public-feature-steps,
    .public-guided-choices,
    .public-guided-choices--four,
    .public-config-fields,
    .public-config-actions { grid-template-columns:1fr; }
    .public-config-fields .field:last-child { grid-column:1; }
    .public-standard-variants .public-variant-grid article { grid-template-columns:1fr; }
    .public-standard-variants .public-variant-grid article > .button { width:100%; }
    .public-delivery-card { grid-template-columns:1fr; }
    .public-delivery-timer { text-align:left; }
}
