:root{--k:#050505;--iv:#F7F5EC;--w:#fff;--g:#A5A5A5;--line:rgba(247,245,236,.18);--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,system-ui,sans-serif;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:var(--k);color:var(--iv);font:300 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--iv);color:var(--k);padding:8px;z-index:99}
:focus-visible{outline:2px solid var(--iv);outline-offset:3px}
header{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);transition:background .4s,padding .4s}
header.solid{background:rgba(5,5,5,.92);backdrop-filter:blur(8px);padding-block:10px}
.logo img{height:54px;width:auto;transition:height .4s}header.solid .logo img{height:42px}
nav{display:flex;gap:clamp(16px,2.4vw,38px);align-items:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
nav a{opacity:.75;transition:opacity .3s}nav a:hover,nav a.on{opacity:1}
nav a.on:not(.cta){border-bottom:1px solid var(--iv);padding-bottom:3px}
.cta,.btn{display:inline-block;border:1px solid var(--iv);padding:13px 26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:1!important;transition:.3s;background:none;color:var(--iv);cursor:pointer;font-family:var(--sans)}
.cta:hover,.btn:hover,.btn.fill{background:var(--iv);color:var(--k)}.btn.fill:hover{background:none;color:var(--iv)}
#burger{display:none;background:none;border:0;width:40px;height:40px;position:relative;cursor:pointer}
#burger span{position:absolute;left:8px;right:8px;height:1px;background:var(--iv);transition:.3s}#burger span:first-child{top:16px}#burger span:last-child{top:24px}
#burger[aria-expanded=true] span:first-child{top:20px;transform:rotate(45deg)}#burger[aria-expanded=true] span:last-child{top:20px;transform:rotate(-45deg)}
section,.wrap{padding:clamp(70px,10vw,150px) var(--pad)}
.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--g);margin-bottom:22px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(44px,8vw,120px)}h2{font-size:clamp(34px,5vw,72px)}h3{font-size:clamp(24px,2.6vw,36px)}
.lead{max-width:620px;color:#d6d4cb;font-size:clamp(16px,1.3vw,19px)}
.hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:flex-end;padding:0 var(--pad) clamp(50px,8vw,100px);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoom 14s ease-out both}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.55),rgba(5,5,5,.05) 35%,rgba(5,5,5,.85))}
.hero>div{position:relative;z-index:2;max-width:980px}.hero .lead{margin:28px 0 36px}.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
@keyframes zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,7vw,120px);align-items:start}
.ivory{background:var(--iv);color:var(--k)}.ivory .eyebrow{color:#6d6b63}.ivory .lead{color:#33322e}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.stat{padding:clamp(30px,5vw,70px) 0;border-right:1px solid var(--line);padding-left:clamp(0px,2vw,30px)}.stat:last-child{border:0}
.stat b{display:block;font:400 clamp(70px,12vw,190px)/1 var(--serif)}.stat span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--g)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,3vw,44px);align-items:end}
.card{display:block}.card .im{overflow:hidden;background:#111}.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.card:hover img{transform:scale(1.045)}.card .im.wide{aspect-ratio:16/10}.card .im.tall{aspect-ratio:4/5}.card .im.square{aspect-ratio:1}
.card h3{margin:18px 0 4px}.meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--g)}.card p{margin-top:8px;color:#bdbab0;max-width:520px;font-size:15px}
.span7{grid-column:span 7}.span5{grid-column:span 5}.span6{grid-column:span 6}.span4{grid-column:span 4}
.filters{display:flex;flex-wrap:wrap;gap:8px 26px;margin:40px 0 50px;border-bottom:1px solid var(--line);padding-bottom:16px}
.filters button{background:none;border:0;color:var(--g);font:400 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:6px 0}
.filters button[aria-pressed=true]{color:var(--iv);border-bottom:1px solid var(--iv)}
.empty{color:var(--g);padding:40px 0;font-family:var(--serif);font-size:26px}
.svc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,100px);align-items:center;padding:clamp(40px,6vw,90px) 0;border-top:1px solid var(--line)}
.svc:nth-child(even) .im{order:2}.svc .im{aspect-ratio:4/3;overflow:hidden}.svc img{width:100%;height:100%;object-fit:cover}
.svc .num{font:400 15px var(--serif);color:var(--g)}.svc p{margin:16px 0 22px;color:#bdbab0}
ul.tick{list-style:none;padding:0;columns:2;gap:30px;font-size:15px;color:#d6d4cb}ul.tick li{padding:7px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(5,5,5,.25);margin-top:60px}
.step{padding:30px 28px 10px 0}.step b{font:400 54px var(--serif)}.step h3{margin:14px 0 10px}.step p{font-size:15px;color:#33322e}
.cta-band{text-align:center;border-top:1px solid var(--line)}.cta-band h2{max-width:900px;margin:0 auto 24px}.cta-band .lead{margin:0 auto 36px}
.phead{padding-top:clamp(130px,16vw,220px);padding-bottom:0}
.dhero{height:78svh;min-height:420px;position:relative}.dhero img{width:100%;height:100%;object-fit:cover}
.facts{display:flex;flex-wrap:wrap;gap:20px 60px;padding:30px 0;border-bottom:1px solid var(--line);margin-top:40px}
.facts div span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--g)}
.sec{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:40px 0;border-bottom:1px solid var(--line)}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.gal img{width:100%;aspect-ratio:16/10;object-fit:cover}.gal img:first-child{grid-column:1/-1;aspect-ratio:21/9}
.note{border:1px dashed var(--g);padding:14px 18px;color:var(--g);font-size:13px;margin-top:30px}
form{display:grid;gap:22px;max-width:640px}label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--g);display:block}
input,select,textarea{width:100%;background:none;border:0;border-bottom:1px solid var(--g);color:var(--iv);padding:10px 0;font:300 17px var(--sans);border-radius:0}
select option{color:#000}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--iv)}
.err{color:#e0a28f;font-size:13px;min-height:18px}#fmsg{padding:14px 0;color:var(--iv)}
footer{border-top:1px solid var(--line);padding:70px var(--pad) 36px}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer img{height:74px;width:auto;margin-bottom:18px}footer h4{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin-bottom:16px}
footer li{list-style:none;padding:4px 0;font-size:14px}footer ul{padding:0}footer a:hover{text-decoration:underline}.copy{margin-top:50px;font-size:12px;color:var(--g)}
.rv{opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1s}.rv.in{opacity:1;transform:none}
@media(max-width:900px){#burger{display:block}
 nav{position:fixed;inset:0;background:var(--k);flex-direction:column;justify-content:center;gap:26px;font-size:16px;transform:translateX(100%);transition:transform .5s;visibility:hidden}
 nav.open{transform:none;visibility:visible}header{z-index:60}nav{z-index:-1}
 .split,.svc,.sec,.fg{grid-template-columns:1fr}.svc:nth-child(even) .im{order:0}.span7,.span5,.span6,.span4{grid-column:1/-1}
 .steps{grid-template-columns:1fr 1fr}ul.tick{columns:1}.stat b{font-size:clamp(50px,16vw,90px)}}
@media(max-width:520px){.steps{grid-template-columns:1fr}.gal{grid-template-columns:1fr}.logo img{height:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}

.lib{columns:3;column-gap:20px}.lib img{width:100%;margin-bottom:20px;cursor:zoom-in;transition:opacity .3s}.lib img:hover{opacity:.8}.gal img{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,5,5,.96);display:flex;align-items:center;justify-content:center;padding:4vw;cursor:zoom-out}
.lb img{max-height:92vh;max-width:100%;object-fit:contain}.lb button{position:absolute;top:14px;right:22px;background:none;border:0;color:var(--iv);font-size:40px;cursor:pointer}
@media(max-width:900px){.lib{columns:2}}@media(max-width:520px){.lib{columns:1}}
