:root{
  --black:#000000;
  --near-black:#0a0a0a;
  --charcoal:#141414;
  --charcoal2:#1c1c1c;
  --gold:#FFCE02;
  --bronze:#C88200;
  --white:#FFFFFF;
  --stone:#C9C9C9;
  --muted:#a8a8a8;
  --border-dark:rgba(255,255,255,0.08);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--near-black);
  color:#ddd;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:'Playfair Display', serif;
  font-weight:600;
  letter-spacing:0.2px;
  color:var(--white);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.section{padding:100px 0;}
.section-tight{padding:70px 0;}
.section-title-serif{font-size:36px;margin-bottom:16px;}
.section-title-serif.light{color:var(--white);}
.section-sub{font-size:16.5px;color:var(--muted);max-width:640px;margin-bottom:46px;}
.section-sub.light{color:#bbb;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.cta-inline{margin-top:34px;}
.cta-inline.center{text-align:center;}

.eyebrow{
  color:var(--gold);
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:12.5px;
  margin-bottom:14px;
  display:block;
  font-family:'Inter',sans-serif;
}

.btn{
  display:inline-block;
  padding:16px 32px;
  border-radius:3px;
  font-weight:700;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  cursor:pointer;
  border:1.5px solid transparent;
  font-family:'Inter',sans-serif;
}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:#1a1400;box-shadow:0 8px 22px rgba(255,206,2,0.25);}
.btn-gold:hover{box-shadow:0 12px 26px rgba(255,206,2,0.4);}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.4);}
.btn-outline:hover{background:rgba(255,255,255,0.08);border-color:var(--white);}
.btn-outline-dark{background:transparent;color:var(--gold);border-color:var(--gold);}
.btn-outline-dark:hover{background:rgba(255,206,2,0.08);}
.btn-sm{padding:9px 18px;font-size:11px;}

/* ---------------- HEADER ---------------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(0,0,0,0.94);
  border-bottom:1px solid var(--border-dark);
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;max-width:1200px;margin:0 auto;
}
.brand img{height:44px;display:block;}
.main-nav{display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:5px;
  color:#eee;font-weight:600;font-size:13px;letter-spacing:0.8px;text-transform:uppercase;
  padding:14px 14px;opacity:0.85;
}
.nav-link:hover, .nav-link.active{opacity:1;color:var(--gold);}
.caret{font-size:9px;position:relative;top:1px;}
.dropdown-panel{
  display:none;
  position:absolute;top:100%;left:0;
  background:#111;border:1px solid var(--border-dark);
  min-width:230px;padding:8px 0;border-radius:4px;
  box-shadow:0 20px 40px rgba(0,0,0,0.5);
}
.dropdown-panel a{
  display:block;padding:10px 20px;font-size:13.5px;color:#ccc;
}
.dropdown-panel a:hover{color:var(--gold);background:rgba(255,206,2,0.06);}
.has-dropdown.open .dropdown-panel{display:block;}
.nav-cta{display:flex;align-items:center;gap:16px;}
.call-link{color:var(--gold);font-weight:700;font-size:14px;white-space:nowrap;}
.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:24px;cursor:pointer;}

/* ---------------- HERO ---------------- */
.hero{
  position:relative;overflow:hidden;
  padding:150px 0 70px;
  background:var(--black);
}
.hero-big{padding:190px 0 90px;}
.hero-overlay{position:absolute;inset:0;z-index:0;}
.hero-inner{position:relative;z-index:2;max-width:820px;}
.hero-big .hero-inner{text-align:center;max-width:760px;margin:0 auto;}
.breadcrumb{font-size:12.5px;color:#999;margin-bottom:18px;letter-spacing:0.5px;text-transform:uppercase;}
.breadcrumb a{color:#999;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb .sep{margin:0 4px;color:#555;}
.breadcrumb .current{color:var(--gold);}
.hero h1{font-size:52px;line-height:1.15;margin-bottom:20px;font-weight:600;}
.hero-big h1{font-size:58px;}
.hero-sub{font-size:17.5px;color:#ccc;max-width:640px;margin-bottom:32px;font-family:'Inter',sans-serif;}
.hero-big .hero-sub{margin-left:auto;margin-right:auto;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-big .hero-ctas{justify-content:center;}
.hero-arc{
  position:absolute;left:-10%;right:-10%;bottom:-90px;height:160px;
  border-top:4px solid var(--gold);border-radius:50%;opacity:0.85;z-index:1;
}

/* hero background swirl variants (CSS-only, no stock photos) */
.hero-metallic .hero-overlay{background:
  radial-gradient(circle at 20% 20%, rgba(255,206,2,0.10), transparent 40%),
  radial-gradient(circle at 80% 70%, rgba(200,130,0,0.16), transparent 45%),
  linear-gradient(160deg,#050505,#000);}
.hero-flake .hero-overlay{background:
  radial-gradient(circle at 15% 30%, rgba(255,255,255,0.05) 2px, transparent 3px),
  radial-gradient(circle at 60% 15%, rgba(255,255,255,0.04) 2px, transparent 3px),
  radial-gradient(circle at 40% 60%, rgba(200,130,0,0.18) 2px, transparent 3px),
  radial-gradient(circle at 85% 45%, rgba(255,255,255,0.05) 2px, transparent 3px),
  radial-gradient(circle at 25% 80%, rgba(200,130,0,0.14) 2px, transparent 3px),
  linear-gradient(160deg,#050505,#000);
  background-size:60px 60px,70px 70px,50px 50px,65px 65px,55px 55px,cover;}
.hero-marble .hero-overlay{background:
  linear-gradient(120deg, transparent 40%, rgba(200,130,0,0.10) 41%, rgba(200,130,0,0.10) 42%, transparent 43%),
  linear-gradient(60deg, transparent 55%, rgba(255,255,255,0.04) 56%, rgba(255,255,255,0.04) 57%, transparent 58%),
  linear-gradient(200deg, transparent 25%, rgba(200,130,0,0.08) 26%, transparent 27%),
  linear-gradient(160deg,#050505,#000);}
.hero-solid .hero-overlay{background:radial-gradient(circle at 70% 20%, rgba(255,206,2,0.08), transparent 50%), linear-gradient(160deg,#070707,#000);}

/* ---------------- TRUST STRIP ---------------- */
.trust-strip{background:#0d0d0d;border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);padding:30px 0;position:relative;z-index:2;}
.trust-row{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--stone);font-weight:700;}
.trust-row strong{color:var(--gold);}

/* ---------------- SERVICES GRID ---------------- */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.service-card{
  display:block;background:var(--charcoal);border:1px solid var(--border-dark);border-radius:8px;overflow:hidden;
  transition:transform .2s ease, border-color .2s ease;
}
.service-card:hover{transform:translateY(-5px);border-color:rgba(255,206,2,0.35);}
.card-swirl{height:150px;}
.card-swirl-metallic{background:
  radial-gradient(circle at 30% 30%, #fff6d0 0%, transparent 35%),
  radial-gradient(circle at 70% 60%, #e8b400 0%, transparent 45%),
  radial-gradient(circle at 40% 80%, #8a5a00 0%, transparent 40%),
  linear-gradient(135deg,#3a2a00,#000);}
.card-swirl-flake{background:
  radial-gradient(circle at 20% 20%, #fff 2px, transparent 3px),
  radial-gradient(circle at 60% 10%, #222 2px, transparent 3px),
  radial-gradient(circle at 40% 40%, #C88200 2px, transparent 3px),
  radial-gradient(circle at 80% 50%, #fff 2px, transparent 3px),
  radial-gradient(circle at 15% 70%, #222 2px, transparent 3px),
  radial-gradient(circle at 55% 80%, #fff 2px, transparent 3px),
  radial-gradient(circle at 90% 85%, #C88200 2px, transparent 3px),
  #d9d9d9;
  background-size:22px 22px,26px 26px,30px 30px,24px 24px,28px 28px,20px 20px,32px 32px,cover;}
.card-swirl-marble{background:
  linear-gradient(120deg, transparent 40%, rgba(200,130,0,0.5) 41%, rgba(200,130,0,0.5) 42%, transparent 43%),
  linear-gradient(60deg, transparent 60%, rgba(0,0,0,0.4) 61%, rgba(0,0,0,0.4) 62%, transparent 63%),
  #111;}
.card-swirl-solid{background:linear-gradient(135deg,#2b2b2b,#000);}
.service-card-body{padding:22px 22px 26px;}
.service-card-body h3{font-size:19px;margin-bottom:8px;}
.service-card-body p{font-size:14px;color:var(--muted);font-family:'Inter',sans-serif;margin-bottom:14px;}
.learn-more{color:var(--gold);font-size:12.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;}

/* ---------------- WHY / PILLARS ---------------- */
.why-section{background:#080808;border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:10px;}
.why-num{font-size:13px;color:var(--gold);font-weight:800;letter-spacing:2px;margin-bottom:12px;display:block;font-family:'Inter',sans-serif;}
.why-card h3{font-size:19px;margin-bottom:10px;}
.why-card p{font-size:14px;color:#aaa;font-family:'Inter',sans-serif;}

/* ---------------- LABPOX ---------------- */
.labpox-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.labpox-card{background:var(--charcoal);border:1px solid var(--border-dark);border-radius:10px;padding:40px;position:relative;overflow:hidden;}
.labpox-title{font-size:26px;color:var(--gold);margin-bottom:6px;font-family:'Playfair Display',serif;}
.labpox-sub{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--stone);margin-bottom:24px;font-family:'Inter',sans-serif;}
.spec-list li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--border-dark);font-size:14px;color:#ccc;font-family:'Inter',sans-serif;}
.spec-list li:first-child{border-top:none;}
.spec-list li b{color:var(--gold);min-width:150px;display:inline-block;}
.labpox-copy p{color:#bbb;margin-bottom:16px;font-size:15.5px;font-family:'Inter',sans-serif;}

/* ---------------- AREAS PILL STRIP ---------------- */
.areas-strip{background:#0d0d0d;}
.pill-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px;}
.pill{border:1.5px solid var(--gold);color:var(--gold);padding:9px 22px;border-radius:3px;font-weight:700;font-size:13px;letter-spacing:0.5px;text-transform:uppercase;font-family:'Inter',sans-serif;}
.pill:hover{background:rgba(255,206,2,0.08);}
.pill-current{background:var(--gold);color:#1a1400;}

/* ---------------- TESTIMONIALS ---------------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{background:var(--charcoal);border:1.5px dashed #333;border-radius:8px;padding:30px;text-align:center;}
.testi-stars{color:var(--gold);font-size:18px;margin-bottom:14px;letter-spacing:3px;}
.testi-card p{color:#777;font-style:italic;font-size:14px;font-family:'Inter',sans-serif;}

/* ---------------- TWO COLUMN (service / area pages) ---------------- */
.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:start;}
.col-main p{font-size:16px;color:#ccc;margin-bottom:18px;font-family:'Inter',sans-serif;}
.col-main .btn{margin-top:8px;}
.side-title{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-family:'Inter',sans-serif;}
.dash-list li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border-dark);font-size:14.5px;color:#ccc;font-family:'Inter',sans-serif;}
.dash-list{border-bottom:1px solid var(--border-dark);}
.dash-list .dash{color:var(--gold);}
.link-list a{display:flex;gap:12px;}
.link-list a:hover{color:var(--gold);}

/* ---------------- AREAS GRID (overview page) ---------------- */
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.area-card{display:block;background:var(--charcoal);border:1px solid var(--border-dark);border-radius:8px;padding:34px;transition:transform .2s ease, border-color .2s ease;}
.area-card:hover{transform:translateY(-5px);border-color:rgba(255,206,2,0.35);}
.area-card h3{font-size:22px;margin-bottom:12px;}
.area-card p{font-size:14.5px;color:var(--muted);margin-bottom:18px;font-family:'Inter',sans-serif;}

/* ---------------- GALLERY ---------------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.swatch{aspect-ratio:1/1;border-radius:10px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:18px;}
.swatch span{position:relative;color:var(--white);font-weight:700;font-size:13.5px;text-shadow:0 2px 6px rgba(0,0,0,0.7);text-transform:uppercase;letter-spacing:0.5px;font-family:'Inter',sans-serif;}
.swatch::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%, rgba(0,0,0,0.6));}
.swatch-metallic{background:radial-gradient(circle at 30% 30%, #fff6d0 0%, transparent 35%),radial-gradient(circle at 70% 60%, #e8b400 0%, transparent 45%),radial-gradient(circle at 40% 80%, #8a5a00 0%, transparent 40%),linear-gradient(135deg,#3a2a00,#000);}
.swatch-flake{background:radial-gradient(circle at 20% 20%, #fff 2px, transparent 3px),radial-gradient(circle at 60% 10%, #222 2px, transparent 3px),radial-gradient(circle at 40% 40%, #C88200 2px, transparent 3px),radial-gradient(circle at 80% 50%, #fff 2px, transparent 3px),radial-gradient(circle at 15% 70%, #222 2px, transparent 3px),#d9d9d9;background-size:22px 22px,26px 26px,30px 30px,24px 24px,28px 28px,cover;}
.swatch-marble{background:linear-gradient(120deg, transparent 40%, rgba(200,130,0,0.5) 41%, rgba(200,130,0,0.5) 42%, transparent 43%),linear-gradient(60deg, transparent 60%, rgba(0,0,0,0.4) 61%, rgba(0,0,0,0.4) 62%, transparent 63%),#111;}
.swatch-solid{background:linear-gradient(135deg,#2b2b2b,#000);}
.swatch-note{font-size:13px;color:#777;text-align:center;margin-top:20px;font-style:italic;font-family:'Inter',sans-serif;}

/* ---------------- FAQ ---------------- */
.faq-item{border-bottom:1px solid var(--border-dark);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 4px;cursor:pointer;font-weight:700;font-size:16px;font-family:'Inter',sans-serif;color:#eee;}
.faq-q .plus{font-size:20px;color:var(--gold);transition:transform .2s ease;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;font-size:14.5px;color:#aaa;font-family:'Inter',sans-serif;}
.faq-a p{padding:0 4px 22px;}

/* ---------------- CONTACT ---------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;}
.contact-info h2{margin-bottom:20px;}
.contact-line{display:flex;gap:14px;align-items:center;margin-bottom:16px;font-size:15.5px;font-weight:600;font-family:'Inter',sans-serif;}
.contact-line .ic{width:38px;height:38px;border-radius:50%;background:var(--charcoal);border:1px solid var(--border-dark);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;}
.social-row{display:flex;gap:12px;margin-top:26px;}
.social-row a{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.3);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;}
.form-card{background:var(--charcoal);border:1px solid var(--border-dark);border-radius:10px;padding:36px;}
.form-card h3{color:var(--gold);font-size:20px;margin-bottom:6px;font-family:'Playfair Display',serif;}
.form-card .sub{color:#999;font-size:13.5px;margin-bottom:24px;font-family:'Inter',sans-serif;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-card label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--stone);display:block;margin-bottom:6px;font-family:'Inter',sans-serif;}
.form-card input, .form-card textarea{width:100%;padding:12px 13px;border-radius:4px;border:1px solid #333;background:#0a0a0a;color:#fff;font-size:14px;font-family:'Inter',sans-serif;}
.form-card textarea{min-height:100px;resize:vertical;}
.form-card .btn{width:100%;text-align:center;margin-top:8px;}

/* ---------------- FOOTER ---------------- */
footer{background:#000;color:#888;padding:56px 0 22px;border-top:1px solid var(--border-dark);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid var(--border-dark);}
.footer-logo{height:40px;margin-bottom:16px;}
.footer-brand-col p{font-size:13.5px;color:#888;margin-bottom:18px;font-family:'Inter',sans-serif;}
.footer-links h4{color:var(--white);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;font-family:'Inter',sans-serif;}
.footer-links li{margin-bottom:11px;font-size:13.5px;font-family:'Inter',sans-serif;}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:12.5px;flex-wrap:wrap;gap:10px;font-family:'Inter',sans-serif;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:980px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .areas-grid{grid-template-columns:1fr;}
  .labpox-inner{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;gap:40px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .hero h1, .hero-big h1{font-size:38px;}
}
@media (max-width:760px){
  .main-nav{display:none;}
  .menu-toggle{display:block;}
  .call-link{display:none;}
  .footer-top{grid-template-columns:1fr;}
}
