@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#151916;--forest:#17201b;--paper:#f4f2ec;--stone:#e7e5dd;--sage:#c5d1ad;--quiet:#65675f;--gutter:clamp(24px,6vw,92px);--display:'Manrope','Avenir Next',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;z-index:50;top:-5rem;left:1rem;padding:.8rem 1rem;background:white}.skip-link:focus{top:1rem}.eyebrow{margin:0;color:#666a60;font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.eyebrow span{color:#8c9678}
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;height:100svh;min-height:650px;max-height:1100px;overflow:hidden;background:#29362e;color:#fff}.hero::before,.hero::after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none}.hero::before{background:linear-gradient(180deg,rgba(9,17,13,.27) 0%,rgba(9,17,13,.04) 28%,rgba(9,17,13,.06) 52%,rgba(9,17,13,.68) 100%)}.hero::after{background:linear-gradient(90deg,rgba(9,17,13,.16),transparent 58%)}.hero-photo{position:absolute;z-index:-2;inset:0}.hero-photo img{object-position:center 50%}.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:22px var(--gutter);min-height:128px}.brand{display:flex;width:116px;height:108px;align-items:center;flex:0 0 auto}.brand img{object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(26px,3.2vw,52px);font-size:.94rem}.primary-nav a:not(.nav-cta){color:#fff;text-shadow:0 1px 10px #111}.primary-nav a:not(.nav-cta):hover,.footer-contact a:hover,.site-footer>a:not(.footer-brand):hover{text-decoration:underline;text-underline-offset:4px}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--sage);color:#172018;font-weight:600}.menu-toggle{display:none}.hero-content{width:min(1020px,100%);margin:auto 0 0;padding:28px var(--gutter) clamp(72px,10vh,118px)}.hero h1{margin:0;font:800 clamp(4rem,6vw,6rem)/.99 var(--display);letter-spacing:-.04em;word-spacing:normal;text-shadow:0 2px 25px rgba(0,0,0,.2)}.hero h1 span{color:var(--sage)}.hero-summary{max-width:510px;margin:22px 0 0;color:rgba(255,255,255,.94);font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.55;text-shadow:0 1px 16px rgba(0,0,0,.45)}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:0;cursor:pointer;font-size:.94rem;font-weight:600;transition:background-color .18s,transform .18s}.button:hover{transform:translateY(-1px)}.button-sage{background:var(--sage);color:#151a15}.button-sage:hover{background:#d5deca}.text-cta{color:#fff;font-size:.96rem;font-weight:500}.text-cta:hover{color:var(--sage)}
.featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:620px;background:var(--paper)}.featured-image{grid-column:2;min-height:620px;overflow:hidden}.featured-image img{object-position:center 56%}.featured-copy{grid-column:1;grid-row:1;align-self:center;padding:70px clamp(42px,5vw,72px)}.featured-copy .eyebrow{margin-bottom:24px}.featured h2,.services h2,.work h2,.behind h2,.about h2,.quote h2{margin:0;font:700 clamp(2.9rem,5.4vw,5.5rem)/1.09 var(--display);letter-spacing:-.055em}.featured h2 em,.quote h2 em,.work h2 em{font-style:normal;color:#8e9b7b}.featured-copy>p:not(.eyebrow){max-width:430px;margin:20px 0 0;color:#4f544d;font-size:1rem}.quiet-link{display:inline-block;margin-top:24px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.9rem}.quiet-link:hover{color:#6d7c60}
.services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(46px,8vw,120px);align-items:center;padding:clamp(86px,10vw,145px) var(--gutter);background:var(--stone)}.services-copy{max-width:680px}.services h2{margin-top:16px;font-size:clamp(2.8rem,5vw,5rem)}.service-list{list-style:none;margin:35px 0 0;padding:0}.service-list li{display:grid;grid-template-columns:.86fr 1.14fr;gap:20px;padding:13px 0;border-bottom:1px solid rgba(21,25,22,.15)}.service-list li:first-child{border-top:1px solid rgba(21,25,22,.15)}.service-list li span:first-child{font-weight:600}.service-list li span:last-child{color:#676b63;font-size:.9rem}.services-image{position:relative;aspect-ratio:.86;margin:0;overflow:hidden;background:#c8c8bd}.services-image img{object-position:center}.services-image figcaption{position:absolute;right:18px;bottom:18px;padding:9px 12px;background:rgba(20,24,21,.82);color:#fff;font-size:.76rem}
.work{padding:clamp(90px,10vw,145px) var(--gutter) 48px;background:var(--paper)}.work-heading{display:grid;grid-template-columns:.75fr 1.5fr;align-items:start;gap:3vw;margin-bottom:58px}.work-heading .eyebrow{padding-top:12px}.work h2{font-size:clamp(3rem,5.4vw,5.6rem)}.project{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(40px,7vw,110px);margin:0 0 clamp(70px,10vw,145px)}.project-image{height:clamp(430px,57vw,760px);margin:0;overflow:hidden;background:var(--stone)}.project-image img{object-position:center}.project-copy{max-width:490px;padding:20px 0}.project-location{margin:0 0 15px;color:#666a60;font-size:.7rem;font-weight:600;letter-spacing:.12em}.project-copy h3{margin:0;font:700 clamp(2.45rem,4.5vw,4.5rem)/1.06 var(--display);letter-spacing:-.045em}.project-copy>p:last-child{max-width:360px;margin:17px 0 0;color:#5b6058}.project-thompson{grid-template-columns:minmax(280px,.73fr) minmax(0,1.27fr)}.project-thompson .project-image{height:clamp(430px,49vw,680px)}.project-thompson .project-copy{justify-self:end}.project-morgan{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);margin-bottom:28px}.project-morgan .project-image{height:clamp(390px,45vw,620px)}.photo-note{max-width:720px;margin:0 auto;color:#77796f;text-align:center;font-size:.77rem}
.behind{padding:clamp(80px,9vw,130px) var(--gutter);background:#dddcd3}.behind-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}.behind-heading .eyebrow{max-width:160px}.behind h2{font-size:clamp(2.7rem,4.5vw,4.7rem)}.behind-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:18px;align-items:start}.behind-grid figure{margin:0}.behind-grid figure:nth-child(2){margin-top:55px}.behind-grid figure:nth-child(3){margin-top:110px}.behind-grid img{height:clamp(300px,36vw,480px);object-fit:cover}.behind-grid figcaption{display:flex;flex-direction:column;gap:3px;padding-top:13px}.behind-grid figcaption strong{font-size:.94rem;font-weight:600}.behind-grid figcaption span{color:#656960;font-size:.8rem}
.about{display:grid;grid-template-columns:.55fr 1.5fr .85fr;align-items:start;gap:5vw;padding:clamp(86px,10vw,145px) var(--gutter);background:#f4f2ec}.about>.eyebrow{max-width:180px;padding-top:13px}.about h2{font-size:clamp(2.8rem,4.7vw,4.9rem)}.about-copy>p{max-width:530px;margin:22px 0 0;color:#555a52}.about-phone{display:inline-flex;flex-direction:column;gap:4px;margin-top:28px;font-size:.86rem;color:#565b53}.about-phone span{color:var(--ink);font-size:1.18rem;font-weight:700}.about-email{justify-self:end;margin-top:14px;border-bottom:1px solid #89927e;padding-bottom:4px;font-size:.9rem}
.quote{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(50px,9vw,135px);padding:clamp(82px,9vw,130px) var(--gutter);background:#303d34;color:#f4f2ec}.quote-intro{max-width:510px}.quote-intro .eyebrow{color:#d3d9c8}.quote h2{margin-top:20px;font-size:clamp(3.25rem,5.5vw,5.8rem)}.quote-intro>p:not(.eyebrow){max-width:420px;margin:22px 0 0;color:rgba(244,242,236,.78)}.quote-phone{display:inline-block;margin-top:22px;color:var(--sage);font-size:1.15rem;font-weight:700}.quote-form{display:grid;gap:20px;align-content:start}.quote-form label{display:grid;gap:8px;font-size:.88rem;font-weight:500}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:52px;padding:12px 13px;border:1px solid rgba(244,242,236,.48);border-radius:0;background:rgba(17,25,20,.18);color:#fff;outline:none}.quote-form textarea{min-height:112px;resize:vertical}.quote-form select{color:#fff}.quote-form option{color:#182019;background:#fff}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--sage);box-shadow:0 0 0 2px rgba(197,209,173,.17)}.quote-form [aria-invalid=true]{border-color:#f0b5a7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{margin:0;color:rgba(244,242,236,.7);font-size:.78rem;line-height:1.5}.quote-form .button{justify-self:start;min-width:190px}.form-feedback{min-height:1.4em;margin:0;color:#f6d6cb;font-size:.84rem}.site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:28px var(--gutter) 18px;background:#151916;color:#f4f2ec}.footer-brand{width:83px;height:78px}.footer-brand img{object-fit:contain}.footer-contact{display:flex;flex-direction:column;gap:2px;font-size:.82rem}.site-footer>a:not(.footer-brand){justify-self:end;font-size:.82rem}.site-footer small{grid-column:2/4;justify-self:end;color:rgba(244,242,236,.58);font-size:.7rem}
@media(max-width:900px){:root{--gutter:5vw}.site-header{min-height:112px}.brand{width:103px;height:96px}.featured{min-height:540px}.featured-image{min-height:540px}.featured-copy{padding:50px 42px}.services{gap:40px}.work-heading{grid-template-columns:.65fr 1.5fr}.project,.project-thompson,.project-morgan{gap:38px}.project-image{height:55vw;max-height:650px}.behind-grid{gap:13px}.about{grid-template-columns:.6fr 1.4fr}.about-email{grid-column:2;justify-self:start;margin-top:-10px}.quote{gap:52px}}
@media(max-width:700px){
  :root{--gutter:6vw}html{scroll-padding-top:16px}.hero{min-height:620px;max-height:900px}.hero-photo img{object-position:52% center}.hero::before{background:linear-gradient(180deg,rgba(9,17,13,.2) 0%,rgba(9,17,13,0) 38%,rgba(9,17,13,.08) 54%,rgba(9,17,13,.74) 100%)}.hero::after{background:linear-gradient(90deg,rgba(9,17,13,.11),transparent 80%)}
  .site-header{min-height:98px;padding:15px var(--gutter);align-items:start}.brand{width:94px;height:88px}.menu-toggle{position:relative;z-index:7;display:flex;align-items:center;gap:15px;height:48px;margin-top:11px;padding:0;border:0;background:transparent;color:white;font-size:1rem}.menu-toggle i{display:grid;gap:7px;width:31px}.menu-toggle b{display:block;width:31px;height:2px;background:white;transition:transform .2s}.menu-toggle[aria-expanded=true] b:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] b:last-child{transform:translateY(-4.5px) rotate(-45deg)}.primary-nav{position:absolute;z-index:6;inset:0 0 auto;display:none;min-height:100svh;padding:130px var(--gutter) 60px;background:rgba(23,32,27,.98);align-items:flex-start;flex-direction:column;gap:22px}.primary-nav.is-open{display:flex}.primary-nav a:not(.nav-cta){font:600 clamp(2.2rem,8vw,3rem)/1.05 var(--display);text-shadow:none}.primary-nav .nav-cta{margin-top:10px;min-height:54px;padding:0 23px}
  .hero-content{width:100%;margin-top:auto;padding:30px var(--gutter) clamp(68px,9svh,92px)}.hero h1{font-size:clamp(1.95rem,9.2vw,3.9rem);line-height:1.01;letter-spacing:-.04em}.hero-summary{max-width:380px;margin-top:16px;font-size:.94rem;line-height:1.48}.hero-actions{gap:27px;margin-top:20px}.button{min-height:52px;padding:0 23px}.text-cta{font-size:.9rem}
  .featured{display:flex;flex-direction:column-reverse;min-height:0}.featured-image{height:75vw;min-height:310px;max-height:480px}.featured-copy{align-self:stretch;padding:50px var(--gutter) 36px}.featured-copy .eyebrow{margin-bottom:18px}.featured h2{font-size:clamp(2.9rem,10vw,4.3rem)}.featured-copy>p:not(.eyebrow){margin-top:16px;font-size:.95rem}.quiet-link{margin-top:18px}
  .services{grid-template-columns:1fr;gap:30px;padding:70px var(--gutter) 75px}.services h2{font-size:clamp(2.8rem,9vw,4rem)}.service-list{margin-top:25px}.service-list li{grid-template-columns:.85fr 1.15fr;gap:14px;padding:12px 0}.service-list li span:first-child{font-size:.9rem}.service-list li span:last-child{font-size:.82rem}.services-image{width:100%;aspect-ratio:1.14}.services-image figcaption{right:12px;bottom:12px}
  .work{padding:72px var(--gutter) 37px}.work-heading{display:block;margin-bottom:33px}.work-heading .eyebrow{padding:0;margin-bottom:17px}.work h2{font-size:clamp(2.75rem,9vw,4rem)}.project,.project-thompson,.project-morgan{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:56px}.project-image,.project-thompson .project-image,.project-morgan .project-image{width:100%;height:78vw;min-height:300px;max-height:430px}.project-copy,.project-thompson .project-copy{align-self:stretch;max-width:none;padding:19px 2px 0}.project-location{font-size:.65rem;margin-bottom:9px}.project-copy h3{font-size:clamp(2.15rem,8vw,3rem)}.project-copy>p:last-child{margin-top:8px;font-size:.9rem}.photo-note{font-size:.72rem;line-height:1.5}
  .behind{padding:70px var(--gutter) 78px}.behind-heading{display:block;margin-bottom:28px}.behind-heading .eyebrow{max-width:none;margin-bottom:15px}.behind h2{font-size:clamp(2.5rem,8vw,3.5rem)}.behind-grid{grid-template-columns:1fr 1fr;gap:22px 13px}.behind-grid figure:nth-child(2),.behind-grid figure:nth-child(3){margin-top:0}.behind-grid figure:nth-child(3){grid-column:1/-1;width:78%}.behind-grid img{height:53vw;min-height:205px;max-height:310px}.behind-grid figure:nth-child(3) img{height:60vw}
  .about{grid-template-columns:1fr;gap:18px;padding:70px var(--gutter) 76px}.about>.eyebrow{padding-top:0}.about h2{font-size:clamp(2.7rem,8.7vw,4rem)}.about-copy>p{margin-top:17px;font-size:.94rem}.about-phone{margin-top:20px}.about-email{grid-column:auto;justify-self:start;margin:0}
  .quote{grid-template-columns:1fr;gap:32px;padding:70px var(--gutter) 75px}.quote h2{font-size:clamp(3rem,10vw,4.2rem)}.quote-intro>p:not(.eyebrow){margin-top:16px;font-size:.94rem}.quote-phone{margin-top:14px}.quote-form{gap:16px}.form-row{gap:12px}.quote-form label{font-size:.83rem}.quote-form input,.quote-form select,.quote-form textarea{min-height:50px;padding:11px}.quote-form .button{width:100%}
  .site-footer{grid-template-columns:76px 1fr;gap:13px 17px;padding:25px var(--gutter) 20px}.footer-brand{width:76px;height:71px;grid-row:span 2}.footer-contact{font-size:.78rem}.site-footer>a:not(.footer-brand){grid-column:2;justify-self:start;font-size:.76rem}.site-footer small{grid-column:1/-1;justify-self:start;margin-top:12px;font-size:.67rem}
}
@media(max-width:380px){:root{--gutter:5vw}.site-header{min-height:88px}.brand{width:86px;height:80px}.menu-toggle{gap:11px}.menu-toggle i,.menu-toggle b{width:27px}.hero{min-height:600px}.hero-content{padding-bottom:65px}.hero h1{font-size:clamp(1.95rem,9.2vw,3.5rem)}.hero-summary{font-size:.88rem}.hero-actions{gap:19px}.hero-actions .button{padding:0 18px}.featured-copy{padding-top:42px}.services{padding-top:64px}.service-list li{grid-template-columns:1fr;gap:3px}.service-list li span:last-child{max-width:270px}.form-row{grid-template-columns:1fr}.behind-grid{grid-template-columns:1fr}.behind-grid figure:nth-child(3){grid-column:auto;width:100%}.behind-grid img,.behind-grid figure:nth-child(3) img{height:72vw;max-height:350px}}
@media(max-height:720px) and (max-width:700px){.hero{min-height:560px}.site-header{min-height:82px}.brand{width:76px;height:72px}.hero-content{padding-bottom:34px}.hero h1{font-size:clamp(1.85rem,8.4vw,3.2rem)}.hero-summary{margin-top:11px}.hero-actions{margin-top:14px}.hero-photo img{object-position:52% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Focused visual refinement */
html{scroll-padding-top:0}
body.menu-open{overflow:hidden}
.site-header{min-height:116px}
.brand{position:relative;z-index:8;width:124px;height:116px}
.brand img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.26))}
.hero-content{max-width:960px;padding-bottom:clamp(58px,7.5vh,88px)}
.hero h1{font-size:clamp(3.7rem,5.1vw,5.5rem);line-height:1.01;letter-spacing:-.052em;text-transform:none}
.button{min-height:54px}
.services{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(42px,6vw,88px)}
.services h2{max-width:620px;font-size:clamp(2.7rem,4.6vw,4.5rem);line-height:1.02;letter-spacing:-.06em}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px;margin-top:38px}
.service-list li,.service-list li:first-child{display:flex;flex-direction:column;gap:6px;padding:0;border:0}
.service-list li span:first-child{font:650 1.08rem/1.25 var(--display);letter-spacing:-.025em}
.service-list li span:last-child{max-width:260px;font-size:.88rem;line-height:1.5}
.services-image{aspect-ratio:.9}
.work{padding-bottom:clamp(76px,8vw,110px)}
.work-heading{margin-bottom:42px}
.work h2{font-size:clamp(3rem,4.8vw,5rem);line-height:1.04}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 28px;align-items:start}
.project{display:flex;flex-direction:column;gap:0;margin:0;min-width:0}
.project-brighton{grid-column:1/-1}
.project-thompson,.project-morgan{grid-column:span 1}
.project-image,.project-thompson .project-image,.project-morgan .project-image{width:100%;height:auto;aspect-ratio:1.38;min-height:0;max-height:none}
.project-brighton .project-image{aspect-ratio:2.05}
.project-image img{object-position:center 53%}
.project-brighton .project-image img{object-position:center 57%}
.project-copy,.project-thompson .project-copy{align-self:stretch;max-width:none;padding:19px 0 0}
.project-location{margin-bottom:9px}
.project-copy h3{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.05}
.project-copy>p:last-child{margin-top:9px;font-size:.92rem}
.project-brighton .project-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:22px}
.project-brighton .project-location{grid-column:1/-1}
.project-brighton .project-copy h3{font-size:clamp(2.3rem,4vw,4rem)}
.project-brighton .project-copy>p:last-child{justify-self:end;text-align:right}
.photo-note{margin-top:46px}
.behind{background:#e2e0d7}
.behind h2{font-size:clamp(2.8rem,4.4vw,4.5rem);line-height:1.04}
.behind-heading{margin-bottom:48px}
.behind-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:22px;align-items:stretch}
.behind-story figure{margin:0;min-width:0}
.behind-story img{width:100%;height:100%;max-height:none;min-height:0;object-fit:cover}
.process-lead{display:flex;flex-direction:column;min-height:540px}
.process-lead img{aspect-ratio:1.22}
.process-side{display:grid;grid-template-rows:1fr 1fr;gap:22px;min-height:540px}
.process-side figure{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(120px,.85fr);gap:15px;align-items:center}
.process-side img{aspect-ratio:1.28}
.behind-story figcaption{display:flex;flex-direction:column;gap:4px;padding-top:13px}
.behind-story figcaption strong{font:650 .94rem var(--display)}
.behind-story figcaption span{color:#656960;font-size:.8rem}
.about{grid-template-columns:.55fr 1.45fr;gap:5vw}
.about h2{font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:1.05}
.about-copy>p{margin:18px 0 24px}
.button-outline{border:1px solid rgba(21,25,22,.45);background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--ink);color:var(--paper)}
.quote{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(50px,8vw,112px)}
.quote h2{font-size:clamp(3.2rem,5.1vw,5.2rem);line-height:1.02}
.quote-intro>p:not(.eyebrow){margin-top:18px}
.quote-phone,.quote-email{display:block;width:max-content}
.quote-phone{margin-top:21px}
.quote-email{margin-top:8px;color:rgba(244,242,236,.84);font-size:.92rem;text-decoration:underline;text-underline-offset:4px}
.quote-form{gap:17px}
.quote-form label>span{color:rgba(244,242,236,.64);font-size:.78rem;font-weight:400}
.email-fallback{color:var(--sage);font-size:.88rem;text-decoration:underline;text-underline-offset:4px}
.form-feedback{min-height:0}
.site-footer .footer-brand img{filter:drop-shadow(0 1px 4px rgba(0,0,0,.15))}
@media(max-width:900px){
 .services{grid-template-columns:minmax(0,1fr) minmax(260px,.78fr);gap:32px}
 .service-list{gap:20px 18px}
 .project-grid{gap:42px 22px}
 .process-lead{min-height:460px}
 .process-side{min-height:460px;gap:18px}
 .process-side figure{grid-template-columns:1fr}
 .process-side img{aspect-ratio:1.55;max-height:310px}
}
@media(max-width:700px){
 .hero{min-height:0;max-height:none;height:100svh}
 .hero-photo img{object-position:52% center}
 .site-header{min-height:100px;padding:11px var(--gutter);align-items:flex-start}
 .brand{width:98px;height:92px}
 .brand img{filter:drop-shadow(0 2px 7px rgba(0,0,0,.3))}
 .menu-toggle{z-index:9;margin-top:8px}
 .primary-nav{z-index:7;padding:124px var(--gutter) 48px;background:rgba(23,32,27,.985)}
 .hero-content{max-width:none;padding:24px var(--gutter) clamp(42px,7svh,66px)}
 .hero h1{font-size:clamp(2.15rem,8.6vw,3.45rem);line-height:1.02;letter-spacing:-.052em}
 .hero-summary{max-width:360px;margin-top:14px;font-size:.94rem}
 .hero-actions{gap:24px;margin-top:18px}
 .hero-actions .button{min-height:50px}
 .featured h2{font-size:clamp(2.8rem,9.5vw,4rem)}
 .services{grid-template-columns:1fr;gap:26px;padding:68px var(--gutter) 72px}
 .services h2{font-size:clamp(2.7rem,8.5vw,3.8rem)}
 .service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 16px;margin-top:30px}
 .service-list li span:first-child{font-size:.98rem}
 .service-list li span:last-child{font-size:.8rem}
 .services-image{aspect-ratio:1.18}
 .work{padding:70px var(--gutter) 56px}
 .work-heading{margin-bottom:28px}
 .work h2{font-size:clamp(2.65rem,8.6vw,3.7rem)}
 .project-grid{grid-template-columns:1fr;gap:39px}
 .project-brighton,.project-thompson,.project-morgan{grid-column:auto}
 .project-image,.project-thompson .project-image,.project-morgan .project-image{aspect-ratio:1.18;height:auto;min-height:0}
 .project-brighton .project-image{aspect-ratio:1.18}
 .project-copy,.project-thompson .project-copy{padding-top:15px}
 .project-brighton .project-copy{display:block}
 .project-brighton .project-copy h3{font-size:clamp(2.1rem,7.8vw,2.9rem)}
 .project-brighton .project-copy>p:last-child{justify-self:auto;text-align:left}
 .project-copy h3{font-size:clamp(2.05rem,7.6vw,2.8rem)}
 .photo-note{margin-top:30px;text-align:left}
 .behind{padding:68px var(--gutter) 74px}
 .behind-heading{margin-bottom:30px}
 .behind h2{font-size:clamp(2.55rem,8vw,3.5rem)}
 .behind-story{grid-template-columns:1fr;gap:25px}
 .process-lead{min-height:0}
 .process-lead img{aspect-ratio:1.15}
 .process-side{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:14px;min-height:0}
 .process-side figure{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .process-side img{aspect-ratio:.94;max-height:none}
 .behind-story figcaption{padding-top:10px}
 .behind-story figcaption strong{font-size:.82rem}
 .behind-story figcaption span{font-size:.72rem}
 .about{grid-template-columns:1fr;gap:16px;padding:68px var(--gutter) 70px}
 .about h2{font-size:clamp(2.6rem,8.4vw,3.8rem)}
 .about-copy>p{margin:15px 0 21px;font-size:.94rem}
 .quote{grid-template-columns:1fr;gap:28px;padding:68px var(--gutter) 72px}
 .quote h2{font-size:clamp(2.95rem,9.5vw,4rem)}
 .quote-intro>p:not(.eyebrow){margin-top:15px}
 .quote-phone{margin-top:16px}
 .quote-email{margin-top:8px}
 .quote-form{gap:15px}
 .quote-form .button{width:100%;min-height:54px}
 .email-fallback{padding:3px 0}
}
@media(max-width:380px){
 .brand{width:91px;height:85px}
 .hero h1{font-size:clamp(2rem,8.5vw,2.8rem)}
 .service-list{grid-template-columns:1fr}
 .service-list li span:last-child{max-width:none}
 .process-side{grid-template-columns:1fr}
 .process-side img{aspect-ratio:1.2}
}

/* Final art direction: stronger concrete crop, clearer mark, editorial project rhythm. */
.hero-photo img{transform:scale(1.14);transform-origin:center bottom}
.site-header{min-height:142px}
.brand{width:142px;height:130px}
.brand img,.site-footer .footer-brand img{filter:none;image-rendering:auto}
.hero-content{padding-bottom:clamp(72px,8vh,104px)}
.hero h1{font-size:clamp(4.35rem,6vw,6rem);letter-spacing:-.055em}
.services{background:#202b24;color:#f4f2ec}
.services .eyebrow{color:#d1d8c9}
.services h2{color:#fff}
.service-list li span:last-child{color:rgba(244,242,236,.72)}
.services-image{background:#29362e}
.services-image figcaption{background:#17201b}
.work{background:#f7f6f1;color:#171b17;padding-top:clamp(82px,9vw,128px)}
.work-heading{grid-template-columns:.55fr 1.45fr;gap:4vw;margin-bottom:clamp(48px,7vw,92px)}
.work-heading .eyebrow{padding-top:14px}
.work h2{font-size:clamp(3.2rem,5.1vw,5.4rem)}
.project-grid{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);column-gap:clamp(34px,6.5vw,94px);row-gap:0;align-items:start}
.project{display:flex;flex-direction:column;gap:0;margin:0;min-width:0}
.project-brighton{grid-column:1;grid-row:1}
.project-thompson{grid-column:2;grid-row:1;margin-top:clamp(110px,13vw,190px)}
.project-morgan{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);align-items:end;gap:clamp(32px,6vw,88px);margin-top:clamp(76px,9vw,130px)}
.project-image,.project-thompson .project-image,.project-morgan .project-image{width:100%;height:auto;min-height:0;max-height:none;overflow:hidden;background:#e3e4de}
.project-brighton .project-image{aspect-ratio:.87}
.project-thompson .project-image{aspect-ratio:.74}
.project-morgan .project-image{grid-column:2;grid-row:1;aspect-ratio:1.3}
.project-image img{object-position:center 54%}
.project-brighton .project-image img{object-position:center 57%}
.project-thompson .project-image img{object-position:center 57%}
.project-morgan .project-image img{object-position:center 62%}
.project-copy,.project-thompson .project-copy,.project-morgan .project-copy{align-self:stretch;max-width:none;padding:19px 0 0}
.project-brighton .project-copy{display:block}
.project-location{margin-bottom:8px;color:#71766d;font-size:.68rem;letter-spacing:.13em}
.project-copy h3,.project-brighton .project-copy h3{font-size:clamp(2rem,3.1vw,3.25rem);line-height:1.05;letter-spacing:-.05em}
.project-copy>p:last-child,.project-brighton .project-copy>p:last-child{justify-self:auto;max-width:430px;margin:10px 0 0;text-align:left;color:#565c54;font-size:.93rem}
.project-morgan .project-copy{grid-column:1;grid-row:1;align-self:end;padding:0 0 20px}
.behind{background:#e8ebe5}
.quote-intro{scroll-margin-top:0}
.quote-intro .eyebrow{max-width:350px;line-height:1.5}
.quote h2{margin-top:15px}
.form-note{max-width:560px}
@media(max-width:900px){
 .site-header{min-height:130px}
 .brand{width:128px;height:118px}
 .project-grid{column-gap:30px}
 .project-morgan{grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);gap:28px}
}
@media(max-width:700px){
 .hero-photo img{object-position:54% center;transform:scale(1.34);transform-origin:center bottom}
 .site-header{min-height:112px;padding:8px var(--gutter);align-items:flex-start}
 .brand{width:118px;height:108px}
 .brand img{filter:none}
 .hero-content{padding:24px var(--gutter) clamp(50px,8svh,68px)}
 .hero h1{font-size:clamp(2.55rem,11vw,3.4rem);line-height:1;letter-spacing:-.055em}
 .hero-summary{max-width:355px;margin-top:14px;font-size:.94rem;line-height:1.45}
 .hero-actions{gap:23px;margin-top:18px}
 .hero-actions .button{min-height:52px}
 .work{padding:70px var(--gutter) 68px}
 .work-heading{display:block;margin-bottom:34px}
 .work-heading .eyebrow{padding:0;margin-bottom:14px}
 .work h2{font-size:clamp(2.75rem,9vw,3.7rem)}
 .project-grid{grid-template-columns:minmax(0,1fr);row-gap:52px}
 .project-brighton,.project-thompson,.project-morgan{grid-column:1;grid-row:auto;margin:0}
 .project-brighton .project-image{width:calc(100% + var(--gutter));margin-left:calc(var(--gutter)*-1);aspect-ratio:.86}
 .project-thompson .project-image{aspect-ratio:1.05}
 .project-morgan{display:flex;flex-direction:column;gap:0}
 .project-morgan .project-image{width:100%;aspect-ratio:1.32}
 .project-morgan .project-copy{align-self:stretch;padding:15px 0 0}
 .project-copy,.project-thompson .project-copy{padding-top:15px}
 .project-copy h3,.project-brighton .project-copy h3{font-size:clamp(2.05rem,7.7vw,2.8rem)}
 .project-location{font-size:.64rem;margin-bottom:8px}
 .project-copy>p:last-child,.project-brighton .project-copy>p:last-child{margin-top:8px;font-size:.9rem}
 .behind{background:#e8ebe5}
 .quote{padding:70px var(--gutter) 76px}
 .quote h2{font-size:clamp(3rem,10vw,4.1rem)}
 .quote .quote-intro>p:not(.eyebrow){max-width:360px}
}
@media(max-width:380px){
 .brand{width:106px;height:98px}
 .hero-photo img{transform:scale(1.30)}
 .hero h1{font-size:clamp(2.35rem,10.8vw,2.65rem)}
 .hero-actions{gap:18px}
 .project-grid{row-gap:46px}
}
@media(max-height:720px) and (max-width:700px){
 .hero-photo img{transform:scale(1.30);transform-origin:center bottom}
 .hero-content{padding-bottom:30px}
 .hero h1{font-size:clamp(2.35rem,9vw,3.1rem)}
 .hero-summary{margin-top:10px}
 .hero-actions{margin-top:14px}
}
