:root{--ink:#0c1420;--ink-soft:#2a3a4d;--paper:#fbfaf7;--line:#e3ded4;--gold:#b08d47;--gold-soft:#c9ad74;--white:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(12,20,32,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:'Cormorant Garamond',serif;font-size:26px;letter-spacing:.06em;color:var(--white)}
.brand span{color:var(--gold-soft)}
nav ul{display:flex;gap:34px;list-style:none}
nav a{color:rgba(255,255,255,.82);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;transition:color .2s}
nav a:hover,nav a[aria-current]{color:var(--gold-soft)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.hero{position:relative;min-height:86vh;display:flex;align-items:flex-end;color:var(--white)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.72)}
.hero .inner{position:relative;padding:0 0 88px;max-width:760px}
.kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px}
.hero h1{font-size:clamp(38px,5.5vw,64px);color:var(--white);margin-bottom:20px}
.hero p{font-size:18px;max-width:560px;color:rgba(255,255,255,.88);margin-bottom:32px}
.btn{display:inline-block;padding:14px 34px;border:1px solid var(--gold-soft);color:var(--white);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;transition:all .25s}
.btn:hover{background:var(--gold-soft);color:var(--ink)}
.btn.dark{border-color:var(--ink);color:var(--ink)}
.btn.dark:hover{background:var(--ink);color:var(--white)}
section{padding:96px 0}
.section-head{max-width:640px;margin-bottom:56px}
.section-head h2{font-size:clamp(30px,3.6vw,44px);margin:10px 0 16px}
.section-head p{color:var(--ink-soft)}
.center{text-align:center;margin-left:auto;margin-right:auto}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.service h3{font-size:24px;margin-bottom:10px}
.service .num{font-size:12px;letter-spacing:.25em;color:var(--gold);display:block;margin-bottom:14px}
.service p{color:var(--ink-soft);font-size:15px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid a,.grid figure{overflow:hidden;position:relative;aspect-ratio:4/3;background:#dcd6ca;margin:0}
.grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.grid a:hover img,.grid figure:hover img{transform:scale(1.04)}
.band{background:var(--ink);color:var(--white)}
.band h2{color:var(--white)}
.band p{color:rgba(255,255,255,.75)}
.client-cols{columns:4;column-gap:40px;font-size:14.5px;color:var(--ink-soft)}
.client-cols li{list-style:none;padding:7px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.logo-strip{display:flex;flex-wrap:wrap;gap:14px 44px;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.stats .n{font-family:'Cormorant Garamond',serif;font-size:56px;color:var(--gold-soft)}
.stats .l{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.videos .vid{aspect-ratio:16/9;background:#0c1420}
.videos iframe{width:100%;height:100%;border:0}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.member h3{font-size:28px;margin-bottom:4px}
.member .role{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.member p{color:var(--ink-soft);font-size:15.5px;margin-bottom:14px}
.member a.tel{color:var(--ink);font-weight:500;border-bottom:1px solid var(--gold-soft)}
form{display:grid;gap:18px;max-width:560px}
label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
input,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--white);font:inherit;margin-top:6px}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
.contact-split{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}
.contact-info p{margin-bottom:16px;color:var(--ink-soft)}
.contact-info strong{color:var(--ink)}
.cta{text-align:center}
.cta h2{font-size:clamp(30px,4vw,48px);margin-bottom:18px}
.cta p{margin-bottom:32px}
footer{background:var(--ink);color:rgba(255,255,255,.65);padding:56px 0 40px;font-size:14px}
.foot{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
footer a:hover{color:var(--gold-soft)}
.foot-nav{display:flex;gap:24px;flex-wrap:wrap}
.page-hero{background:var(--ink);color:var(--white);padding:170px 0 72px}
.page-hero h1{font-size:clamp(34px,4.5vw,54px);color:var(--white);margin-top:10px}
.page-hero p{max-width:620px;margin-top:16px;color:rgba(255,255,255,.78)}
@media(max-width:900px){.services,.videos,.grid{grid-template-columns:1fr 1fr}.team-grid,.contact-split{grid-template-columns:1fr}.client-cols{columns:2}.stats{grid-template-columns:1fr}nav ul{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);flex-direction:column;gap:0;padding:12px 24px 24px}nav ul.open{display:flex}nav li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.menu-btn{display:block}}
@media(max-width:560px){.grid,.videos{grid-template-columns:1fr}.client-cols{columns:1}}
