.solution-page { --solution-space:clamp(64px,7.5vw,112px); }
.solution-page :is(section,nav)[id],.solution-directory { scroll-margin-top:calc(var(--site-shell-height) + 24px); }
.solution-page a:focus-visible,.solution-page button:focus-visible,.solution-page summary:focus-visible,.solution-directory a:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.solution-page .category-hero { min-height:0; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
.solution-page .category-hero-copy { padding-top:32px; padding-bottom:50px; }
.solution-page .category-hero-copy>.category-kicker { position:relative; padding-left:57px; line-height:1.5; }
.solution-page .category-hero-copy>.category-kicker::before { position:absolute; left:0; top:.6em; margin:0; }
.solution-page .category-breadcrumb { margin-bottom:0; padding-bottom:42px; }
.solution-page .category-hero h1 { font-size:clamp(50px,5.25vw,86px); line-height:.98; letter-spacing:-.06em; text-wrap:balance; }
.solution-page .category-lead { font-size:clamp(18px,1.4vw,22px); margin-top:26px; }
.solution-page .category-hero-actions { margin-top:30px; }
.solution-page .category-primary-action { min-width:240px; }
.solution-hero-image { min-width:0; margin:0; padding:32px 36px; border-left:1px solid var(--ink); background:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.solution-image-label { display:flex; justify-content:space-between; gap:24px; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.solution-image-label span:last-child { color:var(--ink); border-bottom:3px solid var(--signal); padding-bottom:6px; }
.solution-hero-image>img { width:100%; height:clamp(320px,31vw,510px); object-fit:contain; padding:24px 4px; }
.solution-hero-image figcaption { border-top:1px solid var(--line); padding-top:18px; font-size:14px; }
.solution-hero-image figcaption a { display:flex; justify-content:space-between; gap:20px; }
.solution-hero-image figcaption a:hover { text-decoration:underline; }
.solution-hero-image figcaption small { display:block; margin-top:9px; color:var(--muted); font-size:11px; line-height:1.5; }
.solution-jump-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--ink); }
.solution-jump-links a { display:flex; align-items:center; gap:18px; padding:28px 32px; font-size:16px; }
.solution-jump-links a+a { border-left:1px solid var(--ink); }
.solution-jump-links a>span:first-child { font-size:11px; color:var(--muted); }
.solution-jump-links a>span:last-child { margin-left:auto; }
.solution-jump-links a:hover { background:var(--signal); }
.solution-applications,.solution-company-blocks { padding:var(--solution-space) var(--gutter); }
.solution-page .category-section-head { grid-template-columns:.48fr 1fr .8fr; gap:40px; margin-bottom:46px; }
.solution-page .category-section-head h2 { font-size:clamp(42px,4.6vw,70px); }
.solution-scenarios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.solution-scenarios article { min-width:0; position:relative; display:flex; flex-direction:column; border:1px solid var(--line); background:#fff; }
.solution-scenario-index { position:absolute; z-index:1; top:14px; left:14px; display:grid; place-items:center; width:32px; height:32px; background:var(--paper); border:1px solid var(--line); font-size:11px; }
.solution-scenario-image { aspect-ratio:1.5; background:#fff; padding:18px; overflow:hidden; }
.solution-scenario-image img { display:block; width:100%; height:100%; object-fit:contain; }
.solution-scenario-image.is-scene { padding:0; }
.solution-scenario-image.is-scene img { object-fit:cover; }
.solution-scenario-copy { padding:26px; display:flex; flex:1; flex-direction:column; }
.solution-scenario-copy h3 { margin:0 0 14px; font-weight:500; font-size:28px; line-height:1.05; letter-spacing:-.04em; }
.solution-scenario-copy p { margin:0 0 26px; color:var(--muted); font-size:16px; line-height:1.5; }
.solution-scenario-copy a { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid var(--line); font-size:13px; line-height:1.4; }
.solution-scenario-copy a:hover { text-decoration:underline; text-underline-offset:3px; }
.solution-scenarios--text article { padding-top:60px; border-top:3px solid var(--signal); }
.solution-selection { padding:var(--solution-space) var(--gutter); display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,8vw,130px); border-top:1px solid var(--line); background:#e5e9e5; }
.solution-selection h2,.solution-related h2,.solution-company-blocks>h2 { margin:0; font:500 clamp(42px,4.6vw,70px)/.98 var(--display); letter-spacing:-.06em; }
.solution-selection ol { list-style:none; margin:0; padding:0; counter-reset:criteria; border-top:1px solid var(--ink); }
.solution-selection li { position:relative; padding:23px 0 25px 46px; border-bottom:1px solid var(--line); counter-increment:criteria; }
.solution-selection li::before { content:"0" counter(criteria); position:absolute; top:26px; left:0; font-size:12px; color:var(--muted); }
.solution-selection h3 { margin:0 0 10px; font-size:23px; line-height:1.15; font-weight:500; letter-spacing:-.02em; }
.solution-selection li p { margin:0; max-width:600px; color:#505853; line-height:1.5; font-size:16px; }
.solution-page .category-solution-offer { margin:0; }
.solution-page .category-range,.solution-page .category-answers { padding:var(--solution-space) var(--gutter); }
.solution-page .category-product-copy h3 { font-size:clamp(27px,2.4vw,38px); overflow-wrap:anywhere; }
.solution-page .category-product-copy { min-height:240px; }
.solution-page .category-product-copy>span small { display:block; color:var(--muted); font-size:11px; margin-bottom:6px; }
.solution-page .category-product-copy>span b { display:block; color:var(--ink); font-weight:500; font-size:17px; line-height:1.25; overflow-wrap:anywhere; }
.solution-single-product { max-width:620px; grid-template-columns:1fr; }
.solution-more-models { border:1px solid var(--ink); padding:0 24px; margin-top:24px; }
.solution-more-models summary { padding:24px 0; font-size:18px; cursor:pointer; }
.solution-more-models nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; padding-bottom:24px; }
.solution-more-models a { padding:16px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.solution-more-models a:hover { text-decoration:underline; }
.solution-page .category-commercial { padding:var(--solution-space) var(--gutter); gap:clamp(36px,5vw,80px); }
.solution-page .category-commercial-title h2 { font-size:clamp(44px,4.6vw,72px); }
.solution-page .category-commercial-grid>div { grid-template-columns:25px minmax(120px,.6fr) 1fr; gap:16px; }
.solution-page .category-commercial-grid small { display:block; color:#fff; font-size:11px; margin-top:10px; font-weight:400; }
.solution-commercial-note { margin:28px 0 0; color:#fff; text-transform:none!important; letter-spacing:0!important; font-size:15px!important; line-height:1.55; font-weight:400!important; max-width:440px; }
.solution-page .category-commercial-grid p { color:#fff; }
.solution-related { padding:0 var(--gutter) var(--solution-space); }
.solution-related nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin-top:36px; border-top:1px solid var(--ink); }
.solution-related nav a { padding:23px 0; display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); font-size:20px; }
.solution-related nav a:hover { color:var(--blue); }
.solution-company-hero { padding:32px var(--gutter) 72px; border-bottom:1px solid var(--ink); }
.solution-company-hero h1 { max-width:1100px; margin:0; font:500 clamp(56px,7vw,112px)/.97 var(--display); letter-spacing:-.065em; text-wrap:balance; }
.solution-company-intro { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-top:30px; }
.solution-company-intro .category-lead { max-width:760px; margin:0; }
.solution-company-intro button { flex-shrink:0; }
.solution-preview-notice { margin:32px 0 0; max-width:760px; border-left:3px solid var(--signal); padding-left:18px; font-size:14px; color:var(--muted); line-height:1.5; }
.solution-company-blocks>h2 { max-width:800px; }
.solution-company-blocks>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:48px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.solution-company-blocks article { padding:30px; }
.solution-company-blocks article+article { border-left:1px solid var(--line); }
.solution-company-blocks article>span { color:var(--muted); font-size:12px; }
.solution-company-blocks h3 { margin:36px 0 20px; font-size:30px; line-height:1.08; font-weight:500; letter-spacing:-.04em; }
.solution-company-blocks article p { margin:0; color:var(--muted); font-size:16px; line-height:1.5; }
.company-page .solution-related { padding-top:var(--solution-space); }
.solution-directory { padding:80px var(--gutter); border-top:1px solid var(--ink); background:var(--paper); }
.solution-directory>.category-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.solution-directory h2 { margin:24px 0; font:500 clamp(38px,5vw,72px)/.98 var(--display); letter-spacing:-.06em; }
.solution-directory>p { max-width:700px; color:var(--muted); line-height:1.5; }
.solution-directory nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; margin-top:36px; }
.solution-directory nav a { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 0; border-top:1px solid var(--line); font-size:17px; }
.solution-directory a:hover { color:var(--blue); }
.solution-directory-company { display:flex; flex-wrap:wrap; gap:22px 36px; border-top:1px solid var(--ink); padding-top:24px; margin-top:24px; font-size:14px; }
@media(max-width:1100px) {
  .solution-page .category-section-head { grid-template-columns:1fr 2fr; }
  .solution-page .category-section-answer { grid-column:2; }
  .solution-scenarios { gap:14px; }
  .solution-scenario-copy { padding:22px 18px; }
  .solution-scenario-copy h3 { font-size:25px; }
  .solution-jump-links a { padding:24px 18px; gap:12px; font-size:14px; }
  .solution-page .category-commercial-grid>div { grid-template-columns:28px .6fr 1fr; }
  .solution-company-intro { align-items:start; flex-direction:column; gap:28px; }
}
@media(max-width:720px) {
  .solution-page .category-hero { display:block; }
  .solution-page .category-hero-copy { padding:24px 20px 38px; }
  .solution-page .category-hero h1 { font-size:clamp(45px,12.2vw,68px); line-height:1; }
  .solution-page .category-breadcrumb { padding-bottom:32px; font-size:11px; }
  .solution-page .category-primary-action { min-width:0; }
  .solution-hero-image { border-left:0; border-top:1px solid var(--ink); padding:24px 20px; }
  .solution-hero-image>img { height:320px; }
  .solution-jump-links { grid-template-columns:1fr; }
  .solution-jump-links a { padding:20px; }
  .solution-jump-links a+a { border-left:0; border-top:1px solid var(--line); }
  .solution-page .category-section-head { display:block; }
  .solution-page .category-section-head h2 { font-size:44px; }
  .solution-applications,.solution-company-blocks { padding:64px 20px; }
  .solution-scenarios { grid-template-columns:1fr; gap:24px; }
  .solution-scenario-copy { padding:26px; }
  .solution-scenario-copy h3 { font-size:30px; }
  .solution-selection { grid-template-columns:1fr; gap:34px; padding:64px 20px; }
  .solution-selection h2,.solution-related h2,.solution-company-blocks>h2 { font-size:44px; }
  .solution-page .category-range,.solution-page .category-answers { padding:64px 20px; }
  .solution-page .category-commercial { padding:64px 20px; }
  .solution-page .category-commercial-grid>div { grid-template-columns:24px 1fr; }
  .solution-page .category-commercial-grid p { grid-column:2; }
  .solution-more-models nav,.solution-related nav { grid-template-columns:1fr; }
  .solution-related { padding:0 20px 64px; }
  .solution-company-hero { padding:24px 20px 48px; }
  .solution-company-hero h1 { font-size:clamp(48px,13vw,68px); }
  .solution-company-blocks>div { grid-template-columns:1fr; }
  .solution-company-blocks article { padding:30px 0; }
  .solution-company-blocks article+article { border-left:0; border-top:1px solid var(--line); }
  .solution-company-blocks h3 { margin-top:22px; }
  .solution-directory { padding:64px 20px; }
  .solution-directory nav { grid-template-columns:1fr; }
}
