/* Products: one visual language, three distinct product stories. */
#products{--product-copy:#42576a;--product-muted:#657889;font-family:var(--display)}
#products .solutions-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end;padding:1rem 0 2.7rem}
#products .solutions-intro h2{font-size:clamp(2.5rem,4.7vw,4rem);line-height:1.22;letter-spacing:-.035em;margin:.7rem 0 0;text-wrap:balance}
#products .solutions-intro h2 span{color:var(--product-muted);font-weight:400}
#products .solutions-intro p{font-size:1rem;color:var(--product-copy);max-width:28em;margin:0 0 .3rem;line-height:1.85}
#products .solutions-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);margin-bottom:clamp(3.5rem,7vw,6rem)}
#products .solutions-index a{display:grid;grid-template-columns:2rem 1fr auto;gap:.8rem;padding:1.3rem 1.25rem;align-items:center;color:var(--ink);border-right:1px solid var(--rule);transition:background .2s}
#products .solutions-index a:first-child{padding-left:0}#products .solutions-index a:last-child{border:0;padding-right:0}
#products .solutions-index a:hover{background:var(--wash)}
#products .solutions-index .index-no{align-self:start;color:#98761f;font-size:.75rem;padding-top:.1rem}
#products .solutions-index b{display:block;font-size:1rem;font-weight:600;line-height:1.4}
#products .solutions-index small{display:block;font-size:.75rem;color:var(--product-muted);margin-top:.25rem}
#products .solutions-index .index-arrow{font-size:1.25rem;font-weight:400}
#products .solution{scroll-margin-top:calc(var(--nav-h) + 1rem);margin-bottom:clamp(4.5rem,8vw,7rem)}
#products .solution-eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;letter-spacing:.07em;color:var(--product-muted);margin-bottom:1.25rem}
#products .solution-eyebrow .solution-number{color:#9b7824;font-weight:600}
#products .solution-eyebrow::after{content:"";height:1px;background:var(--rule);flex:1;margin-left:.5rem}
#products .solution-title{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.3;letter-spacing:-.025em;margin:0 0 1.1rem;text-wrap:balance}
#products .solution-description{font-size:1rem;line-height:1.9;color:var(--product-copy);max-width:37em}
#products .solution-audience{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:var(--product-muted);font-size:.75rem;margin:1.25rem 0 1.7rem}
#products .solution-audience span+span::before{content:"/";color:var(--rule-2);margin-right:1rem}
#products .solution-link{display:inline-flex;align-items:center;gap:2.5rem;font-size:.875rem;font-weight:600;padding:.6rem 0;border-bottom:1px solid var(--ink);color:var(--ink)}
#products .solution-link span{transition:transform .18s}#products .solution-link:hover span{transform:translateX(4px)}
#products .xr-stage{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
#products .xr-visual{position:relative;margin:0;background:#dce2df;padding:.7rem .7rem 0}
#products .xr-visual img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;object-position:center}
#products .xr-visual figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;letter-spacing:.04em;color:#4a5d5e;padding:.75rem .2rem}
#products .xr-visual figcaption b{font-weight:500}
#products .solution-points{list-style:none;margin:1.4rem 0 1.8rem;padding:0;display:grid;gap:.85rem}
#products .solution-points li{display:grid;grid-template-columns:1.4rem 1fr;gap:.3rem;color:var(--product-copy);font-size:.875rem;line-height:1.7}
#products .solution-points li::before{content:"↗";color:#9a761e;font-size:1rem}
#products .solution-points b{color:var(--ink);font-weight:600}
#products .solution-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.3rem;padding:1.2rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
#products .solution-facts>div{padding:0 1.5rem;border-left:1px solid var(--rule)}#products .solution-facts>div:first-child{border:0;padding-left:0}
#products .solution-facts b{display:block;font-size:1.65rem;font-weight:500;line-height:1.3;letter-spacing:-.03em}
#products .solution-facts b small{font-size:.75rem;margin-left:.3rem;letter-spacing:0}
#products .solution-facts span{font-size:.75rem;color:var(--product-muted)}
#products .solution-details{margin-top:1.1rem;border-bottom:1px solid var(--rule)}
#products .solution-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1rem 0;font-size:.875rem;font-weight:500;color:var(--ink)}
#products .solution-details summary::-webkit-details-marker{display:none}
#products .solution-details summary small{font-size:.72rem;color:var(--product-muted);font-weight:400}
#products .solution-details summary::after{content:"＋";margin-left:auto;font-size:1.15rem;font-weight:400}
#products .solution-details[open] summary::after{content:"−"}
#products .solution-details[open] summary{border-bottom:1px solid var(--rule);margin-bottom:1.3rem}
#products .details-audience{max-width:62em;font-size:.875rem;color:var(--product-copy);line-height:1.85}
#products .details-audience b{font-weight:600;color:var(--ink);margin-right:.7rem}
#products .solution-deliveries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 2rem;margin:1.5rem 0 2rem;counter-reset:delivery}
#products .solution-deliveries>div{border-top:1px solid var(--rule);padding-top:.9rem}
#products .solution-deliveries>div::before{counter-increment:delivery;content:counter(delivery,decimal-leading-zero);display:block;font-size:.65rem;color:#9a761e;margin-bottom:.4rem}
#products .solution-deliveries b{font-size:.875rem;font-weight:600;display:block;margin-bottom:.35rem}
#products .solution-deliveries p{font-size:.8rem;line-height:1.8;margin:0;color:var(--product-copy)}
#products .details-pains{border-top:1px solid var(--rule);padding:1.2rem 0 1.4rem;font-size:.8rem;color:var(--product-copy)}
#products .details-pains b{font-size:.8rem;font-weight:600;color:var(--ink)}
#products .details-pains ul{margin:.6rem 0 0;padding-left:1.1rem;columns:2;column-gap:2.5rem}#products .details-pains li{break-inside:avoid;margin:0 0 .45rem}
#products .smo-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,4vw,4rem);align-items:center;background:var(--navy);padding:clamp(1.7rem,4vw,3.5rem);border-radius:4px;color:#f7f9fa;overflow:hidden}
#products .smo-copy .solution-title{color:#f7f9fa;font-size:clamp(1.9rem,3.1vw,2.65rem)}
#products .smo-copy .solution-title em{font-style:normal;color:#e5bd58}
#products .smo-copy .solution-description{color:#c6d3dd;font-size:.9rem}
#products .smo-copy .solution-audience{color:#b0c0ce;margin-bottom:1.3rem}
#products .smo-copy .solution-link{color:#f7f9fa;border-color:#8095a6}
#products .smo-copy .smo-mark{display:inline-flex;align-items:center;gap:.7rem;font-size:.75rem;letter-spacing:.13em;margin-bottom:1.3rem;color:#e5bd58}
#products .smo-mark::before{content:"";width:22px;height:22px;border:1px solid #8396a5;border-radius:7px;background:linear-gradient(135deg,transparent 43%,#e5bd58 44%,#e5bd58 50%,transparent 51%)}
#products .smo-workbench{background:#f9faf8;color:var(--ink);border:1px solid #c3d0d8;border-radius:10px;overflow:hidden;box-shadow:0 24px 50px #071a2940;min-width:0;transform:rotate(1deg)}
#products .workbench-bar{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid #dfe6e8}
#products .workbench-logo{font-size:.8rem;font-weight:600}#products .workbench-status{margin-left:auto;font-size:.62rem;color:#617687;display:flex;align-items:center;gap:.4rem}
#products .workbench-status::before{content:"";width:5px;height:5px;border-radius:50%;background:#8c9b79}
#products .workbench-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:.9rem .9rem 0}
#products .workbench-tabs button{border:0;background:transparent;color:#657b8b;font-size:.72rem;padding:.55rem .3rem;border-radius:5px;cursor:pointer}
#products .workbench-tabs button[aria-pressed="true"]{background:#e9eff0;color:#18374d;font-weight:600}
#products .workbench-body{padding:1.25rem 1.2rem 1.1rem;min-height:300px}
#products .workbench-kicker{font-size:.62rem;letter-spacing:.1em;color:#927025;margin-bottom:.4rem}
#products .workbench-body h4{font-size:1.15rem;line-height:1.5;font-weight:600;margin-bottom:.4rem;letter-spacing:-.015em}
#products .workbench-body>p{font-size:.75rem;line-height:1.8;color:#65798a;margin-bottom:1rem}
#products .workbench-sheet{padding:1rem;background:#fff;border:1px solid #dfe6e8;border-radius:5px;min-height:150px}
#products .sheet-label{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.65rem;color:#7c8a94;border-bottom:1px solid #e5eaed;padding-bottom:.6rem;margin-bottom:.75rem}
#products .sheet-label b{color:#2c5269;font-size:.67rem;font-weight:500;background:#edf3f4;padding:.15rem .4rem;border-radius:3px}
#products .sheet-text{font-size:.83rem!important;color:#2f4a60!important;line-height:1.8!important;margin:0 0 .8rem!important}
#products .sheet-stages{display:flex;gap:.4rem;flex-wrap:wrap}
#products .sheet-stages span{font-size:.62rem;color:#687e8e;border:1px solid #dfe6e8;padding:.2rem .45rem;border-radius:3px}
#products .workbench-bottom{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.15rem;border-top:1px solid #e0e6e8;color:#6c8090;font-size:.63rem}
#products .workbench-bottom span{margin-left:auto;color:#385b6b}
#products .solution-smo .solution-facts{margin-top:1.5rem}
#products .trend-stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
#products .trend-lab{background:#fff;border:1px solid var(--rule);padding:clamp(1.1rem,2.5vw,1.8rem);min-width:0}
#products .trend-lab-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem}
#products .trend-lab-head b{font-size:.875rem;font-weight:600}#products .trend-lab-head span{font-size:.65rem;color:var(--product-muted)}
#products .trend-controls{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
#products .trend-controls button{background:transparent;border:1px solid var(--rule);padding:.4rem .65rem;color:var(--product-muted);font-size:.68rem;cursor:pointer;border-radius:3px}
#products .trend-controls button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
#products .trend-chart{position:relative;padding:1.8rem 0 .6rem}
#products .trend-axis-y{position:absolute;left:0;top:0;font-size:.65rem;color:var(--product-muted)}
#products .trend-axis-x{display:block;text-align:right;font-size:.65rem;color:var(--product-muted)}
#products .trend-chart svg{display:block;width:100%;height:auto;overflow:visible}
#products .trend-grid{stroke:#e6ecef;stroke-width:1;fill:none}
#products .trend-area{fill:#d3a22715}
#products .trend-line{stroke:var(--navy);stroke-width:3.5;fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#products .trend-marker{fill:var(--gold);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
#products .trend-reading{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;border-top:1px solid var(--rule);padding-top:1rem;margin-top:.5rem}
#products .trend-reading b{font-weight:500;font-size:.75rem;color:#9b7722;white-space:nowrap}
#products .trend-reading p{font-size:.75rem;line-height:1.8;color:var(--product-copy);margin:0}
#products .trend-caption{font-size:.67rem;color:var(--product-muted);margin:1rem 0 0;line-height:1.8}
#products .solution-values{display:flex;gap:.5rem 1.7rem;flex-wrap:wrap;margin-top:1.6rem;font-size:.8rem;color:var(--product-copy)}
#products .solution-values span::before{content:"✓";color:#a48229;margin-right:.5rem}
#products .solution-note{font-size:.72rem;line-height:1.9;color:var(--product-muted);margin-top:1rem;max-width:75em}
#products .solutions-partner{border-top:2px solid var(--navy);display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding:2.7rem 0 .5rem;margin-top:1rem}
#products .solutions-partner h3{font-size:clamp(1.65rem,2.7vw,2.2rem);line-height:1.5;font-weight:500;letter-spacing:-.02em;margin:.5rem 0 1.4rem}
#products .solutions-partner p{font-size:.875rem;line-height:1.95;color:var(--product-copy)}
#products .solutions-partner strong{font-weight:600;color:var(--ink)}
#products .partner-detail{padding-top:.4rem}
#products .partner-detail .scope-note{font-size:.75rem;color:var(--product-muted);border-top:1px solid var(--rule);padding-top:1rem;margin-top:1rem}
#products button:focus-visible,#products a:focus-visible,#products summary:focus-visible{outline:3px solid #d3a22780;outline-offset:4px}
@media(max-width:991px){
 #products .solutions-intro{grid-template-columns:1fr;gap:1.4rem;padding-bottom:2rem}
 #products .solutions-intro p{max-width:40em}
 #products .solutions-index a{padding:1.2rem .8rem;grid-template-columns:1.3rem 1fr;gap:.5rem}
 #products .solutions-index .index-arrow{display:none}
 #products .xr-stage,#products .trend-stage{gap:2rem}
 #products .smo-stage{grid-template-columns:1fr;gap:2rem;padding:2rem}
 #products .smo-copy .solution-title{font-size:2.2rem;max-width:16em}
 #products .smo-copy .solution-description{max-width:36em}
 #products .smo-workbench{max-width:610px;width:100%;margin:0 auto;transform:none}
 #products .workbench-body{min-height:270px}
 #products .solution-deliveries{grid-template-columns:repeat(2,minmax(0,1fr))}
 #products .solutions-partner{gap:2rem}
}
@media(max-width:767px){
 #products .solutions-intro h2{font-size:clamp(2.15rem,7vw,3rem)}
 #products .solutions-index{grid-template-columns:1fr;margin-bottom:3rem}
 #products .solutions-index a,#products .solutions-index a:first-child,#products .solutions-index a:last-child{grid-template-columns:1.8rem 1fr auto;border:0;border-bottom:1px solid var(--rule);padding:.95rem 0}
 #products .solutions-index a:last-child{border-bottom:0}#products .solutions-index .index-arrow{display:block}
 #products .solutions-index small{display:inline;margin-left:.65rem}#products .solutions-index b{display:inline;font-size:.9rem}
 #products .xr-stage,#products .trend-stage{grid-template-columns:1fr;gap:1.7rem}
 #products .xr-visual img{aspect-ratio:1.4;object-position:center 50%}
 #products .xr-copy{order:-1}
 #products .solution-title{font-size:clamp(1.9rem,6.8vw,2.5rem)}
 #products .solution-description{font-size:.95rem}
 #products .solution{margin-bottom:4rem}
 #products .solution-eyebrow{font-size:.7rem;gap:.6rem;margin-bottom:1.1rem;letter-spacing:.03em}
 #products .solution-facts>div{padding:0 .8rem}#products .solution-facts b{font-size:1.35rem}#products .solution-facts span{font-size:.68rem}
 #products .solution-facts b small{font-size:.65rem}
 #products .smo-stage{padding:1.6rem 1.15rem;gap:1.8rem;margin:0 -.15rem}
 #products .smo-copy .solution-title{font-size:clamp(1.85rem,6.5vw,2.3rem)}
 #products .smo-copy .solution-description{font-size:.875rem}
 #products .workbench-tabs{padding:.7rem .6rem 0}#products .workbench-tabs button{font-size:.68rem}
 #products .workbench-body{padding:1.1rem .85rem;min-height:295px}#products .workbench-body h4{font-size:1rem}
 #products .workbench-sheet{padding:.8rem}#products .sheet-text{font-size:.78rem!important}
 #products .workbench-bottom{padding:.7rem .85rem;font-size:.6rem;gap:.35rem}
 #products .solution-deliveries{gap:1.2rem 1rem}#products .solution-deliveries b{font-size:.8rem}#products .solution-deliveries p{font-size:.75rem}
 #products .solution-details summary{font-size:.8rem;gap:.55rem}#products .solution-details summary small{font-size:.65rem}
 #products .details-pains ul{columns:1}
 #products .solutions-partner{grid-template-columns:1fr;gap:.5rem;padding-top:2rem}
 #products .solutions-partner h3{max-width:15em}
}
@media(prefers-reduced-motion:reduce){#products .solution-link span{transition:none}}
