
:root{--black:#080808;--charcoal:#141414;--off:#f3efe6;--white:#fff;--gold:#c99a31;--gold2:#f0ca72;--line:rgba(255,255,255,.14);--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--off);color:#191919;font-family:var(--sans);line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:9999}
.page-loader{position:fixed;inset:0;background:#080808;z-index:9999;display:grid;place-items:center;transition:opacity .8s,visibility .8s}.page-loader.loaded{opacity:0;visibility:hidden}.loader-mark{color:var(--gold2);font:400 3rem var(--serif);letter-spacing:.08em;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.35}}.progress-bar{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:9998}
.site-header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.78),transparent)}.site-header.scrolled{background:rgba(8,8,8,.96);border-bottom:1px solid rgba(255,255,255,.1);padding-block:8px}.brand{width:min(255px,40vw)}.brand img{height:74px;object-fit:contain;object-position:left}.site-nav{display:flex;align-items:center;gap:1.6rem;color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em}.site-nav a{opacity:.88;transition:.2s}.site-nav a:hover{opacity:1;color:var(--gold2)}.nav-cta{border:1px solid var(--gold);padding:.7rem 1rem}.menu-toggle{display:none;background:none;border:0;color:#fff;width:54px;height:48px;position:relative}.menu-toggle span{display:block;height:1px;background:#fff;margin:6px}.menu-toggle b{position:absolute;left:-33px;top:15px;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{height:110%;object-fit:cover;object-position:center;transform:scale(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.62) 48%,rgba(0,0,0,.18)),linear-gradient(to top,rgba(0,0,0,.62),transparent 55%)}.hero-content{position:relative;z-index:2;width:min(880px,87vw);margin-left:7vw;padding-top:90px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;font-weight:700}.eyebrow{color:var(--gold2)}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:1.06;margin:.65rem 0}.hero h1{font-size:clamp(3.1rem,6.7vw,7rem);max-width:960px}.hero-copy{font-size:clamp(1rem,1.6vw,1.3rem);max-width:700px;color:rgba(255,255,255,.8)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.55rem;border:1px solid transparent;text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:700;cursor:pointer;transition:.25s}.button-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#080808}.button-gold:hover{filter:brightness(1.08);transform:translateY(-2px)}.button-ghost{border-color:rgba(255,255,255,.68);color:#fff}.button-ghost:hover{background:#fff;color:#111}.hero-side-label{position:absolute;right:2vw;top:50%;z-index:2;writing-mode:vertical-rl;transform:translateY(-50%);text-transform:uppercase;letter-spacing:.28em;font-size:.62rem;color:rgba(255,255,255,.5)}.scroll-cue{position:absolute;z-index:2;left:50%;bottom:24px;width:28px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:20px}.scroll-cue span{position:absolute;width:4px;height:8px;background:var(--gold2);border-radius:2px;top:8px;left:11px;animation:scroll 1.7s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(18px);opacity:0}}
.section{padding:110px 7vw}.statement{background:#0c0c0c;color:#fff;padding-top:85px;padding-bottom:85px}.statement-line{display:flex;align-items:center;gap:2.5vw;font:400 clamp(2.2rem,5.5vw,6rem) var(--serif);line-height:1;margin:.25em 0}.statement-line:nth-child(2){justify-content:flex-end;color:var(--gold2)}.statement-line p{margin:0;white-space:nowrap}.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold2));flex:1}.statement-line:nth-child(2) .gold-rule{background:linear-gradient(90deg,var(--gold2),transparent)}
.section h2{font-size:clamp(2.4rem,4.8vw,5rem)}.intro-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:8vw;align-items:start}.intro-grid p{font-size:1.08rem;color:#555}.text-link{display:inline-block;margin-top:1rem;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;border-bottom:1px solid var(--gold);padding-bottom:.35rem}.text-link span{color:var(--gold);font-size:1rem}.dark-section{background:var(--black);color:#fff}.section-kicker{color:#6a604e}.section-kicker.gold{color:var(--gold2)}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end;margin-bottom:55px}.section-heading>p{color:rgba(255,255,255,.64);max-width:560px}.light-heading>p{color:#5c5c5c}
.before-after{position:relative;overflow:hidden;aspect-ratio:16/8;border:1px solid rgba(255,255,255,.15);background:#222}.before-after img{height:100%;object-fit:cover}.before-layer{position:absolute;inset:0;width:48%;overflow:hidden}.before-layer img{width:86vw;max-width:none}.before-layer .before-image{object-position:68% 50%}.ba-divider{position:absolute;top:0;bottom:0;left:48%;width:2px;background:#fff;transform:translateX(-1px)}.ba-divider:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-weight:bold}.before-after input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.ba-label{position:absolute;top:20px;background:rgba(0,0,0,.75);padding:.45rem .8rem;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}.before-label{left:20px}.after-label{right:20px}
.project-story{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}.project-card{border-top:1px solid var(--line);padding-top:24px}.project-story span,.service-grid span{color:var(--gold2);font-size:.72rem;letter-spacing:.14em}.project-story h3,.service-grid h3{font:400 1.7rem var(--serif);margin:.65rem 0}.project-story p{color:rgba(255,255,255,.64);min-height:85px}.image-button,.masonry button{border:0;padding:0;background:none;cursor:zoom-in;width:100%;overflow:hidden}.image-button img{aspect-ratio:4/3;object-fit:cover;margin-top:22px;transition:.5s}.image-button:hover img{transform:scale(1.04)}
.cinematic-break{height:min(80vh,850px);position:relative;overflow:hidden;color:#fff}.cinematic-break img{height:115%;object-fit:cover;filter:brightness(.55)}.cinematic-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent)}.cinematic-copy{position:absolute;z-index:2;left:7vw;bottom:14%;display:flex;flex-direction:column;font-family:var(--serif);font-size:clamp(2.2rem,5vw,5.5rem);line-height:1.05}.cinematic-copy strong{color:var(--gold2);font-weight:400}
.masonry{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.masonry figure{margin:0;position:relative;grid-column:span 4;overflow:hidden;background:#111}.masonry figure.wide{grid-column:span 8}.masonry figure.tall img{aspect-ratio:3/4}.masonry img{aspect-ratio:4/3;object-fit:cover;transition:.55s}.masonry figure:hover img{transform:scale(1.04)}.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font:400 1.35rem var(--serif);pointer-events:none}.masonry figcaption span{font:700 .65rem var(--sans);letter-spacing:.13em;color:var(--gold2);display:block}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.35s}.service-grid article:hover{background:#121212;transform:translateY(-4px)}.service-grid p{color:rgba(255,255,255,.62)}
.approach{display:grid;grid-template-columns:1fr 1fr;padding:0;background:#e7e1d5}.approach-image{overflow:hidden}.approach-image img{height:110%;min-height:760px;object-fit:cover}.approach-copy{padding:100px 7vw}.approach-copy p{color:#555}.values{margin-top:40px;border-top:1px solid rgba(0,0,0,.16)}.values div{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.16)}.values span{color:#666}
.service-area{text-align:center;background:#171717;color:#fff}.service-area h2{max-width:1000px;margin-inline:auto}.service-area>p:last-child{max-width:1000px;margin:1.5rem auto 0;color:rgba(255,255,255,.66);font-size:1.06rem}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:#f5f2eb}.contact-copy p{color:#555}.contact-links{margin-top:35px;display:grid;gap:16px}.contact-links a{font:400 1.35rem var(--serif)}.contact-links span{display:block;font:700 .66rem var(--sans);text-transform:uppercase;letter-spacing:.18em;color:#756742}.contact-form{background:#fff;padding:42px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #aaa;background:#fafafa;padding:13px 12px;outline:none;text-transform:none;letter-spacing:normal;font-weight:400}.contact-form textarea{border:1px solid #bbb;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.form-note{font-size:.7rem;color:#777;margin:14px 0 0}.hidden{display:none}
footer{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:35px;align-items:center;background:#070707;color:rgba(255,255,255,.67);padding:50px 7vw;font-size:.84rem}footer a:hover{color:var(--gold2)}.footer-brand img{height:90px;object-fit:contain;object-position:left}footer strong{color:#fff}
.lightbox{width:min(94vw,1400px);height:min(92vh,1000px);padding:0;border:0;background:#050505;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.92);backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;right:12px;top:8px;z-index:2;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.65);color:#fff;width:45px;height:45px;border-radius:50%;font-size:1.8rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{background:rgba(8,8,8,.95)}.menu-toggle{display:block}.site-nav{position:fixed;inset:0;display:flex;visibility:hidden;opacity:0;transform:translateY(-15px);transition:.3s;flex-direction:column;justify-content:center;align-items:center;background:#080808;padding:80px 7vw;font-size:1rem}.site-nav.open{visibility:visible;opacity:1;transform:none}.menu-toggle{z-index:2}.hero-content{margin-left:6vw}.hero-side-label{display:none}.intro-grid,.section-heading,.contact{grid-template-columns:1fr}.project-story,.service-grid{grid-template-columns:1fr}.masonry figure,.masonry figure.wide{grid-column:span 6}.approach{grid-template-columns:1fr}.approach-image img{min-height:500px}.statement-line{gap:1rem}footer{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand{width:210px}.brand img{height:58px}.hero{height:auto;min-height:100svh;align-items:flex-start;padding:120px 0 88px}.hero-content{width:88vw;margin-left:6vw;padding-top:0}.hero h1{font-size:2.85rem}.hero-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:1.6rem}.hero-actions .button{width:100%;padding-inline:1rem;text-align:center}.scroll-cue{display:none}.section{padding:78px 6vw}.statement{padding-block:65px}.statement-line{font-size:2.15rem}.statement-line p{white-space:normal}.before-after{aspect-ratio:3/2}.before-layer img{width:88vw}.before-layer .before-image{object-position:70% 50%}.masonry figure,.masonry figure.wide{grid-column:span 12}.field-row{grid-template-columns:1fr;gap:0}.contact-form{padding:27px 22px}.approach-copy{padding:75px 6vw}.values div{grid-template-columns:1fr;gap:4px}footer{grid-template-columns:1fr}.cinematic-break{height:70vh}}
@media(max-height:760px) and (min-width:621px){.hero{height:auto;min-height:100svh;padding:110px 0 86px}.hero-content{padding-top:0}.scroll-cue{bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-loader{display:none}.reveal{opacity:1;transform:none;transition:none}.scroll-cue span{animation:none}.masonry img,.image-button img{transition:none}}

.before-after img{backface-visibility:hidden}
.before-layer .before-image{object-position:68% 40%;transform:scale(1.32);transform-origin:68% 40%}
@media(max-width:620px){.before-layer .before-image{object-position:70% 38%;transform:scale(1.38);transform-origin:70% 38%}}
