:root{--ink:#11100e;--cream:#eee9df;--red:#a72d1f;--line:rgba(17,16,14,.28);--pad:clamp(1rem,3vw,3rem);--motion-duration:.72s;--motion-distance:18px;--ease-out:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:99;top:0;left:1rem;padding:.75rem;background:var(--cream);transform:translateY(-110%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid #e6523e;outline-offset:4px}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--ink);color:var(--cream);border-bottom:1px solid #444;position:relative;z-index:20}.wordmark{display:flex;align-items:center;gap:.8rem}.wordmark>span{font-weight:600;font-size:1.8rem;letter-spacing:-.12em}.wordmark small,.eyebrow,.hero__kicker,.project p,.project span,.service-list>li>span,footer,.location{font:400 .66rem/1.4 'DM Mono',monospace;letter-spacing:.08em}.site-header nav{display:flex;gap:clamp(1.5rem,4vw,4rem);font:400 .72rem 'DM Mono',monospace;text-transform:uppercase}.site-header nav a{transition:opacity .2s ease}.site-header nav a:hover{opacity:.72;text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none;border:1px solid #666;background:none;color:inherit;padding:.6rem}.hero{background:var(--ink);color:var(--cream);min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:auto minmax(280px,1fr) auto;padding:0 var(--pad) var(--pad)}.hero__kicker{grid-column:1/-1;display:flex;justify-content:space-between;padding:1rem 0}.media-frame{position:relative;overflow:hidden;background:#201e1a;isolation:isolate}.media-frame:after{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(238,233,223,.22);pointer-events:none}.media-frame picture,.media-frame img{display:block;width:100%;height:100%}.media-frame img{object-fit:cover;transition:transform .7s var(--ease-out)}.hero__frame{grid-row:2}.hero__frame:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent 58%,rgba(17,16,14,.58) 100%);pointer-events:none}.hero__frame img{transform:scale(1.045)}.hero__frame p{position:absolute;left:1rem;bottom:.7rem;margin:0;font:400 .62rem 'DM Mono';z-index:3;text-shadow:0 1px 8px rgba(0,0,0,.7)}.hero__frame p span{opacity:.72;margin-left:1rem}.hero__title{align-self:center;margin-left:-6vw;z-index:2}.hero__title>p{font:500 .72rem 'DM Mono';letter-spacing:.11em;border-top:1px solid;padding-top:.7rem;margin-left:6.5vw}.hero h1,.section-heading h2,.studio h2,.contact h2,.error h1{font:400 clamp(4rem,10vw,10rem)/.75 Inter,sans-serif;letter-spacing:-.075em;margin:.35em 0;text-transform:uppercase}.hero h1{font-size:clamp(4rem,9vw,9rem)}h1 em,h2 em{font-family:'Instrument Serif',serif;font-weight:400}.hero__footer{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;padding-top:2rem}.hero__footer>p:first-child{font-size:clamp(1rem,1.4vw,1.35rem);max-width:34rem;margin:0}.hero__actions{display:flex}.button{display:inline-flex;min-height:50px;align-items:center;border:1px solid #666;padding:0 1.2rem;font:500 .68rem 'DM Mono';text-transform:uppercase;letter-spacing:.06em;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--ease-out)}.button--red{background:var(--red);border-color:var(--red);color:#fff}.button:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}.button:active{transform:none}.location{text-align:right;margin:0}.section{padding:clamp(5rem,10vw,10rem) var(--pad)}.section-heading{display:grid;grid-template-columns:1fr 3fr 1fr;align-items:start}.section-heading h2{font-size:clamp(3.5rem,8vw,8rem);margin:0}.section-heading>p:last-child{font-size:.9rem;line-height:1.5}.gallery{display:grid;grid-template-columns:1.5fr .8fr;gap:clamp(1.5rem,4vw,4rem);margin-top:7rem}.project .media-frame{aspect-ratio:4/3}.project--wide{grid-row:span 2}.project--wide .media-frame,.project--portrait .media-frame{aspect-ratio:4/5}.project--tall{margin-top:8rem}.project .media-frame span{position:absolute;z-index:3;left:1rem;top:1rem;color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.7)}.project:hover .media-frame img{transform:scale(1.015)}.project h3{font-size:1.3rem;margin:1rem 0 .25rem}.project p{text-transform:uppercase;margin:0}.services{background:var(--ink);color:var(--cream)}.section-heading--light{grid-template-columns:1fr 4fr}.service-list{list-style:none;margin:5rem 0 0;padding:0;border-top:1px solid #555}.service-list li{display:grid;grid-template-columns:.4fr 1.3fr 2fr;gap:2rem;padding:2rem 0;border-bottom:1px solid #555}.service-list h3{font-size:clamp(1.6rem,3vw,3rem);text-transform:uppercase;margin:0}.service-list p{max-width:38rem;line-height:1.6;margin:0}.studio{display:grid;grid-template-columns:1fr 2.4fr;gap:5vw}.studio__marker{background:var(--red);color:#fff;aspect-ratio:1;max-width:340px;padding:1.5rem;font-size:clamp(4rem,8vw,7rem);font-weight:600;letter-spacing:-.12em;display:flex;flex-direction:column;justify-content:space-between}.studio__marker span{font:400 .65rem 'DM Mono';letter-spacing:.08em}.studio h2{font-size:clamp(3.5rem,7vw,7rem);margin:.5em 0}.studio__copy>p:not(.eyebrow){line-height:1.7;max-width:52rem}.studio__copy .lede{font-size:clamp(1.4rem,2.5vw,2.5rem);line-height:1.35!important}.contact{background:var(--red);color:#fff}.contact h2{font-size:clamp(3.5rem,8.3vw,8.5rem)}.contact-link{border-top:1px solid #fff;border-bottom:1px solid #fff;padding:1.4rem 0;display:flex;justify-content:space-between;font:500 clamp(.8rem,2vw,1.5rem) 'DM Mono';letter-spacing:.04em}.contact>div>p:last-child{max-width:30rem;margin:2rem 0 0;line-height:1.5}footer{background:var(--ink);color:var(--cream);min-height:240px;padding:3rem var(--pad);display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:2rem;border-top:1px solid #444}footer p{margin:0}footer a{text-decoration:underline;text-underline-offset:4px}.error{min-height:100vh;background:var(--ink);color:var(--cream);padding:10vh var(--pad)}
.motion-ready .hero__kicker,.motion-ready .hero__frame,.motion-ready .hero__title,.motion-ready .hero__footer{opacity:0;animation:hero-in var(--motion-duration) var(--ease-out) forwards}.motion-ready .hero__frame{animation-delay:.09s}.motion-ready .hero__title{animation-delay:.18s}.motion-ready .hero__footer{animation-delay:.3s}.reveal-ready [data-reveal]{opacity:0;transform:translate3d(0,var(--motion-distance),0);transition:opacity var(--motion-duration) var(--ease-out),transform var(--motion-duration) var(--ease-out)}.reveal-ready .gallery [data-reveal]:nth-child(2),.reveal-ready .service-list [data-reveal]:nth-child(2){transition-delay:.08s}.reveal-ready .gallery [data-reveal]:nth-child(3),.reveal-ready .service-list [data-reveal]:nth-child(3){transition-delay:.16s}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}@keyframes hero-in{from{opacity:0;transform:translate3d(0,var(--motion-distance),0)}to{opacity:1;transform:none}}
@media(max-width:760px){.site-header{height:64px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--ink);flex-direction:column;padding:2rem var(--pad);border-top:1px solid #444}.site-header nav.is-open{display:flex}.hero{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.hero__kicker{grid-column:auto}.hero__kicker span:last-child{display:none}.hero__frame{grid-row:auto;aspect-ratio:4/5}.hero__frame:before{background:linear-gradient(0deg,rgba(17,16,14,.5),transparent 45%)}.hero__frame img{transform:none}.hero__frame p{left:.75rem;right:.75rem;bottom:.75rem;display:flex;justify-content:space-between;gap:.75rem;font-size:.56rem;line-height:1.35}.hero__frame p span{margin-left:0;text-align:right}.hero__title{margin:0;align-self:auto;padding-top:1.25rem}.hero__title>p{margin-left:0;font-size:.62rem;line-height:1.45}.hero h1{font-size:clamp(3.35rem,17vw,4.6rem);line-height:.78;margin:.4em 0}.hero__footer{grid-column:auto;grid-template-columns:1fr;gap:1.5rem;padding-top:0}.hero__actions{order:3;flex-direction:column}.button{justify-content:center}.location{text-align:left}.section-heading,.section-heading--light{grid-template-columns:1fr}.section-heading>p:last-child{max-width:25rem}.gallery{grid-template-columns:1fr;margin-top:4rem}.project--wide .media-frame,.project--portrait .media-frame{aspect-ratio:4/5}.project--tall{margin-top:0}.service-list li{grid-template-columns:.25fr 1fr}.service-list p{grid-column:2}.studio{grid-template-columns:1fr}.studio__marker{max-width:210px}.contact-link{font-size:.7rem}footer{grid-template-columns:1fr 1fr}footer>:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .hero__kicker,.motion-ready .hero__frame,.motion-ready .hero__title,.motion-ready .hero__footer,.reveal-ready [data-reveal]{opacity:1;transform:none;animation:none;transition:none}.site-header nav a,.button,.media-frame img{transition:none}.button:hover,.button:active,.hero__frame img,.project:hover .media-frame img{transform:none}}

/* Project inquiry */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(32rem,1.1fr);gap:clamp(3rem,7vw,8rem);align-items:start}.contact__intro{position:sticky;top:2rem}.contact__lede{max-width:40rem;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;margin:0 0 2.5rem}.contact-link{font-size:clamp(.68rem,1vw,.9rem);gap:1rem}.inquiry-form{color:var(--ink);background:var(--cream);padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 24px 70px rgba(70,13,5,.18)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.form-field{min-width:0;margin:0 0 1.25rem}.form-field label,.form-field legend{display:block;margin:0 0 .55rem;font:500 .68rem/1.4 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.field-optional{font-weight:400;opacity:.62}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #aaa49a;border-radius:0;background:#fff;color:var(--ink);font:400 1rem/1.45 Inter,Arial,sans-serif;padding:.85rem .9rem;min-height:50px}.form-field textarea{resize:vertical;min-height:148px}.form-field input::placeholder,.form-field textarea::placeholder{color:#6f6b64;opacity:1}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-color:var(--ink)}.cadence-field{border:0;padding:0}.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.choice-row label{margin:0;cursor:pointer}.choice-row input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.choice-row span{display:flex;align-items:center;min-height:54px;border:1px solid #aaa49a;padding:.7rem .8rem;background:#fff;font:500 .68rem/1.35 'DM Mono',monospace;text-transform:uppercase}.choice-row input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--cream)}.choice-row input:focus-visible+span{outline:3px solid var(--ink);outline-offset:2px}.field-help,.form-privacy{font-size:.78rem;line-height:1.5;color:#55514b;margin:.55rem 0 0}.form-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-top:1.5rem}.cf-turnstile{min-width:0}.inquiry-submit{border-color:var(--ink);background:var(--ink);color:var(--cream);cursor:pointer;justify-content:center}.inquiry-submit:hover{background:var(--red);border-color:var(--red);color:#fff}.inquiry-submit:disabled{cursor:wait;opacity:.6}.form-status{min-height:1.5em;margin:1rem 0 0;font-weight:600;line-height:1.5}.form-status:empty{margin-top:0}.form-status--success{color:#176c3a}.form-status--error{color:#a12617}.form-status a{text-decoration:underline}.form-field--honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.form-field input,.form-field select,.form-field textarea{min-width:0;max-width:100%}.form-field input[type="date"]{inline-size:100%;min-inline-size:0;max-inline-size:100%;-webkit-appearance:none;appearance:none}.form-field input[type="date"]::-webkit-date-and-time-value{text-align:left}

@media(max-width:1040px){.contact{grid-template-columns:1fr}.contact__intro{position:static}.contact__intro h2{max-width:10ch}}
@media(max-width:760px){.form-grid,.choice-row,.form-footer{grid-template-columns:1fr}.inquiry-form{padding:1.15rem}.contact-link{overflow-wrap:anywhere}.cf-turnstile{width:100%}.inquiry-submit{width:100%}}
