
:root{--paper:#f7f7f4;--ink:#101010;--muted:#62625d;--blue:#124bff;--line:#c9c9c1;--max:1440px;--pad:clamp(18px,3vw,46px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.45}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,textarea,select{font:inherit}.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px;z-index:20}.skip:focus{left:8px}.shell{max-width:var(--max);margin:auto;padding-inline:var(--pad)}
.header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:18px var(--pad);border-bottom:1px solid var(--ink);position:relative;background:rgba(247,247,244,.96);z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.12em;font-size:.78rem}.brand img{width:34px;height:34px}.nav{display:flex;justify-content:flex-end;gap:26px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.availability{border:1px solid var(--ink);padding:8px 10px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.mobile-nav{display:none}.mobile-nav summary{list-style:none;cursor:pointer;border:1px solid var(--ink);padding:8px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-links{position:absolute;right:var(--pad);top:66px;background:var(--paper);border:1px solid var(--ink);padding:15px;display:grid;gap:12px;min-width:190px}.mobile-links a{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.hero{min-height:calc(100vh - 71px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);border-bottom:1px solid var(--ink)}.hero-media{position:relative;min-height:650px;overflow:hidden;background:#d7d7d0}.hero-media picture,.hero-media img{width:100%;height:100%;object-fit:cover}.hero-copy{padding:clamp(36px,5vw,78px);display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--ink)}.hero h1{font-size:clamp(2.5rem,5vw,5.7rem);line-height:.94;letter-spacing:-.055em;margin:.25em 0}.hero .lead{font-size:clamp(1.05rem,1.7vw,1.45rem);max-width:30ch}.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--ink);padding-top:18px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.blue{color:var(--blue)}
.section{padding:clamp(54px,8vw,110px) var(--pad);border-bottom:1px solid var(--ink)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:46px}.section-head h2{font-size:clamp(2rem,4vw,4.3rem);letter-spacing:-.045em;line-height:.96;margin:0}.section-head p{max-width:46ch;margin:0;font-size:1.06rem}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:start}.shot{margin:0}.shot img{width:100%;background:#ddd}.shot figcaption{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--ink);padding-top:8px;margin-top:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.shot-a{grid-column:1/8}.shot-b{grid-column:9/13;margin-top:140px}.shot-c{grid-column:3/10;margin-top:70px}.shot-d{grid-column:10/13;margin-top:240px}.shot-wide{grid-column:1/13}.shot-portrait{grid-column:2/7}.shot-small{grid-column:9/13;margin-top:170px}
.index-row{display:grid;grid-template-columns:1fr 2fr auto;gap:20px;padding:22px 0;border-top:1px solid var(--ink);align-items:baseline}.index-row:last-child{border-bottom:1px solid var(--ink)}.index-row strong{font-size:clamp(1.4rem,2.4vw,2.6rem);letter-spacing:-.035em}.index-row span{color:var(--muted)}.index-row b{color:var(--blue);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.page-hero{padding:clamp(56px,8vw,120px) var(--pad) 48px;border-bottom:1px solid var(--ink)}.page-hero h1{font-size:clamp(3.2rem,8vw,8rem);letter-spacing:-.06em;line-height:.85;margin:.14em 0 .25em;max-width:11ch}.page-hero .intro{font-size:1.2rem;max-width:54ch}.page-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.portfolio-lead{display:grid;grid-template-columns:1.1fr .9fr;border-bottom:1px solid var(--ink)}.portfolio-lead .copy{padding:clamp(40px,6vw,88px);display:flex;flex-direction:column;justify-content:flex-end}.portfolio-lead h1{font-size:clamp(3rem,7vw,7rem);line-height:.88;letter-spacing:-.055em;margin:0 0 26px}.portfolio-lead .photo{min-height:680px}.portfolio-lead .photo picture,.portfolio-lead .photo img{width:100%;height:100%;object-fit:cover}.category{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--blue)}
.project-title{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:clamp(55px,8vw,110px) var(--pad);border-bottom:1px solid var(--ink)}.project-title h1{font-size:clamp(3.2rem,8vw,8.4rem);letter-spacing:-.06em;line-height:.84;margin:0}.project-title .summary{align-self:end;font-size:1.16rem;max-width:38ch}.project-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ink)}.project-stats div{padding:28px var(--pad);border-right:1px solid var(--ink)}.project-stats div:last-child{border-right:0}.project-stats strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;color:var(--blue)}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.service{padding:34px;min-height:330px;border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.service:last-child{border-right:0}.service h2{font-size:2rem;letter-spacing:-.04em;margin:.3em 0}.service ul{padding-left:18px}.process{counter-reset:step}.process li{counter-increment:step;list-style:none;display:grid;grid-template-columns:80px 1fr;gap:20px;border-top:1px solid var(--ink);padding:24px 0}.process li:before{content:'0' counter(step);color:var(--blue);font-size:1.4rem;font-weight:700}
.inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;border-bottom:1px solid var(--ink)}.inquiry-copy{min-width:0;padding:clamp(42px,6vw,88px);border-right:1px solid var(--ink)}.inquiry-copy h1{font-size:clamp(3rem,6vw,6rem);line-height:.9;letter-spacing:-.05em}.form{min-width:0;padding:clamp(42px,6vw,88px);display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{min-width:0;display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.field input,.field textarea,.field select{min-width:0;max-width:100%;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;border-radius:0}.field textarea{min-height:130px;resize:vertical}.submit{grid-column:1/-1;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:15px 20px;text-transform:uppercase;letter-spacing:.12em;text-align:left;cursor:not-allowed}.notice{grid-column:1/-1;font-size:.76rem;color:var(--muted)}
.footer{padding:28px var(--pad);display:grid;grid-template-columns:1fr auto;gap:24px;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}.footer span:last-child{color:var(--muted)}
@media(max-width:960px){.availability{display:none}.hero{grid-template-columns:1fr}.hero-media{min-height:58vh}.hero-copy{border-left:0;border-top:1px solid var(--ink);gap:60px}.section-head{grid-template-columns:1fr}.portfolio-lead{grid-template-columns:1fr}.portfolio-lead .photo{min-height:58vh}.project-title{grid-template-columns:1fr}.services{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid var(--ink);min-height:auto}.service:last-child{border-bottom:0}.inquiry-grid{grid-template-columns:1fr}.inquiry-copy{border-right:0;border-bottom:1px solid var(--ink)}.shot-b{margin-top:90px}.shot-d{margin-top:150px}}
@media(max-width:720px){.header{grid-template-columns:auto 1fr}.nav{display:none}.mobile-nav{display:block;justify-self:end}.hero{min-height:0}.hero-media{min-height:52vh}.hero-copy{padding:32px var(--pad);gap:50px}.hero-meta{grid-template-columns:1fr}.project-grid{display:block}.shot,.shot-a,.shot-b,.shot-c,.shot-d,.shot-wide,.shot-portrait,.shot-small{margin:0 0 42px}.section{padding-block:52px}.section-head{gap:20px;margin-bottom:30px}.index-row{grid-template-columns:1fr auto}.index-row span{grid-column:1/-1;grid-row:2}.page-hero h1{font-size:clamp(3rem,16vw,5.2rem)}.portfolio-lead .copy{padding:44px var(--pad)}.portfolio-lead .photo{min-height:50vh}.project-title h1{font-size:clamp(3rem,17vw,5.6rem)}.project-stats{grid-template-columns:1fr}.project-stats div{border-right:0;border-bottom:1px solid var(--ink)}.project-stats div:last-child{border-bottom:0}.form{grid-template-columns:1fr}.field.full,.submit,.notice{grid-column:1}.footer{grid-template-columns:1fr}.process li{grid-template-columns:52px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Targeted typography polish: preserve photographic portfolio and image-first composition. */
.hero-copy h1{font-size:clamp(2.6rem,4.3vw,4.5rem);line-height:1.03;letter-spacing:-.055em}.page-intro h1{font-size:clamp(3rem,5.5vw,5.7rem);line-height:1.02}@media(max-width:600px){.hero-copy h1{font-size:2.85rem}.hero-copy{padding-top:32px;padding-bottom:36px}}

@media(max-width:400px){.inquiry-grid>*{min-width:0}.inquiry-grid h1{font-size:2.6rem;overflow-wrap:anywhere}.form-grid{grid-template-columns:minmax(0,1fr)}input,select,textarea{max-width:100%;min-width:0}.page-intro h1,h1{overflow-wrap:anywhere}}

.inquiry-copy h1{font-size:clamp(2.4rem,3.4vw,3.4rem);line-height:1.02;overflow-wrap:anywhere}.portfolio-lead h1,.project-title h1{font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:1.02}@media(max-width:400px){.inquiry-copy,.form{padding:32px 20px}.submit{white-space:normal;overflow-wrap:anywhere}}
