.solutions-page .site-header{position:relative}
.solutions-hero{position:relative;min-height:500px;padding:60px var(--page-padding) 88px;border-bottom:1px solid var(--line);overflow:hidden}
.solutions-hero::before{content:"";position:absolute;z-index:0;inset:0 0 0 42%;background:url("/design/images/solutions-hero-system.svg") right 8% center/min(62vw,780px) auto no-repeat;opacity:.16;pointer-events:none}
.solutions-hero-copy{position:relative;z-index:1;max-width:min(65%,760px)}
.solutions-hero h1{max-width:720px;margin:0 0 24px;font-size:clamp(46px,5vw,72px);line-height:1.02;font-weight:500;letter-spacing:-.055em}
.solutions-hero p{max-width:620px;margin:0;color:var(--gray);font-size:17px;line-height:26px}
.solutions-problems{padding-block:74px}
.solutions-page .section-intro{grid-template-columns:1fr;justify-content:start;margin-bottom:34px}
.solutions-page .section h2{max-width:760px}
.solutions-problems-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.solutions-problems-grid article{min-height:220px;padding:18px 32px 24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.solutions-number{display:block;margin-bottom:28px;color:var(--gray);font-size:15px;line-height:21px}
.solutions-problems-grid h3,.solutions-principles h3{max-width:360px;margin:0 0 12px;font-size:20px;line-height:26px;font-weight:500}
.solutions-problems-grid p,.solutions-principles p{max-width:440px;margin:0;color:var(--gray);font-size:14px;line-height:21px}
.solutions-approach{border-top:1px solid var(--line);padding-block:74px}
.solutions-approach-intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,40%);gap:44px;align-items:start;margin-bottom:38px}
.solutions-approach-intro h2{margin:0 0 16px;font-size:42px;line-height:50px;font-weight:500;letter-spacing:-.04em}
.solutions-approach-intro p{max-width:650px;margin:0;color:var(--gray);font-size:17px;line-height:26px}
.solutions-approach-visual{grid-column:2;grid-row:1 / span 2;align-self:center;opacity:.14;pointer-events:none}
.solutions-approach-visual img{display:block;width:100%;height:auto}
.solutions-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.solutions-principles article{min-height:250px;padding:20px 22px 24px 0;border-right:1px solid var(--line)}
.solutions-principles article+article{padding-left:22px}
.solutions-principles article:last-child{border-right:0}
.solutions-cta-band{position:relative;display:block;margin-top:74px;padding:42px 0 58px;border-top:1px solid var(--black);overflow:hidden}
.solutions-cta-content{position:relative;z-index:1;max-width:720px}
.solutions-cta-band h2{max-width:640px;margin:0 0 12px;font-size:32px;line-height:38px}
.solutions-cta-band p{max-width:600px;margin:0;color:var(--gray);font-size:15px;line-height:22px}
.solutions-cta-band .button{margin-top:26px}
.solutions-cta-visual{position:absolute;z-index:0;top:50%;right:0;width:40%;max-width:520px;transform:translateY(-50%);opacity:.18;pointer-events:none}
.solutions-cta-visual img{display:block;width:100%;height:auto}
@media(max-width:900px){
  .solutions-hero{min-height:0;padding-block:52px 60px}
  .solutions-hero::before{display:none}
  .solutions-hero-copy{max-width:100%}
  .solutions-hero h1{font-size:clamp(40px,7vw,56px)}
  .solutions-problems,.solutions-approach{padding-block:52px}
  .solutions-problems-grid{grid-template-columns:1fr;border-left:0}
  .solutions-problems-grid article{min-height:0;padding:22px 0;border-right:0}
  .solutions-approach-intro{display:block;margin-bottom:38px}
  .solutions-approach-visual{display:none}
  .solutions-principles{grid-template-columns:1fr}
  .solutions-principles article,.solutions-principles article+article{min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .solutions-principles article:last-child{border-bottom:0}
  .solutions-cta-band{margin-top:52px;padding-block:34px 42px}
  .solutions-cta-visual{display:none}
}
@media(max-width:520px){
  .solutions-hero{padding-block:34px 48px}
  .solutions-hero h1{font-size:38px;line-height:42px;overflow-wrap:break-word}
  .solutions-hero p{font-size:16px;line-height:24px}
  .solutions-approach-intro h2{font-size:36px;line-height:42px}
  .solutions-cta-band h2{font-size:28px;line-height:34px}
}
