/* Dynamic catalogue, configuration and project views. No third party assets. */
#dynamic-view { outline: 0; }
#dynamic-view .container { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
#dynamic-view .page-intro { padding-top: 36px; padding-bottom: 56px; }
.breadcrumbs { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--muted,#64696c); margin:0 0 52px; line-height:1.5; flex-wrap:wrap; }
.breadcrumbs a { color:inherit; text-decoration:none; }
.breadcrumbs a:hover { color:var(--accent-ink,#466f00); }
#dynamic-view .eyebrow, .product-card .eyebrow { font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--accent-ink,#466f00); margin:0 0 14px; }
#dynamic-view h1 { font-size:clamp(44px,5vw,72px); line-height:1.08; letter-spacing:-.065em; font-weight:600; margin:0 0 26px; color:var(--ink,#1e1e1e); }
#dynamic-view h1 em { font-style:normal; font-weight:400; color:var(--muted,#64696c); }
.page-intro__description { max-width:600px; font-size:15px; line-height:1.9; color:var(--muted,#64696c); margin:0; }
#dynamic-view a { text-underline-offset:4px; }
#dynamic-view .button { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:50px; padding:16px 22px; border-radius:8px; border:1px solid transparent; background:var(--accent,#76b900); color:var(--ink,#1e1e1e); text-decoration:none; font-family:inherit; font-weight:700; font-size:12px; line-height:1.35; cursor:pointer; transition:background .2s,transform .2s; }
#dynamic-view .button:hover { background:var(--accent-hover,#85c900); transform:translateY(-1px); }
#dynamic-view .button svg,.product-card .text-link svg,.site-toast svg { width:20px; height:20px; flex-shrink:0; }
#dynamic-view .button-secondary { background:transparent; border-color:var(--line,#e0e3e4); color:var(--ink,#1e1e1e); }
#dynamic-view .button-secondary:hover { background:#f0f3ec; }
#dynamic-view .button-light { color:var(--ink,#1e1e1e); background:white; }
#dynamic-view .button-wide { width:100%; box-sizing:border-box; margin-top:12px; }
#dynamic-view .text-link,.product-card .text-link { display:inline-flex; gap:12px; align-items:center; font-size:11px; line-height:1.5; font-weight:700; text-decoration:none; color:var(--ink,#1e1e1e); }
#dynamic-view .text-link:hover,.product-card .text-link:hover { color:var(--accent-ink,#466f00); }
#dynamic-view .text-link svg { width:19px; height:19px; }
.catalog-section { padding-bottom:94px; }
.catalog-toolbar { display:flex; gap:22px; justify-content:space-between; align-items:center; padding:18px 0; border-block:1px solid var(--line,#e0e3e4); }
.filter-tabs { display:flex; flex-wrap:wrap; gap:5px; }
.filter-tab { font-family:inherit; font-weight:600; font-size:11px; line-height:1.5; padding:11px 14px; border:1px solid transparent; color:var(--muted,#64696c); background:transparent; border-radius:6px; cursor:pointer; transition:background .2s; }
.filter-tab:hover { background:#eef2e8; color:var(--ink,#1e1e1e); }
.filter-tab.is-active { background:var(--ink,#1e1e1e); color:white; }
.filter-select select { max-width:215px; min-height:40px; border:1px solid var(--line,#e0e3e4); padding:8px 32px 8px 12px; border-radius:6px; background:white; color:var(--ink,#1e1e1e); font-family:inherit; font-weight:500; font-size:11px; line-height:1.5; }
.catalog-count { margin:25px 0; color:var(--muted,#64696c); font-size:11px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.product-card { overflow:hidden; background:white; border:1px solid var(--line,#e0e3e4); border-radius:16px; color:var(--ink,#1e1e1e); transition:box-shadow .25s,transform .25s; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(24,26,27,.07); }
.product-card__visual { display:block; text-decoration:none; }
.product-art { min-height:232px; position:relative; background:radial-gradient(ellipse at 50% 70%,rgba(214,223,228,.43),transparent 60%),#f3f5f6; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-art::after { content:''; position:absolute; width:78%; height:34%; bottom:-18%; left:11%; background:#d8dfe3; filter:blur(30px); border-radius:50%; opacity:.45; pointer-events:none; }
.product-art__index { position:absolute; top:19px; left:20px; color:#727c82; font-size:9px; font-weight:500; letter-spacing:.13em; }
.product-art__brand { position:absolute; bottom:17px; right:20px; color:#677279; font-size:13px; letter-spacing:-.03em; font-weight:800; }
.product-image { display:block; width:82%; height:174px; object-fit:contain; object-position:center; position:relative; z-index:1; transition:transform .45s; }
.product-card:hover .product-image { transform:scale(1.04); }
.product-image--compact { width:76%; height:170px; }
.product-image--tower { height:184px; }
.product-art--fallback::before { content:'SG'; font-size:80px; font-weight:800; letter-spacing:-.1em; color:#d8dfe3; }
.product-card__body { padding:24px; }
.product-card h3 { margin:0 0 9px; font-size:20px; line-height:1.25; letter-spacing:-.04em; font-weight:650; }
.product-card h3 a { color:inherit; text-decoration:none; }
.product-card .eyebrow { margin-bottom:9px; font-size:8px; }
.product-card__tagline { min-height:38px; font-size:11px; color:var(--muted,#64696c); line-height:1.7; margin:0 0 18px; }
.product-card__features { list-style:none; padding:0; margin:0 0 22px; display:flex; flex-wrap:wrap; gap:6px; }
.product-card__features li { font-size:8px; color:#5e696f; border:1px solid #e2e7ea; border-radius:4px; padding:5px 7px; }
.product-card__bottom { border-top:1px solid #e8ecee; padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.product-card__bottom>span { font-size:11px; font-weight:600; }
.catalog-note { font-size:10px; color:var(--muted,#64696c); line-height:1.8; margin:24px 0 0; max-width:800px; }
.consultation-banner { background:var(--deep,#181a1b); color:white; padding:66px 0; }
.consultation-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
#dynamic-view .consultation-banner .eyebrow { color:var(--lime,#b4e279); }
#dynamic-view .consultation-banner h2 { margin:0; font-size:clamp(30px,3.4vw,46px); line-height:1.18; letter-spacing:-.05em; font-weight:500; }
.product-detail { padding-top:36px; padding-bottom:90px; }
.product-detail .breadcrumbs { margin-bottom:36px; }
.config-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:80px; }
.config-visual .product-art { min-height:420px; border-radius:16px; }
.config-visual .product-image { height:310px; width:85%; }
.config-visual .product-image--compact { width:72%; height:300px; }
.config-visual .product-image--tower { height:340px; }
.config-visual__caption { margin:14px 2px 0; display:flex; gap:15px; justify-content:space-between; color:var(--muted,#64696c); font-size:10px; }
.product-usecases { margin-top:42px; }
#dynamic-view .product-usecases h2 { font-size:31px; letter-spacing:-.05em; line-height:1.25; margin:0 0 17px; font-weight:550; }
.product-usecases>p:not(.eyebrow) { color:var(--muted,#64696c); font-size:13px; line-height:1.9; }
.product-usecases>ul { padding:0; list-style:none; display:flex; gap:9px; flex-wrap:wrap; margin-top:22px; }
.product-usecases>ul li { font-size:10px; border:1px solid var(--line,#e0e3e4); padding:7px 10px; border-radius:5px; }
.technical-specs { margin:28px 0; border-top:1px solid var(--line,#e0e3e4); }
.technical-specs>div { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:13px 0; border-bottom:1px solid var(--line,#e0e3e4); font-size:11px; line-height:1.6; }
.technical-specs dt { color:var(--muted,#64696c); }
.technical-specs dd { margin:0; font-weight:550; }
#dynamic-view .config-panel h1 { font-size:42px; letter-spacing:-.055em; margin:0 0 15px; }
.config-panel__lead { font-size:16px; color:var(--muted,#64696c); line-height:1.6; }
.config-price { display:flex; flex-direction:column; gap:6px; margin:30px 0; padding:22px 0; border-block:1px solid var(--line,#e0e3e4); }
.config-price strong { font-size:20px; font-weight:650; letter-spacing:-.04em; }
.config-price span { font-size:10px; color:var(--muted,#64696c); }
.config-options { display:flex; flex-direction:column; gap:21px; margin-bottom:22px; }
.config-option { display:block; }
.config-option__label { display:flex; gap:12px; align-items:center; font-size:11px; font-weight:650; margin-bottom:10px; }
.config-option__label>span { font-size:9px; color:var(--accent-ink,#466f00); }
.config-option select { box-sizing:border-box; width:100%; min-height:49px; padding:12px 36px 12px 13px; font-family:inherit; font-weight:500; font-size:11px; line-height:1.5; color:var(--ink,#1e1e1e); background:white; border:1px solid var(--line,#e0e3e4); border-radius:7px; text-overflow:ellipsis; }
.config-disclaimer { color:var(--muted,#64696c); font-size:9px; line-height:1.85; margin:17px 0 0; }
.config-assurances { margin-top:27px; display:grid; gap:11px; padding-top:23px; border-top:1px solid var(--line,#e0e3e4); }
.config-assurances>span { display:flex; align-items:center; gap:9px; color:#566269; font-size:10px; }
.config-assurances>span::before { content:'✓'; width:17px; height:17px; font-size:10px; border-radius:50%; background:#eaf3df; color:#466f00; text-align:center; line-height:17px; }
.related-products { margin-top:92px; border-top:1px solid var(--line,#e0e3e4); padding-top:44px; }
#dynamic-view .section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:32px; }
#dynamic-view .section-heading h2 { font-size:clamp(28px,3.2vw,40px); font-weight:550; letter-spacing:-.055em; line-height:1.15; margin:0; }
.solutions-list { padding-bottom:80px; }
.solution-row { display:grid; grid-template-columns:50px minmax(0,1fr) minmax(0,1.1fr); gap:32px; border-top:1px solid var(--line,#e0e3e4); padding:45px 0; }
.solution-row__number { color:var(--accent-ink,#466f00); font-size:12px; padding-top:4px; }
#dynamic-view .solution-row h2 { margin:0; font-weight:550; font-size:31px; letter-spacing:-.045em; line-height:1.3; max-width:350px; }
.solution-row__description>p { margin:0 0 20px; color:var(--muted,#64696c); font-size:13px; line-height:1.9; }
.solution-tags { display:flex; flex-wrap:wrap; gap:8px; margin:19px 0 24px; }
.solution-tags>span { padding:6px 10px; border:1px solid var(--line,#e0e3e4); border-radius:4px; color:var(--muted,#64696c); font-size:9px; }
.partners-content { padding-bottom:90px; }
.partner-feature { display:grid; grid-template-columns:1fr 1.2fr; gap:75px; padding:55px; border:1px solid var(--line,#e0e3e4); border-radius:20px; background:white; margin-bottom:26px; }
.partner-feature__wordmark { display:flex; justify-content:center; flex-direction:column; align-items:center; background:#f4f6f7; border-radius:12px; min-height:300px; font-size:95px; font-weight:800; font-style:italic; line-height:1; letter-spacing:-.08em; }
.partner-feature--pny .partner-feature__wordmark { color:#1e1e1e; }
.partner-feature--msi .partner-feature__wordmark { color:#1e1e1e; }
.partner-feature__wordmark>span { margin-top:24px; font-size:9px; line-height:1.5; font-style:normal; letter-spacing:.1em; text-transform:uppercase; color:var(--muted,#64696c); font-weight:550; }
#dynamic-view .partner-feature h2 { font-size:39px; line-height:1.15; font-weight:550; letter-spacing:-.06em; margin:0 0 22px; }
.partner-feature>div>p:not(.eyebrow) { font-size:13px; line-height:1.9; color:var(--muted,#64696c); }
.quote-layout { display:grid; grid-template-columns:1.12fr 1fr; gap:55px; padding-bottom:90px; align-items:start; }
.quote-section-heading { display:flex; gap:20px; justify-content:space-between; align-items:center; padding-bottom:23px; border-bottom:1px solid var(--line,#e0e3e4); }
#dynamic-view .quote-section-heading h2 { margin:0; font-size:23px; letter-spacing:-.04em; font-weight:550; }
.quote-section-heading>span { font-size:10px; color:var(--muted,#64696c); }
.quote-item { display:grid; grid-template-columns:100px 1fr auto; gap:20px; padding:24px 0; border-bottom:1px solid var(--line,#e0e3e4); align-items:start; }
.quote-item .product-art { min-height:100px; border-radius:9px; }
.quote-item .product-image { height:77px; }
.quote-item .product-art__index,.quote-item .product-art__brand { display:none; }
.quote-item .eyebrow { margin-bottom:7px!important; font-size:8px!important; }
#dynamic-view .quote-item h3 { margin:0 0 14px; font-size:16px; font-weight:650; letter-spacing:-.04em; }
.quote-item__specs { margin:0; }
.quote-item__specs>div { font-size:9px; line-height:1.7; margin-bottom:4px; }
.quote-item__specs dt { color:var(--muted,#64696c); display:inline; }
.quote-item__specs dt::after { content:' : '; }
.quote-item__specs dd { margin:0; display:inline; }
.quote-item__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:17px; }
.quote-item__actions label,.quote-item__actions a,.quote-item__actions button { font-family:inherit; font-weight:500; font-size:9px; line-height:1.5; color:var(--muted,#64696c); }
.quote-item__actions a,.quote-item__actions button { border:0; background:none; padding:0; text-decoration:underline; cursor:pointer; }
.quote-item__actions input { font:inherit; margin-left:5px; width:45px; padding:5px; border-radius:5px; border:1px solid var(--line,#e0e3e4); background:white; color:var(--ink,#1e1e1e); }
.quote-item__price { white-space:nowrap; font-size:10px; font-weight:600; padding-top:2px; }
.quote-continue { margin-top:25px; }
.quote-info { background:#f1f4ed; border-radius:12px; padding:23px; margin-top:36px; }
.quote-info h3 { font-size:13px; font-weight:650; margin:0 0 10px; }
.quote-info p { color:var(--muted,#64696c); font-size:11px; line-height:1.8; margin:0; }
.quote-form-panel { background:white; border:1px solid var(--line,#e0e3e4); border-radius:16px; padding:30px; }
#dynamic-view .quote-form-panel h2 { font-size:26px; line-height:1.25; font-weight:550; letter-spacing:-.05em; margin:0 0 28px; }
.field { display:flex; flex-direction:column; gap:9px; font-size:10px; font-weight:600; margin-bottom:20px; }
.field input,.field textarea { box-sizing:border-box; width:100%; padding:13px; border:1px solid var(--line,#e0e3e4); border-radius:6px; color:var(--ink,#1e1e1e); background:var(--paper,#ffffff); font-family:inherit; font-weight:400; font-size:11px; line-height:1.6; resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:#77838a; }
.field input:focus,.field textarea:focus,.config-option select:focus,.filter-select select:focus { outline:2px solid #76b90066; outline-offset:2px; border-color:var(--accent-ink,#466f00); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-note { color:var(--muted,#64696c); font-size:9px; line-height:1.85; margin:17px 0 0; }
.empty-state { grid-column:1/-1; text-align:center; padding:65px 20px; color:var(--muted,#64696c); }
.empty-state__icon { display:block; margin:0 auto 22px; border:1px solid var(--line,#e0e3e4); border-radius:50%; width:50px; height:50px; line-height:48px; font-size:24px; color:var(--accent-ink,#466f00); }
.empty-state h2,.empty-state h3 { color:var(--ink,#1e1e1e); font-size:22px; letter-spacing:-.04em; font-weight:550; margin:0 0 13px; }
.empty-state p { max-width:380px; margin:0 auto 24px; font-size:12px; line-height:1.8; }
.request-preview { margin-bottom:90px!important; scroll-margin-top:120px; outline:none; }
.request-preview__brand { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; border-bottom:1px solid var(--line,#e0e3e4); padding-bottom:22px; margin-bottom:26px; }
.request-preview__brand img { display:block; width:170px; max-width:100%; height:auto; }
.request-preview__brand>span { color:var(--muted,#64696c); font-size:10px; line-height:1.5; letter-spacing:.04em; }

.request-preview__body { background:white; border:1px solid var(--line,#e0e3e4); border-radius:16px; padding:40px; }
.request-preview__body p { color:var(--muted,#64696c); font-size:12px; line-height:1.9; margin:5px 0; }
.request-preview__contact { padding-bottom:23px; border-bottom:1px solid var(--line,#e0e3e4); }
.request-preview__contact strong { font-size:18px; font-weight:650; }
.request-preview__products { display:grid; grid-template-columns:1fr 1fr; gap:25px; padding-block:25px; border-bottom:1px solid var(--line,#e0e3e4); }
.request-preview h3 { font-size:15px; font-weight:600; letter-spacing:-.03em; }
.request-preview ul { padding-left:15px; color:var(--muted,#64696c); font-size:11px; line-height:1.8; }
.request-preview__message { margin-top:25px; }
.site-toast { position:fixed; z-index:1000; left:50%; bottom:28px; transform:translate(-50%,20px); width:max-content; max-width:calc(100% - 36px); box-sizing:border-box; padding:17px 20px; background:var(--deep,#181a1b); box-shadow:0 10px 35px #181a1b30; color:white; border:1px solid #ffffff1a; border-radius:10px; font-size:11px; opacity:0; visibility:hidden; transition:opacity .2s,transform .2s,visibility .2s; display:flex; gap:28px; align-items:center; }
.site-toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.site-toast a { color:var(--lime,#b4e279); display:flex; gap:9px; align-items:center; text-decoration:none; font-size:10px; font-weight:600; white-space:nowrap; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(min-width:1500px){ #dynamic-view .container { width:min(1380px,calc(100% - 140px)); } }
@media(max-width:1100px){
  #dynamic-view .container { width:calc(100% - 60px); }
  .config-layout { gap:40px; }
  .catalog-grid { gap:16px; }
  .catalog-toolbar { align-items:flex-start; }
  .filter-tab { padding:10px; font-size:10px; }
  .partner-feature { padding:35px; gap:40px; }
  .quote-layout { gap:30px; }
  .quote-item { grid-template-columns:75px 1fr; gap:14px; }
  .quote-item__price { grid-column:2; }
}
@media(max-width:800px){
  #dynamic-view .container { width:calc(100% - 40px); }
  #dynamic-view .page-intro { padding-top:25px; padding-bottom:38px; }
  .breadcrumbs { margin-bottom:35px; font-size:10px; }
  #dynamic-view h1 { font-size:49px; }
  .page-intro__description { font-size:13px; }
  .catalog-toolbar { flex-direction:column; gap:16px; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-card__body { padding:20px; }
  .product-card h3 { font-size:18px; }
  .product-art { min-height:205px; }
  .product-image { height:150px; }
  .product-card__bottom { flex-wrap:wrap; gap:12px; }
  .config-layout { grid-template-columns:1fr; gap:40px; }
  .config-panel { grid-row:1; }
  #dynamic-view .config-panel h1 { font-size:40px; }
  .config-panel__lead { font-size:15px; }
  .config-price { margin:24px 0; }
  .config-visual .product-art { min-height:360px; }
  .config-visual .product-image { height:270px; }
  .config-options { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .config-assurances { grid-template-columns:1fr; }
  .related-products { margin-top:55px; }
  .solution-row { grid-template-columns:25px 1fr; gap:20px; padding:33px 0; }
  .solution-row__description { grid-column:2; }
  #dynamic-view .solution-row h2 { font-size:28px; max-width:none; }
  .partner-feature { grid-template-columns:1fr; padding:25px; gap:30px; }
  .partner-feature__wordmark { min-height:210px; font-size:80px; }
  .quote-layout { grid-template-columns:1fr; gap:40px; }
  .quote-item { grid-template-columns:90px 1fr auto; }
  .quote-item__price { grid-column:auto; }
  .consultation-banner__inner { align-items:flex-start; flex-direction:column; gap:28px; }
  #dynamic-view .section-heading { align-items:flex-start; flex-direction:column; gap:20px; }
}
@media(max-width:500px){
  #dynamic-view h1 { font-size:42px; }
  .catalog-grid { grid-template-columns:1fr; }
  .catalog-section { padding-bottom:55px; }
  .catalog-toolbar { padding-block:13px; }
  .filter-tabs { gap:4px; }
  .filter-tab { padding:8px 10px; font-size:9px; }
  .filter-select select { min-height:37px; }
  .product-art { min-height:240px; }
  .product-image { height:180px; }
  .product-card__tagline { min-height:0; }
  .product-card__body { padding:23px; }
  .product-card h3 { font-size:22px; }
  .product-card__features li { font-size:9px; }
  .config-options { grid-template-columns:1fr; }
  .config-visual .product-art { min-height:290px; }
  .config-visual .product-image { height:220px; }
  .config-visual__caption { font-size:8px; }
  .quote-item { grid-template-columns:65px 1fr; gap:13px; }
  .quote-item__price { grid-column:2; }
  .quote-item .product-art { min-height:70px; }
  .quote-item .product-image { height:55px; }
  .quote-form-panel { padding:23px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .request-preview__body { padding:25px; }
  .request-preview__products { grid-template-columns:1fr; }
  .site-toast { flex-direction:column; gap:10px; align-items:flex-start; padding:15px 18px; bottom:18px; }
  .consultation-banner { padding:45px 0; }
}
@media(prefers-reduced-motion:reduce){ .product-card,.product-image,.site-toast,#dynamic-view .button { transition:none; } }
@media print{
  .site-toast { display:none!important; }
  html:has(#request-preview),body:has(#request-preview),body:has(#request-preview) #main-content,body:has(#request-preview) #dynamic-view { height:auto!important; min-height:0!important; max-height:none!important; overflow:visible!important; }
  body:has(#request-preview)>:not(main),body:has(#request-preview) #main-content>#home-view,body:has(#request-preview) #dynamic-view>:not(#request-preview) { display:none!important; }
  #request-preview { position:static; width:100%!important; height:auto; min-height:0; max-height:none; margin:0!important; padding:20px; box-sizing:border-box; }
  #request-preview button { display:none!important; }
  #request-preview .request-preview__body { border:none; padding:0; }
}

.partner-feature__wordmark>img{width:180px;max-width:70%;height:90px;object-fit:contain}
