@font-face{font-family:Formula;src:url('assets/formula-extended-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{--page-gutter:clamp(1.25rem,4.7vw,4.5rem)}
.page-shell{background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:hidden}
.page-shell a{color:inherit;text-decoration:none}
.page-shell .nav{height:72px;padding:14px var(--page-gutter);color:#fff;pointer-events:none;z-index:40}
.about-page .nav{color:var(--ink)}
.page-nav-home{position:absolute;left:var(--page-gutter);top:25px;color:inherit;font:700 15px Formula,Arial,sans-serif;letter-spacing:.02em;pointer-events:auto}
.page-nav-home span{font-family:Manrope,Arial,sans-serif;font-weight:400;margin-left:4px}
.page-shell .menu-trigger{width:48px;height:42px;padding:0;gap:6px;pointer-events:auto}
.page-shell .menu-trigger i{width:34px;height:1.5px;background:currentColor;transition:none}
.page-shell .menu-trigger[aria-expanded=true] i:first-child{transform:translateY(3.75px) rotate(28deg)}
.page-shell .menu-trigger[aria-expanded=true] i:last-child{transform:translateY(-3.75px) rotate(-28deg)}
.page-shell .menu-panel{position:fixed;inset:0;background:var(--black);color:#fff;z-index:35;display:flex;flex-direction:column;justify-content:space-between;padding:100px var(--page-gutter) 34px;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:none}
.page-shell .menu-panel.open{opacity:1;visibility:visible;pointer-events:auto}
.page-shell .menu-panel nav{display:block}
.page-shell .menu-panel nav a{display:block;width:100%;border-bottom:1px solid #ffffff26;padding:8px 0;font:700 clamp(2.6rem,6vw,6rem)/1.05 Formula,Arial,sans-serif;letter-spacing:-.04em;opacity:1;transform:none;transition:none}
.page-shell .menu-panel nav a:hover{color:#aaa}
.page-shell .menu-services{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-left:50%;font:700 17px/1.3 Formula,Arial,sans-serif}
.page-shell.menu-open{overflow:hidden}
.page-shell main{display:block}
.page-hero{min-height:min(720px,78svh);padding:126px var(--page-gutter) 74px;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:clamp(32px,8vw,140px);align-items:end}
.page-hero-content{max-width:790px}
.page-kicker,.section-label{font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.page-kicker{margin-bottom:38px}
.page-hero h1{font:700 clamp(3.6rem,7.5vw,8rem)/.88 Formula,Arial,sans-serif;letter-spacing:-.055em;margin:0;max-width:760px}
.page-hero h1 em,.page-section h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}
.page-intro{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.35;max-width:390px;margin:34px 0 0}
.page-hero-image{display:block;width:100%;height:min(56vh,520px);object-fit:cover}
.contact-hero{min-height:64svh;padding-bottom:82px;background:var(--black);color:#fff;display:flex;align-items:flex-end}
.contact-hero .page-intro{max-width:330px}
.page-section{padding:clamp(82px,12vw,170px) var(--page-gutter);background:var(--paper)}
.page-section.dark{background:var(--black);color:#fff}
.page-section-grid{display:grid;grid-template-columns:1fr 2fr;gap:6vw}
.page-section h2{font:500 clamp(3rem,6vw,6.8rem)/.9 Formula,Arial,sans-serif;letter-spacing:-.06em;margin:0 0 44px}
.page-section p{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.45;max-width:590px;margin:0 0 1.25rem}
.page-copy-block{max-width:760px}
.page-copy-block p{font-size:clamp(1.25rem,2.1vw,2.25rem);line-height:1.14;letter-spacing:-.03em}
.page-section-image{display:block;width:min(100%,1120px);height:min(64vh,680px);object-fit:cover;margin:clamp(56px,8vw,120px) 0 0 auto}
.page-list{border-top:1px solid currentColor;margin-top:3.5vh}
.page-list article{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;border-bottom:1px solid currentColor;padding:24px 0;align-items:start}
.page-list article span{font:11px 'DM Mono',monospace;letter-spacing:.1em}
.page-list h3{font:500 clamp(1.25rem,1.8vw,2rem)/1 Formula,Arial,sans-serif;margin:0}
.page-list p{font-size:15px;margin:0;max-width:320px}
.page-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:8vw}
.page-cta h2{margin-bottom:0}
.page-link{color:inherit;border-bottom:1px solid currentColor;padding-bottom:9px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;white-space:nowrap}
.page-link span{font-size:18px;margin-left:16px}
.contact-detail{padding-top:clamp(80px,10vw,140px);padding-bottom:clamp(90px,12vw,165px)}
.contact-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.contact-detail h2{font-size:clamp(3rem,5.5vw,6.5rem)}
.contact-email{display:inline-block;font:500 clamp(1.5rem,2.7vw,3rem)/1 Formula,Arial,sans-serif;letter-spacing:-.04em;border-bottom:2px solid currentColor;margin:1rem 0 3rem}
.contact-detail p{font-size:18px;max-width:440px}
.contact-notes{border-top:1px solid currentColor;margin-top:5vh;padding-top:18px;font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.page-cta-section{padding-top:clamp(75px,10vw,130px);padding-bottom:clamp(85px,12vw,150px)}
.page-footer{display:flex;justify-content:space-between;padding:28px var(--page-gutter);border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.page-footer p{margin:0}
.page-footer span{font-weight:400;margin-left:4px}
@media(max-width:767px){.page-shell .nav{height:66px;padding-top:12px}.page-nav-home{top:22px}.page-shell .menu-panel{padding-top:88px}.page-shell .menu-services{margin-left:0;font-size:14px}.page-hero{min-height:0;padding:112px var(--page-gutter) 64px;display:flex;flex-direction:column;align-items:stretch;gap:54px}.page-hero h1{font-size:3.8rem}.page-intro{margin-top:26px;font-size:1rem}.page-hero-image{height:58vh;max-height:520px}.contact-hero{min-height:70svh;padding-top:124px;justify-content:flex-end}.contact-hero h1{font-size:4.5rem}.page-section{padding:84px var(--page-gutter)}.page-section-grid,.contact-detail-grid{display:block}.page-section-grid>.section-label{margin-bottom:60px}.page-section h2{font-size:3.7rem;margin-bottom:38px}.page-copy-block p{font-size:1.55rem}.page-section-image{height:56vh;margin-top:68px}.page-list{margin-top:58px}.page-list article{grid-template-columns:38px 1fr;gap:12px}.page-list p{grid-column:2}.page-cta{display:block}.page-cta .page-link{display:inline-block;margin-top:48px}.contact-detail p{font-size:16px}.contact-email{font-size:1.7rem;margin-bottom:2.8rem}.page-footer{padding:24px var(--page-gutter)}.page-footer p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.page-shell .nav{position:fixed;display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;pointer-events:auto}
.page-nav-home{position:static;display:inline-flex;align-items:baseline;flex:none;line-height:1;white-space:nowrap}
.page-shell .menu-trigger{display:flex;align-items:center;justify-content:center;flex:none;margin-left:auto}
.page-shell.menu-open .nav{color:#fff;background:transparent}
.contact-onepager{background:var(--paper)}
.contact-layout{min-height:calc(100svh - 72px);padding:126px var(--page-gutter) 86px;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(48px,10vw,170px);align-items:start}
.contact-intro{position:sticky;top:112px}
.contact-intro h1{font:700 clamp(3.4rem,6vw,6.7rem)/.88 Formula,Arial,sans-serif;letter-spacing:-.055em;margin:42px 0 30px}
.contact-intro h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}
.contact-intro>p{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.45;max-width:380px;margin:0 0 34px}
.contact-intro .contact-email{margin:0 0 44px}
.project-form{border-top:1px solid var(--ink);padding-top:18px;max-width:760px}
.form-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:38px;font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.form-heading p{font:11px 'DM Mono',monospace;letter-spacing:.05em;text-transform:none;margin:0;opacity:.65}
.project-form label,.project-form legend{display:block;font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}
.project-form input,.project-form select,.project-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(9,11,12,.35);border-radius:0;background:transparent;color:var(--ink);font:16px/1.35 Manrope,Arial,sans-serif;padding:13px 0 11px;outline:none;appearance:none}
.project-form select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 7px) 20px,100% 20px;background-size:7px 7px,7px 7px;background-repeat:no-repeat;padding-right:22px}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.project-form input::placeholder,.project-form textarea::placeholder{color:rgba(9,11,12,.48)}
.project-form fieldset{border:0;border-top:1px solid var(--line);margin:40px 0 32px;padding:18px 0 0}
.form-checks{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin-top:17px}
.form-checks label{display:flex;align-items:center;gap:10px;font:15px Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
.form-checks input{width:16px;height:16px;margin:0;accent-color:var(--ink)}
.form-message{margin-bottom:30px}
.project-form textarea{resize:vertical;min-height:125px}
.form-submit{display:inline-flex;align-items:center;gap:22px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 0 10px;font:12px Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.form-submit span{font-size:19px;line-height:10px}
.form-note{font-size:12px!important;line-height:1.4!important;opacity:.6;margin:20px 0 0!important}
@media(max-width:767px){.contact-layout{min-height:0;padding:108px var(--page-gutter) 72px;display:block}.contact-intro{position:static}.contact-intro h1{font-size:3.8rem;margin-top:34px}.contact-intro>p{font-size:1rem}.project-form{margin-top:76px}.form-heading{display:block;line-height:1.5}.form-heading p{margin-top:7px}.form-row{display:block;margin-bottom:0}.project-form label{margin-bottom:23px}.form-checks{grid-template-columns:1fr 1fr}.project-form fieldset{margin-top:18px}}
