:root{--black:#0b0b0b;--dark:#111;--dark2:#181818;--gold:#c9a96e;--gold2:#d7b978;--gray:#8f8f8f;--white:#fff;--line:rgba(201,169,110,.22);--font:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--black);color:var(--white);font-weight:300;line-height:1.8;overflow-x:hidden}
a{color:inherit}
.header{position:sticky;top:0;z-index:50;background:rgba(11,11,11,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{height:74px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-size:1.35rem;letter-spacing:.35em;text-decoration:none;text-transform:uppercase}
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#b8b8b8;transition:.25s}
.nav a:hover,.nav a.active{color:var(--gold)}
.nav .btn{border:1px solid var(--gold);padding:12px 22px;color:var(--gold)}
.hero{min-height:calc(100vh - 74px);position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.82fr);align-items:center;gap:6vw;padding:86px 5%;background:radial-gradient(circle at 70% 20%,rgba(201,169,110,.13),transparent 32%),linear-gradient(180deg,#0b0b0b,#101010)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.18),rgba(11,11,11,.66));pointer-events:none}
.hero-content,.hero-photo{position:relative;z-index:2}
.kicker{display:flex;gap:16px;align-items:center;color:var(--gold);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:26px}
.kicker:before{content:"";width:44px;height:1px;background:var(--gold)}
h1{font-size:clamp(2.5rem,6.5vw,6rem);line-height:1.02;font-weight:300;letter-spacing:.01em;max-width:1040px}
h1 em,.gold{font-style:normal;color:var(--gold)}
.lead{max-width:760px;color:#d2d2d2;margin-top:30px;font-size:1rem}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.action{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border:1px solid rgba(255,255,255,.25);text-decoration:none;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;transition:.25s}
.action.primary{background:var(--gold);color:#0b0b0b;border-color:var(--gold);font-weight:500}
.action:hover{transform:translateY(-2px);border-color:var(--gold)}
.hero-photo{align-self:stretch;min-height:620px;border:1px solid rgba(201,169,110,.22);overflow:hidden;background:#151515}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.62))}
.photo-caption{position:absolute;left:28px;right:28px;bottom:24px;z-index:3;color:#e7e7e7;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.section{padding:88px 5%;position:relative}
.section.alt{background:#151515}
.wrap{width:100%;max-width:none;margin:0}
.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}
.section-title{font-size:clamp(2rem,4.6vw,4.5rem);font-weight:300;line-height:1.1;margin-bottom:28px}
.text p{color:#c4c4c4;margin-bottom:18px;font-size:.98rem}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:44px}
.stat{padding:28px 22px 0 0}
.stat-number{color:var(--gold);font-size:clamp(1.8rem,3vw,3rem);line-height:1;font-weight:300}
.stat-number.address{font-size:clamp(1.05rem,1.45vw,1.45rem);line-height:1.35;max-width:210px}
.stat-label{color:#8d8d8d;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;margin-top:12px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.card{background:#0f0f0f;border:1px solid rgba(255,255,255,.08);padding:30px;min-height:210px;transition:.25s}
.card:hover{border-color:rgba(201,169,110,.45);transform:translateY(-4px)}
.card-num{color:var(--gold);font-size:.72rem;letter-spacing:.2em;margin-bottom:22px}
.card h3{font-size:1.02rem;font-weight:500;margin-bottom:14px}
.card p{color:#aaa;font-size:.88rem;line-height:1.7}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.08);margin-top:42px}
.service-link{padding:32px;min-height:210px;text-decoration:none;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#101010;transition:.25s}
.service-link:nth-child(3n){border-right:0}
.service-link:hover{background:#161616}
.service-link span{display:block;color:var(--gold);font-size:.68rem;letter-spacing:.22em;margin-bottom:28px}
.service-link h3{font-size:1.25rem;font-weight:400;margin-bottom:12px}
.service-link p{color:#aaa;font-size:.86rem}
.team-band{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.08);background:#101010;margin-top:42px}
.team-band img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.team-copy{padding:46px}
.team-copy h2{font-size:clamp(1.8rem,3.4vw,3.3rem);font-weight:300;line-height:1.12;margin-bottom:22px}
.team-copy p{color:#c5c5c5;margin-bottom:16px}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}
.faq-card{background:#101010;border:1px solid rgba(255,255,255,.08);padding:28px}
.faq-card h3{font-size:1rem;font-weight:500;margin-bottom:10px}
.faq-card p{font-size:.9rem;color:#b8b8b8}
.cta{padding:90px 5%;text-align:center;background:radial-gradient(circle at 50% 0,rgba(201,169,110,.16),transparent 34%),#0b0b0b;border-top:1px solid rgba(255,255,255,.08)}
.cta h2{font-size:clamp(2rem,4.5vw,4.5rem);font-weight:300;line-height:1.1;margin-bottom:20px}
.cta p{color:#bbb;max-width:680px;margin:0 auto 34px}
footer{border-top:1px solid rgba(255,255,255,.08);padding:42px 5%;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;color:var(--gray);font-size:.78rem;background:#0f0f0f}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--gold)}
.floating-btn{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.float-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:170px;min-height:54px;padding:0 20px;border:0;background:var(--gold);box-shadow:0 8px 30px rgba(201,169,110,.3);color:#0b0b0b;cursor:pointer;font-family:var(--font);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:.25s}
.float-btn:hover{transform:translateY(-2px);background:var(--gold2)}
.float-btn svg{width:16px;height:16px;flex-shrink:0}
.float-btn-phone{position:relative;border:1px solid rgba(201,169,110,.32);background:#151515;box-shadow:0 8px 30px rgba(0,0,0,.3);color:var(--white)}
.float-btn-phone:hover{border-color:var(--gold);background:#1a1a1a}
.contact-dropdown{position:absolute;right:0;bottom:calc(100% + 8px);z-index:901;display:none;min-width:180px;border:1px solid rgba(201,169,110,.3);background:rgba(17,17,17,.98);backdrop-filter:blur(12px)}
.contact-dropdown.open{display:flex;flex-direction:column}
.contact-dropdown-item{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid rgba(201,169,110,.1);color:var(--white);font-size:.72rem;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.2s}
.contact-dropdown-item svg{color:var(--gold);flex-shrink:0}
.contact-dropdown-item:last-child{border-bottom:0}
.contact-dropdown-item:hover{background:rgba(201,169,110,.07);color:var(--gold)}
@media(max-width:1000px){.hero,.split,.team-band{grid-template-columns:1fr}.hero{padding-top:64px}.hero-photo{min-height:520px}.cards,.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-link:nth-child(3n){border-right:1px solid rgba(255,255,255,.08)}.service-link:nth-child(2n){border-right:0}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav{display:none}.header-inner{height:68px}.logo{font-size:1.12rem}.hero{min-height:auto;padding:72px 6% 44px}.hero-photo{min-height:420px}.section{padding:58px 6%}.cards,.services-grid,.faq-grid{grid-template-columns:1fr}.service-link{border-right:0!important}.stats{grid-template-columns:1fr 1fr}.actions .action{width:100%}.team-copy{padding:30px}.footer-links{flex-direction:column}.floating-btn{right:16px;bottom:16px}.float-btn{width:52px;min-height:52px;padding:0}.float-btn span{display:none}.contact-dropdown{right:0;min-width:178px}}
.site-header{position:sticky;top:0;z-index:950;background:rgba(10,10,10,.94);border-bottom:1px solid rgba(201,169,110,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media (max-width: 980px) {
.site-header__inner {
min-height: 74px;
align-items: center;
flex-direction: row;
flex-wrap: wrap;
padding: 16px 5%;
gap: 0;
}
.site-header__left {
width: auto;
flex: 1 1 auto;
justify-content: flex-start;
}
.site-header__contacts { display: none; }
.site-burger { display: flex; }
.site-legacy-burger { display: flex !important; }
.site-nav {
display: none;
width: 100%;
flex: 0 0 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin: 16px 0 0;
}
.site-header.menu-open .site-nav { display: grid; }
.site-nav-link,
.site-services-menu > summary,
.site-nav-cta {
display: flex;
align-items: center;
justify-content: center;
min-height: 42px;
border: 1px solid rgba(255,255,255,.08);
background: rgba(255,255,255,.02);
font-size: .62rem;
padding: 0 8px;
text-align: center;
}
.site-services-menu { min-width: 0; }
.site-services-list {
position: absolute;
top: calc(100% + 8px);
left: 0;
right: auto;
transform: none;
width: min(86vw, 300px);
z-index: 960;
}
.site-nav-cta {
border-color: rgba(201,169,110,.65);
background: rgba(201,169,110,.08);
}
}
@media (max-width: 560px) {
.site-logo { font-size: 1.12rem; letter-spacing: .3em; }
.site-header__inner { padding: 16px 5%; }
.site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-services-list { width: 90vw; }
.site-nav-link,
.site-services-menu > summary,
.site-nav-cta { font-size: .6rem; }
}
.mobile-menu {
position: fixed;
inset: 0;
z-index: 900;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 28px 42px;
background: rgba(10,10,10,.98);
transform: translateX(100%);
transition: transform .5s cubic-bezier(.77,0,.175,1);
overflow-y: auto;
}
.mobile-menu.active { transform: translateX(0); }
.mobile-menu ul { list-style: none; margin: 0; padding: 0; text-align: center; width: min(100%, 360px); }
.mobile-menu li { margin: 0; overflow: visible; }
.mobile-menu a,
.mobile-services-toggle {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 11px 0;
border: 0;
background: transparent;
color: var(--white, #fff);
font-family: inherit;
font-size: clamp(1.45rem, 6vw, 1.85rem);
font-weight: 300;
line-height: 1.2;
letter-spacing: .1em;
text-decoration: none;
cursor: pointer;
transition: color .25s ease;
}
.mobile-services-toggle::after {
content: '+';
color: var(--gold, #c9a96e);
font-size: 1rem;
line-height: 1;
}
.mobile-services.open .mobile-services-toggle::after { content: '−'; }
.mobile-services-list {
max-height: 0;
overflow: hidden;
transition: max-height .35s ease;
margin: 0;
}
.mobile-services.open .mobile-services-list { max-height: 420px; }
.mobile-services-list a {
padding: 8px 0;
color: var(--gray, #9a9a9a);
font-size: .78rem;
font-weight: 500;
letter-spacing: .16em;
text-transform: uppercase;
white-space: normal;
}
.mobile-cta { margin-top: 30px; width: min(100%, 330px); }
.mobile-cta .btn-primary,
.mobile-cta a {
width: 100%;
min-height: 50px;
display: flex;
align-items: center;
justify-content: center;
background: var(--gold, #c9a96e);
color: var(--black, #0b0b0b);
font-size: .72rem;
font-weight: 500;
letter-spacing: .18em;
text-transform: uppercase;
text-decoration: none;
}
.mobile-contacts { margin-top: 28px; text-align: center; }
.mobile-contacts a,
.mobile-contacts span {
display: block;
color: var(--gray, #9a9a9a);
font-size: .82rem;
line-height: 1.8;
text-decoration: none;
}
@media (max-width: 980px) {
.site-header { z-index: 1100; }
.site-header__inner {
min-height: 74px;
align-items: center;
flex-direction: row;
flex-wrap: nowrap;
padding: 16px 5%;
gap: 16px;
}
.site-header__left { width: auto; flex: 1 1 auto; justify-content: flex-start; }
.site-header__contacts { display: none; }
.site-nav,
.site-header.menu-open .site-nav { display: none !important; }
.site-burger { display: flex; position: relative; z-index: 1200; }
}
.mobile-menu {
justify-content: flex-start !important;
padding: 92px 30px 30px !important;
overflow-y: auto;
}
.mobile-menu ul {
width: min(100%, 330px) !important;
}
.mobile-menu li {
margin: 0 !important;
}
.mobile-menu a,
.mobile-services-toggle {
min-height: auto !important;
padding: 9px 0 !important;
font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
line-height: 1.2 !important;
letter-spacing: .13em !important;
}
.mobile-services-toggle::after {
content: '+';
margin-left: 4px;
color: var(--gold, #c9a96e);
font-size: .95rem;
}
.mobile-services.open .mobile-services-toggle::after {
content: '−';
}
.mobile-services-list {
max-height: 0;
overflow: hidden;
border-top: 0 solid rgba(201,169,110,.18);
border-bottom: 0 solid rgba(201,169,110,.18);
transition: max-height .32s ease, padding .32s ease, border-width .32s ease;
}
.mobile-services.open .mobile-services-list {
max-height: 320px;
padding: 6px 0 8px;
border-top-width: 1px;
border-bottom-width: 1px;
}
.mobile-services-list a {
padding: 7px 0 !important;
color: var(--gray, #9a9a9a) !important;
font-size: .68rem !important;
font-weight: 500 !important;
line-height: 1.35 !important;
letter-spacing: .14em !important;
text-transform: uppercase !important;
}
.mobile-cta {
margin-top: 22px !important;
width: min(100%, 320px) !important;
}
.mobile-contacts {
margin-top: 20px !important;
}
.site-header {
position: fixed !important;
top: 0;
left: 0;
right: 0;
width: 100%;
}
body {
padding-top: 74px;
}
.mobile-cta {
margin-top: 18px !important;
width: min(100%, 280px) !important;
}
.mobile-cta .btn-primary,
.mobile-cta a {
min-height: 44px !important;
padding: 0 22px !important;
font-family: 'Montserrat', sans-serif !important;
font-size: .68rem !important;
font-weight: 500 !important;
line-height: 1 !important;
letter-spacing: .18em !important;
text-transform: uppercase !important;
}
.mobile-contacts {
margin-top: 18px !important;
}
.mobile-contacts a,
.mobile-contacts span {
font-family: 'Montserrat', sans-serif !important;
font-weight: 300 !important;
}
@media (max-width: 560px) {
.mobile-cta { width: min(100%, 276px) !important; }
.mobile-cta .btn-primary,
.mobile-cta a {
min-height: 42px !important;
font-size: .62rem !important;
letter-spacing: .17em !important;
}
}
.mobile-menu a,
.mobile-services-toggle {
font-family: 'Montserrat', sans-serif !important;
font-weight: 300 !important;
color: rgba(255,255,255,.92) !important;
letter-spacing: .14em !important;
}
.mobile-services-list a {
font-weight: 300 !important;
color: rgba(190,190,190,.88) !important;
}
.mobile-contacts a,
.mobile-contacts span {
font-weight: 300 !important;
color: rgba(170,170,170,.88) !important;
}
