:root{--ink:#191c19;--paper:#f1f0eb;--white:#fff;--accent:#ff6a27;--muted:#a6aaa1;--line:rgba(25,28,25,.18);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--gutter:clamp(22px,5vw,96px);--header:106px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%;height:auto}
button svg,a svg{width:22px;height:22px;flex:none}
button{color:inherit}
button:disabled{opacity:.35;cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
::selection{background:var(--accent);color:var(--ink)}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.045em}
h1{font-size:clamp(66px,7.7vw,148px)}
h2{font-size:clamp(48px,5.2vw,100px)}
h3{font-size:clamp(34px,3vw,58px)}
h1 em,h2 em,h3 em{font-weight:400;letter-spacing:-.05em}
p{max-width:58ch}
.eyebrow{display:block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.55}
.section-wrap{padding:112px var(--gutter)}
.button{min-height:54px;padding:16px 28px;display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--accent);color:var(--ink);font-size:14px;font-weight:600;border:1px solid var(--accent);border-radius:7px;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:background .28s cubic-bezier(.22,1,.36,1),border-color .28s ease,box-shadow .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.button-small{padding:12px 23px;min-height:46px}
.button-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.text-link,.hero-secondary{display:inline-flex;align-items:center;padding:11px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:500;transition:opacity .25s ease,border-color .25s ease}
@media(hover:hover) and (pointer:fine){.button:hover{background:#ff7c40;border-color:#ff7c40;box-shadow:0 5px 16px rgba(0,0,0,.12);transform:translateY(-1px)}.button-dark:hover{background:#343a32;border-color:#343a32}.text-link:hover,.hero-secondary:hover{opacity:.72}}
.button:active{transform:translateY(0) scale(.985);box-shadow:0 1px 2px rgba(0,0,0,.06);transition-duration:.12s}
.icon-button{display:grid;place-items:center;background:none;border:1px solid currentColor;width:46px;height:46px;border-radius:50%;padding:10px}
.icon-button:hover{color:var(--accent)}
.text-button{padding:8px 0;background:none;border:0;text-align:left;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:200;background:var(--accent);padding:12px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{height:var(--header);position:absolute;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:0 var(--gutter);color:var(--white);border-bottom:1px solid rgba(255,255,255,.24);transition:background .3s,box-shadow .3s,height .3s}
.site-header.is-sticky{position:fixed;height:82px;background:rgba(25,28,25,.96);backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.12);box-shadow:0 1px 0 rgba(255,255,255,.1)}
.light-page .site-header{background:var(--ink)}
.brand{display:flex;align-items:center;gap:14px;flex:none}
.brand-mark{position:relative;display:block;overflow:hidden;width:43px;height:69px}
.brand-mark img{position:absolute;left:-23px;top:0;width:90px;max-width:none;height:90px}
.brand-words{font-size:18px;letter-spacing:.065em;font-weight:600;line-height:1.4}
.brand-words>span{display:block;font-size:9px;letter-spacing:.2em;font-weight:500;color:#c1c5bc;margin-top:4px}
.desktop-nav{display:flex;gap:clamp(20px,2.2vw,44px);font-size:13px;line-height:1.3;align-items:center}
.desktop-nav a{position:relative;padding:14px 0}
.desktop-nav a:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}
.header-actions{display:flex;gap:30px;align-items:center}
.phone-link{display:inline-flex;align-items:center;gap:10px}
.phone-link svg{width:18px;height:18px}
.header-phone{font-size:13px;white-space:nowrap}
.menu-toggle,.mobile-contact{display:none}
.hero{position:relative;min-height:820px;height:100svh;max-height:1250px;color:var(--white);background:var(--ink);isolation:isolate;overflow:hidden}
.hero-slides,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero-slides{overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.15s ease;overflow:hidden}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.025);transform-origin:60% 48%}
.hero-entry img{object-position:50% 58%;filter:brightness(1.09) saturate(1.04)}
.hero-pour img{object-position:54% 54%}
.hero-shade{background:linear-gradient(90deg,rgba(8,18,12,.7),rgba(8,18,12,.48) 52%,rgba(8,18,12,.04) 76%),linear-gradient(0deg,rgba(8,18,12,.7),transparent 27%,transparent 70%,rgba(8,18,12,.32));z-index:-1}
.hero-content{padding:clamp(166px,21vh,240px) 32px 150px;width:100%;max-width:1280px;margin-inline:auto}
.hero-eyebrow{margin-bottom:28px;color:#e4e5dc;letter-spacing:.18em}
.hero h1{font-size:clamp(84px,8.75vw,168px);line-height:.89;letter-spacing:-.052em}
.hero h1 em{color:#f5eee0}
.hero-content>p{font-size:clamp(16px,1.05vw,20px);line-height:1.7;color:#e2e4da;margin:34px 0 32px}
.hero-actions{display:flex;gap:30px;align-items:center}
.hero-secondary{border-bottom-color:rgba(255,255,255,.55)}
.hero-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:88px;border-top:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.12em;font-weight:500}
.hero-bottom a{display:flex;align-items:center;gap:15px}
.hero-bottom svg{width:16px}
.muted{opacity:.5;margin:0 12px}
.hero-photo-note{color:#d4d8cd}
.intro{padding-top:100px;padding-bottom:112px}
.intro>.eyebrow{margin-bottom:42px}
.intro-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:end}
.intro h2{font-size:clamp(50px,5vw,96px)}
.intro-copy{max-width:475px;padding-bottom:3px}
.intro-copy>p{font-size:17px;line-height:1.75;margin-bottom:19px;color:#555b51}
.intro-copy>.text-link{margin-top:13px}
.project-scene{background:var(--ink);color:var(--paper);scroll-margin-top:0}
.scene-pin{padding:38px 0 28px}
.scene-top,.scene-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--gutter)}
.scene-top{margin-bottom:40px}
.scene-skip{font-size:12px;display:flex;gap:14px;align-items:center;color:#c6c9bf}
.scene-skip svg{width:16px;height:16px}
.scene-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;padding:0 var(--gutter)}
.scene-intro{padding:40px 0;align-self:center}
.scene-intro h2{margin:30px 0 25px;font-size:clamp(58px,5.5vw,106px)}
.scene-intro h2 em{color:var(--accent)}
.scene-intro>p{color:#b6bcb0;line-height:1.6;font-size:15px}
.scroll-label{display:none}
.project-card{min-width:0}
.photo-button{display:block;position:relative;width:100%;border:0;padding:0;background:#30362e;overflow:hidden;text-align:left;color:#fff}
.photo-button img{height:100%;width:100%;object-fit:cover;transition:transform .7s ease}
.photo-button:hover img{transform:scale(1.035)}
.photo-expand{position:absolute;right:20px;bottom:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.65);display:grid;place-items:center;background:rgba(20,25,20,.1);backdrop-filter:blur(4px)}
.photo-expand svg{width:21px;height:21px}
.scene-card .photo-button{aspect-ratio:1.45}
.project-caption{padding:22px 0 10px;display:flex;gap:22px;align-items:flex-start;position:relative}
.project-caption h3{font-size:clamp(28px,2.5vw,44px);margin-top:6px;letter-spacing:-.03em}
.project-caption .eyebrow{font-size:10px;color:#acb3a5;letter-spacing:.1em}
.project-index{font-family:var(--serif);font-size:23px;line-height:1;border:1px solid #6d7366;padding:10px;min-width:44px;text-align:center}
.project-inquire{display:flex;align-items:center;gap:12px;font-size:12px;margin-left:auto;max-width:160px;padding-top:12px}
.project-inquire{text-underline-offset:5px;text-decoration:underline;text-decoration-color:#6d7366}
.scene-end{padding:70px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px}
.scene-end h3{font-size:72px}
.scene-end>.text-link{color:#c6cbbf}
.scene-bottom{margin-top:35px}
.scene-controls{display:flex;align-items:center;gap:18px}
.scene-controls .icon-button{width:36px;height:36px;padding:7px}
.scene-controls [data-scene-prev] svg{transform:rotate(180deg)}
.scene-controls>span{font-size:12px;letter-spacing:.1em;min-width:58px}
.scene-progress{height:1px;background:#51584b;flex:1;margin:0 45px;position:relative}
.scene-progress>span{height:3px;background:var(--accent);position:absolute;top:-1px;left:0;width:0}
.scene-bottom>a{font-size:11px;letter-spacing:.12em;display:flex;gap:16px;align-items:center}
.scene-bottom>a svg{width:18px}
.scene-controls{visibility:hidden}
.motion-scene .project-scene{height:var(--scene-height,4200px)}
.motion-scene .scene-pin{position:sticky;top:0;height:100svh;padding-top:112px;padding-bottom:26px;display:flex;flex-direction:column;overflow:hidden}
.motion-scene .scene-top{margin-bottom:24px}
.motion-scene .scene-window{width:100%;flex:1;min-height:0}
.motion-scene .scene-track{display:flex;gap:38px;height:100%;width:max-content;will-change:transform;transform:translate3d(var(--scene-x,0px),0,0);padding-right:var(--gutter)}
.motion-scene .scene-intro{width:30vw;min-width:350px;padding:10px 60px 10px 0;flex:none}
.motion-scene .scene-intro h2{font-size:clamp(64px,5.8vw,112px);margin:20px 0}
.motion-scene .scene-card{width:64vw;max-width:1100px;flex:none;display:flex;flex-direction:column}
.motion-scene .scene-card .photo-button{flex:1;min-height:0;aspect-ratio:auto}
.motion-scene .scene-card .photo-button img{height:100%;max-height:none}
.motion-scene .scene-card .project-caption{min-height:106px}
.motion-scene .scene-end{width:45vw;flex:none;padding:30px 4vw}
.motion-scene .scene-bottom{margin-top:18px;min-height:36px}
.motion-scene .scene-controls{visibility:visible}
.motion-scene .scroll-label{display:flex;gap:35px;align-items:center;font-size:11px;letter-spacing:.16em;margin-top:34px}
.scroll-label svg{width:34px;height:22px}
.section-heading{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:75px}
.section-heading>.eyebrow{padding-top:10px}
.section-heading h2{width:62%;font-size:clamp(56px,5.6vw,108px)}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw}
.service-offset{padding-top:140px}
.service-photo{display:block;position:relative;overflow:hidden}
.service-photo img{aspect-ratio:1.16;object-fit:cover;transition:transform .8s}
.service-photo:hover img{transform:scale(1.03)}
.service-photo>span{position:absolute;bottom:0;left:0;background:var(--accent);color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.12em;padding:14px 20px}
.service-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:30px 0 20px}
.service-title h3{font-size:clamp(38px,3.7vw,70px)}
.service-link{border-bottom:1px solid #8d9287;padding:9px 0;font-size:13px;white-space:nowrap;transition:border-color .25s,color .25s}
.service-link:hover{border-color:var(--ink);color:#605d51}
.service-feature>p{font-size:16px;color:#555b51;max-width:48ch}
.service-tags{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.service-tags span{font-size:10px;letter-spacing:.1em;font-weight:600}
.case-study{display:grid;grid-template-columns:1.35fr .75fr;background:#e4e4dc;gap:7vw;padding:95px var(--gutter);align-items:center}
.case-copy h2{font-size:clamp(52px,5.1vw,96px);margin:25px 0 28px}
.case-copy>p{max-width:54ch;color:#52594e}
.case-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:40px 0 22px}
.case-stages img{aspect-ratio:1.15;object-fit:cover}
.case-stages figcaption{font-size:10px;letter-spacing:.08em;padding:12px 0}
.video-feature{position:relative;max-width:420px;justify-self:end;width:100%}
.video-feature video{aspect-ratio:9/16;max-height:710px;object-fit:cover;background:#10150f;width:100%}
.video-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.1em;font-weight:600;padding:15px 0;border-bottom:1px solid var(--line)}
.approach{display:grid;grid-template-columns:.95fr 1.05fr;gap:8vw;align-items:center}
.approach-image{position:relative}
.approach-image img{aspect-ratio:.87;object-fit:cover}
.approach-image>span{position:absolute;bottom:24px;left:25px;font-size:10px;letter-spacing:.12em;color:#fff}
.approach-copy>.eyebrow{margin-bottom:26px}
.approach-copy h2{font-size:clamp(50px,4.7vw,90px)}
.approach-copy>p{margin:28px 0;color:#555b51}
.process-list{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid var(--line)}
.process-list li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:23px 0}
.process-list li>span{font-size:12px;color:#697162;padding-top:6px}
.process-list h3{font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:-.015em;line-height:1.5}
.process-list p{font-size:14px;color:#656d5e;margin-top:7px;line-height:1.7}
.local-band{background:#d8ded2;padding:72px var(--gutter);display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:50px;align-items:center}
.local-band>.eyebrow{align-self:start;padding-top:10px}
.local-band h2{font-size:clamp(49px,4.3vw,82px)}
.local-band>div>p{font-size:15px;margin-bottom:24px}
.local-coordinate{display:block;font-size:10px;letter-spacing:.1em;margin-top:40px;color:#5b6554}
.closing-cta{background:var(--accent);padding:100px var(--gutter);display:flex;gap:60px;justify-content:space-between;align-items:end}
.closing-cta h2{font-size:clamp(67px,7.2vw,138px);margin-top:30px}
.closing-cta>div:last-child{padding-bottom:8px;min-width:270px}
.closing-cta p{margin-bottom:25px;line-height:1.75}
.closing-cta .button{background:var(--ink);border-color:var(--ink);color:var(--paper);min-width:280px}
.closing-cta .button:hover{background:#32392c}
.cta-phone{display:flex;width:fit-content;margin-top:21px;font-size:17px;gap:12px}
.cta-phone svg{width:34px;height:34px;padding:8px;border:1px solid var(--line);border-radius:50%}
.site-footer{background:var(--ink);color:var(--paper);padding:75px var(--gutter) 24px}
.footer-top{display:flex;justify-content:space-between;gap:50px;align-items:start;padding-bottom:70px}
.footer-top>.brand{padding-top:7px}
.footer-top>p{font-family:var(--serif);font-size:43px;letter-spacing:-.03em;line-height:1.1;margin-left:auto}
.footer-phone{font-family:var(--serif);font-size:40px;display:flex;align-items:center;gap:28px;white-space:nowrap;line-height:1.2;padding-top:4px}
.footer-bottom{display:flex;gap:35px;align-items:center;padding-top:23px;border-top:1px solid #4c5147;font-size:11px;color:#b8beb0}
.footer-bottom a:hover{color:var(--white)}
.preview-label{margin-left:auto;border:1px solid #606655;padding:3px 8px;font-size:10px}
.inner-hero{position:relative;isolation:isolate;background:var(--ink);color:#fff;min-height:720px;height:85svh;max-height:1050px;display:flex;align-items:end;padding:150px var(--gutter) 75px}
.inner-hero-image,.inner-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.inner-hero-shade{background:linear-gradient(90deg,rgba(15,24,17,.83),rgba(15,24,17,.2) 90%),linear-gradient(0deg,rgba(15,24,17,.4),transparent)}
.inner-hero>.inner-hero-image{object-position:50% 58%}
.inner-hero>div:last-child{max-width:900px}
.inner-hero h1{margin:25px 0}
.inner-hero p{max-width:48ch;margin:25px 0 30px;font-size:17px;color:#dce1d6}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 5vw}
.detail-card img{aspect-ratio:1.65;object-fit:cover;margin-bottom:25px}
.detail-card h3{font-size:49px;margin:12px 0 18px}
.detail-card p{color:#535d4e;max-width:51ch}
.detail-card .text-link{margin-top:15px}
.service-proof{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}
.service-proof>div:first-child img{height:100%;min-height:640px;object-fit:cover;max-height:780px}
.service-proof>div:last-child{padding:80px 6vw;align-self:center}
.service-proof h2{margin:27px 0}
.service-proof p{color:#b6beb0;margin-bottom:32px}
.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}
.faq h2{margin-top:25px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;font-size:16px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:22px;height:22px;flex:none;transition:transform .25s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details>p{font-size:15px;color:#5c6655;margin:0 0 25px;max-width:54ch}
.page-heading{padding-top:190px;display:grid;grid-template-columns:1fr 1fr;gap:25px 8vw;align-items:end;padding-bottom:65px}
.page-heading>.eyebrow{grid-column:1/-1}
.page-heading h1{font-size:clamp(72px,7.4vw,142px)}
.page-heading>div>p{color:#5d6756;font-size:17px;max-width:40ch;margin-bottom:35px}
.project-filters{display:flex;gap:10px}
.project-filters button{background:transparent;border:1px solid #a6ad9e;font-size:13px;padding:10px 22px;transition:background .2s,color .2s}
.project-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.portfolio-grid{padding-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 35px}
.portfolio-grid .photo-button{aspect-ratio:1.2}
.portfolio-grid .project-caption .eyebrow{color:#63705a}
.portfolio-grid .project-index{border-color:#b9c0b0}
.portfolio-grid .project-inquire{max-width:130px}
.story-card{height:100%;min-height:450px;display:block;position:relative;background:var(--ink);color:var(--paper);overflow:hidden}
.story-card img{position:absolute;height:100%;object-fit:cover;opacity:.45}
.story-card>div{position:relative;padding:50px}
.story-card h3{font-size:70px;margin:30px 0}
.story-card:hover img{opacity:.55}
.contact-page{padding-top:195px;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:start}
.contact-page h1{font-size:clamp(72px,7.1vw,136px);margin:30px 0}
.contact-page>div:first-child>p{color:#5f6959;max-width:43ch}
.contact-links{margin:50px 0 32px;display:grid}
.contact-links a{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:clamp(16px,1.6vw,28px)}
.contact-links a:last-child{border-bottom:1px solid var(--line);font-size:clamp(14px,1.25vw,22px);overflow-wrap:anywhere}
.contact-links a>span{font-size:10px;letter-spacing:.12em;min-width:55px}
.contact-links a>svg{margin-left:0}
.contact-area{font-size:14px}
.contact-planner{background:#e0e3d9;padding:35px}
.contact-planner img{aspect-ratio:1.85;object-fit:cover;margin:25px 0}
.contact-planner h2{font-size:61px;margin-bottom:20px}
.contact-planner p{font-size:15px;margin-bottom:23px}
.contact-planner .form-note{display:block;margin-top:18px}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:1050px;width:calc(100% - 48px);max-height:calc(100dvh - 64px);overflow:auto}
dialog::backdrop{background:rgba(9,15,10,.8);backdrop-filter:blur(8px)}
.quote-shell{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;min-height:590px}
.dialog-close{position:absolute;top:18px;right:18px;z-index:5;width:38px;height:38px;padding:9px;background:var(--paper)}
.quote-intro{background:#dfe3d8;padding:58px 38px;display:flex;flex-direction:column;align-items:start}
.quote-intro h2{font-size:72px;margin:30px 0 22px}
.quote-intro>p{font-size:15px;color:#5d6756}
.quote-intro>a{font-size:13px;margin-top:auto;padding-top:35px;border-bottom:1px solid #9da593}
.project-form,.request-review{padding:72px 38px 40px;display:flex;flex-direction:column;gap:22px}
.project-form fieldset{padding:0;border:0;margin:0}
.project-form legend{font-size:13px;margin-bottom:14px;font-weight:600}
.service-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.service-choices label{position:relative;cursor:pointer}
.service-choices input{position:absolute;width:1px;height:1px;opacity:0}
.service-choices span{border:1px solid #9ca491;padding:14px 5px;display:block;text-align:center;font-size:13px}
.service-choices input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.service-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.project-form label{font-size:13px}
.project-form input:not([type=radio]),.project-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #9fa792;padding:13px 0;font-size:16px;border-radius:0;display:block;color:var(--ink)}
.project-form textarea{resize:vertical}
.form-note{font-size:12px;line-height:1.65;color:#65705c;max-width:52ch}
.request-review h3{font-size:61px}
.request-review pre{font:14px/1.7 var(--sans);white-space:pre-wrap;word-break:break-word;max-height:170px;overflow:auto;margin:0;padding:15px;background:#e3e6dd}
.request-review .text-button{align-self:start}
.copy-status{font-size:13px}
#image-dialog{background:#11160f;color:var(--paper);max-width:1380px;width:calc(100% - 48px);overflow:hidden}
#image-dialog img{max-height:80dvh;object-fit:contain}
#image-dialog>p{padding:20px 28px;font-size:14px;line-height:1.55;max-width:95ch}
#image-dialog .dialog-close{color:var(--ink)}
.not-found{padding:15vh var(--gutter)}
.not-found h1{margin:40px 0}

@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.js .reveal.is-visible{opacity:1;transform:none}}
@media(min-width:1800px){.hero-content{padding-top:23vh}.scene-card .photo-button{max-height:750px}}
@media(max-width:1300px){:root{--gutter:5vw}.header-phone{display:none}.desktop-nav{gap:25px}.brand-words{font-size:16px}.site-header{gap:25px}.hero{min-height:760px}.hero-content{padding-top:190px}.footer-top{flex-wrap:wrap}.footer-top>p{margin-left:0}.footer-phone{font-size:34px}.project-inquire{font-size:11px;max-width:125px}.local-band{grid-template-columns:.75fr 1.2fr 1fr;gap:30px}.motion-scene .scene-intro{min-width:300px;width:32vw;padding-right:35px}.motion-scene .scene-intro h2{font-size:80px}.motion-scene .scene-card{width:70vw}.motion-scene .scene-card .project-caption{min-height:108px}}
@media(max-width:1000px){:root{--header:90px}.desktop-nav{display:none}.menu-toggle{display:grid;border-radius:0;border-color:transparent}.header-actions{gap:16px}.header-actions .button{min-height:44px}.site-header.is-sticky{height:76px}.hero{min-height:760px}.hero h1{font-size:120px}.hero-photo-note{display:none}.section-wrap{padding-top:85px;padding-bottom:85px}.intro-grid{gap:45px;grid-template-columns:1fr 1fr}.intro h2{font-size:64px}.intro-copy>p{font-size:15px}.section-heading h2{width:65%;font-size:70px}.service-grid{gap:35px}.service-offset{padding-top:90px}.service-title h3{font-size:49px}.case-study{gap:40px;grid-template-columns:1.2fr .8fr}.case-copy h2{font-size:63px}.case-stages{gap:8px;grid-template-columns:1fr 1fr}.case-stages figure:last-child{display:none}.approach{gap:40px}.approach-copy h2{font-size:59px}.approach-image img{aspect-ratio:.64}.local-band{grid-template-columns:1fr 1fr}.local-band>.eyebrow{grid-column:1/-1}.local-band h2{font-size:65px}.closing-cta{padding-top:75px;padding-bottom:75px;gap:30px}.closing-cta h2{font-size:91px}.footer-top{gap:40px}.footer-top>.brand{width:100%}.footer-bottom{gap:22px;flex-wrap:wrap}.preview-label{margin-left:0}.mobile-menu{position:fixed;z-index:45;inset:0;background:var(--ink);color:var(--paper);padding:125px var(--gutter) 40px;overflow:auto}.mobile-menu nav{display:flex;flex-direction:column;max-width:700px}.mobile-menu nav>a{font-family:var(--serif);font-size:46px;line-height:1.3;border-bottom:1px solid #525d4a;padding:12px 0;display:flex;align-items:center;justify-content:space-between}.mobile-menu .menu-call{display:inline-block;margin:30px 0 12px;font-size:22px}.mobile-menu p{font-size:13px;color:#b4bea9}.scene-top .eyebrow{font-size:10px}.motion-scene .scene-intro{width:34vw;min-width:290px}.scene-intro>.eyebrow{font-size:10px}.motion-scene .scene-card{width:75vw}.motion-scene .scene-intro h2{font-size:72px}.scene-bottom .scene-progress{margin:0 12px}.scene-end h3{font-size:64px}.motion-scene .scene-end{width:70vw}.inner-hero{min-height:700px}.inner-hero h1{font-size:108px}.service-proof>div:last-child{padding:60px 5vw}.service-proof h2{font-size:63px}.faq{gap:45px}.faq h2{font-size:68px}.page-heading{padding-top:160px;gap:40px}.page-heading h1{font-size:96px}.project-filters button{padding:10px 15px}.portfolio-grid{gap:45px 24px}.portfolio-grid .project-inquire{display:none}.portfolio-grid .project-caption h3{font-size:34px}.contact-page{padding-top:165px;gap:35px}.contact-page h1{font-size:91px}.contact-planner{padding:28px}.contact-planner h2{font-size:54px}.contact-links a{font-size:21px}.contact-links a:last-child{font-size:14px}.contact-links a>span{min-width:42px}.quote-intro{padding:55px 26px}.quote-intro h2{font-size:62px}.project-form,.request-review{padding-left:26px;padding-right:26px}.quote-shell{grid-template-columns:.8fr 1.2fr}}
@media(max-width:700px){:root{--gutter:22px;--header:88px}html{scroll-padding-top:95px}.site-header{gap:12px}.brand{gap:8px}.brand-words{font-size:13px;letter-spacing:.05em}.brand-words>span{font-size:7px;letter-spacing:.14em}.brand-mark{width:34px;height:55px}.brand-mark img{width:73px;height:73px;left:-19px}.header-actions{gap:6px}.header-actions>.button{display:none}.menu-toggle{width:42px;height:42px}.site-header.is-sticky{height:74px}.hero{height:100svh;min-height:710px;max-height:none}.hero-shade{background:linear-gradient(90deg,rgba(10,19,12,.72),rgba(10,19,12,.22)),linear-gradient(0deg,rgba(9,16,12,.65),transparent 50%)}.hero-content{padding:175px var(--gutter) 145px}.hero-eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:26px;max-width:28ch}.hero h1{font-size:clamp(78px,16vw,111px);line-height:.94}.hero-content>p{font-size:15px;line-height:1.75;margin-top:25px;max-width:31ch}.hero-content>p br{display:none}.hero-actions{gap:24px;align-items:flex-start;flex-direction:column}.hero-actions .button{min-width:220px}.hero-secondary{font-size:13px;padding:2px 0 9px}.hero-bottom{height:80px;font-size:9px;letter-spacing:.055em;gap:20px;bottom:0}.hero-bottom>span:first-child{max-width:130px;line-height:1.8}.hero-bottom .muted{margin:0 4px}.hero-bottom a{font-size:9px;gap:8px}.section-wrap{padding:70px var(--gutter)}.eyebrow{font-size:10px}.intro>.eyebrow{margin-bottom:28px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:clamp(51px,11vw,76px)}.intro-copy{max-width:100%;padding-left:0}.intro-copy>p{font-size:16px}.intro-copy>.text-link{font-size:13px}.scene-pin{padding-top:35px}.scene-top{margin-bottom:28px}.scene-top>.eyebrow{max-width:160px;font-size:9px}.scene-skip{font-size:11px;gap:6px}.scene-skip svg{width:14px}.scene-track{display:grid;grid-template-columns:1fr;gap:30px}.scene-intro{padding:20px 0}.scene-intro h2{font-size:66px}.scene-intro h2 br:nth-child(2){display:none}.scene-card .photo-button{aspect-ratio:.95}.scene-end h3{font-size:62px}.scene-end{padding:30px 0}.scene-bottom{padding-bottom:15px}.scene-bottom>a{font-size:10px}.scene-progress{margin:0 15px}.scene-controls{gap:9px}.scene-controls .icon-button{width:32px;height:32px}.scene-controls>span{font-size:10px;min-width:48px}.motion-scene .scene-pin{padding-top:100px;padding-bottom:22px;min-height:620px;height:100svh}.motion-scene .scene-top{margin-bottom:20px}.motion-scene .scene-track{gap:18px}.motion-scene .scene-intro{width:73vw;min-width:0;padding-right:30px}.motion-scene .scene-intro h2{font-size:clamp(61px,14vw,88px);margin:22px 0}.motion-scene .scene-card{width:84vw;max-width:none}.motion-scene .scene-card .photo-button{aspect-ratio:auto}.motion-scene .scene-card .project-caption{min-height:119px;gap:12px;padding-top:18px}.project-caption h3{font-size:32px;margin-top:7px}.project-caption .eyebrow{font-size:9px}.project-index{font-size:20px;min-width:36px;padding:9px 6px}.project-inquire{display:none}.motion-scene .scene-end{width:82vw;padding-left:15px}.scene-end h3{font-size:60px}.scene-end>.eyebrow{font-size:10px}.scene-end .button{font-size:13px;gap:20px}.motion-scene .scene-bottom{margin-top:8px;gap:12px;min-height:34px}.scene-progress{margin:0}.photo-expand{width:35px;height:35px;right:13px;bottom:13px}.section-heading{display:block;margin-bottom:38px}.section-heading>.eyebrow{margin-bottom:28px;padding-top:0}.section-heading h2{font-size:63px;width:100%}.service-grid{grid-template-columns:1fr;gap:50px}.service-offset{padding-top:0}.service-photo img{aspect-ratio:1.05}.service-photo>span{font-size:10px;padding:12px 15px}.service-title{margin-top:26px}.service-title h3{font-size:51px}.service-feature>p{font-size:15px}.service-tags{gap:10px 17px}.service-tags span{font-size:9px}.case-study{grid-template-columns:1fr;padding:65px var(--gutter);gap:40px}.case-copy h2{font-size:61px}.case-copy>p{font-size:15px}.case-stages{grid-template-columns:repeat(3,1fr);margin-top:28px;gap:8px}.case-stages figure:last-child{display:block}.case-stages img{aspect-ratio:.95}.case-stages figcaption{font-size:8px;letter-spacing:0}.case-copy>.text-link{font-size:13px}.video-feature{justify-self:center;max-width:340px}.video-feature video{max-height:600px}.approach{grid-template-columns:1fr;gap:40px}.approach-image img{aspect-ratio:1.1;object-position:center 35%}.approach-copy h2{font-size:59px}.approach-copy>p{font-size:15px}.process-list li{padding:20px 0;gap:18px}.process-list p{font-size:14px}.local-band{padding:60px var(--gutter);grid-template-columns:1fr;gap:28px}.local-band h2{font-size:66px}.local-band>div>p{font-size:15px}.local-coordinate{margin-top:28px;font-size:9px}.closing-cta{padding:65px var(--gutter);display:block}.closing-cta h2{font-size:79px;margin-top:25px;margin-bottom:30px}.closing-cta p{font-size:15px}.closing-cta>div:last-child{min-width:0}.closing-cta .button{min-width:0;max-width:100%;width:100%}.cta-phone{font-size:17px}.site-footer{padding:55px var(--gutter) 110px}.footer-top{display:block;padding-bottom:35px}.footer-top>.brand{margin-bottom:30px}.footer-top>p{font-size:39px;margin-bottom:26px}.footer-phone{font-size:35px;justify-content:space-between}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:17px 12px;align-items:start}.preview-label{justify-self:start;font-size:9px}.mobile-contact{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:40;grid-template-columns:1.1fr 1fr;background:var(--paper);box-shadow:0 -1px 0 rgba(255,255,255,.15);padding-bottom:env(safe-area-inset-bottom)}.mobile-contact>a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;font-size:12px;font-weight:600;background:var(--ink);color:var(--paper)}.mobile-contact>.mobile-estimate{background:var(--accent);color:var(--ink)}.mobile-contact svg{width:18px;height:18px}.inner-hero{height:85svh;min-height:690px;padding:160px var(--gutter) 65px}.inner-hero h1{font-size:86px;line-height:.96}.inner-hero p{font-size:15px;max-width:34ch}.inner-hero>.inner-hero-image{object-position:50% 50%}.inner-hero-shade{background:linear-gradient(90deg,rgba(15,24,17,.75),rgba(15,24,17,.27)),linear-gradient(0deg,rgba(15,24,17,.6),transparent)}.detail-grid{grid-template-columns:1fr;gap:45px}.detail-card h3{font-size:45px}.detail-card p{font-size:15px}.detail-card img{aspect-ratio:1.35}.service-proof{grid-template-columns:1fr}.service-proof>div:first-child img{min-height:0;height:auto;aspect-ratio:1.1}.service-proof>div:last-child{padding:60px var(--gutter)}.service-proof h2{font-size:68px}.service-proof p{font-size:15px}.faq{grid-template-columns:1fr;gap:35px}.faq h2{font-size:65px}.faq summary{font-size:15px;padding:22px 0}.faq details>p{font-size:14px}.page-heading{padding-top:140px;padding-bottom:45px;grid-template-columns:1fr;gap:26px}.page-heading h1{font-size:86px}.page-heading>div>p{font-size:15px;margin-bottom:25px}.project-filters{gap:8px;flex-wrap:wrap}.project-filters button{font-size:12px;padding:10px 18px}.portfolio-grid{grid-template-columns:1fr;padding-top:0;gap:35px}.portfolio-grid .photo-button{aspect-ratio:1.1}.portfolio-grid .project-caption h3{font-size:35px}.story-card{min-height:380px}.story-card>div{padding:35px}.contact-page{padding-top:140px;grid-template-columns:1fr;gap:45px}.contact-page h1{font-size:82px;margin:25px 0}.contact-page>div:first-child>p{font-size:15px}.contact-links{margin:35px 0 25px}.contact-links a{font-size:22px;gap:14px}.contact-links a:last-child{font-size:15px}.contact-links a>span{font-size:9px;min-width:43px}.contact-planner{padding:26px}.contact-planner h2{font-size:62px}.contact-planner img{aspect-ratio:1.3}.contact-planner .button{width:100%;font-size:13px;gap:18px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px)}.quote-shell{display:block;min-height:0}.quote-intro{padding:35px 24px 25px}.quote-intro h2{font-size:52px;margin:18px 0 14px;line-height:1}.quote-intro h2 br{display:none}.quote-intro>p{font-size:14px;max-width:31ch}.quote-intro>a{font-size:12px;padding-top:18px;margin-top:0}.project-form,.request-review{padding:25px 24px 30px;gap:21px}.project-form label{font-size:12px}.service-choices span{font-size:12px;padding:12px 4px}.form-pair{grid-template-columns:1fr;gap:18px}.dialog-close{top:12px;right:12px;width:34px;height:34px;padding:8px}.quote-intro>.eyebrow{padding-right:30px;font-size:9px}.project-form .button,.request-review .button{font-size:13px;gap:20px;width:100%}.request-review h3{font-size:54px}.request-review pre{max-height:180px;font-size:13px}.form-note{font-size:12px}#image-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 30px)}#image-dialog img{max-height:71dvh}#image-dialog>p{font-size:12px;padding:18px}.not-found{padding-top:100px}.not-found h1{font-size:65px}}
@media(max-height:700px) and (min-width:701px){.hero{height:auto;min-height:740px}.motion-scene .scene-pin{min-height:0}.motion-scene .scene-intro h2{font-size:65px}.motion-scene .scene-intro>p{font-size:13px}.motion-scene .scene-intro .scroll-label{margin-top:15px}.motion-scene .scene-card .project-caption{min-height:85px}.motion-scene .scene-top{margin-bottom:18px}.scene-intro>.eyebrow{font-size:9px}}
@media(max-width:700px){.hero-bottom{bottom:calc(56px + env(safe-area-inset-bottom))}.motion-scene .scene-pin{min-height:0;padding-bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:700px) and (max-height:700px){.motion-scene .scene-intro h2{font-size:45px;margin:12px 0}.motion-scene .scene-intro>p{display:none}.motion-scene .scene-intro .scroll-label{margin-top:18px}.motion-scene .scene-top{margin-bottom:12px}.motion-scene .scene-card .project-caption{min-height:98px;padding-top:12px}.motion-scene .scene-card h3{font-size:27px}}
.hero-controls{display:flex;align-items:center;gap:18px}
.hero-selectors{display:flex;align-items:center;gap:3px}
.hero-dot{display:grid;place-items:center;width:38px;height:44px;padding:8px 3px;border:0;background:none;color:inherit}
.hero-dot span{width:100%;height:2px;background:rgba(255,255,255,.4);transition:background .3s,height .3s}
.hero-dot[aria-pressed=true] span{background:var(--accent);height:3px}
.hero-dot:hover span{background:#fff}
.hero-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(15,24,18,.15);color:#fff;transition:background .25s,border-color .25s}
.hero-toggle svg{width:16px;height:16px}
.hero-toggle:hover{background:rgba(15,24,18,.45);border-color:#fff}
.footer-top .footer-phone{justify-content:flex-start;gap:14px}
.footer-phone svg{width:26px;height:26px}
.mobile-menu .menu-call{display:inline-flex}
@media(max-width:700px){.hero-slide img{object-position:43% 50%}.hero-entry img{object-position:56% 50%}.hero-pour img{object-position:55% 50%}.hero .hero-shade{background:linear-gradient(90deg,rgba(8,18,12,.72),rgba(8,18,12,.48) 70%,rgba(8,18,12,.25)),linear-gradient(0deg,rgba(8,18,12,.68),transparent 42%,rgba(8,18,12,.12))}.hero .hero-work-link{display:none}.hero-controls{gap:10px}.hero-dot{width:27px}.hero-toggle{width:36px;height:36px}.footer-phone{font-size:clamp(27px,7.5vw,35px)}.planner-phone{gap:8px}.planner-phone svg{width:16px;height:16px}}
.home{--hero-inset:max(32px,calc((100% - 1216px)/2))}
.reviews{background:#e8e8e1;border-top:1px solid var(--line)}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}
.reviews-heading h2{font-size:clamp(56px,5.1vw,98px);margin-top:24px}
.google-rating{border-left:1px solid #b9beb2;padding:8px 0 4px 44px;min-width:285px}
.rating-source{font-size:13px;font-weight:600}
.rating-number{display:flex;align-items:center;gap:16px;margin:9px 0}
.rating-number strong{font-family:var(--serif);font-size:72px;font-weight:500;line-height:1;letter-spacing:-.04em}
.rating-number>span{font-size:12px;line-height:1.8;color:#596052}
.google-rating .text-link{font-size:12px;padding-bottom:6px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{background:var(--paper);border:1px solid #d6d9ce;border-radius:10px;padding:30px;display:flex;flex-direction:column;min-height:280px}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.review-card-top>span:last-child{font-size:10px;color:#66705e;white-space:nowrap}
.review-stars{display:flex;gap:3px;color:#b4471c}
.review-stars svg{width:15px;height:15px}
.review-card blockquote{margin:30px 0 34px;flex:1}
.review-card blockquote p{font-family:var(--serif);font-size:clamp(28px,2.1vw,38px);line-height:1.13;letter-spacing:-.025em;max-width:23ch}
.review-card figcaption{display:flex;align-items:center;gap:12px}
.review-initials{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e1e3d9;color:#505746;font-size:11px;font-weight:600}
.review-card figcaption strong{display:block;font-size:12px;font-weight:600}
.review-card figcaption>span>span{display:block;font-size:10px;color:#67705e;margin-top:2px}
.reviews-note{font-size:11px;color:#606858;margin-top:22px;max-width:none}
.project-filters button,.service-choices span{border-radius:6px}
@media(max-width:1000px){.review-grid{gap:15px}.review-card{padding:22px}.review-card-top{align-items:flex-start;flex-direction:column;gap:8px}.google-rating{padding-left:28px;min-width:255px}.reviews-heading h2{font-size:66px}}
@media(max-width:700px){.reviews-heading{display:block;margin-bottom:30px}.reviews-heading h2{font-size:59px}.google-rating{border-left:0;padding:0;margin-top:30px}.rating-number strong{font-size:60px}.review-grid{grid-template-columns:1fr;gap:14px}.review-card{min-height:0;padding:26px}.review-card-top{flex-direction:row;align-items:center}.review-card blockquote{margin:25px 0 28px}.review-card blockquote p{font-size:32px;max-width:26ch}.reviews-note{font-size:10px;line-height:1.8}.service-title{gap:16px}.service-link{font-size:12px}}
.home .site-header{padding-inline:var(--hero-inset)}
.home .hero-content{padding-inline:32px}
.home .hero-bottom{left:var(--hero-inset);right:var(--hero-inset)}
@media(max-width:639px){.home{--hero-inset:20px}.home .hero-content{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.scene-controls{display:none}.scene-progress{display:none}.hero-slide img{transform:none!important}}

/* Photographic collection: deliberate scale changes keep the work in view. */
.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:65px;margin-bottom:55px}
.collection-heading h2{margin-top:24px;font-size:clamp(56px,5.4vw,104px)}
.collection-heading>div:last-child{max-width:340px;padding-bottom:8px}
.collection-heading p{color:#596151;font-size:15px;margin-bottom:20px}
.work-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:clamp(320px,31vw,560px) clamp(260px,24vw,420px);gap:28px}
.work-tile{min-width:0;display:flex;flex-direction:column}
.work-tile .photo-button{flex:1;min-height:0}
.work-tile .photo-button img{position:absolute;inset:0;height:100%}
.work-tile figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:14px;font-size:12px;line-height:1.5;flex:none}
.work-tile figcaption>span:last-child{font-size:8px;letter-spacing:.1em;color:#66705e;padding-top:3px}
.work-wide{grid-column:1/3}
.work-wide img{object-position:50% 100%}
.work-tall{grid-column:3;grid-row:1/3}
.work-tall img{object-position:50% 64%}
.work-tall figcaption>span:last-child,.work-small figcaption>span:last-child{display:none}
.work-small:last-child img{object-position:50% 70%}
.fieldwork{padding:75px var(--gutter) 35px;background:var(--ink);color:var(--paper)}
.fieldwork-heading{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:40px;align-items:end;margin-bottom:45px}
.fieldwork-heading>.eyebrow{align-self:start;color:var(--accent);padding-top:7px;max-width:22ch}
.fieldwork-heading h2{font-size:clamp(56px,5.6vw,108px)}
.fieldwork-heading>p{font-size:14px;color:#c1c7b9;justify-self:end;line-height:1.8;padding-bottom:6px}
.fieldwork-photos{display:grid;grid-template-columns:1.8fr 1fr;gap:26px;height:clamp(420px,43vw,760px)}
.fieldwork-wide img{object-position:48% 55%}
.fieldwork-portrait img{object-position:50% 62%}
.fieldwork .work-tile figcaption>span:last-child{display:none}
.fieldwork .work-tile figcaption{font-size:10px;letter-spacing:.12em;color:#b5bdae}
.fieldwork-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px}
.fieldwork-footer>span{font-size:9px;letter-spacing:.18em;color:#aeb7a6}
.fieldwork-footer .text-link{font-size:12px;padding-bottom:6px;border-color:#65705a}
.local-photo{position:relative;isolation:isolate;overflow:hidden;min-height:440px;padding-block:85px;background:var(--ink);color:var(--paper)}
.local-photo-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.local-photo:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(13,24,15,.78)}
.local-photo .local-coordinate{color:#bec8b6}
.local-photo>.eyebrow{color:#ffc3a7}
.portfolio-grid .photo-button img[src*="backyard-curve"]{object-position:50% 72%}
.scene-card .photo-button img[src*="backyard-curve"]{object-position:50% 78%}
.portfolio-grid .photo-button img[src*="wall-crew"],.portfolio-grid .photo-button img[src*="textured-walk"]{object-position:50% 70%}
.portfolio-grid .photo-button img[src*="porch-finish"]{object-position:50% 73%}
.service-photo img[src*="drain-run"]{object-position:50% 70%}
@media(max-width:1000px){.work-mosaic{gap:20px;grid-template-rows:320px 250px}.work-tile figcaption>span:last-child{display:none}.fieldwork-heading{grid-template-columns:1fr 1.6fr}.fieldwork-heading>p{grid-column:2;justify-self:start;margin-top:-15px}.collection-heading{gap:35px}.collection-heading>div:last-child{max-width:270px}.fieldwork-photos{height:470px}}
@media(max-width:700px){
 .collection-heading{display:block;margin-bottom:32px}.collection-heading h2{font-size:59px}.collection-heading>div:last-child{max-width:36ch;margin-top:25px}.collection-heading p{font-size:14px;margin-bottom:12px}
 .work-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:25px 14px}
 .work-wide{grid-column:1/-1}.work-wide .photo-button{aspect-ratio:1.25}
 .work-tall{grid-column:1;grid-row:2/4}.work-tall .photo-button{min-height:410px}
 .work-small{grid-column:2}.work-small .photo-button{aspect-ratio:.95}
 .work-tile figcaption{font-size:11px;padding-top:10px;line-height:1.5}
 .work-small:last-child img{object-position:50% 75%}
 .fieldwork{padding:58px var(--gutter) 28px}.fieldwork-heading{display:block;margin-bottom:32px}.fieldwork-heading>.eyebrow{max-width:none;margin-bottom:23px}.fieldwork-heading h2{font-size:65px}.fieldwork-heading>p{font-size:13px;margin:22px 0 0}
 .fieldwork-photos{height:auto;grid-template-columns:1fr 1fr;gap:24px 14px}.fieldwork-wide{grid-column:1/-1}.fieldwork-wide .photo-button{aspect-ratio:1.25}.fieldwork-portrait{grid-column:1/-1;margin-left:22%}.fieldwork-portrait .photo-button{aspect-ratio:.78}.fieldwork-portrait img{object-position:50% 60%}
 .fieldwork-footer{padding-top:28px;align-items:flex-start}.fieldwork-footer>span{font-size:8px;padding-top:11px}.fieldwork-footer .text-link{font-size:11px}
 .local-photo{padding-block:60px;min-height:520px}.local-photo-image{object-position:45% 50%}
}
