
:root{
  --bg:#070707;
  --bg-soft:#101112;
  --panel:#0e1211;
  --panel-2:#121717;
  --text:#f6efe2;
  --muted:#c9bba2;
  --gold:#d6a636;
  --gold-soft:#f0d07a;
  --emerald:#1da86f;
  --emerald-soft:#6be0a0;
  --line:rgba(214,166,54,.28);
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --radius:20px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 0%, rgba(29,168,111,.14), transparent 22%),
    radial-gradient(circle at 80% 12%, rgba(214,166,54,.12), transparent 20%),
    linear-gradient(180deg,#040404 0%, #080909 35%, #0a0d0c 100%);
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 32px), var(--max)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(16px);
  background:rgba(6,6,6,.72);
  border-bottom:1px solid rgba(214,166,54,.18);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  min-height:84px; gap:20px;
}
.brand{
  display:flex; align-items:center; gap:14px;
}
.brand-mark{
  width:56px; height:56px; object-fit:contain;
  filter: drop-shadow(0 0 10px rgba(214,166,54,.28));
}
.brand-copy{
  display:flex; flex-direction:column; line-height:1.02;
}
.brand-title{
  font-size:1rem; letter-spacing:.2em; text-transform:uppercase;
}
.brand-sub{
  font-size:.72rem; letter-spacing:.32em; color:var(--gold-soft); text-transform:uppercase;
}
.nav-links{
  display:flex; gap:8px; flex-wrap:wrap; align-items:center;
}
.nav-links a{
  padding:11px 15px; border-radius:999px; color:var(--muted); transition:.25s ease;
  border:1px solid transparent;
}
.nav-links a:hover, .nav-links a.active{
  color:var(--text); border-color:var(--line);
  background:linear-gradient(180deg, rgba(214,166,54,.10), rgba(29,168,111,.05));
}
.hero{
  padding:96px 0 74px;
}
.hero-grid{
  display:grid; grid-template-columns:1.2fr .95fr; gap:32px; align-items:center;
}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--gold-soft); text-transform:uppercase; letter-spacing:.24em;
  font-size:.75rem; margin-bottom:20px;
}
.kicker:before{
  content:""; width:44px; height:1px; background:linear-gradient(90deg,var(--emerald),var(--gold));
}
h1,h2,h3{margin:0 0 14px}
h1{
  font-size:clamp(2.8rem, 5vw, 5rem);
  line-height:.96;
  letter-spacing:.02em;
}
h2{
  font-size:clamp(2rem, 3.2vw, 3.05rem);
  line-height:1.02;
}
.hero p, .section-copy, .contact-list, .about-copy p, .service-card p, .cta-panel p, .page-intro p, .contact-card p{
  color:var(--muted);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.75;
  font-size:1.02rem;
}
.accent{
  background:linear-gradient(90deg, var(--gold-soft), var(--gold), #fff4cc 66%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-actions{
  display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 22px; border-radius:999px;
  border:1px solid var(--line); font-family:Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight:600; letter-spacing:.01em; transition:.25s ease;
  box-shadow: var(--shadow);
}
.btn-primary{
  background:linear-gradient(135deg, rgba(214,166,54,.22), rgba(29,168,111,.16));
}
.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 24px 70px rgba(0,0,0,.48);
}
.btn-secondary{
  background:rgba(255,255,255,.03);
}
.hero-card, .panel, .service-card, .contact-card, .quote-panel{
  border:1px solid rgba(214,166,54,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{
  padding:18px;
  position:relative;
  overflow:hidden;
}
.hero-card:before, .panel:before, .service-card:before, .contact-card:before{
  content:"";
  position:absolute; inset:auto auto 0 0;
  width:140px; height:140px;
  background:radial-gradient(circle, rgba(29,168,111,.18), transparent 70%);
  pointer-events:none;
}
.hero-card img{
  width:100%; border-radius:16px; border:1px solid rgba(214,166,54,.14);
}
.hero-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px;
}
.stat{
  padding:16px; border-radius:18px; background:rgba(6,6,6,.35); border:1px solid rgba(214,166,54,.10);
}
.stat strong{
  display:block; font-size:1.6rem; color:var(--gold-soft); margin-bottom:4px;
}
.stat span{
  color:var(--muted); font-family:Inter, ui-sans-serif, sans-serif; font-size:.92rem;
}
.section{
  padding:34px 0 80px;
}
.section-header{
  display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:26px;
}
.grid-3{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
}
.grid-2{
  display:grid; grid-template-columns:repeat(2,1fr); gap:24px;
}
.service-card, .contact-card, .quote-panel{
  padding:26px; position:relative; overflow:hidden;
}
.card-title{
  font-size:1.28rem; margin-bottom:12px;
}
.mini{
  text-transform:uppercase; letter-spacing:.22em; color:var(--gold-soft);
  font-size:.72rem; margin-bottom:12px; display:block;
}
.list{
  padding:0; list-style:none; margin:18px 0 0;
}
.list li{
  padding:12px 0; border-top:1px solid rgba(214,166,54,.12);
  color:var(--muted); font-family:Inter, ui-sans-serif, sans-serif;
}
.page-hero{
  padding:84px 0 36px;
}
.page-title{
  max-width:820px;
}
.page-intro{
  max-width:760px;
}
.about-layout{
  display:grid; grid-template-columns:1fr .95fr; gap:28px; align-items:start;
}
.quote-panel{
  background:
    radial-gradient(circle at top right, rgba(214,166,54,.10), transparent 35%),
    linear-gradient(180deg, rgba(29,168,111,.08), rgba(255,255,255,.02));
}
.quote-panel blockquote{
  margin:0; font-size:1.35rem; line-height:1.5;
}
.quote-panel cite{
  display:block; margin-top:18px; font-style:normal; color:var(--gold-soft); letter-spacing:.12em; text-transform:uppercase; font-size:.8rem;
}
.contact-layout{
  display:grid; grid-template-columns:1.1fr .9fr; gap:24px;
}
.contact-list a{color:var(--text)}
.contact-list .row{
  padding:18px 0; border-top:1px solid rgba(214,166,54,.12);
}
.contact-list .label{
  display:block; color:var(--gold-soft); text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; margin-bottom:6px;
}
.footer{
  border-top:1px solid rgba(214,166,54,.14);
  padding:28px 0 40px;
  color:var(--muted);
  font-family:Inter, ui-sans-serif, sans-serif;
}
.footer-wrap{
  display:flex; justify-content:space-between; gap:18px; align-items:center; flex-wrap:wrap;
}
.badge{
  display:inline-flex; padding:8px 12px; border-radius:999px;
  background:rgba(214,166,54,.08); border:1px solid rgba(214,166,54,.14);
  color:var(--gold-soft); font-size:.82rem; font-family:Inter, ui-sans-serif, sans-serif;
}
.form-note{
  margin-top:16px; font-size:.94rem;
}
.address-link{white-space:pre-line}
@media (max-width: 980px){
  .hero-grid, .grid-3, .grid-2, .about-layout, .contact-layout{grid-template-columns:1fr}
  .section-header{align-items:start; flex-direction:column}
  .hero{padding-top:70px}
}
@media (max-width: 700px){
  .navbar{min-height:unset; padding:14px 0; align-items:flex-start; flex-direction:column}
  .nav-links{width:100%}
  .nav-links a{padding:10px 13px}
  .brand-title{font-size:.92rem}
  .hero-stats{grid-template-columns:1fr}
}
