/* Noluvio custom-products catalog, same navy/cyan/mint brand as the service hubs. */
.products-body{background:#f6f9fd}
.products-hero{background:radial-gradient(ellipse at 82% 18%,#1ca9a75c,transparent 43%),linear-gradient(125deg,#07192f,#123d60);color:#f4fbff;overflow:hidden}
.products-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.78fr);gap:clamp(25px,5vw,80px);align-items:center;padding-block:clamp(64px,7vw,110px)}
.products-kicker{font-size:11px;letter-spacing:.16em;font-weight:870;color:#007f70;margin:0 0 16px;text-transform:uppercase}
.products-hero .products-kicker{color:#71f5ce}
.products-hero h1{font-size:clamp(45px,5.3vw,79px);letter-spacing:-.06em;line-height:1.03;color:#fff;margin:0 0 22px;max-width:730px}
.products-hero-grid>div:first-child>p:not(.products-kicker){color:#c5dfea;font-size:clamp(15px,1.45vw,19px);line-height:1.83;max-width:720px;margin:0}
.products-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:29px}
.products-action-primary,.products-action-secondary{min-height:50px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;font-size:13px;font-weight:850;text-decoration:none!important}
.products-action-primary{background:#22e08a;color:#083b32!important}
.products-action-primary:hover{background:#8af7c6}
.products-action-secondary{border:1px solid #81a8be;color:#f3fbff!important}
.products-action-secondary:hover{background:#234765}
.products-hero-notes{display:flex;flex-wrap:wrap;gap:9px 17px;color:#a9d8e5;font-size:11px;font-weight:710;margin-top:27px}
.products-hero-notes span:before{content:"✓";color:#6af2c7;margin-inline-end:7px}
.products-hero-aside{background:#0c2b49;border:1px solid #416e8d;border-radius:21px;padding:clamp(20px,2.8vw,34px);box-shadow:0 27px 65px #00132870}
.products-aside-tag{font-size:11px;font-weight:850;color:#75f3d1;letter-spacing:.14em}
.products-aside-step{display:flex;gap:15px;align-items:flex-start;margin-top:25px}
.products-aside-step>strong{background:#123d5b;border:1px solid #4e8ca3;color:#b1ffe8;border-radius:10px;padding:10px;font-size:16px;font-weight:860}
.products-aside-step b{display:block;color:#fff;font-size:14px}
.products-aside-step small{display:block;color:#b6d2e5;font-size:12px;line-height:1.65;margin-top:5px}
.products-hero-aside>p{border-top:1px solid #345875;padding-top:18px;margin:27px 0 0;color:#bad0e0;font-size:11px;line-height:1.75}
.products-proof{background:#e9f3f9;border-bottom:1px solid #d1e3ed}
.products-proof .hub-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px 35px;min-height:59px;padding-block:12px}
.products-proof span{font-size:11px;font-weight:800;color:#335c74}
.products-proof span:before{content:"✓";color:#008c74;margin-inline-end:7px}
.products-catalog-section{padding:clamp(60px,7vw,95px) 0}
.products-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.75fr);gap:35px;align-items:end;margin-bottom:34px}
.products-section-heading h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.05em;line-height:1.13;color:#0e3451;margin:0}
.products-section-heading>p{font-size:13px;line-height:1.85;color:#536e82;margin:0}
.products-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;background:#fff;border:1px solid #d3e3ef;border-radius:16px;padding:19px;margin-bottom:14px}
.products-filter-buttons{display:flex;gap:7px;flex-wrap:wrap;flex:1}
.products-filter-buttons button{min-height:43px;border:1px solid #c7deec;color:#245b7c;background:#eef6fb;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:810;cursor:pointer}
.products-filter-buttons button:hover{border-color:#69b7e6}
.products-filter-buttons button[aria-pressed=true]{color:#fff;background:#094c9b;border-color:#094c9b}
.products-search{display:grid;gap:7px;flex:0 1 315px;min-width:210px}
.products-search label{font-size:11px;font-weight:850;color:#385970}
.products-search input{min-height:45px;width:100%;border-radius:9px;border:1px solid #b8d0e1;padding:10px 13px;background:#fbfdff;font-size:13px;color:#123450}
.products-results-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 22px;color:#536f85;font-size:12px;font-weight:710}
.products-results-line button{border:0;background:transparent;color:#0454ac;font-size:12px;font-weight:860;text-decoration:underline;cursor:pointer;min-height:40px}
.products-results-line button:disabled{color:#8ea3b2;text-decoration:none;cursor:default}
.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.product-item{display:flex;flex-direction:column;min-width:0;gap:14px;background:#fff;border:1px solid #d5e4f0;border-radius:20px;padding:clamp(19px,2.3vw,29px);box-shadow:0 9px 28px #1738590c}
.product-item[hidden]{display:none!important}
.product-card-head{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}
.product-category-label{font-size:10px;font-weight:870;color:#006f71;letter-spacing:.095em}
.product-quote-label{border:1px solid #b6dbcc;color:#0e6a54;background:#edf8f2;border-radius:80px;font-size:10px;font-weight:830;padding:5px 10px}
.product-item h3{font-size:clamp(23px,2.55vw,33px);color:#133652;letter-spacing:-.045em;line-height:1.14;margin:6px 0 0}
.product-summary{color:#4d6e85;font-size:13px;line-height:1.8;margin:0;max-width:690px}
.product-item h4{font-size:12px;font-weight:860;color:#245a78;margin:6px 0 -2px}
.product-options{display:grid;gap:10px}
.product-option{display:grid;gap:6px;min-height:105px;background:#f7fbff;border:1px solid #d4e4ef;border-radius:12px;padding:15px 16px;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease}
.product-option:hover{border-color:#559ee2;box-shadow:0 6px 18px #135caa12;background:#f1f8ff}
.product-option strong{font-size:14px;color:#0e395e;line-height:1.4}
.product-option small{font-size:11px;color:#547087;line-height:1.65}
.product-option-cta{color:#0057b8;font-size:11px;font-weight:870;align-self:end}
.product-boundary{border-top:1px solid #e1ebf2;margin-top:auto;padding-top:15px;display:grid;gap:6px}
.product-boundary strong{font-size:11px;color:#4d6576}
.product-boundary p{font-size:11px;color:#687f90;line-height:1.7;margin:0}
.product-preview{display:inline-flex;font-size:12px;font-weight:790;color:#0354a2;text-decoration:underline;text-underline-offset:3px;margin-top:5px;min-height:40px;align-items:center}
.products-empty{border:1px dashed #a1c5df;border-radius:15px;padding:28px;text-align:center;background:#f0f6fb;color:#3a607d;font-size:13px}
.products-empty[hidden]{display:none}
.products-clarity{background:#e8f2f8;padding:clamp(58px,7vw,85px) 0}
.products-clarity-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.products-clarity h2{font-size:clamp(27px,3vw,44px);letter-spacing:-.05em;line-height:1.17;color:#143955;margin:0}
.products-clarity-grid>div:nth-child(2)>p{font-size:14px;line-height:1.84;color:#516d82;margin:0}
.products-clarity-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.products-clarity-actions a{display:inline-flex;align-items:center;min-height:46px;padding:11px 14px;background:#fff;border:1px solid #aacbe0;color:#0b517d;font-size:12px;font-weight:850;border-radius:10px;text-decoration:none}
.products-clarity-actions a:last-child{background:#0e466d;color:#fff;border-color:#0e466d}
.products-faq{padding:clamp(60px,7vw,90px) 0;background:#fff}
.products-faq h2{font-size:clamp(27px,3.4vw,44px);letter-spacing:-.045em;line-height:1.15;color:#143855;max-width:800px}
.products-faq details{max-width:970px;border-bottom:1px solid #d8e5ee;padding:19px 0}
.products-faq summary{font-size:15px;font-weight:850;color:#173954;cursor:pointer;line-height:1.5}
.products-faq details p{margin:14px 0 0;color:#566f84;font-size:13px;line-height:1.85}
.product-option:focus-visible,.product-preview:focus-visible,.products-filter-buttons button:focus-visible,
.products-search input:focus-visible,.products-results-line button:focus-visible,
.products-hero a:focus-visible,.products-clarity a:focus-visible,.products-faq summary:focus-visible{outline:3px solid #00a9ff;outline-offset:3px}
@media(max-width:950px){.products-hero-grid{grid-template-columns:1fr;gap:22px}.products-hero-aside{max-width:700px}.products-section-heading{grid-template-columns:1fr;gap:12px}.products-clarity-grid{grid-template-columns:1fr;gap:25px}}
@media(max-width:760px){.products-hero-grid{padding-block:55px}.products-hero h1{font-size:clamp(40px,8vw,57px)}.products-grid{grid-template-columns:1fr}.products-controls{align-items:stretch;flex-direction:column}.products-filter-buttons{width:100%}.products-search{flex:1;width:100%;min-width:0}.product-item{padding:20px}.products-proof .hub-wrap{gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.product-option{transition:none!important}}
@media(forced-colors:active){.products-action-primary,.products-filter-buttons button[aria-pressed=true],.product-quote-label{border:2px solid ButtonText}}

.products-ar-note{background:#f0f8fc;padding:46px 0;border-top:1px solid #d4e5ed;border-bottom:1px solid #d4e5ed}
.products-ar-note h2{color:#153b59;font-size:29px;line-height:1.25;margin:0 0 12px}
.products-ar-note p{color:#4b6b81;font-size:14px;line-height:1.9;max-width:950px;margin:0}
.products-ar-note a{display:inline-flex;align-items:center;margin-top:16px;color:#0057a9;font-size:13px;font-weight:850;min-height:43px;text-decoration:underline;text-underline-offset:3px}
.products-ar-note a:focus-visible{outline:3px solid #00a9ff;outline-offset:3px}


/* Catalog → project brief: one-click choice, truthful quote-only persistent summary. */
.product-option-row{display:grid;grid-template-columns:minmax(0,1fr) 136px;gap:9px;align-items:stretch;min-width:0}
.product-option-row .product-option{min-width:0}
.product-scope-add{display:flex;align-items:center;justify-content:center;text-align:center;min-height:105px;border:1px solid #abd5d1;background:#edf9f5;color:#086352;border-radius:12px;padding:12px;font-family:inherit;font-size:11px;font-weight:880;line-height:1.5;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.product-scope-add:hover:not(:disabled){background:#d3f7ea;border-color:#36ac88}
.product-scope-add[aria-pressed=true]{background:#0b745c;color:#fff;border-color:#0b745c}
.product-scope-add:disabled{opacity:.5;cursor:not-allowed}
.product-scope-add:focus-visible{outline:3px solid #0488d5;outline-offset:3px}
.products-catalog-section.has-selections{padding-bottom:clamp(300px,38vh,425px)}
.products-selection{position:fixed;z-index:30;left:50%;bottom:max(15px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;gap:11px;width:min(1100px,calc(100vw - 28px));max-height:min(390px,65vh);overflow-y:auto;overscroll-behavior:contain;background:#0b2948;border:1px solid #356a87;border-radius:17px;box-shadow:0 21px 58px #061b32b3;padding:clamp(14px,2vw,22px);color:#f4fbff}
.products-selection[hidden]{display:none!important}
.products-selection-head{display:flex;gap:20px;align-items:center;justify-content:space-between}
.products-selection-head>div{display:grid;gap:5px}
.products-selection-kicker{font-size:9px;letter-spacing:.15em;color:#80f5cf;font-weight:900}
.products-selection-count,.products-selection-head strong{font-size:17px;color:#fff;line-height:1.25}
.products-selection-head>button{border:1px solid #638da7;color:#e7f7ff;background:#1b4768;border-radius:8px;min-height:42px;padding:9px 14px;font-family:inherit;font-size:11px;font-weight:830;cursor:pointer}
.products-selection-head>button:hover{background:#285f85}
.products-selection-items{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.products-selection-item{display:flex;gap:9px;justify-content:space-between;align-items:center;min-width:190px;max-width:340px;flex:1 1 190px;padding:9px 11px;border-radius:9px;background:#173f60;border:1px solid #375f7e}
.products-selection-label{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.products-selection-label strong{font-size:11px;color:#f8fffc;line-height:1.4}
.products-selection-label small{font-size:10px;color:#b3d4df;line-height:1.5}
.products-selection-item>button{border:0;border-radius:7px;background:#ffffff1d;color:#d6f4ff;min-width:62px;min-height:38px;padding:7px;font-family:inherit;font-size:10px;font-weight:850;cursor:pointer}
.products-selection-item>button:hover{background:#ffffff30}
.products-selection-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding-top:11px;border-top:1px solid #396080}
.products-selection-footer>p{margin:0;color:#c3deeb;font-size:11px;line-height:1.7;max-width:690px}
.products-selection-footer>a{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:47px;padding:11px 18px;border-radius:10px;background:#52f0b7;color:#073c2c!important;text-decoration:none;font-size:12px;font-weight:920;line-height:1.35}
.products-selection-footer>a:hover{background:#a4f9d9}
.products-selection-status{margin:0;color:#aad6e9;font-size:10px;line-height:1.55}
.products-selection button:focus-visible,.products-selection a:focus-visible{outline:3px solid #8dfce0;outline-offset:3px}
@media(max-width:760px){
  .product-option-row{grid-template-columns:1fr;gap:6px}
  .product-scope-add{min-height:43px;padding:9px 12px}
  .products-selection{bottom:max(5px,env(safe-area-inset-bottom));width:calc(100vw - 14px);border-radius:13px;max-height:46vh;gap:9px;padding:14px}
  .products-selection-items{max-height:130px;overflow-y:auto;flex-wrap:nowrap;flex-direction:column}
  .products-selection-item{flex:none;max-width:none;min-width:0}
  .products-selection-footer{grid-template-columns:1fr;gap:8px}
  .products-selection-footer>a{width:100%;min-height:46px}
  .products-selection-footer>p{font-size:10px}
  .products-selection-head strong{font-size:15px}
  .products-catalog-section.has-selections{padding-bottom:280px}
}
@media(prefers-reduced-motion:reduce){.product-scope-add{transition:none!important}}
@media(forced-colors:active){.product-scope-add[aria-pressed=true],.products-selection,.products-selection-footer>a{border:2px solid ButtonText}}

.products-selection-tip{font-size:12px;line-height:1.75;color:#3b657f;background:#edf7fb;border:1px solid #cde4f0;border-radius:10px;padding:12px 15px;margin:0 0 20px;max-width:940px}
