
:root{--bg:#0b0b0d;--panel:#111114;--ink:#f4f1ea;--muted:#a7a29a;--gold:#e7b45a;--gold-d:#d59f3f;--line:rgba(255,255,255,.12)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:'Archivo',sans-serif;letter-spacing:-.02em;line-height:1.02;font-weight:800}
.gold{color:var(--gold)}
.kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
.btn{display:inline-block;background:var(--gold);color:#141310;padding:15px 32px;border-radius:100px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transition:.2s;border:1px solid var(--gold)}
.btn:hover{background:transparent;color:var(--gold)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
/* header */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s;border-bottom:1px solid transparent}
header.site.solid{background:rgba(9,9,11,.9);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.logo{display:flex;flex-direction:column;line-height:1}
.logo .lt{font-family:'Archivo';font-weight:900;font-size:20px;letter-spacing:.14em}
.logo .lr{height:1px;background:var(--gold);opacity:.6;margin:5px 0 4px}
.logo .lb{font-size:8.5px;letter-spacing:.5em;text-transform:uppercase;text-align:center;padding-left:.5em;color:var(--muted)}
nav.links{display:flex;gap:34px;align-items:center}
nav.links a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.85;transition:.2s;position:relative;padding:4px 0}
nav.links a:hover,nav.links a.active{opacity:1;color:var(--gold)}
nav.links a.cta{background:var(--gold);color:#141310;padding:11px 20px;border-radius:100px;font-weight:700;opacity:1}
nav.links a.cta:hover{color:#141310;filter:brightness(1.06)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:6px}
.burger span{width:24px;height:2px;background:var(--ink);display:block}
@media(max-width:860px){nav.links{position:fixed;inset:0;background:rgba(8,8,10,.98);flex-direction:column;justify-content:center;gap:26px;transform:translateX(100%);transition:.3s}nav.links.open{transform:none}nav.links a{font-size:16px}.burger{display:flex;z-index:60}}
/* hero full picture */
.hero{position:relative;height:100vh;min-height:620px;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(30px) brightness(.34);transform:scale(1.12)}
.hero .full{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}
.hero .full img{height:100%;width:auto;max-width:100%;object-fit:contain}
.hero .sideL{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.2) 36%,rgba(0,0,0,0) 62%);pointer-events:none}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0) 24%,rgba(0,0,0,0) 62%,rgba(0,0,0,.55));pointer-events:none}
.hero .cap{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:3;width:100%}
.hero .cap .in{max-width:1240px;margin:0 auto;padding:0 32px}
.hero h1{font-size:clamp(46px,8vw,116px);font-weight:900;margin:16px 0 0;text-shadow:0 4px 34px rgba(0,0,0,.5)}
.hero p.lede{margin-top:20px;font-size:16px;max-width:440px;color:#e7e2d8}
.hero .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.hero .credit{position:absolute;bottom:22px;left:32px;z-index:3;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero .scroll{position:absolute;bottom:22px;right:32px;z-index:3;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}
@media(max-width:860px){.hero .full{align-items:flex-start}.hero .cap{top:auto;bottom:120px;transform:none}.hero .credit,.hero .scroll{display:none}}
/* sections */
section{padding:96px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:44px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(30px,4vw,52px)}
.sec-head p{color:var(--muted);max-width:440px}
.lead{font-size:clamp(19px,2.2vw,26px);line-height:1.5;font-weight:300;max-width:820px;color:#e7e2d8}
.lead b{font-weight:600;color:var(--ink)}
/* grid gallery */
.masonry{column-count:3;column-gap:16px}
.masonry a{display:block;margin-bottom:16px;position:relative;overflow:hidden;border-radius:3px;cursor:zoom-in}
.masonry img{width:100%;height:auto;transition:.5s;display:block}
.masonry a:hover img{transform:scale(1.04)}
.masonry a .ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%);opacity:0;transition:.3s;display:flex;align-items:flex-end;padding:16px}
.masonry a:hover .ov{opacity:1}
.masonry a .ov span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
@media(max-width:900px){.masonry{column-count:2}}
@media(max-width:560px){.masonry{column-count:1}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid3 a{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:3/4;display:block}
.grid3 img{width:100%;height:100%;object-fit:cover;transition:.5s}
.grid3 a:hover img{transform:scale(1.05)}
@media(max-width:760px){.grid3{grid-template-columns:1fr 1fr}}
/* feature split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;border-radius:4px;object-fit:cover}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px}}
/* service cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:34px 28px;transition:.25s}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card .n{font-family:'Archivo';font-weight:800;color:var(--gold);font-size:14px;letter-spacing:.1em}
.card h3{font-size:22px;margin:16px 0 12px}
.card p{color:var(--muted);font-size:15px}
@media(max-width:860px){.cards{grid-template-columns:1fr}}
/* stats */
.stats{display:flex;gap:64px;flex-wrap:wrap}
.stats .s b{font-family:'Archivo';font-size:44px;font-weight:900;display:block}
.stats .s b i{font-style:normal;color:var(--gold)}
.stats .s span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
/* cta band */
.band{background:linear-gradient(120deg,#141210,#0d0d0f);border:1px solid var(--line);border-radius:16px;padding:64px 48px;text-align:center}
.band h2{font-size:clamp(28px,4vw,46px)}
.band p{color:var(--muted);margin:16px auto 30px;max-width:520px}
/* about tags */
.taglist{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.taglist span{border:1px solid var(--line);border-radius:100px;padding:8px 16px;font-size:12px;letter-spacing:.06em;color:var(--muted)}
/* contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:36px}}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input,.field textarea{width:100%;background:#0e0e11;border:1px solid var(--line);border-radius:8px;padding:14px 16px;color:var(--ink);font-family:inherit;font-size:15px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.cinfo a{color:var(--gold)}
.cinfo .row{padding:18px 0;border-bottom:1px solid var(--line)}
.cinfo .row .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
/* footer */
footer.site{border-top:1px solid var(--line);padding:60px 0 34px;margin-top:20px}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:40px}
.foot-top .fnav{display:flex;gap:30px;flex-wrap:wrap}
.foot-top .fnav a{font-size:13px;color:var(--muted)}
.foot-top .fnav a:hover{color:var(--gold)}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);letter-spacing:.04em}
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(6,6,8,.95);z-index:200;display:none;align-items:center;justify-content:center;cursor:zoom-out}
#lb.open{display:flex}
#lb img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:3px}
#lb .x{position:absolute;top:22px;right:28px;color:#fff;font-size:30px;cursor:pointer}
.reveal{opacity:0;transform:translateY(20px);transition:.7s}
.reveal.in{opacity:1;transform:none}
