/* Editorial product banners and a two-column tool workbench. */
.portal-frame{grid-template-columns:.88fr 1.32fr;min-height:650px}
.portal-carousel{min-height:650px;touch-action:pan-y}
.portal-slide{padding:36px 30px 112px}
.slide-category{font-size:11px;line-height:1.6;max-width:calc(100% - 120px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:20px}
.slide-copy h2{font-size:35px;line-height:1.3;letter-spacing:-1.2px;max-width:390px}
.slide-copy p{font-size:13px;line-height:1.85;max-width:335px;margin-top:15px}
.slide-link{font-size:12px;display:inline-flex;min-height:37px;align-items:center;gap:16px;padding:8px 14px;background:var(--brand-blue);color:#fff;border-radius:7px;margin-top:20px}
.slide-link .icon{width:13px;height:13px}
.slide-art{position:absolute;left:25px;right:25px;bottom:121px;padding:9px;background:var(--portal-surface);border:1px solid var(--brand-line);border-radius:13px;box-shadow:0 10px 28px color-mix(in srgb,var(--brand-blue) 9%,transparent)}
.slide-art img{display:block;position:static;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:7px}
.slide-output{position:absolute;right:15px;bottom:-12px;display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:6px;padding:4px 9px;color:var(--brand-ink);font-size:10px;line-height:1.6;box-shadow:0 3px 10px #162c4c08}
.slide-output:before{content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--brand)}
.slide-image-note{bottom:88px;left:30px;right:auto;font-size:10px;color:var(--portal-muted)}
.carousel-actions{position:absolute;right:23px;top:26px;z-index:3;display:flex;align-items:center;gap:7px}
.carousel-actions button{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--brand-line);background:var(--portal-surface);color:var(--brand-ink);border-radius:50%;padding:0}
.carousel-actions button:hover{background:var(--brand-soft)}
.carousel-actions .icon{width:12px;height:12px}.carousel-actions [data-carousel-prev] .icon{transform:rotate(180deg)}
.carousel-actions [data-carousel-pause]{border:0;border-radius:5px;background:none;font-size:10px;color:var(--portal-muted);width:29px}
.carousel-fraction{font-size:9px;color:var(--portal-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.carousel-tabs{position:absolute;bottom:20px;left:30px;right:30px;display:grid;grid-template-columns:1fr 1fr;gap:20px;z-index:3}
.carousel-tabs button{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:41px;padding:13px 0 0;border-top:2px solid var(--brand-line);color:var(--portal-muted)}
.carousel-tabs button>span{font-size:9px;flex-shrink:0;opacity:.7}.carousel-tabs strong{font-size:12px;font-weight:500;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.carousel-tabs button[aria-pressed=true]{color:var(--brand-ink)}
.carousel-tab-progress{display:block;position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left center}
.carousel-tabs button[aria-pressed=true] .carousel-tab-progress{transform:scaleX(1)}
.portal-directory{padding:26px 24px 18px}
.directory-heading h2{font-size:16px}
.directory-filters{margin:15px 0 0}
.directory-body{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.25fr);gap:22px;flex:1;margin:22px 0 17px;min-width:0}
.directory-facets{min-width:0;border-right:1px solid var(--line-soft);padding-right:18px}
.facet-group{margin-bottom:27px}.facet-group h3,.directory-list-label{font-size:11px;font-weight:400;line-height:1.6;color:var(--muted);margin:0 0 12px}
.facet-chips{display:flex;gap:7px 6px;flex-wrap:wrap}
.facet-chips button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-soft);background:var(--bg-soft);color:var(--body);border-radius:5px;padding:5px 7px;min-height:27px;font-size:10px;line-height:1.4;white-space:nowrap}
.facet-chips button:hover{border-color:var(--brand-line);color:var(--brand-ink)}
.facet-chips button[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}
.facet-chips .icon{width:12px;height:12px;color:var(--brand)}
.facet-links{display:grid;gap:8px}.facet-links a{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.8;color:var(--body)}.facet-links .icon{width:11px;height:11px;color:var(--faint)}.facet-links a:hover{color:var(--brand-ink)}
.facet-reset{font-size:10px;color:var(--muted);padding:5px 0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.directory-results{min-width:0}.directory-list-label{margin-bottom:10px}
.directory-list{min-height:0;gap:7px}.directory-row{min-height:51px;border:1px solid var(--line-soft);border-radius:7px;background:var(--portal-row);padding:8px 9px;gap:8px}.directory-row:hover{border-color:var(--brand-line)}
.directory-content strong{font-size:12px}.directory-content small{font-size:10px}.directory-mark{width:27px;height:27px;font-size:9px;background:var(--portal-surface)}
.directory-mark.company{background:var(--brand-soft)}.directory-badge{font-size:9px;padding:2px 5px;background:var(--portal-surface)}.directory-row>.icon{width:10px;height:10px}
.directory-foot{padding-top:14px;margin-top:0}
@media(max-width:1200px){.portal-slide{padding-inline:25px}.slide-copy h2{font-size:31px}.slide-copy p{font-size:12px}.slide-art{left:19px;right:19px}.slide-image-note{left:25px}.carousel-tabs{left:25px;right:25px;gap:14px}.carousel-actions{right:18px}.portal-directory{padding-inline:20px}.directory-body{grid-template-columns:minmax(150px,.8fr) minmax(0,1.25fr);gap:17px}.directory-facets{padding-right:14px}.directory-badge{display:none}.facet-chips button{font-size:9px;padding:5px 6px}}
@media(max-width:1000px){.portal-frame{grid-template-columns:.88fr 1.32fr}.slide-copy h2{font-size:29px}.slide-category{font-size:10px}.carousel-fraction{display:none}.carousel-actions{gap:5px}.directory-body{grid-template-columns:minmax(135px,.8fr) minmax(0,1.25fr);gap:14px}.portal-directory{padding-inline:17px}.facet-chips{gap:6px 5px}.directory-row{padding:8px 6px;gap:6px}.directory-mark{width:24px;height:24px}.directory-content strong{font-size:11px}.directory-content small{font-size:9px}.directory-list{gap:7px}.directory-row>.icon{display:none}.slide-art{bottom:133px}.slide-image-note{bottom:96px;font-size:9px}}
@media(max-width:850px){.portal-frame{grid-template-columns:1fr;min-height:0}.portal-carousel{min-height:580px}.portal-slide{padding:32px 30px 110px}.slide-copy h2{font-size:35px}.slide-copy p{font-size:13px}.slide-category{font-size:11px}.slide-art{left:30px;right:30px;bottom:121px;max-width:440px;margin-inline:auto}.slide-image-note{bottom:88px;left:30px}.carousel-actions{top:26px;right:24px;gap:8px}.carousel-fraction{display:block}.portal-directory{border-left:0;border-top:1px solid var(--line);padding:25px}.directory-body{grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);gap:20px}.directory-mark{width:27px;height:27px}.directory-content strong{font-size:12px}.directory-content small{font-size:10px}.directory-row{padding:8px}.facet-chips button{font-size:10px}.facet-group{margin-bottom:26px}.directory-row>.icon{display:block}}
@media(max-width:550px){.portal-carousel{min-height:545px}.portal-slide{padding:29px 21px 102px}.slide-category{font-size:10px;max-width:calc(100% - 100px);margin-bottom:20px}.slide-copy h2{font-size:30px;line-height:1.3}.slide-copy p{font-size:12px;max-width:260px;line-height:1.85}.slide-link{font-size:11px;min-height:36px;margin-top:17px;padding:8px 12px}.slide-art{left:15px;right:15px;bottom:116px;padding:6px;max-width:330px}.slide-output{font-size:9px;right:9px;bottom:-12px}.slide-image-note{left:21px;bottom:85px;font-size:8px}.carousel-actions{right:14px;top:23px;gap:5px}.carousel-actions button{width:25px;height:25px}.carousel-actions [data-carousel-pause]{font-size:9px;width:26px}.carousel-fraction{display:none}.carousel-tabs{left:21px;right:21px;bottom:18px;gap:14px}.carousel-tabs strong{font-size:11px}.carousel-tabs button{gap:6px}.carousel-tabs button>span{font-size:8px}.portal-directory{padding:22px 18px 17px}.directory-body{grid-template-columns:1fr;gap:20px;margin-top:21px}.directory-facets{border-right:0;padding-right:0;border-bottom:1px solid var(--line-soft);padding-bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:19px 14px}.facet-group{margin:0}.facet-group h3{margin-bottom:10px}.facet-chips{gap:5px}.facet-chips button{font-size:9px;padding:5px 6px}.facet-links a{font-size:10px}.facet-reset{grid-column:1/-1;width:max-content;min-height:28px}.directory-row{min-height:51px;padding:8px 10px}.directory-badge{display:block}.directory-content strong{font-size:13px}.directory-content small{font-size:10px}.directory-foot{font-size:10px}.directory-list-label{font-size:11px}}
@media(max-width:350px){.slide-copy h2{font-size:27px}.slide-category{max-width:calc(100% - 88px);font-size:9px}.carousel-actions{gap:3px;right:12px}.slide-copy p{font-size:11px}.portal-carousel{min-height:530px}.slide-art{bottom:125px}.slide-image-note{bottom:92px}.carousel-tabs strong{font-size:10px}.facet-chips button{font-size:8px}.directory-badge{display:none}}

/* A quieter, larger first screen, aligned with the navigation. */
@media(min-width:1001px){
 .site-header,.header-inner{height:72px}
 .header-inner{width:min(1600px,88.5%);max-width:none;padding-inline:0;gap:22px}
 .header-search{flex:0 1 360px;min-width:150px;height:38px;background:var(--portal-surface)}
 #site-nav{gap:23px;font-size:14px}
 #site-nav>a{gap:7px;min-height:42px}
 #site-nav .icon{width:15px;height:15px;color:var(--faint)}
 #site-nav .nav-cta{border-radius:22px;padding:9px 18px;min-height:35px;font-size:13px;margin-left:6px}
 .theme-toggle{border:0;border-left:1px solid var(--line);border-radius:0;padding-left:15px;width:34px}
 .portal-home{width:min(1600px,88.5%);margin-top:56px;scroll-margin-top:128px}
 .portal-frame{grid-template-columns:.96fr 1.24fr;min-height:clamp(650px,81svh,820px);border-radius:26px}
 .portal-carousel{min-height:clamp(650px,81svh,820px)}
 .portal-slide{padding:42px 34px 112px}
 .slide-copy h2{font-size:clamp(35px,2.7vw,45px);line-height:1.3}
 .slide-copy p{font-size:14px;max-width:390px}
 .slide-art{left:30px;right:30px;bottom:128px}
 .slide-image-note{left:34px;bottom:91px}
 .carousel-tabs{left:34px;right:34px;bottom:24px}
 .carousel-actions{top:31px;right:28px}
 .portal-directory{padding:30px 26px 22px}
 .directory-body{margin-top:26px;gap:22px}
 .directory-list{gap:9px}
 .directory-row{min-height:55px}
}
@media(min-width:1001px) and (max-width:1280px){
 .header-inner{gap:16px}.header-search{flex-basis:240px;min-width:125px}
 #site-nav{gap:16px;font-size:13px}#site-nav>a{gap:5px}#site-nav .icon{width:13px;height:13px}
 #site-nav .nav-cta{padding-inline:14px;margin-left:0}.theme-toggle{padding-left:10px;width:30px}
 .portal-slide{padding-inline:27px}.slide-copy h2{font-size:33px}.slide-copy p{font-size:12px}
 .slide-art{left:23px;right:23px}.slide-image-note{left:27px}.carousel-tabs{left:27px;right:27px}
 .portal-directory{padding-inline:20px}.directory-body{gap:16px;grid-template-columns:minmax(140px,.8fr) minmax(0,1.25fr)}
}
@media(max-width:1000px){#site-nav>a>.icon{flex-shrink:0}}
@media(min-width:551px) and (max-width:850px){.portal-carousel{min-height:650px}}

/* Direct destinations and two independent, image-led product introductions. */
.solution-directory{display:flex;align-items:stretch;padding:44px 28px;background:var(--portal-surface)}
.solution-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%;min-width:0}
.solution-column{min-width:0}.solution-column h2{font-size:20px;font-weight:650;line-height:1.5;margin:0 0 30px;letter-spacing:-.5px}
.solution-list{display:grid;gap:14px}.solution-row{display:flex;align-items:center;gap:11px;min-width:0;min-height:69px;padding:12px 11px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg-soft);color:var(--ink)}
.solution-row:hover{border-color:var(--brand-line);background:var(--brand-soft)}.solution-row strong{font-size:15px;font-weight:550;line-height:1.5;min-width:0}.solution-row>.icon{width:13px;height:13px;margin-left:auto;flex-shrink:0;color:var(--muted)}
.solution-mark{width:31px;height:31px;display:grid;place-items:center;flex-shrink:0;color:var(--brand-ink);background:var(--portal-surface);border-radius:7px;font-size:13px}.solution-mark .icon{width:18px;height:18px}.solution-row.company{background:var(--brand-soft);border-color:var(--brand-line)}
.portal-slide{padding-top:66px}.carousel-actions{top:24px}.carousel-tabs strong{font-size:14px}.slide-copy h2{margin-top:0}.slide-copy p{font-size:16px}.slide-link{font-size:14px}
.company-overview{padding:60px 0 70px;width:min(1600px,88.5%)}.product-overview-grid{gap:44px}
.product-overview-row{display:grid;grid-template-columns:.96fr 1.24fr;gap:0;padding:0;min-height:490px;border-radius:26px;border:1px solid var(--line);overflow:hidden;background:var(--portal-surface)}
.product-overview-image{padding:34px;min-width:0;background:var(--portal-tint);border-radius:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--brand-line)}
.product-overview-image>.preview-graphic{width:100%;height:auto;max-height:none}.product-overview-image>img{display:block;width:100%;height:auto;max-height:none;border-radius:9px;box-shadow:var(--shadow-2)}
.product-overview-copy{padding:65px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.product-overview-copy h2{font-size:38px;line-height:1.35;margin:0 0 24px;letter-spacing:-1px}.product-overview-copy p{font-size:17px;line-height:1.9;margin:0;max-width:520px}.product-overview-actions{margin-top:34px;font-size:15px;gap:24px}.product-overview-actions .button{padding:11px 19px;color:#fff;min-height:43px;font-size:15px}.product-overview-actions>button:not(.button){font-size:15px;color:var(--brand-ink)}
.tool-usage{margin-top:30px;color:var(--muted);font-size:14px;line-height:1.8}.tool-usage summary,.tool-detail summary{cursor:pointer}.tool-detail{font-size:14px;line-height:1.8;max-width:100%}.tool-detail p{font-size:14px!important;line-height:1.8!important;margin:12px 0!important}.tool-detail a{font-size:14px}.oss-card-foot{align-items:flex-start}.oss-card p,.utility-item p{font-size:15px;line-height:1.9}.oss-card-foot>a,.utility-links>a{font-size:14px}.oss-card,.utility-item{min-height:260px}.product-story-copy p{font-size:17px}.story-io dt,.story-io dd{font-size:15px}.company-footer-bottom{font-size:14px}
@media(min-width:1001px) and (max-width:1280px){.solution-directory{padding:40px 20px}.solution-columns{gap:16px}.solution-column h2{font-size:17px}.solution-row{padding:11px 8px;gap:8px}.solution-row strong{font-size:13px}.solution-mark{width:26px;height:26px}.product-overview-copy{padding:48px 35px}.product-overview-copy h2{font-size:33px}}
@media(max-width:1000px){.solution-directory{padding:32px 24px}.solution-column h2{font-size:19px}.product-overview-row{min-height:410px}.product-overview-copy{padding:35px 28px}.product-overview-copy h2{font-size:29px}.product-overview-copy p{font-size:15px}.product-overview-image{padding:24px}}
@media(max-width:850px){.solution-directory{border-top:1px solid var(--line)}.solution-columns{gap:24px}.product-overview-row{grid-template-columns:1fr}.product-overview-image{border-right:0;border-bottom:1px solid var(--brand-line);min-height:260px;padding:32px}.product-overview-image>.preview-graphic{max-height:300px}.product-overview-image>img{max-height:320px;object-fit:contain}.product-overview-copy{padding:36px}.company-overview{width:calc(100% - 48px)}.portal-slide{padding-top:62px}}
@media(max-width:550px){.solution-directory{padding:29px 18px}.solution-columns{grid-template-columns:1fr;gap:36px}.solution-column h2{font-size:22px;margin-bottom:19px}.solution-row{min-height:60px;padding:10px 13px}.solution-row strong{font-size:16px}.solution-list{gap:10px}.company-overview{width:calc(100% - 32px);padding-block:36px 44px}.product-overview-grid{gap:28px}.product-overview-row{border-radius:18px}.product-overview-image{padding:22px 16px;min-height:200px}.product-overview-copy{padding:30px 24px}.product-overview-copy h2{font-size:29px;margin-bottom:17px}.product-overview-copy p{font-size:16px}.product-overview-actions{flex-wrap:wrap;margin-top:26px;gap:20px}.portal-slide{padding-top:62px}.slide-copy p{font-size:13px}.carousel-tabs strong{font-size:12px}.slide-link{font-size:13px}}

/* Inline previews recolor in the same paint as the surrounding interface. */
:root{--preview-color-0:#fff;--preview-color-1:#d6e2f3;--preview-color-2:#f6f9fe;--preview-color-3:#a8bbd5;--preview-color-4:#c5d2e4;--preview-color-5:#dbe4f0;--preview-color-6:#29466d;--preview-color-7:#eaf1fd;--preview-color-8:#6080ad;--preview-color-9:#f8faff;--preview-color-10:#e6edf7;--preview-color-11:#e5efff;--preview-color-12:#3370df;--preview-color-13:#7c8ca4;--preview-color-14:#fbfcff;--preview-color-15:#e4ebf6;--preview-color-16:#e9f1ff;--preview-color-17:#4a7bd0;--preview-color-18:#334e73;--preview-color-19:#8596af;--preview-color-20:#8dadde;}
:root[data-theme=dark]{--preview-color-0:#182537;--preview-color-1:#34465f;--preview-color-2:#1d2b41;--preview-color-3:#a8bbd5;--preview-color-4:#c5d2e4;--preview-color-5:#dbe4f0;--preview-color-6:#d3e0f3;--preview-color-7:#223e65;--preview-color-8:#aac0e2;--preview-color-9:#152134;--preview-color-10:#293951;--preview-color-11:#223e65;--preview-color-12:#a4c2ff;--preview-color-13:#9bafca;--preview-color-14:#1b2b42;--preview-color-15:#30435e;--preview-color-16:#223e65;--preview-color-17:#a4c2ff;--preview-color-18:#d3e0f3;--preview-color-19:#9bafca;--preview-color-20:#7d9dce;}
.slide-art>.preview-graphic{display:block;width:100%;height:auto;border-radius:7px}.product-overview-image>.preview-graphic{display:block;width:100%;height:auto;max-height:260px;flex-shrink:0}
@media(max-width:550px){.product-overview-image>.preview-graphic{max-height:165px}}

/* Campaign artwork keeps its own colors in both themes; no image source swapping. */
.product-overview-image{align-self:stretch;padding:0;background:#eaf1fb}
.product-overview-image>.product-poster{display:block;width:100%;height:auto;max-height:none;border-radius:0;box-shadow:none;object-fit:contain;flex-shrink:0}
.product-overview-row{min-height:440px}
.poster-slide-art{padding:0;background:#eaf1fb;overflow:hidden;border-radius:12px}
.poster-slide-art>.product-poster{width:100%;height:auto;max-height:none;border-radius:0}
@media(min-width:1001px) and (max-width:1280px){.product-overview-row{min-height:400px}}
@media(max-width:850px){.product-overview-image{padding:0;min-height:0}.product-overview-image>.product-poster{width:100%;height:auto;max-height:none;object-fit:contain}.product-overview-row{min-height:0}}
@media(max-width:550px){.product-overview-image{padding:0;min-height:0}.product-overview-image>.product-poster{max-height:none}}

.product-overview-row.product-reveal{opacity:.06;translate:0 24px;transition:opacity .75s ease,translate .8s cubic-bezier(.2,.6,.3,1)}
.product-overview-row.product-in-view,.product-overview-row.product-reveal:focus-within{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.product-overview-row.product-reveal{opacity:1;translate:none;transition:none}}
@media(min-width:551px) and (max-width:850px){.portal-carousel{min-height:700px}}
@media(max-width:550px){.portal-carousel{min-height:600px}}

/* Keep the CTA and campaign art in normal flow so they never overlap. */
.portal-carousel .portal-slide{display:flex;flex-direction:column;gap:24px;padding:44px 32px 105px}
.portal-carousel .slide-copy{flex:0 0 auto}
.portal-carousel .poster-slide-art{position:relative;inset:auto;left:auto;right:auto;bottom:auto;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;aspect-ratio:auto;overflow:hidden}
.portal-carousel .poster-slide-art>.product-poster{position:static;display:block;width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:12px}
.portal-carousel .slide-link{margin-top:22px;gap:13px;min-height:42px;padding:10px 17px;font-size:14px;line-height:1.4;border-radius:8px}
.carousel-tabs button{transition:color .18s ease;border-radius:0}.carousel-tabs button:hover{color:var(--brand-ink)}
@media(max-width:850px){.portal-carousel .portal-slide{padding:36px 30px 100px;gap:24px}}
@media(max-width:550px){.portal-carousel .portal-slide{padding:32px 21px 96px;gap:22px}.portal-carousel .slide-link{font-size:13px;min-height:40px;margin-top:18px}}
