@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --black: #0c0c0c;
  --black-light: #161616;
  --black-card: #1c1c1c;
  --amber: #c8973e;
  --amber-light: #daa84f;
  --amber-dark: #a67a2e;
  --white: #ffffff;
  --cream: #f7f4ef;
  --gray: #888;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Outfit', -apple-system, sans-serif;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--sans); color:var(--white); background:var(--black); line-height:1.6; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* TOPBAR */
.topbar { background:var(--black); border-bottom:1px solid rgba(255,255,255,0.06); padding:10px 0; font-size:13px; color:var(--gray); }
.topbar__inner { max-width:1300px; margin:0 auto; padding:0 40px; display:flex; justify-content:space-between; align-items:center; }
.topbar__left { display:flex; gap:30px; }
.topbar__left a { color:var(--gray); transition:color .3s; }
.topbar__left a:hover { color:var(--amber); }
.topbar__cta { color:var(--amber); font-weight:600; letter-spacing:1px; text-transform:uppercase; font-size:12px; padding:6px 20px; border:1px solid var(--amber); transition:all .3s; }
.topbar__cta:hover { background:var(--amber); color:var(--black); }

/* NAV */
.nav { background:rgba(12,12,12,0.95); backdrop-filter:blur(20px); position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(255,255,255,0.04); }
.nav__inner { max-width:1300px; margin:0 auto; padding:0 40px; display:flex; justify-content:space-between; align-items:center; height:80px; }
.nav__logo img { height:55px; width:auto; }
.nav__menu { display:flex; list-style:none; gap:36px; align-items:center; }
.nav__link { font-size:14px; font-weight:500; color:rgba(255,255,255,0.7); letter-spacing:1px; text-transform:uppercase; transition:color .3s; position:relative; }
.nav__link:hover,.nav__link--active { color:var(--amber); }
.nav__link--active::after { content:''; position:absolute; bottom:-4px; left:0; width:100%; height:2px; background:var(--amber); }
.nav__toggle { display:none; flex-direction:column; cursor:pointer; gap:5px; }
.nav__toggle span { width:25px; height:2px; background:var(--amber); }

/* HERO */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background:linear-gradient(160deg,#0c0c0c 0%,#1a1510 40%,#0c0c0c 100%); }
.hero__overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(90deg,rgba(12,12,12,0.92) 0%,rgba(12,12,12,0.6) 100%); z-index:1; }
.hero__bg { position:absolute; top:0; right:0; width:55%; height:100%; background:linear-gradient(135deg,rgba(200,151,62,0.08),transparent); }
.hero__content { position:relative; z-index:2; max-width:1300px; margin:0 auto; padding:0 40px; width:100%; }
.hero__eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--amber); letter-spacing:3px; text-transform:uppercase; margin-bottom:24px; }
.hero__eyebrow::before { content:''; width:40px; height:1px; background:var(--amber); }
.hero__title { font-family:var(--serif); font-size:62px; font-weight:700; color:var(--white); line-height:1.1; margin-bottom:24px; max-width:650px; }
.hero__title span { color:var(--amber); }
.hero__sub { font-size:18px; color:rgba(255,255,255,0.6); max-width:520px; line-height:1.8; margin-bottom:40px; }
.hero__btns { display:flex; gap:16px; flex-wrap:wrap; }

/* BUTTONS */
.btn { display:inline-block; padding:16px 40px; font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:all .4s; cursor:pointer; border:none; }
.btn--amber { background:var(--amber); color:var(--black); }
.btn--amber:hover { background:var(--amber-light); transform:translateY(-2px); box-shadow:0 8px 30px rgba(200,151,62,0.3); }
.btn--outline { background:transparent; color:var(--white); border:1px solid rgba(255,255,255,0.2); }
.btn--outline:hover { border-color:var(--amber); color:var(--amber); }

/* STATS BAR */
.stats { background:var(--amber); padding:0; }
.stats__inner { max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:30px 24px; text-align:center; border-right:1px solid rgba(0,0,0,0.1); }
.stat:last-child { border-right:none; }
.stat__num { font-family:var(--serif); font-size:36px; font-weight:700; color:var(--black); }
.stat__label { font-size:12px; font-weight:600; color:rgba(0,0,0,0.6); letter-spacing:2px; text-transform:uppercase; margin-top:4px; }

/* SECTIONS */
.section { padding:100px 40px; }
.section--dark { background:var(--black-light); }
.section__container { max-width:1200px; margin:0 auto; }
.section__eyebrow { font-size:12px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--amber); margin-bottom:16px; }
.section__title { font-family:var(--serif); font-size:44px; font-weight:700; line-height:1.2; margin-bottom:20px; }
.section__divider { width:50px; height:2px; background:var(--amber); margin-bottom:30px; }
.section__text { font-size:16px; line-height:1.9; color:rgba(255,255,255,0.6); max-width:600px; }

/* SERVICE CARDS */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:50px; }
.svc { background:var(--black-card); border:1px solid rgba(255,255,255,0.06); padding:44px 32px; transition:all .4s; position:relative; overflow:hidden; }
.svc::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--amber); transform:scaleX(0); transition:transform .4s; transform-origin:left; }
.svc:hover { transform:translateY(-6px); border-color:rgba(200,151,62,0.2); }
.svc:hover::before { transform:scaleX(1); }
.svc__icon { width:52px; height:52px; border-radius:12px; background:rgba(200,151,62,0.1); display:flex; align-items:center; justify-content:center; margin-bottom:24px; color:var(--amber); font-size:22px; }
.svc__name { font-family:var(--serif); font-size:24px; font-weight:700; margin-bottom:12px; }
.svc__desc { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.8; }

/* TESTIMONIALS */
.testimonial { background:var(--black-card); border:1px solid rgba(255,255,255,0.06); padding:44px; position:relative; }
.testimonial__quote { font-size:16px; font-style:italic; color:rgba(255,255,255,0.7); line-height:1.9; margin-bottom:24px; }
.testimonial__author { font-weight:700; color:var(--white); font-size:15px; }
.testimonial__role { font-size:13px; color:var(--amber); margin-top:2px; }
.testimonial__mark { font-family:var(--serif); font-size:60px; color:var(--amber); opacity:0.2; position:absolute; top:20px; right:30px; line-height:1; }

/* FOOTER */
.footer { background:var(--black); border-top:1px solid rgba(255,255,255,0.06); padding:60px 40px 30px; }
.footer__inner { max-width:1200px; margin:0 auto; }
.footer__top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:50px; margin-bottom:50px; }
.footer__brand img { height:45px; margin-bottom:20px; }
.footer__brand p { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.8; }
.footer__col h4 { font-family:var(--serif); font-size:18px; color:var(--amber); margin-bottom:20px; }
.footer__col ul { list-style:none; }
.footer__col li { margin-bottom:12px; }
.footer__col a { font-size:14px; color:rgba(255,255,255,0.5); transition:color .3s; }
.footer__col a:hover { color:var(--amber); }
.footer__col p { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.8; }
.footer__bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:30px; display:flex; justify-content:space-between; align-items:center; }
.footer__copy { font-size:13px; color:rgba(255,255,255,0.3); }
.footer__credit { font-size:13px; color:rgba(255,255,255,0.3); }
.footer__credit a { color:var(--amber); font-weight:600; }

/* RESPONSIVE */
@media(max-width:992px) { .services-grid { grid-template-columns:1fr 1fr; } .footer__top { grid-template-columns:1fr 1fr; } .stats__inner { grid-template-columns:repeat(2,1fr); } .hero__title { font-size:48px; } }
@media(max-width:768px) { .topbar__inner { flex-direction:column; gap:8px; text-align:center; } .nav__menu { position:fixed; top:80px; left:-100%; width:100%; height:calc(100vh - 80px); background:var(--black); flex-direction:column; padding:40px; gap:24px; transition:left .3s; } .nav__menu.active { left:0; } .nav__toggle { display:flex; } .hero__title { font-size:36px; } .section__title { font-size:34px; } .section { padding:70px 24px; } .services-grid { grid-template-columns:1fr; } .footer__top { grid-template-columns:1fr; } .footer__bottom { flex-direction:column; gap:12px; text-align:center; } .stats__inner { grid-template-columns:1fr 1fr; } }
