:root{--gold:#d1ae68;--bronze:#7d5f2c;--ink:#1f1f1f;--g900:#262626;--g800:#2a2a2a;--g700:#333333;--g500:#4a4a4a;--g400:#6a6a6a;--white:#f4f4f4;--soft:#d6d6d6;--muted:#bdbdbd;--line:rgba(255,255,255,0.14);
--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--brand:'Cinzel','Trajan Pro',Georgia,serif;--sans:'Manrope','Segoe UI',Helvetica,Arial,sans-serif;
--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:64px;--s7:80px;--s8:120px;--maxw:1280px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--g800);color:var(--white);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}
.mono{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--brand);font-weight:600;line-height:1;flex-shrink:0}
.mono-rule{display:block;width:72%}
.hero-bg{background:repeating-linear-gradient(135deg,rgba(209,174,104,.07) 0 1px,transparent 1px 26px),linear-gradient(180deg,#262626 0%,#3f3f3f 45%,#6a6a6a 100%)}
.pattern-bg{background:repeating-linear-gradient(135deg,rgba(209,174,104,.06) 0 1px,transparent 1px 26px),linear-gradient(160deg,#262626 0%,#3a3a3a 60%,#4a4a4a 100%)}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(38,38,38,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.18)}
.nav .wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.brand-sm{display:flex;align-items:center;gap:14px}
.brand-sm span.word{font-family:var(--brand);font-size:14px;letter-spacing:4px}
.nav-links{display:flex;align-items:center;gap:36px;font-size:13px;letter-spacing:2.5px;text-transform:uppercase}
.nav-links a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;font-size:13px;letter-spacing:3px;text-transform:uppercase;font-weight:700;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:rgba(209,174,104,.1)}
.btn-solid{background:var(--gold);color:var(--ink)}
.btn-solid:hover{background:#dcbd7e}
.eyebrow{font-size:13px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);font-weight:700}
.ornament{display:flex;align-items:center;gap:14px;justify-content:center}
.ornament i{display:block;width:80px;height:1px;background:var(--gold)}
.ornament b{display:block;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--gold);font-weight:normal}
h1,h2,h3,.kpi-v{font-variant-numeric:lining-nums;}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.05}
.h1{font-size:clamp(44px,6.4vw,92px)}
.h2{font-size:clamp(36px,4vw,56px)}
.h3{font-size:30px;line-height:1.15}
.gold{color:var(--gold)}
.lead{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.4;color:var(--soft)}
.muted{color:var(--soft)}
.section{padding:var(--s8) 0}
.grid{display:grid;gap:var(--s3)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line)}
.card-top{border-top:2px solid var(--gold)}
.label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5);padding:48px 56px;background:rgba(20,20,20,.72);border:1px solid var(--gold)}
.kpi-v{font-family:var(--serif);font-size:72px;line-height:1;color:var(--gold)}
.kpi-l{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--soft);margin-top:10px}
.map{position:relative;width:100%;aspect-ratio:1440/528}
.map img{width:100%;height:100%}
.pin{position:absolute;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(209,174,104,.22),0 0 18px 4px rgba(209,174,104,.35)}
.hq{position:absolute;transform:translate(-50%,-50%) rotate(45deg);width:9px;height:9px;background:#fff;box-shadow:0 0 0 3px rgba(42,42,42,.9)}
.office-l{position:absolute;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.map-key{display:flex;justify-content:center;gap:32px;margin-top:28px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}.map-key span{display:flex;align-items:center;gap:10px}.k-office{display:block;width:8px;height:8px;background:#fff;transform:rotate(45deg)}.k-mandate{display:block;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px 2px rgba(209,174,104,.4)}
.corner{position:absolute;width:40px;height:40px;border-color:var(--gold);border-style:solid;border-width:0}
.legend-item{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.num{width:8px;height:8px;flex-shrink:0;margin-top:7px;transform:rotate(45deg);border:1px solid var(--gold)}
.footer{border-top:1px solid var(--line);padding:40px 0;font-size:13px;color:var(--soft)}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap}
/* overlay pages */
.overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s6) var(--s3)}
.panel{position:relative;width:100%;max-width:760px;background:rgba(31,31,31,.94);border:1px solid var(--gold);padding:56px}
.close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--soft)}
.close:hover{border-color:var(--gold);color:var(--gold)}
form{display:grid;gap:20px;margin-top:var(--s5)}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.fieldset legend{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--soft);font-weight:700}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;min-height:48px;padding:12px 14px;background:#1a1a1a;border:1px solid #5a5a5a;color:var(--white);font:inherit;font-size:16px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
textarea{min-height:120px;resize:vertical}
.fieldset{border:0;padding:0;margin:0}
.checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:10px}
.checks label{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--white);min-height:32px;cursor:pointer}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--gold)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fine{font-size:14px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);counter-reset:s}
.team-card img{aspect-ratio:1/1;object-fit:cover;width:100%}
.team-body{padding:28px}
@media (max-width:980px){.g3,.g4,.kpis,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links a:not(.btn){display:none}.g2{grid-template-columns:1fr}}
@media (max-width:620px){.g3,.g4,.kpis,.steps,.row2{grid-template-columns:1fr}.panel{padding:40px 24px}.wrap{padding:0 var(--s3)}.kpi-v{font-size:56px}.nav .brand-sm .word{display:none}.nav .btn{padding:10px 14px;letter-spacing:1.5px;font-size:11px}.pin{position:absolute;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(209,174,104,.22),0 0 18px 4px rgba(209,174,104,.35)}}
@media (prefers-reduced-motion:no-preference){.fade{opacity:0;animation:fade .9s ease forwards}.d1{animation-delay:.15s}.d2{animation-delay:.55s}.d3{animation-delay:.95s}@keyframes fade{to{opacity:1}}}
