/* A light, selective-reading composition for the approach page. */
.site-design .approach-detail{color:#123e46}
.approach-detail .eyebrow{font-size:10px;line-height:1.7;letter-spacing:1.1px;color:#187c66;margin-bottom:15px}
.approach-detail h2{font-size:clamp(31px,3.2vw,46px);font-weight:600;line-height:1.18;letter-spacing:-1.3px;margin-bottom:22px}
.approach-detail p{color:#607671;font-size:16px;line-height:1.85}
.approach-intro{max-width:1500px;margin:auto;padding:25px 5% 65px;scroll-margin-top:110px}
.approach-intro>.breadcrumb{display:inline-block;font-size:12px;margin-bottom:32px}
.approach-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center}
.approach-intro h1{font-size:clamp(37px,4.4vw,64px);font-weight:600;line-height:1.12;letter-spacing:-2px;margin:0 0 25px}
.approach-intro p{max-width:600px;font-size:18px;margin-bottom:25px}
.approach-intro figure{position:relative;height:475px;margin:0;border-radius:22px;overflow:hidden;background:#e6eee8}
.approach-intro figure img{height:100%;width:100%;object-fit:cover;object-position:center 55%}
.approach-intro figcaption{position:absolute;bottom:0;left:0;right:0;padding:65px 25px 23px;background:linear-gradient(transparent,#082f38d9);color:#fff;font-size:13px;line-height:1.7}
.approach-body{max-width:1500px;padding:0 5%;margin:auto;display:grid;grid-template-columns:185px minmax(0,1fr);gap:45px}
.approach-index{position:sticky;top:110px;align-self:start;max-height:calc(100dvh - 140px);overflow:auto;padding:18px 0}
.approach-index summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 20px;font-size:12px;line-height:1.6;color:#698080;font-weight:600}
.approach-index summary:after{content:none}
.approach-index summary>span{font-size:11px;font-weight:400}
.approach-index nav{display:flex;position:static;flex-direction:column;gap:6px;padding:0;background:transparent;box-shadow:none;font-size:14px;line-height:1.5}
.approach-index nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:#607671}
.approach-index nav a:is(:hover,.active){background:#edf5f1;color:#187c66;border-color:#c7dcd1}
.approach-content{min-width:0}
.approach-content>section{padding:65px 0;scroll-margin-top:120px}
.approach-content>.approach-process{padding-top:20px}
.approach-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:end;margin-bottom:30px}
.approach-section-heading h2{margin-bottom:0}
.approach-section-heading>p{margin:0;max-width:390px;font-size:15px}
.approach-phase-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.approach-phase-tabs button{display:flex;align-items:center;justify-content:center;min-height:60px;padding:16px 18px;background:#fff;border:1px solid #c7dcd1;color:#355b55;font-size:14px;line-height:1.5;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.approach-phase-tabs button:hover{background:#edf5f1;border-color:#70aa92}
.approach-phase-tabs button[aria-selected="true"]{background:#187c66;border-color:#187c66;color:#fff}
.approach-phase-panel{display:grid;grid-template-columns:.85fr 1.15fr;background:#f3f7f5;border:1px solid #dce6df;border-radius:20px;overflow:hidden}
.approach-phase-panel[hidden]{display:none!important}
.approach-phase-panel figure{position:relative;margin:0;min-height:540px;background:#dce7df}
.approach-phase-panel figure img{display:block;position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.approach-phase-panel figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 20px 20px;background:linear-gradient(transparent,#082f38bd);color:#fff;font-size:10px}
.approach-phase-copy{padding:35px 30px;min-width:0;align-self:center}
.approach-phase-copy h3{font-size:27px;line-height:1.25;letter-spacing:-.6px;font-weight:600;margin:0 0 25px}
.approach-phase-copy dl{margin:0}
.approach-phase-copy dl>div{margin-bottom:22px}
.approach-phase-copy dt{font-size:12px;font-weight:600;color:#187c66;line-height:1.6;margin-bottom:8px}
.approach-phase-copy dd{margin:0;color:#607671;font-size:14px;line-height:1.8}
.approach-phase-copy dl>.approach-phase-result{border-top:1px solid #d4e3d8;padding-top:18px;margin-bottom:0}
.approach-detail .approach-process-note{font-size:12px;line-height:1.8;max-width:850px;margin:20px 0 0}
.approach-collaboration{border-top:1px solid #dce6df}
.approach-accordions details{border:1px solid #d7e3dc;border-radius:15px;background:#fff;margin:0 0 11px;overflow:hidden}
.approach-accordions summary{padding:21px 50px 21px 22px;font-size:16px;line-height:1.6;font-weight:600;min-height:65px}
.approach-accordions summary:after{right:20px;top:18px;color:#187c66}
.approach-accordions details[open]{background:#f3f7f5;border-color:#a8c7b4}
.approach-detail .approach-accordions p{font-size:14px;line-height:1.85;margin:0;padding:0 22px 23px;max-width:850px}
.approach-after{border-top:1px solid #dce6df}
.approach-after-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.approach-after-grid>div>p{font-size:15px;margin-bottom:25px}
.approach-after figure{position:relative;height:520px;overflow:hidden;border-radius:20px;margin:0;background:#e6eee8}
.approach-after figure img{height:100%;width:100%;object-fit:cover}
.approach-after figcaption{position:absolute;bottom:0;left:0;right:0;padding:65px 23px 22px;background:linear-gradient(transparent,#082f38d9);font-size:12px;line-height:1.8;color:#fff}
.approach-content>.approach-contact{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:40px;background:#edf5f1;border-radius:22px;margin:10px 0 65px}
.approach-contact h2{font-size:clamp(28px,2.7vw,38px);letter-spacing:-1px}
.approach-contact p{font-size:15px;margin-bottom:23px}
.approach-contact-links{display:flex;flex-direction:column;gap:12px;min-width:0}
.approach-contact-links a{display:flex;flex-direction:column;gap:9px;padding:20px 21px;background:#fff;border:1px solid #c7dcd1;border-radius:18px;min-width:0}
.approach-contact-links a:hover{background:#f7faf8;border-color:#70aa92}
.approach-contact-links span{font-size:12px;line-height:1.5;color:#698080}
.approach-contact-links strong{font-size:20px;line-height:1.5;font-weight:600}
.approach-contact-links a[href^="mailto:"] strong{font-size:14px;overflow-wrap:anywhere;letter-spacing:-.2px}
@media(max-width:1250px){.approach-section-heading{grid-template-columns:1fr;gap:20px}.approach-section-heading>p{max-width:650px}.approach-body{grid-template-columns:165px minmax(0,1fr);gap:30px}.approach-phase-panel{grid-template-columns:1fr}.approach-phase-panel figure{height:250px;min-height:0}.approach-phase-copy{padding:32px}.approach-after-grid{grid-template-columns:1fr}.approach-after figure{height:290px}.approach-content>.approach-contact{grid-template-columns:1fr}}
@media(max-width:1000px){.approach-intro-grid{grid-template-columns:1fr;gap:30px}.approach-intro figure{height:350px}.approach-intro h1{max-width:850px}.approach-phase-tabs{grid-template-columns:1fr 1fr}.approach-index{padding-top:20px}.approach-intro p{max-width:740px}}
@media(max-width:760px){
 .approach-intro{padding:25px 6% 35px}
 .approach-intro>.breadcrumb{margin-bottom:24px}
 .approach-intro h1{font-size:37px;line-height:1.12;letter-spacing:-1.4px}
 .approach-intro p{font-size:16px;line-height:1.8}
 .approach-intro figure{height:280px;border-radius:20px}
 .approach-intro figcaption{font-size:11px;padding:55px 22px 20px}
 .approach-body{display:block;padding:0 6%}
 .approach-index{position:sticky;top:0;z-index:30;padding:8px 0;margin:0 0 15px;background:#fff;max-height:55dvh;border-bottom:1px solid #d7e3dc}
 .site-design:has(>header.is-floating:is(.is-scroll-visible,:focus-within)) .approach-index{top:var(--header-height,84px)}
 .approach-index summary{padding:12px 15px;min-height:48px;border:1px solid #c7dcd1;border-radius:14px;background:#f3f7f5;color:#123e46;font-size:13px}
 .approach-index nav{gap:3px;padding:8px 0 3px}
 .approach-index nav a{font-size:13px;min-height:42px}
 .approach-content>section{padding:45px 0;scroll-margin-top:160px}
 .approach-content>.approach-process{padding-top:22px}
 .approach-detail h2{font-size:31px;letter-spacing:-1px}
 .approach-section-heading{gap:18px;margin-bottom:24px}
 .approach-section-heading>p{font-size:14px;line-height:1.8}
 .approach-phase-tabs{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:20px}
 .approach-phase-tabs button{justify-content:flex-start;text-align:left;min-height:51px;padding:14px 18px;font-size:14px}
 .approach-phase-panel{border-radius:18px}
 .approach-phase-panel figure{height:220px}
 .approach-phase-copy{padding:26px 22px}
 .approach-phase-copy h3{font-size:25px;margin-bottom:23px}
 .approach-phase-copy dd{font-size:14px}
 .approach-phase-copy dl>div{margin-bottom:20px}
 .approach-accordions summary{font-size:14px;min-height:60px;padding:18px 44px 18px 18px}
 .approach-accordions summary:after{right:17px;top:16px}
 .approach-detail .approach-accordions p{padding:0 18px 20px;font-size:14px}
 .approach-after-grid{gap:25px}
 .approach-after figure{height:250px}
 .approach-content>.approach-contact{padding:28px 22px;gap:25px;border-radius:20px;margin-bottom:40px}
 .approach-contact h2{font-size:28px}
 .approach-contact p{font-size:14px}
 .approach-contact .button{width:100%;min-height:50px}
 .approach-contact-links a{padding:18px 17px}
 .approach-contact-links a[href^="mailto:"] strong{font-size:clamp(12px,3.4vw,15px)}
}
@media(prefers-reduced-motion:no-preference){.approach-phase-panel:not([hidden]){animation:sw-reveal .2s ease-out}}
@media(prefers-reduced-motion:reduce){.approach-phase-tabs button{transition:none}}
