:root{--ink:#162f39;--paper:#f6f5f0;--muted:#5c6d72;--line:#cdd2ce;--accent:#c7d2c8;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font:400 1rem/1.6 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}em{font-weight:400}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #bb8848;outline-offset:6px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:12px}.site-header{height:112px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0}.brand>span{font:400 2.65rem/.9 var(--serif);letter-spacing:-1.2px}.brand-period{color:#799089}.brand small{font-size:.75rem;letter-spacing:.24em;margin-top:11px}.site-header nav{display:flex;gap:33px;font-size:.875rem}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.site-header nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:white;padding:16px 24px;border-radius:2px;font-size:.875rem;transition:background .2s,transform .2s}.button:hover{background:#2c4b56;transform:translateY(-2px)}.button span{font-size:1.25rem}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 112px);max-height:980px;color:white;padding:42px 4.4% 25px;display:flex;flex-direction:column;justify-content:space-between;background:var(--ink)}.hero-shade{position:absolute;inset:0;height:100%}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(11,27,32,.18) 0%,rgba(11,27,32,.08) 20%,rgba(11,27,32,.50) 65%,rgba(11,27,32,.78) 100%)}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:.75rem;letter-spacing:.15em;line-height:1.5;font-weight:500}.hero-location{font-size:.75rem;letter-spacing:.15em}.hero-content{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:end;margin-top:auto;padding:100px 0 52px}.hero h1{font-size:clamp(4.5rem,7.7vw,8.5rem);letter-spacing:-.035em;line-height:.98}.hero h1 em{color:#edf0e6}.hero-aside{max-width:305px;justify-self:end;padding-bottom:5px}.hero-aside p{font-size:1.02rem;line-height:1.7;color:#f0f1ee;margin-bottom:29px}.text-link{display:inline-flex;justify-content:space-between;gap:45px;padding:10px 0;border-bottom:1px solid var(--ink);font-size:.9rem}.text-link span{font-size:1.2rem;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{border-color:#ffffff80}.hero-bottom{border-top:1px solid #ffffff40;padding-top:19px;font-size:.75rem;color:#e6e9e4}.hero-bottom>a{font-size:.75rem;letter-spacing:.15em}.hero-bottom>a span{margin-left:16px;font-size:1rem}.section-pad{padding:110px 6.6%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:45px}.section-label{padding-top:8px}.section-label span{margin-right:16px;color:var(--muted)}h2{font-size:clamp(3rem,4.7vw,5rem);letter-spacing:-.025em}.intro-copy{max-width:530px;font-size:1.08rem;line-height:1.8;color:var(--muted);margin-top:30px}@media(min-width:1700px){.site-header,.hero{padding-left:7%;padding-right:7%}.section-pad{padding-left:10%;padding-right:10%}}@media(max-width:1000px){.site-header{height:96px;gap:20px}.site-header nav{gap:18px}.header-cta{font-size:.8rem;padding:13px 17px;gap:15px}.hero{height:calc(100svh - 96px);min-height:620px}.hero-content{grid-template-columns:1.6fr 1fr;gap:24px}.hero h1{font-size:6.7vw}.hero-aside{max-width:260px}.intro{grid-template-columns:1fr 2fr}.section-pad{padding:80px 5%}}@media(max-width:700px){html{scroll-padding-top:75px}.site-header{height:88px;padding:0 6%}.brand>span{font-size:2.25rem}.brand small{font-size:.75rem;letter-spacing:.2em;margin-top:8px}.site-header>nav,.header-cta{display:none}.menu-toggle{display:flex;gap:18px;align-items:center;border:0;background:none;color:var(--ink);padding:12px 0;font-size:.875rem}.menu-toggle span{font-size:1.5rem;font-weight:400}.mobile-menu{padding:15px 6% 30px;background:var(--paper)}.mobile-menu nav{display:flex;flex-direction:column;gap:16px}.hero{padding:28px 6% 22px;height:calc(100svh - 88px);min-height:640px;max-height:900px}.hero-top .eyebrow{font-size:.75rem}.hero-location{display:none}.hero-content{display:block;padding:90px 0 36px}.hero h1{font-size:clamp(3.7rem,12vw,5.8rem)}.hero-aside{max-width:310px;margin-top:32px}.hero-aside p{font-size:1rem;margin-bottom:14px}.hero-bottom{font-size:.75rem}.hero-bottom>a{font-size:.75rem}.hero-bottom>a span{margin-left:7px}.section-pad{padding:70px 6%}.intro{display:block}.section-label{margin-bottom:30px}.intro-copy{font-size:1rem;margin-top:25px}h2{font-size:3rem}.hero-video,.hero-poster{object-position:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}.hero-video{pointer-events:none}.intro-note{display:flex;gap:28px;font-size:.8rem;margin-top:30px;padding-top:25px;border-top:1px solid var(--line);max-width:530px}.work{padding-top:20px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.section-heading .section-label{margin-bottom:25px}.section-heading>p{font-size:1rem;color:var(--muted);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-photo{position:relative;display:block;padding:0;width:100%;border:0;background:var(--ink);overflow:hidden;cursor:pointer}.project-photo img{aspect-ratio:3/4;transition:transform .6s}.project-photo:hover img{transform:scale(1.035)}.image-open{position:absolute;bottom:16px;right:16px;background:var(--paper);color:var(--ink);width:42px;height:42px;display:grid;place-items:center;font-size:1.5rem;border-radius:50%}.project-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:23px}.project-label h3{font-size:2rem;letter-spacing:-.02em}.project-label>span{font-size:.75rem;color:var(--muted)}.project>p{font-size:.75rem;letter-spacing:.12em;margin-top:10px;color:var(--muted)}.services{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line);align-items:center}.services-photo{position:relative}.services-photo img{aspect-ratio:3/4;max-height:750px}.photo-note{position:absolute;bottom:0;left:0;right:0;padding:65px 28px 25px;color:white;font-size:.85rem;background:linear-gradient(transparent,#071d29a6)}.services-content .section-label{margin-bottom:30px}.section-copy{color:var(--muted);margin-top:25px;max-width:470px}.service-list{margin-top:32px;margin-bottom:30px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:15px;cursor:pointer;list-style:none;padding:21px 0;font-size:1rem;font-weight:500}summary::-webkit-details-marker{display:none}.service-number{font-size:.75rem;color:var(--muted);margin-right:5px}.expand{position:relative;width:12px;height:12px;margin-left:auto;flex-shrink:0}.expand:before,.expand:after{content:'';position:absolute;background:var(--ink);width:12px;height:1px;left:0;top:5px}.expand:after{transform:rotate(90deg)}details[open] .expand:after{transform:none}.service-list details p{font-size:1rem;color:var(--muted);padding:0 28px 23px 34px;max-width:460px}.about{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.4fr 1fr;gap:12%;align-items:center}.about .section-label span{color:#afc0c5}.about .section-label{margin-bottom:32px}.about h2{margin-bottom:35px}.about-copy>p:not(.eyebrow){max-width:510px;color:#cdd6d6;margin:0 0 20px}.about .text-link{margin-top:10px}.about-brand{font:400 3.4rem/1 var(--serif);margin-top:48px}.about-brand>span{color:#afc0c5}.about-brand small{display:block;font:400 .75rem/1.7 var(--sans);letter-spacing:.24em;margin-top:12px}.video-feature{margin:0;max-width:330px;justify-self:end;width:100%}.video-feature video{display:block;aspect-ratio:9/16;width:100%;height:auto;max-height:590px;object-fit:cover;background:#102029}.video-feature figcaption{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:#c9d1d0;padding-top:16px}.contact{text-align:center;padding-top:110px;padding-bottom:100px}.contact .eyebrow{margin-bottom:28px}.contact h2{font-size:clamp(4rem,6vw,6.5rem);line-height:1.01}.contact>p:not(.eyebrow){color:var(--muted);margin:28px 0}.contact-number{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.25rem);display:table;margin:0 auto;border-bottom:1px solid var(--ink);line-height:1.5}.contact-number span{font-family:var(--sans);font-size:1.7rem;margin-left:32px;vertical-align:middle}.facebook-link{display:table;margin:23px auto 0;font-size:.85rem}.facebook-link span{padding-left:10px}.facebook-link:hover{text-decoration:underline}footer{background:#e2e8e3;padding:50px 6.6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-top p{font-size:.85rem;color:#43565c}.back-top{font-size:.75rem;letter-spacing:.12em}.back-top span{font-size:1rem;margin-left:25px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #162f3933;padding-top:22px;font-size:.75rem;color:#43565c}.lightbox{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:min(90vw,740px);max-height:92svh;width:fit-content;overflow:auto}.lightbox::backdrop{background:#06141fe8}.lightbox>img{max-height:73svh;width:100%;height:auto;object-fit:contain;background:#13252e}.lightbox-close{position:fixed;right:4%;top:3%;height:46px;width:46px;font-size:2rem;line-height:1;border:1px solid #ffffff80;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer}.lightbox-caption{padding:22px 28px}.lightbox-caption h2{font-size:2rem}.lightbox-caption p{font-size:.8rem;color:var(--muted);margin-top:8px}.modal-open{overflow:hidden}@media(min-width:1700px){footer{padding-left:10%;padding-right:10%}}@media(max-width:1050px){.services{gap:6%}.services h2,.about h2{font-size:3.5rem}.project-label h3{font-size:1.7rem}.project-grid{gap:20px}.about{gap:7%}.eyebrow{font-size:.75rem}.services-photo img{min-height:570px}.hero-top .eyebrow{font-size:.75rem}}@media(max-width:700px){.intro-note{flex-direction:column;gap:4px}.work{padding-top:5px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:40px}.project-photo img{aspect-ratio:4/5}.project-label{margin-top:17px}.project-label h3{font-size:2rem}.project>p{font-size:.75rem}.services{grid-template-columns:1fr;gap:42px}.services-content{order:-1}.services h2,.about h2{font-size:3.3rem}.services-photo img{min-height:0;aspect-ratio:4/5;max-height:600px}.services-content .section-label{margin-bottom:25px}.about{grid-template-columns:1fr;gap:44px}.about h2{margin-bottom:28px}.about .section-label{font-size:.75rem}.about-brand{margin-top:32px}.video-feature{justify-self:center;max-width:340px}.video-feature video{max-height:580px}.contact{padding-top:75px;padding-bottom:70px}.contact h2{font-size:3.9rem}.contact-number{font-size:2.4rem}.contact-number span{margin-left:17px;font-size:1.4rem}footer{padding:38px 6% 24px}.footer-top{flex-wrap:wrap;gap:24px}.footer-top p{font-size:.8rem}.back-top{width:100%;text-align:right}.footer-bottom{flex-direction:column;gap:5px;font-size:.75rem}.lightbox{max-width:91vw;max-height:88svh}.lightbox>img{max-height:65svh}.lightbox-caption{padding:20px}.lightbox-close{top:2%;right:3%}}@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}}@media(forced-colors:active){.expand:before,.expand:after{background:CanvasText}.button,.image-open,.lightbox-close{border:1px solid ButtonText}}

@media(min-width:701px) and (max-width:960px){.site-header>nav,.header-cta{display:none}.menu-toggle{display:flex;gap:18px;align-items:center;border:0;background:none;color:var(--ink);padding:12px 0;font-size:.875rem}.menu-toggle span{font-size:1.5rem}.mobile-menu{padding:15px 5% 30px}.mobile-menu nav{display:flex;flex-direction:column;gap:16px}}

.hero-actions{display:flex;align-items:center;gap:28px}.hero-actions>a{font-size:.75rem;letter-spacing:.15em}.hero-actions>a span{margin-left:16px;font-size:1rem}.video-toggle{border:1px solid #ffffff75;color:white;background:#10252c66;border-radius:2px;min-height:42px;min-width:108px;padding:8px 14px;cursor:pointer;font-size:.875rem;line-height:1.2}.video-toggle:hover{background:#10252cab}.video-toggle[hidden]{display:none}@media(max-width:700px){.hero-bottom>span{display:none}.hero-actions{width:100%;justify-content:space-between;gap:14px}.hero-actions>a{letter-spacing:.08em}.hero-actions>a span{margin-left:7px}}

@media(max-width:700px){.hero-video,.hero-poster{object-position:50% 40%}}
.services-photo{margin:0;align-self:center}.service-list details[open] summary{color:#245c6c}.service-list details[open] .service-number{color:inherit}.service-list summary:hover{color:#245c6c}@media(max-width:700px){.services{gap:24px}.services-content{display:contents}.services-heading{order:1}.services-photo{order:2;width:100%}.services-photo img{height:350px;min-height:0;max-height:none;aspect-ratio:auto;object-position:center}.service-list{order:3;margin:0}.services-content>.text-link{order:4;justify-self:start}.services-heading .section-label{margin-bottom:25px}.photo-note{padding:60px 20px 20px}}
.service-image-wrap{position:relative;overflow:hidden}.service-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.service-gallery-footer[hidden]{display:none}.service-play{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:.875rem;min-height:44px;padding:8px 0;cursor:pointer}.service-navigation{display:flex;align-items:center;gap:10px}.service-count{font-size:.8rem;letter-spacing:.08em;white-space:nowrap;margin-right:6px}.service-prev,.service-next{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.25rem;cursor:pointer}.service-prev:hover,.service-next:hover{background:var(--ink);color:var(--paper)}.service-image-wrap{touch-action:pan-y pinch-zoom}.service-image-wrap img{user-select:none;-webkit-user-drag:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:700px){.service-gallery-footer{gap:10px;margin-top:12px}.service-navigation{gap:7px}.service-count{margin-right:2px}.service-play{font-size:.8rem}.service-prev,.service-next{width:40px;height:40px}}
.service-image-wrap{background:var(--ink)}

/* Shared page navigation and service links. */
.site-header nav a[aria-current="page"]:after{width:100%}
.mobile-menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.service-page-link{display:table;margin-top:14px;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.work-more{margin-top:40px}
.footer-links{display:grid;grid-template-columns:1.3fr 1fr .75fr;gap:50px;padding-bottom:48px}
.footer-links>div>p{font-size:.85rem;color:#43565c;margin-top:24px}
.footer-links nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.85rem}
.footer-links nav .eyebrow{margin-bottom:9px}
.footer-links nav a:hover{text-decoration:underline;text-underline-offset:4px}

/* Interior pages keep the same quiet typography and generous spacing. */
.inner-page h1{font-size:clamp(3.6rem,6vw,6.7rem);letter-spacing:-.035em;line-height:1.02}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--muted);margin-bottom:56px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-hero{padding-top:38px;padding-bottom:90px}
.page-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}
.page-hero-grid>div>.eyebrow,.page-intro>.eyebrow{margin-bottom:26px}
.page-lead{max-width:560px;color:var(--muted);font-size:1.06rem;line-height:1.8;margin-top:28px}
.page-hero-grid .text-link{margin-top:25px}
.inner-page figure{margin:0;min-width:0}
.inner-page figcaption{font-size:.8rem;color:var(--muted);padding-top:16px}
.page-hero-photo>img,.page-hero-photo .project-photo img{aspect-ratio:4/5;height:auto;max-height:630px;object-fit:contain;background:var(--ink)}
.service-story{border-top:1px solid var(--line)}
.story-heading{display:grid;grid-template-columns:1fr 2fr;gap:8%}
.story-heading>.eyebrow{padding-top:12px;max-width:230px}
.story-intro{font-size:1.06rem;color:var(--muted);max-width:680px;margin:30px 0 0 auto}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:65px}
.scope-grid article{border-top:1px solid var(--line);padding-top:24px}
.scope-grid h3{font-size:2.3rem;letter-spacing:-.02em;margin:22px 0 18px}
.scope-grid p{color:var(--muted)}
.project-feature{background:#e8ece5;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.project-feature .project-photo img{aspect-ratio:4/5;height:auto;max-height:580px;object-fit:contain}
.project-feature h2{margin:24px 0}
.project-feature>div>p:not(.eyebrow){max-width:440px;color:var(--muted)}
.project-feature .text-link{margin-top:26px}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}
.faq-section h2{margin-top:24px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{min-height:78px;gap:25px}
.faq-list details p{color:var(--muted);padding:0 30px 25px 0}
.related-section{padding-top:0}
.related-section nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:20px}
.related-section nav a,.service-directory a{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:22px 0}
.related-section nav a:hover,.service-directory a:hover{border-color:var(--ink)}
.related-section nav a>span:last-child,.service-directory a>span:last-child{font-size:1.4rem}
.page-cta{text-align:center;background:var(--ink);color:var(--paper)}
.page-cta h2{margin:26px 0 32px}
.page-cta .contact-number,.page-cta .text-link{border-color:#ffffff70}
.page-cta>.text-link{margin-top:22px}

/* The collection stays readable without JavaScript; filters enhance it. */
.page-intro{padding-top:38px;padding-bottom:50px}
.page-intro .page-lead{max-width:620px}
.portfolio{padding-top:0}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
.portfolio-filters[hidden],.portfolio-card[hidden]{display:none}
.portfolio-filters button{min-height:44px;padding:10px 22px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);cursor:pointer;font-size:.875rem}
.portfolio-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.portfolio-filters button:hover{border-color:var(--ink)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 40px}
.portfolio-card .project-photo img{aspect-ratio:4/3;height:auto;object-fit:contain}
.portfolio-card>.eyebrow{margin:24px 0 14px;color:var(--muted)}
.portfolio-card h2{font-size:2.8rem}
.portfolio-card>p:not(.eyebrow){color:var(--muted);margin-top:16px;max-width:470px}
.portfolio-card>.text-link{margin-top:12px}
.portfolio-more{margin-top:70px;padding-top:35px;border-top:1px solid var(--line)}
.portfolio-more>p{font:2.3rem/1.2 var(--serif);margin-bottom:12px}

.about-values{background:#e8ece5}
.about-values>h2{margin-top:25px}
.location-section{display:grid;grid-template-columns:1fr 2fr;gap:8%}
.location-section>.eyebrow{padding-top:12px}
.location-section>div>p{max-width:590px;color:var(--muted);margin:28px 0 20px;font-size:1.06rem}
.contact-page{padding-top:38px;text-align:center}
.contact-page .breadcrumbs{text-align:left}
.contact-page>.eyebrow{margin-bottom:26px}
.contact-page .page-lead{margin:28px auto 30px}
.contact-page>.text-link{margin-top:20px}
.contact-area{font-size:.85rem;color:var(--muted);margin-top:30px}
.contact-planning{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e8ece5}
.contact-planning h2{margin-top:26px}
.contact-planning>div>p:not(.eyebrow){color:var(--muted);margin-top:26px;max-width:460px}
.planning-list{list-style:none;margin:0;padding:0}
.planning-list li{display:flex;gap:25px;border-top:1px solid var(--line);padding:26px 0}
.planning-list li>span{font-size:.8rem;padding-top:6px}
.planning-list h3{font-size:2.1rem;margin-bottom:12px}
.planning-list p{color:var(--muted)}
.contact-services h2{margin-top:25px}
.service-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;margin-top:35px}

.page-jumps{display:flex;align-items:center;flex-wrap:wrap;gap:18px 36px;padding:24px 6.6%;border-top:1px solid var(--line);font-size:.85rem}
.page-jumps>.eyebrow{margin-right:auto;color:var(--muted)}
.page-jumps a:hover{text-decoration:underline;text-underline-offset:5px}
.service-gallery .section-heading .eyebrow,.project-collection .section-heading .eyebrow,.project-angles .section-heading .eyebrow,.portfolio .section-heading .eyebrow{margin-bottom:22px}
.service-gallery .section-heading>p,.project-collection .section-heading>p{max-width:240px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.detail-card .project-photo img{aspect-ratio:3/4;height:auto;object-fit:contain}
.detail-card>.eyebrow{font-size:.68rem;margin:24px 0 14px;color:var(--muted)}
.detail-card h3{font-size:2.4rem;letter-spacing:-.02em}
.detail-card>p:not(.eyebrow){color:var(--muted);font-size:.95rem;line-height:1.75;margin-top:16px}
.service-project-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;border-top:1px solid var(--line);margin-top:55px;padding-top:28px}
.service-project-links>.eyebrow{margin-right:auto;color:var(--muted)}
.contact-planning .text-link{margin-top:24px}
.project-collection{padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}
.page-intro+.project-collection{background:#e8ece5;margin-bottom:85px}
.story-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}
.story-card{display:block;min-width:0}
.story-card>img{aspect-ratio:4/3;height:auto;object-fit:contain;background:var(--ink)}
.story-card>div{padding:24px 0 0}
.story-card .eyebrow{font-size:.7rem;color:var(--muted);margin-bottom:15px}
.story-card h3{font-size:clamp(2.2rem,3.4vw,3.5rem);letter-spacing:-.02em}
.story-card-link{display:flex;justify-content:space-between;gap:20px;font-size:.85rem;border-bottom:1px solid var(--line);padding:19px 0 12px;margin-top:12px}
.story-card-link>span{font-size:1.2rem}
.story-card:hover .story-card-link{border-color:var(--ink)}
.story-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.project-details{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0;padding:32px 6.6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-details li{display:flex;align-items:center;gap:18px;font-size:.95rem}
.project-details .eyebrow{color:var(--muted)}
.project-reading{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}
.project-reading h2{margin:25px 0 30px}
.project-reading p:not(.eyebrow){color:var(--muted);margin-top:20px;line-height:1.85}
.project-reading aside{background:#e8ece5;padding:40px}
.project-reading h3{font-size:2.7rem;margin-top:24px}
.project-reading .text-link{margin-top:24px}
.project-angles{padding-top:0}
.project-angle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.project-angle-grid figure{margin:0;min-width:0}
.project-angle-grid img{aspect-ratio:3/4;object-fit:contain;height:auto;max-height:700px}
.project-angle-grid figcaption{font-size:.85rem;color:var(--muted);margin-top:18px;max-width:630px}
.single-angle{grid-template-columns:1fr}
.single-angle img{aspect-ratio:4/3;max-height:740px}
@media(min-width:1700px){.page-jumps,.project-details{padding-left:10%;padding-right:10%}}
@media(max-width:1000px){.page-jumps,.project-details{padding-left:5%;padding-right:5%}.detail-grid{gap:22px}.detail-card h3{font-size:2rem}.project-reading{gap:5%}.project-reading aside{padding:28px}.project-details{gap:20px}}
@media(max-width:700px){
 .page-jumps{padding:22px 6%;gap:16px 24px}.page-jumps>.eyebrow{flex-basis:100%}
 .service-gallery .section-heading,.project-collection .section-heading,.project-angles .section-heading{display:block}
 .service-gallery .section-heading>p,.project-collection .section-heading>p,.project-angles .section-heading>p{margin-top:22px;max-width:none}
 .detail-grid,.story-card-grid,.project-reading,.project-angle-grid{grid-template-columns:1fr;gap:44px}
 .detail-card .project-photo img{max-height:520px}.detail-card h3{font-size:2.4rem}
 .service-project-links{display:block;margin-top:40px}.service-project-links>.eyebrow{margin-bottom:16px}.service-project-links>.text-link{display:flex;margin-top:10px}
 .project-collection{padding-top:65px;padding-bottom:65px}.page-intro+.project-collection{margin-bottom:65px}
 .project-details{grid-template-columns:1fr;gap:18px;padding:28px 6%}
 .project-reading aside{padding:28px}.project-reading h3{font-size:2.4rem}
 .project-angle-grid img{max-height:560px}.single-angle img{aspect-ratio:auto}
}

@media(max-width:1000px){
 .page-hero-grid{gap:6%}.page-hero-photo>img,.page-hero-photo .project-photo img{max-height:520px}
 .story-heading{grid-template-columns:1fr 2fr;gap:5%}.story-intro{max-width:62%}
 .scope-grid{gap:25px}.scope-grid h3{font-size:2rem}
 .faq-section{gap:6%}.related-section nav{gap:25px}
 .portfolio-grid{gap:50px 28px}.footer-links{gap:30px}
}
@media(max-width:700px){
 .inner-page h1{font-size:clamp(3.5rem,12vw,5.2rem)}
 .page-hero,.page-intro,.contact-page{padding-top:25px}.breadcrumbs{margin-bottom:40px}
 .page-hero-grid,.story-heading,.project-feature,.faq-section,.location-section,.contact-planning{grid-template-columns:1fr;gap:40px}
 .page-hero-grid>div>.eyebrow{margin-bottom:22px}.page-lead{font-size:1rem;margin-top:24px}
 .page-hero-photo>img,.page-hero-photo .project-photo img{max-height:550px;aspect-ratio:4/5}
 .story-heading{gap:22px}.story-heading>.eyebrow{max-width:none;padding:0}
 .story-intro{max-width:none;font-size:1rem;margin-top:26px}
 .scope-grid{grid-template-columns:1fr;gap:32px;margin-top:40px}.scope-grid h3{margin-top:14px;font-size:2.2rem}
 .project-feature .project-photo img{max-height:520px}.project-feature>div{order:-1}
 .faq-list summary{min-height:75px;font-size:.95rem}.faq-section h2{margin-top:20px}
 .related-section nav{grid-template-columns:1fr;gap:0}.related-section{padding-top:0}
 .portfolio-grid{grid-template-columns:1fr;gap:46px}.portfolio-card h2{font-size:2.6rem}
 .portfolio-card>.eyebrow{margin-top:20px}.portfolio-filters{gap:8px;margin-bottom:30px}
 .portfolio-filters button{padding:9px 18px}.portfolio-more{margin-top:45px}
 .location-section{gap:24px}.location-section>div>p{font-size:1rem}
 .planning-list h3{font-size:2rem}.planning-list li{gap:20px}
 .service-directory{grid-template-columns:1fr;gap:0}
 .footer-links{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-links>div{grid-column:1/-1}
 .footer-links nav{font-size:.8rem}.footer-links nav .eyebrow{font-size:.7rem}
}

/* SVG controls keep arrows and close buttons out of mobile emoji fonts. */
.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}
