:root{--ink:#292929;--cream:#efefed;--paper:#fafafa;--gold:#f90a0a;--brand-gray:#737373;--mist:#dededb;--line:rgba(41,41,41,.17);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;width:100%}.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}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:132px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{display:flex;align-items:center}.brand-logo{display:block;width:120px;height:120px;object-fit:contain;background:#fff}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px);font-size:12px;text-transform:uppercase;letter-spacing:.13em}.site-header nav>a:not(.nav-cta){padding:10px 0;border-bottom:1px solid transparent;transition:.25s}.site-header nav>a:not(.nav-cta):hover,.site-header nav>a[aria-current="page"]{border-color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:13px 18px;transition:.25s}.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:#fff}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:5px}
.hero{height:min(880px,100vh);min-height:720px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('assets/hero.jpg') center 51%/cover no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(20,20,20,.79) 0%,rgba(35,35,35,.48) 49%,rgba(35,35,35,.12) 78%),linear-gradient(0deg,rgba(20,20,20,.42),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,80vw);margin-left:clamp(24px,9vw,140px);padding-top:80px}.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700}.eyebrow.light{color:#ff8c8c}.hero h1,.closing h2{font-family:var(--serif);font-weight:400;line-height:.95;letter-spacing:-.035em;margin:0;font-size:clamp(52px,6.6vw,102px)}em{font-weight:400;color:var(--gold)}.hero-copy{font-size:clamp(16px,1.3vw,20px);max-width:660px;margin:31px 0 33px;color:rgba(255,255,255,.88);line-height:1.6}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-block;padding:17px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700}.button-gold,.button-red{background:var(--gold);color:#fff;transition:.25s}.button-gold:hover,.button-red:hover{background:#ca0808;transform:translateY(-2px)}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.button-outline:hover{border-color:var(--gold);background:var(--gold)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;padding:10px 0;border-bottom:1px solid}.light-link{border-color:rgba(255,255,255,.45)}.dark-link{border-color:var(--gold)}.text-link span{font-size:15px}.scroll-cue{position:absolute;right:clamp(24px,5vw,76px);bottom:37px;z-index:2;display:flex;align-items:center;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.2em}.scroll-cue span{width:45px;height:2px;background:var(--gold)}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(24px,5vw,76px);background:#303030;color:#fff;border-top:3px solid var(--gold)}.trust-strip div{padding:24px 18px;border-right:1px solid rgba(255,255,255,.13);text-transform:uppercase;font-size:10px;letter-spacing:.12em}.trust-strip div:first-child{border-left:1px solid rgba(255,255,255,.13)}.trust-strip span{color:#ff8585;margin-right:12px;font-family:var(--serif);font-style:italic}
.section{padding:clamp(80px,10vw,150px) clamp(24px,8vw,124px)}.section-label{display:flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:700;margin-bottom:40px}.section-label span{display:block;width:35px;height:1px;background:var(--gold)}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(50px,8vw,130px)}.intro h2,.services h2,.work h2,.process h2{font-family:var(--serif);font-weight:400;font-size:clamp(45px,5.1vw,78px);line-height:1.05;letter-spacing:-.035em;margin:0}.intro-grid>div:last-child{padding-top:5px;max-width:520px}.intro-grid p{color:#5d6461;margin:0 0 20px}.intro-grid .lead{font-size:21px;line-height:1.55;color:var(--ink)}.intro-grid .text-link{margin-top:16px}
.audiences{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0}.audience-card{min-height:660px;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px 52px;background-position:center;background-size:cover}.audience-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,13,.86) 0%,rgba(8,14,13,.22) 68%)}.audience-builders{background-image:url('assets/multiunit.webp')}.audience-homeowners{background-image:url('assets/hero.jpg');background-position:65% 52%}.audience-number,.audience-copy{position:relative}.audience-number{font:italic 18px var(--serif);color:#efce97}.audience-copy{max-width:500px}.audience-copy .eyebrow{margin-bottom:14px}.audience-copy h3{font:400 clamp(32px,3vw,47px)/1.1 var(--serif);margin:0 0 17px}.audience-copy p:not(.eyebrow){max-width:450px;color:rgba(255,255,255,.82);margin:0 0 24px}
.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,140px);background:var(--cream)}.services-heading{position:sticky;top:70px;align-self:start}.service-list{list-style:none;padding:0;margin:0}.service-list li{display:grid;grid-template-columns:55px 1fr;column-gap:24px;padding:28px 0 31px;border-top:1px solid var(--line)}.service-list li:last-child{border-bottom:1px solid var(--line)}.service-list span{grid-row:1/3;color:var(--gold);font:italic 16px var(--serif);padding-top:6px}.service-list h3{font:400 25px/1.2 var(--serif);margin:0 0 9px}.service-list p{margin:0;color:#6a706e;max-width:580px}
.work{background:#2d2d2d;color:#fff}.work-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}.work-head p{max-width:410px;color:rgba(255,255,255,.66);margin:0 0 8px}.inverse{color:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 24px}.project-wide{grid-column:1/-1}.project img{height:420px;object-fit:cover;filter:saturate(.88);transition:filter .35s,transform .35s}.project-wide img{height:min(650px,60vw)}.project{overflow:hidden}.project:hover img{filter:saturate(1);transform:scale(1.01)}.project-meta{display:flex;justify-content:space-between;align-items:end;padding-top:18px;border-top:2px solid var(--gold);margin-top:1px}.project-meta p{color:#ff8585;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin:0 0 8px}.project-meta h3{font:400 23px var(--serif);margin:0}.project-meta>span{color:rgba(255,255,255,.6);font-size:11px}.work-action{text-align:center;margin-top:58px}
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,140px)}.process-intro p{max-width:440px;color:#626966;font-size:18px;margin-top:25px}.process-steps{list-style:none;margin:0;padding:0}.process-steps li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:27px 0;border-top:1px solid var(--line)}.process-steps li:last-child{border-bottom:1px solid var(--line)}.process-steps>li>span{font:italic 17px var(--serif);color:var(--gold)}.process-steps h3{font:400 25px var(--serif);margin:0 0 7px}.process-steps p{margin:0;color:#69706d}
.closing{min-height:670px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:80px 24px}.closing-image,.closing-shade{position:absolute;inset:0}.closing-image{background:url('assets/multiunit.webp') center/cover no-repeat}.closing-shade{background:rgba(11,20,18,.78)}.closing-content{position:relative;max-width:850px}.closing h2{font-size:clamp(52px,6.2vw,92px)}.closing-content>p:not(.eyebrow){font-size:18px;color:rgba(255,255,255,.75);margin:25px auto 30px}.closing .button{min-width:230px}
footer{background:#202020;color:#fff;padding:48px clamp(24px,6vw,90px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:40px;border-top:3px solid var(--gold)}.footer-brand .brand-logo{width:118px;height:118px}.footer-contact{display:flex;gap:55px;font-size:12px;color:rgba(255,255,255,.72)}.footer-contact p{margin:0}.footer-contact a:hover{color:#ff8585}.footer-note{text-align:right;margin:0;font-size:11px;line-height:1.7;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}
.portfolio-header{position:relative;background:#2d2d2d}.portfolio-hero{min-height:520px;padding:clamp(90px,11vw,160px) clamp(24px,8vw,124px) clamp(70px,8vw,120px);display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;background:linear-gradient(135deg,#ededeb 0%,#fff 66%);border-bottom:4px solid var(--gold)}.portfolio-hero .eyebrow{color:var(--gold)}.portfolio-hero h1{font:400 clamp(58px,7vw,105px)/.95 var(--serif);letter-spacing:-.04em;margin:0}.portfolio-hero>p{font-size:19px;color:#646464;max-width:520px;margin:0 0 12px}.portfolio-section{padding:clamp(70px,8vw,120px) clamp(24px,7vw,108px);background:var(--paper)}.portfolio-section.alt{background:var(--cream)}.portfolio-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;padding-bottom:20px;border-bottom:1px solid var(--line)}.portfolio-title p{margin:0 0 8px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.portfolio-title h2{font:400 clamp(32px,4vw,54px)/1.05 var(--serif);margin:0}.portfolio-title>span{color:var(--brand-gray);font-size:12px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.gallery-grid{display:grid;gap:16px}.gallery-four{grid-template-columns:1.1fr 1fr 1fr}.gallery-three{grid-template-columns:1.25fr .75fr}.gallery-two{grid-template-columns:1fr 1fr}.gallery-image{display:block;border:0;padding:0;background:#ddd;overflow:hidden;cursor:zoom-in;min-height:340px}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s}.gallery-image:hover img{transform:scale(1.018);filter:contrast(1.03)}.gallery-four .tall{grid-row:span 2}.gallery-three .wide{grid-row:span 2}.gallery-three .portrait{min-height:420px}.portfolio-cta{background:#2d2d2d;color:#fff;text-align:center;padding:clamp(90px,10vw,150px) 24px}.portfolio-cta h2{font:400 clamp(46px,6vw,82px)/1 var(--serif);letter-spacing:-.035em;margin:0 0 34px}.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(15,15,15,.94);display:flex;align-items:center;justify-content:center;padding:52px}.lightbox img{max-width:95vw;max-height:88vh;width:auto;height:auto;object-fit:contain}.lightbox-close{position:absolute;right:22px;top:13px;border:0;background:none;color:#fff;font:300 42px/1 Arial;cursor:pointer}
.project-library{padding:clamp(70px,8vw,120px) clamp(24px,7vw,108px);background:var(--paper)}.library-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.library-intro .eyebrow{color:var(--gold);margin-bottom:10px}.library-intro h2{font:400 clamp(40px,5vw,68px)/1 var(--serif);letter-spacing:-.035em;margin:0}.library-intro>p{max-width:520px;color:#646464;margin:0 0 7px}.project-filters{display:flex;gap:9px;flex-wrap:wrap;padding:20px 0 36px;border-top:1px solid var(--line)}.filter-button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 16px;font:700 14px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.2s}.filter-button:hover,.filter-button.active{background:var(--ink);border-color:var(--ink);color:#fff}.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:44px 22px}.project-card{display:block;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.project-card[hidden]{display:none}.project-card-image{display:block;position:relative;height:clamp(320px,34vw,530px);overflow:hidden;background:#ddd}.project-card.featured{grid-column:1/-1}.project-card.featured .project-card-image{height:min(62vw,720px)}.project-card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .4s}.project-card:hover .project-card-image>img,.project-card:focus-visible .project-card-image>img{transform:scale(1.015);filter:contrast(1.04)}.project-card:focus-visible,.filter-button:focus-visible,.lightbox-arrow:focus-visible,.lightbox-close:focus-visible,.lightbox-thumbnails button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.photo-count{position:absolute;right:14px;bottom:14px;background:rgba(25,25,25,.88);color:#fff;padding:8px 11px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.project-card-copy{display:flex;justify-content:space-between;align-items:end;gap:18px;border-top:3px solid var(--gold);padding:16px 1px 0}.project-card-copy>span{display:block}.project-card-copy small{display:block;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.project-card-copy strong{display:block;font:400 25px/1.15 var(--serif)}.project-card-copy em{font:400 12px var(--sans);color:var(--brand-gray);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.filter-empty{text-align:center;padding:60px 0;color:var(--brand-gray)}
.project-lightbox[hidden]{display:none}.project-lightbox{position:fixed;z-index:100;inset:0;background:rgba(15,15,15,.97);color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) 92px;padding:22px clamp(18px,4vw,70px) 20px}.lightbox-heading{display:flex;align-items:baseline;gap:18px;padding-right:55px;margin-bottom:13px}.lightbox-heading p{margin:0;color:#ff8585;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.lightbox-heading h2{font:400 clamp(24px,3vw,38px) var(--serif);margin:0}.lightbox-heading span{margin-left:auto;color:rgba(255,255,255,.65);font-size:11px;letter-spacing:.1em}.lightbox-stage{min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:14px}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;justify-self:center}.lightbox-arrow{border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.25);color:#fff;width:48px;height:58px;font:300 42px/1 var(--serif);cursor:pointer}.lightbox-arrow:hover{background:var(--gold);border-color:var(--gold)}.lightbox-thumbnails{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding-top:14px}.lightbox-thumbnails button{flex:0 0 76px;height:64px;padding:0;border:2px solid transparent;background:#333;opacity:.58;cursor:pointer}.lightbox-thumbnails button.active{border-color:var(--gold);opacity:1}.lightbox-thumbnails img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.site-header{height:92px}.brand-logo{width:82px;height:82px}.menu-toggle{display:block;z-index:3}.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;background:#2d2d2d;padding:24px;flex-direction:column;align-items:stretch;gap:7px}.site-header nav.open{display:flex}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:690px}.hero-content{margin-left:24px;width:calc(100% - 48px)}.trust-strip{grid-template-columns:1fr 1fr}.intro-grid,.services,.process{grid-template-columns:1fr}.services-heading{position:static}.audiences{grid-template-columns:1fr;padding-left:0;padding-right:0}.audience-card{min-height:580px}.work-head{display:block}.work-head>p{margin-top:25px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project img,.project-wide img{height:58vw;min-height:330px}.portfolio-hero{grid-template-columns:1fr;min-height:auto}.library-intro{grid-template-columns:1fr;gap:24px}.project-card-copy{display:block}.project-card-copy em{display:block;margin-top:8px}.footer-contact{flex-direction:column;gap:12px}footer{grid-template-columns:1fr 1fr}.footer-note{grid-column:1/-1;text-align:left}}
@media(max-width:560px){.hero h1{font-size:47px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.scroll-cue{display:none}.trust-strip{grid-template-columns:1fr}.trust-strip div{border-bottom:1px solid rgba(255,255,255,.13)}.intro-grid .lead{font-size:19px}.audience-card{padding:30px 26px 38px;min-height:530px}.services,.process{padding-left:24px;padding-right:24px}.project-meta{display:block}.project-meta>span{display:block;margin-top:8px}.project img,.project-wide img{height:72vw;min-height:280px}.portfolio-hero{padding-top:85px;gap:30px}.portfolio-project-grid{grid-template-columns:1fr}.project-card.featured{grid-column:auto}.project-card-image,.project-card.featured .project-card-image{height:72vw;min-height:280px}.project-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:24px}.filter-button{white-space:nowrap}.project-lightbox{grid-template-rows:auto minmax(0,1fr) 78px;padding:18px 10px 10px}.lightbox-heading{display:block;padding-right:45px}.lightbox-heading h2{font-size:24px}.lightbox-heading span{position:absolute;right:18px;top:75px}.lightbox-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.lightbox-arrow{width:34px;height:52px}.lightbox-thumbnails button{flex-basis:62px;height:54px}.closing{min-height:600px}footer{grid-template-columns:1fr}.footer-note{text-align:left}.footer-contact{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
