:root{
  --bg:#0a0a0a;--bg2:#101313;--text:#f2f0ec;--muted:#929292;--line:rgba(242,240,236,.16);--accent:#4c8588;
  --max:1440px;--pad:clamp(22px,4vw,72px);--ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}
body,button,input,textarea,select{font-size:16px}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;gap:32px;padding:22px var(--pad);transition:.4s var(--ease)}
.site-header.scrolled{background:rgba(10,10,10,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-weight:700;letter-spacing:.12em;font-size:13px;white-space:nowrap}
.desktop-nav{display:flex;gap:26px;margin-left:auto}
.desktop-nav a,.nav-cta{font-size:11px;letter-spacing:.14em}
.desktop-nav a{opacity:.72;transition:.25s}
.desktop-nav a:hover{opacity:1;color:var(--accent)}
.nav-cta{border:1px solid rgba(242,240,236,.55);padding:11px 15px;transition:.3s}
.nav-cta:hover{border-color:var(--accent);color:var(--accent)}
.menu-toggle{display:none;background:none;border:0;color:var(--text);font-size:23px}
.mobile-menu{display:none}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-media{position:absolute;inset:0;object-position:center 42%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 70%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 48%)}
.hero-content{position:relative;z-index:2;padding:0 var(--pad) clamp(70px,10vh,120px);max-width:900px}
.eyebrow,.section-index,.project-kicker,.service-sub,.history-item>div>span,.tag-row span{font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.hero h1{font-size:clamp(58px,9vw,150px);line-height:.83;letter-spacing:-.055em;margin:12px 0 28px}
.hero-meta{font-size:clamp(14px,1.4vw,19px);margin:0 0 5px}
.hero-current{color:#d4d1cb;margin:0 0 28px;font-size:13px}
.button{display:inline-flex;align-items:center;gap:24px;border:1px solid rgba(242,240,236,.55);padding:13px 17px;font-size:11px;letter-spacing:.14em;transition:.3s var(--ease)}
.button span,.text-link span{transition:transform .3s var(--ease)}
.button:hover{border-color:var(--accent);color:var(--accent)}
.button:hover span,.text-link:hover span{transform:translateX(5px)}
.button-light{background:rgba(242,240,236,.06)}
.scroll-cue{position:absolute;right:var(--pad);bottom:32px;font-size:9px;letter-spacing:.16em;opacity:.7;writing-mode:vertical-rl;display:flex;gap:9px}
.section{padding:clamp(90px,12vw,190px) var(--pad);max-width:var(--max);margin:auto}
.section-index{color:var(--muted);margin-bottom:clamp(45px,7vw,90px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,150px)}
.display h2,.media-heading h2,.booking-head h2{font-size:clamp(50px,7vw,108px);line-height:.9;letter-spacing:-.055em;margin:0}
.copy{max-width:650px}.copy p,.project-copy p,.project-card-copy p,.about-copy p,.service p,.history-copy p,.booking-head>p,.availability p{color:#c2c0bc}.copy .lead{font-size:clamp(19px,2vw,27px);line-height:1.35;color:var(--text)}
.tag-row{display:flex;gap:16px;margin-top:40px;color:var(--muted)}
.projects{max-width:none;background:#0d0f0f}
.project-feature{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.45fr .75fr;min-height:600px}
.project-image{min-height:600px;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.project-image img,.project-card-image img,.history-image img{object-fit:contain;background:#0a0a0a}.project-copy{padding:clamp(30px,6vw,90px);align-self:center}
.project-copy h2{font-size:clamp(70px,9vw,140px);line-height:.85;letter-spacing:-.06em;margin:8px 0 15px}
.project-role{font-size:11px!important;text-transform:uppercase;letter-spacing:.13em;color:var(--text)!important}
.muted{color:var(--muted)!important}
.text-link{display:inline-flex;gap:14px;margin-top:20px;font-size:10px;letter-spacing:.16em}
.project-grid{max-width:var(--max);margin:clamp(2px,4vw,40px) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.project-card{background:var(--bg);display:grid;grid-template-columns:1fr 1fr}
.project-card-image{min-height:480px;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.project-card-copy{padding:clamp(25px,4vw,55px);align-self:center}
.project-card-copy h3{font-size:clamp(32px,4vw,58px);line-height:.9;letter-spacing:-.045em;margin:9px 0 14px}
.services{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.services>.section-index{grid-column:1/-1;margin-bottom:0}.services>.display{grid-column:1}.service-list{grid-column:2}.service{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:27px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-no{color:var(--muted);font-size:10px;letter-spacing:.12em}.service h3{font-size:28px;margin:0 0 4px}.service-sub{color:var(--muted)}.service p{margin:8px 0 0}.services>.button{grid-column:2;margin-top:10px}
.about{background:#0d0f0f;max-width:none}.about-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.72fr 1fr;gap:clamp(45px,8vw,130px)}.portrait{min-height:720px}.about-copy h2{font-size:clamp(36px,4.5vw,66px);line-height:.98;letter-spacing:-.045em;margin:8px 0 35px}.about-copy blockquote{margin:50px 0 0;padding-left:25px;border-left:1px solid var(--accent);font-size:clamp(24px,3vw,42px);line-height:1.1;letter-spacing:-.03em}.timeline{max-width:var(--max);margin:90px auto 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr)}.timeline div{padding:20px 15px 0;border-right:1px solid var(--line)}.timeline div:last-child{border:0}.timeline strong{display:block;font-size:12px}.timeline span{display:block;color:var(--muted);font-size:10px;margin-top:8px}
.media{max-width:none}.media-heading{max-width:var(--max);margin:0 auto 70px;display:flex;justify-content:space-between;align-items:end;gap:50px}.media-heading p{max-width:330px;color:var(--muted)}.video-wrap{max-width:var(--max);margin:auto}.video-placeholder{position:relative;aspect-ratio:16/9;overflow:hidden;cursor:pointer;background:#111}.video-placeholder img{filter:brightness(.68);transition:transform .8s var(--ease)}.video-placeholder:hover img{transform:scale(1.025)}.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.25);color:white;font-size:18px;cursor:pointer;backdrop-filter:blur(5px)}.video-label{position:absolute;bottom:25px;left:25px;font-size:9px;letter-spacing:.16em}.media-grid{max-width:var(--max);margin:3px auto 0;display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:auto;gap:3px;align-items:start}.media-item{margin:0;overflow:hidden;background:#0a0a0a}.media-item img{width:100%;height:auto;object-fit:contain;transition:transform .8s var(--ease)}.media-item:hover img{transform:scale(1.02)}
.past{max-width:var(--max)}.history{margin-top:30px}.history-item{display:grid;grid-template-columns:.75fr 1fr;gap:clamp(35px,6vw,100px);padding:70px 0;border-top:1px solid var(--line)}.history-image{min-height:400px}.history-copy{align-self:center}.history-copy h3{font-size:clamp(36px,5vw,72px);line-height:.88;letter-spacing:-.05em;margin:9px 0 14px}.additional{padding-top:45px;border-top:1px solid var(--line)}.additional p{font-size:clamp(19px,2.2vw,31px);line-height:1.3;color:#c5c2bd}.credits{max-width:var(--max);padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.credits-text{font-size:clamp(22px,2.5vw,36px);line-height:1.25;letter-spacing:-.02em}
.booking{max-width:none;background:#0d0f0f}.booking>*{max-width:var(--max);margin-left:auto;margin-right:auto}.booking-head{max-width:var(--max)}.booking-head h2{font-size:clamp(48px,7vw,105px);margin:10px 0 35px}.booking-head>p{max-width:680px;font-size:18px}.availability{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:90px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.availability p{margin:12px 0 0}.booking-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,9vw,140px);padding-top:80px}.email-block{align-self:start;position:sticky;top:130px}.email-block>a{display:block;font-size:clamp(22px,2.6vw,37px);letter-spacing:-.03em;margin:18px 0}.email-block p{color:var(--muted)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-form label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.booking-form label:nth-of-type(3),.booking-form label:nth-of-type(5),.booking-form label:nth-of-type(6),.booking-form label:nth-of-type(7){grid-column:1/-1}.booking-form input,.booking-form select,.booking-form textarea{width:100%;display:block;margin-top:9px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:10px 0;outline:0;border-radius:0}.booking-form textarea{resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--accent)}.booking-form option{background:#101010}.form-note{grid-column:1/-1;color:var(--muted);font-size:10px}.booking-footer{margin-top:110px!important;padding-top:30px;border-top:1px solid var(--line);font-size:clamp(13px,1.5vw,18px);letter-spacing:.12em;display:flex;gap:14px}
.site-footer{padding:50px var(--pad) 28px;background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:var(--max);margin:auto}.site-footer p{color:var(--muted);font-size:12px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;font-size:9px;letter-spacing:.14em}.footer-links a:hover{color:var(--accent)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:9px;display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
 .desktop-nav,.nav-cta{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu{position:fixed;z-index:45;top:0;right:0;left:0;background:rgba(10,10,10,.97);padding:95px var(--pad) 30px;display:flex;flex-direction:column;gap:22px;transform:translateY(-110%);transition:.45s var(--ease);border-bottom:1px solid var(--line)}.mobile-menu.open{transform:none}.mobile-menu a{font-size:12px;letter-spacing:.16em}
 .split,.project-feature,.about-grid,.booking-grid{grid-template-columns:1fr}.project-image{min-height:62svh}.project-card{grid-template-columns:1fr}.project-card-image{min-height:55svh}.services{display:block}.services>.section-index{margin-bottom:55px}.services>.display{margin-bottom:60px}.services>.button{margin-top:35px}.about-grid{gap:40px}.portrait{min-height:90svh}.timeline{grid-template-columns:repeat(2,1fr);margin-top:55px}.timeline div{min-height:80px;border-bottom:1px solid var(--line)}.media-heading{display:block}.media-heading p{margin-top:25px}.media-grid{grid-template-columns:1fr 1fr}.media-item{grid-column:auto!important;grid-row:auto!important}.history-item{grid-template-columns:1fr;gap:25px}.history-image{min-height:55svh}.credits{grid-template-columns:1fr;gap:55px}.availability{grid-template-columns:1fr;gap:35px}.email-block{position:static}.booking-form{grid-template-columns:1fr}.booking-form label,.booking-form label:nth-of-type(3),.booking-form label:nth-of-type(5),.booking-form label:nth-of-type(6),.booking-form label:nth-of-type(7){grid-column:1}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-bottom{grid-column:1}.scroll-cue{display:none}
}
@media(max-width:560px){
 .section{padding:85px 20px}.site-header{padding:18px 20px}.hero-content{padding:0 20px 65px}.hero-media{object-position:48% center}.hero h1{font-size:17vw}.display h2,.media-heading h2,.booking-head h2{font-size:16vw}.project-copy{padding:45px 20px}.project-card-copy{padding:35px 20px}.project-card-image{min-height:65svh}.portrait{min-height:80svh}.media-grid{grid-template-columns:1fr}.media-item{grid-column:1!important;grid-row:auto!important}.video-placeholder{aspect-ratio:9/14}.video-placeholder img{object-position:center}.history-image{min-height:62svh}.booking-footer{font-size:10px;flex-wrap:wrap}.booking-form .button{width:100%;justify-content:space-between}.email-block>a{word-break:break-word}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.video-placeholder img,.media-item img{transition:none}}
