:root{--ink:#16212b;--text:#4c5862;--night:#121c25;--paper:#fff;--soft:#f3f5f6;--line:#d4dce1;--light:#e5edf2;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Instrument Sans','DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:2px solid #759dc1;outline-offset:7px}h1,h2,h3,h4,p,figure,ul{margin:0}h1,h2,h3,h4{color:var(--ink);font-weight:500}h2{font-size:clamp(3.5rem,6.5vw,6rem);line-height:.98;letter-spacing:-.065em}h2 em{font:500 1.15em/.9 var(--serif);letter-spacing:-.055em}h3{font-size:1.6rem;line-height:1.25;letter-spacing:-.04em}p+p{margin-top:1.1em}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:116px}.skip{position:fixed;top:-90px;left:20px;z-index:20;background:white;color:var(--ink);padding:12px}.skip:focus{top:15px}.opening{background:var(--night);color:var(--light);position:relative}.masthead{height:116px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff26}.identity{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;font-size:17px;letter-spacing:-.4px}.monogram{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5edf270;font-size:20px;font-weight:500;letter-spacing:-1.6px;padding-right:1px}.masthead nav{display:flex;gap:35px;font-size:14px}.masthead nav a{text-decoration:none;color:#cad4dc}.masthead nav a:hover{color:#fff}.header-contact{font-size:14px;color:white}.header-contact span{margin-left:17px}.hero{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:55px;padding-top:70px;padding-bottom:92px}.hero-type{position:relative;z-index:2}.overline{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#bfced9;margin-bottom:32px;line-height:1.65;max-width:540px}h1{font-size:clamp(4.2rem,7.6vw,7.2rem);font-weight:500;line-height:.98;letter-spacing:-.073em;color:#fff;margin-bottom:35px}h1 em{font:400 1.22em/.9 var(--serif);letter-spacing:-.055em;white-space:nowrap;color:#c6d9e8}.hero-lead{font-size:1.08rem;line-height:1.65;max-width:480px;color:#c6d1da}.action{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:57px;border-bottom:1px solid var(--ink);text-decoration:none;color:var(--ink);font-size:15px;font-weight:500;padding:12px 0}.action span{display:flex;align-items:center;justify-content:center;font-size:23px;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;transition:transform .2s,background .2s}.action:hover span{transform:translate(3px,-3px)}.action.light{color:white;border-color:#ffffff65}.hero .action{margin-top:25px}.hero-portrait{align-self:center;position:relative;max-width:470px;width:100%;margin-left:auto;padding-top:30px}.hero-portrait:before{content:'';position:absolute;top:0;left:30px;right:-18px;bottom:48px;border:1px solid #5a6b78}.hero-portrait img{position:relative;display:block;width:100%;height:auto;aspect-ratio:499/575;object-fit:cover;filter:grayscale(1)}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:14px;padding:18px 0 0;font-size:12px;letter-spacing:.015em;color:#bdcbd6}.scroll-link{grid-column:1/-1;display:flex;align-items:center;gap:14px;text-decoration:none;font-size:13px;color:#aabbc8;margin-top:20px}.scroll-link span{font-size:24px;color:#e5edf2}.section-label{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.035em;text-transform:uppercase;color:#647381;margin-bottom:52px}.section-label span{font-size:12px;color:#8a98a3;border-top:1px solid var(--line);padding-top:5px;min-width:32px}.introduction{display:grid;grid-template-columns:1fr 2.4fr;column-gap:70px;row-gap:38px}.introduction .section-label{grid-column:1;align-self:start;margin:0}.intro-statement{grid-column:2;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.45;letter-spacing:-.035em;color:var(--ink)}.intro-location{grid-column:2;max-width:680px;font-size:1rem;color:#65717a}.help{background:var(--soft)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;margin-bottom:58px}.section-heading>p{max-width:430px;margin:0;font-size:1.1rem}.needs-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.needs-grid li{padding:34px 30px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}.needs-grid li:hover{background:#fff}.need-icon{display:block;width:30px;height:30px;margin-bottom:31px;color:#34576e}.needs-grid h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:14px}.needs-grid p{font-size:1rem;line-height:1.65;color:#53616b}.help-note{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;margin-top:40px;max-width:1100px;font-size:1rem}.help-note p+p{margin:0;color:var(--ink)}.approach h2{margin-bottom:62px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.process article{border-top:1px solid var(--ink);padding-top:24px}.process-top span{font-size:13px;color:#7e8d98;display:block;margin-bottom:28px}.process h3{font-size:1.45rem;max-width:310px;margin-bottom:24px}.process p{font-size:1rem}.selected-work{background:var(--soft);padding-bottom:120px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:72px}.work-heading>p{font-size:15px;margin-bottom:5px;color:#71808b}.solar-case{background:#fff;padding:54px}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:42px}.project-tag{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#73828e;margin-bottom:18px}.case-intro h3{font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.13;letter-spacing:-.05em}.case-intro p{font-size:1rem}.solar-figure a{display:block}.solar-figure img{display:block;width:100%;height:auto}.solar-figure figcaption{display:flex;justify-content:space-between;gap:24px;padding:15px 0 0;font-size:12px;color:#697986}.solar-figure figcaption a{white-space:nowrap}.case-results{display:grid;grid-template-columns:1fr 1.8fr;gap:80px;margin-top:55px}.results-heading h4{font-size:1.3rem;letter-spacing:-.03em;margin-bottom:20px}.results-heading p{font-size:.94rem;color:#72808b}.results-list details{border-top:1px solid var(--line)}.results-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;color:var(--ink);font-size:1.04rem;line-height:1.4}summary::-webkit-details-marker{display:none}summary>span{width:14px;height:14px;position:relative;flex-shrink:0}summary>span:before,summary>span:after{content:'';position:absolute;background:currentColor;top:6px;left:0;width:14px;height:1px}summary>span:after{transform:rotate(90deg)}details[open] summary>span:after{display:none}.results-list details>p{padding:0 24px 23px 0;font-size:.98rem;line-height:1.65}.experience-intro{display:grid;grid-template-columns:1fr 1.55fr;gap:100px;margin-block:110px 65px}.experience-intro h3{font-size:2.1rem;line-height:1.15;letter-spacing:-.045em}.experience-intro p{font-size:1.05rem}.projects{display:grid;grid-template-columns:1fr 1fr;gap:66px 46px}.project{min-width:0}.project figure{margin-bottom:30px}.project figure>a{display:flex;width:100%;height:320px;align-items:center;justify-content:center;overflow:hidden;background:#e1e8ed}.project img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain}.project.coastal figure>a{background:#0b2537}.project.spectur img{height:100%;object-fit:cover}.project figure figcaption{font-size:12px;line-height:1.5;padding-top:12px;color:#78858e}.project h3{font-size:1.65rem;line-height:1.2;margin-bottom:22px;letter-spacing:-.04em}.project p{font-size:1rem}.project.vygo{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;background:#fff;padding:50px}.project.vygo figure{order:2;margin:0}.project.vygo figure>a{height:460px;background:#fff}.project.vygo img{width:auto;height:100%;max-width:100%}.project.vygo h3{font-size:2.15rem;line-height:1.15}.engagement-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.walking-fish{font-size:.96rem;margin-top:38px;max-width:270px}.offer-list article{border-top:1px solid var(--line);padding:29px 0 36px}.offer-list article:last-child{border-bottom:1px solid var(--line)}.offer-list h3{font-size:1.8rem;margin-bottom:18px}.offer-list p{max-width:480px}.contact{background:var(--night);color:#d6e0e8;padding-top:62px}.contact-top{display:flex;justify-content:space-between;gap:25px;font-size:13px;letter-spacing:.04em}.contact h2{font-size:clamp(6rem,17vw,15rem);color:#fff;letter-spacing:-.07em;margin-block:65px 55px;line-height:.9}.contact h2 em{color:#c6d9e8;letter-spacing:-.06em}.contact-bottom{display:flex;justify-content:space-between;gap:70px;align-items:center;padding-bottom:70px}.contact-bottom>p{font-size:1.25rem;max-width:500px;line-height:1.6}.contact-bottom>div{display:flex;align-items:center;gap:38px}.contact .action{min-width:180px}.linkedin{font-size:14px;white-space:nowrap}footer{border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:30px;padding-block:27px;font-size:12px;color:#a3b3bf}footer a{text-decoration:none}footer a:hover{color:#fff}
@media(min-width:1600px){.hero{padding-top:88px;gap:80px}.hero-portrait{max-width:500px}h1{font-size:7.7rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:35px}.hero-portrait:before{right:-10px;left:20px}.section{padding-block:88px}.introduction{column-gap:40px;grid-template-columns:1fr 2.8fr}.section-heading{gap:45px}.needs-grid li{padding:28px 24px}.process{gap:30px}.solar-case{padding:35px}.case-intro{gap:38px}.case-results{gap:40px}.experience-intro{gap:50px}.project figure>a{height:260px}.project.vygo{padding:32px;gap:40px}.engagement-grid{gap:60px}.contact-bottom{gap:30px}.contact-bottom>div{gap:25px}.hero-portrait figcaption{font-size:11px}.overline{max-width:380px}}
@media(max-width:800px){.masthead{height:92px}.masthead nav{gap:20px}.hero{grid-template-columns:1.2fr 1fr;gap:25px;padding-top:55px;padding-bottom:62px}h1{font-size:clamp(3.7rem,8vw,5.8rem)}.hero-lead{font-size:1rem}.hero-portrait{align-self:start;padding-top:20px;margin-top:65px}.hero-portrait figcaption{display:block;line-height:1.7}.hero-portrait figcaption span{display:block}.overline{font-size:12px}.hero .action{font-size:13px;gap:20px}.hero .action span{width:32px;height:32px}.section-heading{grid-template-columns:1fr;gap:28px}.section-heading>p{max-width:650px}.needs-grid{grid-template-columns:repeat(2,1fr)}.help-note{gap:35px}.introduction{grid-template-columns:1fr}.introduction .section-label,.intro-statement,.intro-location{grid-column:1}.introduction .section-label{margin-bottom:5px}.process{grid-template-columns:1fr;gap:32px}.process article{display:grid;grid-template-columns:1fr 1.5fr;gap:25px}.process-top{grid-column:1;grid-row:1 / span 2}.process p{grid-column:2}.process p+p{margin-top:0}.case-intro{grid-template-columns:1fr;gap:25px}.case-intro h3{max-width:590px}.case-results{grid-template-columns:1fr;gap:30px}.results-heading{max-width:600px}.results-heading p{font-size:.94rem}.experience-intro{margin-top:72px;grid-template-columns:1fr;gap:25px}.experience-intro h3 br{display:none}.project.vygo{grid-template-columns:1fr 1fr;gap:30px}.project.vygo figure>a{height:360px}.project.vygo h3{font-size:1.6rem}.project.vygo p{font-size:.95rem}.contact-bottom{display:block}.contact-bottom>div{margin-top:28px;justify-content:flex-start}.engagement-grid{gap:40px}.contact h2{margin-block:50px 40px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.masthead{height:82px;gap:20px}.masthead nav{display:none}.identity{font-size:16px;gap:11px}.monogram{width:34px;height:34px;font-size:18px}.header-contact{font-size:13px}.header-contact span{margin-left:9px}.hero{display:flex;flex-direction:column;gap:0;padding-top:36px;padding-bottom:42px}.overline{font-size:11px;letter-spacing:.04em;margin-bottom:26px;max-width:310px}h1{font-size:clamp(4.1rem,16vw,6rem);line-height:.95;margin-bottom:28px}.hero-lead{max-width:390px;font-size:1rem}.hero .action{font-size:14px;margin-top:19px}.hero-portrait{margin-top:38px;padding-top:17px;max-width:100%;width:100%;padding-right:12px}.hero-portrait:before{left:17px;right:0;bottom:35px}.hero-portrait img{width:100%;aspect-ratio:1.05;object-position:center 33%;object-fit:cover}.hero-portrait figcaption{display:flex;justify-content:space-between;font-size:11px;padding-top:13px;gap:10px}.scroll-link{margin-top:28px;font-size:12px}.section{padding-block:65px}.section-label{margin-bottom:31px;font-size:11px;gap:15px}h2{font-size:3.5rem}.intro-statement{font-size:1.5rem}.intro-location{font-size:.95rem}.introduction{gap:26px}.section-heading{gap:26px;margin-bottom:32px}.section-heading>p{font-size:1rem}.needs-grid{grid-template-columns:1fr}.needs-grid li{display:grid;grid-template-columns:32px 1fr;gap:10px 20px;padding:24px}.need-icon{grid-column:1;grid-row:1 / span 2;margin:2px 0 0;width:27px;height:27px}.needs-grid h3{grid-column:2;margin:0;font-size:1.08rem}.needs-grid p{grid-column:2;font-size:.95rem}.help-note{display:block;margin-top:29px;font-size:.97rem}.help-note p+p{margin-top:20px}.approach h2{margin-bottom:40px}.process article{display:block}.process-top span{margin-bottom:17px}.process h3{max-width:none;margin-bottom:17px;font-size:1.45rem}.process p+p{margin-top:18px}.process p{font-size:.97rem}.work-heading{display:block;margin-bottom:40px}.work-heading>p{margin-top:25px;font-size:13px}.solar-case{padding:24px 20px;margin-inline:-20px}.project-tag{font-size:11px}.case-intro{gap:24px;margin-bottom:27px}.case-intro h3{font-size:2rem}.case-intro p{font-size:.96rem}.solar-figure{margin-inline:-20px}.solar-figure figcaption{padding:12px 20px 0;font-size:11px;gap:14px}.case-results{margin-top:30px}.results-heading h4{font-size:1.3rem;margin-bottom:13px}.results-heading p{font-size:.9rem}summary{font-size:1rem;padding:18px 0}.results-list details>p{font-size:.94rem}.experience-intro{margin-block:58px 35px;gap:24px}.experience-intro h3{font-size:1.9rem}.experience-intro p{font-size:.98rem}.projects{grid-template-columns:1fr;gap:45px}.project figure{margin-bottom:24px}.project figure>a{height:auto;min-height:180px}.project.spectur img{height:auto}.project h3{font-size:1.5rem;margin-bottom:17px}.project p{font-size:.98rem}.project.vygo{display:flex;flex-direction:column;padding:25px 20px;margin-inline:-20px;gap:24px}.project.vygo figure{order:0;width:100%}.project.vygo figure>a{height:370px}.project.vygo h3{font-size:1.65rem}.engagement-grid{grid-template-columns:1fr;gap:34px}.walking-fish{margin-top:26px}.offer-list h3{font-size:1.6rem}.offer-list p{font-size:1rem}.contact{padding-top:38px}.contact-top{font-size:11px}.contact h2{font-size:clamp(5.2rem,22vw,8rem);margin-block:45px 32px}.contact-bottom>p{font-size:1.06rem}.contact-bottom{padding-bottom:42px}.contact-bottom>div{gap:25px}.contact .action{min-width:160px}.linkedin{font-size:13px}footer{font-size:11px;gap:15px;flex-wrap:wrap;padding-block:22px}footer span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Photography gives each story its own scale, while the core identity stays consistent. */
.personal-story{background:var(--night);color:var(--light);padding-top:80px}
.story-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end;padding-bottom:64px}
.story-intro h2{color:#fff;font-size:clamp(3.8rem,6.5vw,6rem)}
.story-intro h2 em{color:#c6d9e8}
.story-intro .project-tag{color:#bfced9}
.story-intro>p{font-size:1.12rem;max-width:500px;color:#c6d1da}
.snow-feature>a,.snow-feature picture{display:block}
.snow-feature img{display:block;width:100%;height:auto}
.snow-feature figcaption{display:flex;justify-content:space-between;gap:20px;padding:19px max(28px,calc((100vw - 1280px)/2));font-size:13px;color:#bfced9}
.solar-case{padding:0 54px 54px}
.solar-opening{display:grid;grid-template-columns:1.1fr 1fr;margin:0 -54px 48px;align-items:stretch}
.solar-opening .case-intro{display:flex;flex-direction:column;gap:28px;margin:0;padding:50px 44px 48px 54px}
.solar-site-photo{position:relative;min-height:580px;overflow:hidden;background:#182f46}
.solar-site-photo>a{display:block;height:100%}
.solar-site-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:40% 65%}
.solar-site-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 20px;background:linear-gradient(transparent,#07121be6);font-size:13px;color:white;pointer-events:none}
.projects{display:flex;flex-direction:column;gap:84px}
.project.coastal{padding-bottom:52px;border-bottom:1px solid var(--line)}
.project.coastal .coastal-cover{margin:0 0 42px}
.project.coastal .coastal-cover>a{height:auto;aspect-ratio:1500/844;background:#e8b190}
.project.coastal .coastal-cover img{height:100%;object-fit:cover}
.coastal-story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:40px}
.coastal-story h3{font-size:clamp(1.8rem,3vw,2.7rem);max-width:510px}
.project.coastal .coastal-product{margin:0}
.project.coastal .coastal-product>a{height:auto;min-height:0;background:#0b2537}
.project.coastal .coastal-product img{width:100%;height:auto}
.coastal-campaign{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.coastal-campaign figure{margin:0}
.project.coastal .coastal-campaign figure>a{height:auto;aspect-ratio:1500/844;background:transparent}
.coastal-campaign img{height:100%;object-fit:contain}
.project .campaign-caption{margin-top:14px;font-size:13px;color:#647381}
.project.spectur{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.project.spectur figure{margin:0}
.project.spectur figure>a{height:auto;aspect-ratio:1.25}
.project.spectur img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.project.spectur h3{font-size:clamp(1.8rem,2.6vw,2.4rem)}
@media(min-width:1800px){.snow-feature{max-width:1800px;margin-inline:auto}}
@media(max-width:1100px){.story-intro{gap:50px}.solar-case{padding:0 35px 35px}.solar-opening{margin-inline:-35px;grid-template-columns:1.15fr 1fr}.solar-opening .case-intro{padding:35px;gap:25px}.solar-site-photo{min-height:600px}.coastal-story,.project.spectur{gap:36px}}
@media(max-width:800px){.personal-story{padding-top:64px}.story-intro{gap:35px;grid-template-columns:1fr 1fr;padding-bottom:45px}.story-intro h2{font-size:3.7rem}.story-intro>p{font-size:1rem}.solar-opening{display:flex;flex-direction:column;margin-bottom:32px}.solar-site-photo{min-height:0;aspect-ratio:1.4}.solar-site-photo img{object-position:50% 70%}.solar-opening .case-intro{padding:35px}.coastal-story{grid-template-columns:1fr;gap:30px}.coastal-story .project-copy{max-width:640px}.project.spectur{grid-template-columns:1fr 1fr;gap:28px}.projects{gap:60px}}
@media(max-width:600px){.personal-story{padding-top:52px}.story-intro{grid-template-columns:1fr;gap:26px;padding-bottom:34px}.story-intro h2{font-size:3.6rem}.story-intro>p{font-size:1rem}.snow-feature img{aspect-ratio:728/1089;object-fit:contain}.snow-feature figcaption{padding:15px 20px;font-size:12px}.solar-case{padding:0 20px 28px}.solar-opening{margin:0 -20px 28px}.solar-opening .case-intro{padding:28px 20px}.solar-site-photo{aspect-ratio:1;min-height:0}.solar-site-photo img{object-position:42% 72%}.solar-site-photo figcaption{font-size:12px;padding-inline:20px}.project.coastal{padding-bottom:38px}.project.coastal .coastal-cover{margin:0 -20px 28px}.project.coastal .coastal-cover>a{min-height:0}.coastal-story{gap:26px;margin-bottom:25px}.coastal-story h3{font-size:1.8rem}.coastal-campaign{grid-template-columns:1fr;gap:16px}.project.coastal .coastal-campaign figure>a{min-height:0}.project .campaign-caption{font-size:12px}.project.spectur{display:block}.project.spectur figure{margin-bottom:25px}.project.spectur figure>a{min-height:0}.project.spectur img{height:100%}.project.spectur h3{font-size:1.8rem}}

.snow-feature figcaption .photo-credit{display:block;white-space:nowrap}
@media(max-width:600px){.snow-feature figcaption{flex-direction:column;gap:4px}}

/* A seasonal comparison introduces the value of an outside perspective. */
.engagement-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:50px}
.perspective-copy h3{font-size:clamp(1.6rem,2.7vw,2.3rem);line-height:1.15;margin-bottom:22px;max-width:440px}
.perspective-copy p{font-size:1.05rem;max-width:530px}
.seasonal-views{display:grid;grid-template-columns:1fr 1fr;text-decoration:none}
.season{position:relative;overflow:hidden;aspect-ratio:4363/2912;background:#c8d4dd}
.season img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.season.winter img{object-position:right center}
.season>span{position:absolute;bottom:20px;left:24px;color:white;font-size:13px;letter-spacing:.055em;text-transform:uppercase;padding:5px 10px;background:#121c25cc}
.seasonal-perspective figcaption{font-size:13px;color:#647381;padding-top:16px}
.engagement .offer-list{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:48px}
.engagement .offer-list article:last-child{border-bottom:0}
.engagement .walking-fish{max-width:none;white-space:nowrap;font-size:1rem;margin-top:6px}
@media(max-width:1100px){.engagement-heading{gap:60px}.engagement .offer-list{gap:40px}}
@media(max-width:800px){.engagement-heading{gap:35px}.perspective-copy h3{font-size:1.7rem}.perspective-copy p{font-size:1rem}}
@media(max-width:600px){.engagement-heading{grid-template-columns:1fr;gap:30px;margin-bottom:32px}.perspective-copy h3{font-size:1.65rem;margin-bottom:17px}.seasonal-perspective{margin-inline:-20px}.seasonal-views{grid-template-columns:1fr;gap:2px}.season>span{bottom:15px;left:20px;font-size:12px}.seasonal-perspective figcaption{padding:14px 20px 0;font-size:12px}.engagement .offer-list{grid-template-columns:1fr;gap:0;margin-top:32px}.engagement .walking-fish{font-size:clamp(.75rem,3.8vw,1rem);margin-top:4px}}

.engagement .walking-fish{white-space:normal;font-size:1rem;max-width:780px;line-height:1.7}.walking-fish a{white-space:nowrap}

/* Keep the longer positioning headline readable at every breakpoint. */
.hero h1{font-size:clamp(3rem,5.2vw,5rem);line-height:1.04}.hero h1 em{white-space:normal}
@media(max-width:600px){.hero h1{font-size:clamp(2.6rem,10.8vw,4rem)}}

/* Supporting images sit within the case studies rather than leading them. */
.solar-figure{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:30px;align-items:center}
.solar-figure figcaption{display:block;padding:0;font-size:14px;line-height:1.65}
.solar-figure figcaption a{display:inline-block;margin-top:14px}
.coastal-story{align-items:start}
.coastal-examples{display:grid;gap:22px;min-width:0}
.project.coastal .coastal-examples .coastal-cover{margin:0}
@media(max-width:800px){.solar-figure{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:22px}.coastal-examples{grid-template-columns:1fr 1fr;align-items:start}}
@media(max-width:600px){.solar-figure{grid-template-columns:1fr;gap:18px;margin-inline:0}.solar-figure>a{width:min(100%,260px)}.solar-figure figcaption{padding:0;font-size:13px}.coastal-examples{grid-template-columns:1fr;gap:20px}.project.coastal .coastal-examples .coastal-cover{margin:0}}

/* One visual column connects the on-site work with the operating dashboard. */
.solar-case{padding:48px}
.solar-opening{grid-template-columns:1fr 1.05fr;gap:44px;margin:0;align-items:start}
.solar-opening .case-intro{padding:0;gap:26px}
.solar-visuals{min-width:0;background:var(--soft)}
.solar-visuals .solar-site-photo{min-height:0;aspect-ratio:1.45}
.solar-visuals .solar-site-photo img{object-position:45% 75%}
.solar-visuals .solar-figure{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:20px;padding:24px;margin:0;align-items:start}
.solar-visuals .solar-figure>a{width:100%;border:1px solid var(--line)}
.solar-visuals .solar-figure figcaption{font-size:12px;padding:0;line-height:1.6}
.solar-visuals .solar-figure figcaption a{font-size:13px;margin-top:10px}
.solar-case .case-results{padding-top:40px;border-top:1px solid var(--line);margin-top:44px}
@media(max-width:1100px){.solar-case{padding:32px}.solar-opening{gap:30px}.solar-visuals .solar-figure{grid-template-columns:1fr;padding:20px;gap:16px}.solar-visuals .solar-figure>a{max-width:240px}}
@media(max-width:800px){.solar-opening{display:grid;grid-template-columns:1fr;gap:30px}.solar-visuals .solar-site-photo{aspect-ratio:1.65}.solar-visuals .solar-figure{grid-template-columns:minmax(0,220px) minmax(0,1fr)}}
@media(max-width:600px){.solar-case{padding:28px 20px}.solar-opening .case-intro{padding:0}.solar-visuals .solar-site-photo{aspect-ratio:1.35}.solar-visuals .solar-figure{grid-template-columns:1fr;padding:20px}.solar-visuals .solar-figure>a{max-width:240px}.solar-case .case-results{padding-top:28px;margin-top:32px}}
