:root{--ink:#161512;--paper:#f1ede5;--white:#fffdf8;--gold:#ad8b5d;--muted:#777168;--line:rgba(22,21,18,.16)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block}
.progress{position:fixed;top:0;left:0;z-index:100;width:var(--progress,0%);height:3px;background:var(--gold)}
header{position:absolute;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}
.brand{display:flex;align-items:center;gap:10px}.brand b{display:grid;width:38px;height:38px;place-items:center;border:1px solid;font:400 20px Georgia}.brand>span{font-size:11px;font-weight:bold;letter-spacing:.16em}.brand small{display:block;font-size:8px;font-weight:normal;letter-spacing:.2em;opacity:.7}nav{display:flex;gap:34px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.header-cta{justify-self:end;padding:11px 15px;border:1px solid rgba(255,255,255,.65);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.hero{position:relative;min-height:100vh;overflow:hidden;color:#fff}.hero-image{position:absolute;width:100%;height:112%;object-fit:cover;transform:translateY(var(--hero-shift,0));will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,10,.84),rgba(16,13,10,.1)),linear-gradient(0deg,rgba(10,8,6,.58),transparent 55%)}.hero-copy{position:relative;z-index:2;max-width:1000px;padding:28vh 8vw 100px}.hero-copy>p,.hero-copy>span,.hero-index,.journey-heading,.caption span,.intro-panel>span,.end-panel>span,.expertise-copy>span,.contact>span{font-size:9px;font-weight:bold;letter-spacing:.2em;text-transform:uppercase}.hero-copy>p{margin-bottom:24px;color:#d8c09d}
.horizontal-background{display:grid;grid-template-columns:1.05fr .8fr;gap:8vw;align-items:center;padding:130px 8vw;background:#e5ddcf}.horizontal-background>div:first-child>span{font-size:9px;font-weight:bold;letter-spacing:.18em;text-transform:uppercase;color:#876a45}.horizontal-background h2{margin:20px 0 28px;font-size:clamp(44px,5vw,74px);line-height:1.04}.horizontal-background>div:first-child>p{max-width:650px;color:#696259}.horizontal-background .company-illustration{color:#5c4a35;border:1px solid var(--line)}
h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(62px,8.5vw,126px);line-height:.92;letter-spacing:-.05em}h1 i,h2 i{color:#d6bd98;font-weight:400}.hero-copy>span{display:block;margin-top:38px;color:rgba(255,255,255,.65)}.hero-index{position:absolute;z-index:2;right:4vw;bottom:35px;color:rgba(255,255,255,.55)}.scroll-hint{position:absolute;z-index:2;left:8vw;bottom:35px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.scroll-hint b{display:inline-block;margin-left:15px;animation:nudge 1.6s ease-in-out infinite}
.journey{height:1000vh;background:#171613;color:#fff}.sticky{position:sticky;top:0;height:100vh;overflow:hidden}.journey-heading{position:absolute;z-index:5;top:28px;left:4vw;right:4vw;display:flex;justify-content:space-between;color:#888}.track{display:flex;width:max-content;height:100%;transform:translate3d(var(--track-x,0),0,0);will-change:transform}
.intro-panel,.end-panel{display:flex;width:70vw;min-width:760px;height:100vh;flex-direction:column;justify-content:center;padding:10vw;background:#1b1a17}.intro-panel h2,.end-panel h2{max-width:780px;margin:23px 0 30px;font-size:clamp(50px,6vw,88px);line-height:1.02;letter-spacing:-.04em}.intro-panel p{max-width:540px;color:#8e8980;font-size:17px}.direction{margin-top:50px;color:var(--gold);font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.project-panel{position:relative;width:42vw;min-width:480px;height:100vh;overflow:hidden;background:#24221e}.project-panel.wide{width:61vw;min-width:700px}.project-panel figure{position:absolute;inset:0}.project-panel img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.2s ease}.project-panel:hover img{transform:scale(1.07)}.project-panel:after{position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(8,7,6,.78),transparent 50%);pointer-events:none}.caption{position:absolute;z-index:2;left:35px;right:35px;bottom:38px;display:grid;grid-template-columns:45px 1fr;gap:20px;align-items:start}.caption>b{color:var(--gold);font-size:10px}.caption span{color:#c3a97f}.caption h3{margin:5px 0 8px;font-size:31px}.caption p{max-width:430px;color:rgba(255,255,255,.62);font-size:13px}
.end-panel{width:80vw;min-width:850px;background:#30291f}.end-panel a{display:inline-block;width:max-content;margin-top:22px;padding-bottom:8px;border-bottom:1px solid #bca27a;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.rail{position:absolute;z-index:8;left:4vw;right:4vw;bottom:18px;height:1px;background:#393732}.rail span{display:block;width:var(--rail-width,0%);height:1px;background:var(--gold)}
.expertise{padding:140px 8vw;background:var(--white)}.expertise-copy{display:grid;grid-template-columns:160px 1.1fr .6fr;gap:50px;align-items:start;margin-bottom:90px}.expertise-copy h2{font-size:clamp(45px,5.5vw,78px);line-height:1.05;letter-spacing:-.04em}.expertise-copy p{color:var(--muted)}.expertise-copy>span{color:var(--gold)}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-list article{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-list b{font-size:9px;color:var(--gold)}.service-list h3{margin-top:100px;font-size:29px}.service-list p{margin-top:12px;color:var(--muted);font-size:14px}
.contact{padding:140px 8vw;text-align:center;background:#ded4c4}.contact>span{color:#8b6c43}.contact h2{margin:20px auto;font-size:clamp(58px,8vw,110px);line-height:.95;letter-spacing:-.05em}.contact p{margin-bottom:35px;color:#665f56}.contact a{display:inline-flex;gap:50px;padding:16px 22px;background:var(--ink);color:#fff;font-size:9px;font-weight:bold;letter-spacing:.15em;text-transform:uppercase}
.contact .action-link{padding:13px 18px;gap:28px}.contact .action-link:not(.primary-action){color:var(--ink);background:transparent}.horizontal-socials{justify-content:center;margin-top:32px;color:#5f584f}.horizontal-socials a{padding:0 0 4px;background:transparent;color:inherit}
footer{display:flex;justify-content:space-between;padding:25px 4vw;background:#111;color:#777;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
[data-reveal]{opacity:0;transform:translateY(38px);transition:.8s ease}[data-reveal].visible{opacity:1;transform:none}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@media(max-width:800px){
  header{grid-template-columns:1fr auto;padding:20px}nav{display:none}.header-cta{font-size:8px}.hero-copy{padding:28vh 24px 110px}.hero-index{display:none}.scroll-hint{left:24px}
  .journey{height:auto}.sticky{position:relative;height:auto;overflow:visible}.journey-heading,.rail{display:none}.track{display:grid;width:100%;height:auto;transform:none!important}.intro-panel,.end-panel,.project-panel,.project-panel.wide{width:100%;min-width:0;height:auto;min-height:700px}.intro-panel,.end-panel{padding:100px 24px}.project-panel figure{position:relative;height:700px}.caption{bottom:28px}.project-panel:after{bottom:0;height:700px}
  .expertise{padding:90px 24px}.expertise-copy{grid-template-columns:1fr;gap:25px}.service-list{grid-template-columns:1fr}.contact{padding:100px 24px}
  .horizontal-background{grid-template-columns:1fr;padding:90px 24px}
}
@media(max-width:500px){.brand b{width:32px;height:32px}.header-cta{padding:9px}.hero{min-height:780px}.project-panel figure{height:620px}.project-panel,.project-panel.wide{min-height:620px}.caption{left:20px;right:20px;grid-template-columns:30px 1fr}.caption h3{font-size:26px}footer{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
