/* Photo rhythm: an intimate workspace, a wide streetscape, then living green. */
.approach-visual{grid-template-columns:1.12fr 1fr;gap:8%;align-items:center;padding:86px 0 88px}
.approach-visual .approach-photo{position:relative;padding-right:22px;padding-bottom:22px}
.approach-visual .approach-photo::before{content:"";position:absolute;inset:30px 0 0 30px;background:#eef1f6;z-index:-1}
.approach-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:58% center}
.approach-visual .approach-copy .eyebrow{font-size:11px;letter-spacing:1.6px;color:var(--muted);margin-bottom:15px}
.approach-visual .approach-copy .approach-statement{font-size:30px;line-height:1.75;margin:21px 0}
.approach-visual .approach-copy>p:not(.eyebrow):not(.approach-statement){font-size:14px;line-height:2.2}
.company-visual{display:block;padding:88px 0 82px}
.company-scene{position:relative;min-height:440px;padding-top:0}
.company-photo{position:relative;width:100%}
.company-photo img{width:100%;height:440px;object-fit:cover;object-position:center 56%}
.company-visual .company-copy{position:absolute;right:-1px;top:37px;width:44%;padding:35px 0 36px 42px;background:#fff}
.company-visual .company-statement{font-size:31px;line-height:1.65;margin:21px 0}
.company-visual .company-copy>p:not(.company-statement){font-size:13px;line-height:2.1}
.company-visual .company-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px;border-top:0}
.company-visual .company-links a{border-top:1px solid var(--rule);padding:18px 0;font-size:15px}
.photo-label{position:absolute;left:16px;bottom:14px;margin:0;padding:4px 9px;background:rgba(255,255,255,.92);font-size:10px;color:#515b70;line-height:1.6}
.sdgs-visual{padding:0;background:#eef2f6;border:0}
.sdgs-visual .sdgs-layout{grid-template-columns:1fr 1.1fr;gap:0;align-items:stretch}
.sdgs-copy{align-self:center;padding:55px 11% 55px 13%}
.sdgs-copy .sdgs-statement{font-size:34px;line-height:1.75;margin-top:21px}
.sdgs-copy .sdgs-description{font-size:13px;color:var(--muted);line-height:2.1;margin-top:22px}
.sdgs-copy .text-link{margin-top:21px;min-width:245px}
.sdgs-photo{position:relative;min-height:440px}
.sdgs-photo img{width:100%;height:100%;min-height:440px;object-fit:cover}
.sdgs-photo .photo-label{left:auto;right:16px}
@media(max-width:1000px){.approach-visual{gap:6%}.approach-visual .approach-copy .approach-statement{font-size:27px}.company-visual .company-copy{width:49%;padding-left:30px}.company-visual .company-statement{font-size:29px}.sdgs-copy{padding:40px 10%}.sdgs-copy .sdgs-statement{font-size:30px}}
@media(max-width:600px){
 .section-catch{text-wrap:balance}
 .approach-visual{display:flex;flex-direction:column;gap:28px;padding:49px 0 52px;align-items:stretch}
 .approach-visual .approach-photo{padding:0 13px 13px 0}.approach-visual .approach-photo::before{inset:19px 0 0 19px}
 .approach-photo img{aspect-ratio:1.3}.approach-visual .approach-copy .eyebrow{margin-bottom:10px}
 .approach-visual .approach-copy .approach-statement{font-size:26px;margin:16px 0}.approach-visual .approach-copy>p:not(.eyebrow):not(.approach-statement){font-size:13px}
 .company-visual{padding:48px 0}.company-scene{min-height:0}.company-photo img{height:280px;object-position:36% center}
 .company-visual .company-copy{position:relative;right:auto;top:auto;width:91%;margin:-32px 0 0 auto;padding:25px 0 0 23px}
 .company-visual .company-statement{font-size:27px;margin:15px 0}.company-visual .company-copy>p:not(.company-statement){font-size:12px}
 .company-photo .photo-label{bottom:auto;top:12px;left:12px}
 .company-visual .company-links{grid-template-columns:1fr;gap:0;margin-top:28px}.company-visual .company-links a{border-top:0}.company-visual .company-links a:first-child{border-top:1px solid var(--rule)}
 .sdgs-visual .sdgs-layout{display:flex;flex-direction:column}.sdgs-copy{padding:38px 6% 35px;width:100%}
 .sdgs-copy .sdgs-statement{font-size:29px;margin-top:16px}.sdgs-copy .sdgs-description{margin-top:16px}.sdgs-copy .text-link{margin-top:17px;min-width:0;width:100%}
 .sdgs-photo{min-height:0}.sdgs-photo img{height:285px;min-height:0;object-position:center}
}

/* SP order: heading, catch, photograph, then description; keep h2/h3 + p intact. */
@media(max-width:820px){
 .approach.approach-visual{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .approach-visual .approach-copy{display:contents}
 .approach-visual .approach-copy>.eyebrow{grid-column:1;grid-row:1}
 .approach-visual .approach-copy>h2{grid-column:1;grid-row:2}
 .approach-visual .approach-copy>.approach-statement{grid-row:3}
 .approach-visual .approach-photo{grid-column:1;grid-row:4;margin:0;padding-bottom:22px}
 .approach-visual .approach-copy>p:not(.eyebrow),.approach-visual .approach-copy>.text-link{grid-column:1}
 .approach-visual .approach-copy>.text-link{justify-self:start}
}
@media(max-width:600px){
 .home-business .business-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .home-business .feature-copy{display:contents}
 .home-business .feature-copy>.section-kicker{grid-column:1;grid-row:1}
 .home-business .feature-copy>h3{grid-column:1;grid-row:2}
 .home-business .feature-copy>.feature-statement{grid-row:3}
 .home-business .feature-image{grid-column:1;grid-row:4;margin:0 0 22px;order:0}
 .home-business .feature-copy>p:not(.section-kicker),.home-business .feature-copy>.tags,.home-business .feature-copy>.text-link{grid-column:1}
 .home-business .feature-copy>.text-link{justify-self:start}

 .company-visual .company-scene{display:grid;grid-template-columns:minmax(0,1fr)}
 .company-visual .company-copy{display:contents}
 .company-visual .company-copy>h2{grid-column:1;grid-row:1}
 .company-visual .company-copy>.company-statement{grid-row:2}
 .company-visual .company-photo{grid-column:1;grid-row:3;margin:0 0 22px}
 .company-visual .company-copy>p{grid-column:1}

 .sdgs-visual .sdgs-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:38px 0 35px}
 .sdgs-visual .sdgs-copy{display:contents}
 main .sdgs-visual .sdgs-layout .sdgs-copy>h2{grid-column:1;grid-row:1;margin-inline:6%}
 .sdgs-visual .sdgs-copy>.sdgs-statement{grid-row:2}
 .sdgs-visual .sdgs-photo{grid-column:1;grid-row:3;margin:0 0 22px}
 main .sdgs-visual .sdgs-layout .sdgs-copy>p{grid-column:1;margin-inline:6%}
 .sdgs-visual .sdgs-copy>.sdgs-description{margin-top:0}
 .sdgs-visual .sdgs-copy>.text-link{grid-column:1;justify-self:start;width:88%;margin-inline:6%}
}
