
:root{
  --black:#050505;
  --black2:#0b0b0a;
  --charcoal:#151514;
  --panel:#111110;
  --cream:#f3eee3;
  --ivory:#fffaf0;
  --muted:#bcb5a8;
  --silver:#d9d9d4;
  --gold:#c7a85b;
  --gold2:#e3c778;
  --forest:#152019;
  --line:rgba(255,255,255,.13);
  --darkline:rgba(0,0,0,.12);
  --shadow:0 26px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,Arial,sans-serif;
  color:var(--cream);
  background:
    radial-gradient(circle at 10% 8%,rgba(199,168,91,.15),transparent 28%),
    radial-gradient(circle at 86% 14%,rgba(255,255,255,.06),transparent 24%),
    linear-gradient(180deg,#050505,#0b0b0a 58%,#050505);
  line-height:1.6;
  overflow-x:hidden;
}
body:before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:62px 62px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.header{
  position:sticky;top:0;z-index:1000;
  background:rgba(5,5,5,.88);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.nav{
  max-width:1320px;margin:auto;padding:13px 5%;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.logo-link{display:flex;align-items:center;gap:14px;min-width:245px}
.logo-link img{height:52px;width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.logo-copy strong{display:block;font-size:14px;font-weight:900;letter-spacing:2.2px}
.logo-copy small{display:block;font-size:10px;color:var(--gold2);font-weight:900;letter-spacing:2.4px}
.navlinks{display:flex;align-items:center;gap:22px}
.navlinks a{
  font-size:12px;font-weight:850;letter-spacing:1.25px;color:#e9e4da;
  padding:10px 0;border-bottom:2px solid transparent;transition:.2s;
}
.navlinks a:hover,.navlinks a.active{color:white;border-color:var(--gold)}
.cta-nav{
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#090909!important;padding:11px 17px!important;border-radius:999px!important;border:0!important;
}
.mobile-menu{display:none;position:relative}
.menu-btn{background:transparent;color:var(--cream);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900;letter-spacing:1px}
.menu-panel{
  display:none;position:absolute;right:0;top:45px;width:245px;background:#0b0b0a;
  border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden;
}
.mobile-menu:hover .menu-panel{display:block}
.menu-panel a{display:block;padding:15px 17px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:800}
.menu-panel a:hover{background:rgba(199,168,91,.13)}
.hero{
  min-height:86vh;display:grid;place-items:center;padding:82px 5%;position:relative;overflow:hidden;
}
.hero:before{
  content:"";position:absolute;right:-8%;top:8%;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(199,168,91,.16),transparent 60%);
  z-index:-1;
}
.hero-inner{
  max-width:1320px;width:100%;
  display:grid;grid-template-columns:.98fr 1.02fr;gap:48px;align-items:center;
}
.hero-card{
  background:linear-gradient(145deg,rgba(21,21,20,.88),rgba(7,7,7,.82));
  border:1px solid var(--line);
  border-radius:30px;
  padding:42px;
  box-shadow:var(--shadow);
}
.hero-logo{width:min(560px,100%);margin:0 auto 26px;filter:drop-shadow(0 20px 35px rgba(0,0,0,.55))}
.kicker{
  color:var(--gold2);font-size:12px;font-weight:900;letter-spacing:3.2px;text-transform:uppercase;margin-bottom:16px;
}
h1{
  font-size:clamp(42px,5.8vw,78px);line-height:1.02;letter-spacing:-2px;margin-bottom:22px;
}
.lead{font-size:19px;color:#d7d1c5;max-width:760px;margin-bottom:30px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:0 23px;border-radius:999px;font-size:13px;font-weight:900;letter-spacing:.8px;
  transition:.22s;border:0;cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#080808}
.secondary{background:transparent;border:1px solid var(--line);color:var(--cream)}
.hero-side{
  min-height:560px;border-radius:30px;padding:34px;border:1px solid var(--line);
  background:
    linear-gradient(rgba(5,5,5,.72),rgba(5,5,5,.88)),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?q=80&w=1600&auto=format&fit=crop");
  background-size:cover;background-position:center;
  box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;
}
.side-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.side-stat{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:18px;padding:20px;backdrop-filter:blur(8px)}
.side-stat b{display:block;color:var(--gold2);font-size:30px}.side-stat span{color:#ddd7ca;font-size:13px;font-weight:800}
.section{padding:84px 5%}
.section.light{background:var(--cream);color:var(--ink,#151514)}
.wrap{max-width:1320px;margin:auto}
.section-head{max-width:860px;margin:0 auto 46px;text-align:center}
.section-head h2{font-size:clamp(34px,4.6vw,58px);line-height:1.08;letter-spacing:-1.2px;margin-bottom:16px;color:inherit}
.section-head p{font-size:18px;color:var(--muted)}
.light .section-head p{color:#6e6a61}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{
  background:linear-gradient(145deg,rgba(21,21,20,.88),rgba(9,9,9,.86));
  border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(0,0,0,.20);
  transition:.22s;min-height:265px;
}
.card:hover{transform:translateY(-6px);border-color:rgba(199,168,91,.5)}
.card small{display:block;color:var(--gold2);font-weight:900;letter-spacing:2px;margin-bottom:14px}
.card h3{font-size:24px;line-height:1.15;margin-bottom:12px}.card p{color:#cec8bd}
.light .card{background:white;color:#151514;border-color:rgba(0,0,0,.08)}
.light .card p{color:#656158}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:center}
.panel{
  background:white;color:#151514;border-radius:26px;padding:36px;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow);
}
.panel h2{font-size:44px;line-height:1.08;margin-bottom:16px}
.panel p{color:#625f58;font-size:17px;margin-bottom:16px}
.checks{display:grid;gap:12px;margin-top:18px}
.check{display:flex;gap:12px;font-weight:750}.check b{color:var(--gold)}
.image-panel{
  min-height:520px;border-radius:28px;
  background:linear-gradient(rgba(5,5,5,.18),rgba(5,5,5,.18)),url("https://images.unsplash.com/photo-1552664730-d307ca884978?q=80&w=1500&auto=format&fit=crop");
  background-size:cover;background-position:center;box-shadow:var(--shadow);
}
.page-hero{
  padding:74px 5%;color:white;background:
    linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.62)),
    url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?q=80&w=1800&auto=format&fit=crop");
  background-size:cover;background-position:center;
}
.page-hero .wrap{max-width:980px}
.page-hero h1{font-size:clamp(40px,5.3vw,68px)}
.breadcrumb{color:var(--gold2);font-size:13px;font-weight:900;letter-spacing:1.3px;margin-bottom:18px}
.backbar{background:#f0eadf;color:#171717;padding:13px 5%;border-bottom:1px solid rgba(0,0,0,.08)}
.backbar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.backbar a{font-size:13px;font-weight:850;color:#2f2a20}
.jumps{display:flex;gap:10px;flex-wrap:wrap}
.jumps a{background:white;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:white;color:#151514;border-radius:24px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 14px 36px rgba(0,0,0,.10)}
.service-img{height:210px;background-size:cover;background-position:center}
.service-body{padding:26px}.service-body small{display:block;color:#8a6d2e;font-weight:900;letter-spacing:1.5px;margin-bottom:10px}
.service-body h3{font-size:24px;line-height:1.15;margin-bottom:12px}.service-body p{color:#625f58}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process{background:white;color:#151514;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(0,0,0,.09)}
.process b{font-size:36px;color:#9a762a}.process h3{margin:8px 0}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}
input,textarea{width:100%;padding:15px;border:1px solid rgba(0,0,0,.14);border-radius:10px;margin-bottom:12px;font:inherit}
textarea{min-height:150px}
.footer{background:#050505;border-top:1px solid var(--line);padding:44px 5%;color:#cfc9be}
.footer-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:26px}
.footer img{height:58px;margin-bottom:14px}.footer h4{color:white;margin-bottom:12px}.footer a,.footer p{display:block;color:#c9c2b6;margin-bottom:8px;font-size:14px}
.subfooter{max-width:1320px;margin:28px auto 0;border-top:1px solid var(--line);padding-top:16px;color:#908a80;font-size:13px}
@media(max-width:1040px){
  .navlinks{display:none}.mobile-menu{display:block}
  .hero-inner,.split,.contact-grid{grid-template-columns:1fr}
  .grid,.service-grid{grid-template-columns:1fr 1fr}
  .process-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .hero-side{min-height:420px}
}
@media(max-width:650px){
  .logo-copy{display:none}.logo-link{min-width:auto}.logo-link img{height:42px}
  .hero{padding:52px 5%}.hero-card{padding:26px;border-radius:22px}
  .side-grid,.grid,.service-grid,.process-grid,.footer-grid{grid-template-columns:1fr}
  .section{padding:62px 5%}.panel{padding:26px}
  .hero-side{min-height:360px}
  .menu-panel{right:-4px}
}


/* V3 pervasive navigation/back controls */
.home-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#090909!important;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  padding:11px 16px!important;
  border-radius:999px!important;
  border:0!important;
}
.floating-home{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#070707;
  font-size:13px;
  font-weight:900;
  letter-spacing:.4px;
  box-shadow:0 16px 36px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.25);
}
.floating-home:hover{transform:translateY(-2px)}
.quick-return{
  background:rgba(5,5,5,.92);
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:12px 5%;
  position:sticky;
  top:79px;
  z-index:998;
}
.quick-return .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.quick-return a{
  font-size:13px;
  font-weight:850;
}
.quick-return .return-home{
  color:var(--gold2);
}
.quick-return .return-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.quick-return .return-links a{
  color:#e9e4da;
  border:1px solid rgba(255,255,255,.14);
  padding:7px 11px;
  border-radius:999px;
}
.quick-return .return-links a:hover{
  border-color:rgba(199,168,91,.55);
  color:white;
}
@media(max-width:650px){
  .floating-home{
    left:12px;
    bottom:12px;
    min-height:44px;
    padding:0 14px;
    font-size:12px;
  }
  .quick-return{
    top:67px;
  }
}


/* V4: move pervasive Home button out of the content path */
.floating-home{
  left:auto;
  right:18px;
  bottom:auto;
  top:50%;
  transform:translateY(-50%);
  min-height:42px;
  padding:0 13px;
  border-radius:999px 0 0 999px;
  opacity:.72;
  font-size:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.floating-home:hover{
  opacity:1;
  transform:translateY(-50%) translateX(-3px);
}
@media(max-width:650px){
  .floating-home{
    right:0;
    top:auto;
    bottom:92px;
    left:auto;
    min-height:38px;
    padding:0 11px;
    font-size:11px;
    opacity:.62;
  }
  .floating-home:hover{
    transform:none;
    opacity:1;
  }
}


/* V5: frozen navigation refinement */
.header{
  position:fixed !important;
  top:0;
  left:0;
  width:100%;
  z-index:2000;
}

body{
  padding-top:82px;
}

/* Keep the utility back/navigation bar frozen directly below the main nav */
.quick-return,
.backbar{
  position:sticky !important;
  top:82px !important;
  z-index:1800;
}

/* Make the interior quick links cleaner and less oversized on mobile */
.backbar{
  background:rgba(240,234,223,.96);
  backdrop-filter:blur(12px);
}
.backbar .wrap{
  align-items:center;
}
.backbar .jumps a,
.quick-return .return-links a{
  font-size:12px;
  padding:7px 11px;
}

/* Remove the floating side Home tab because frozen nav now solves the escape problem */
.floating-home{
  display:none !important;
}

/* Improve mobile header density */
@media(max-width:650px){
  body{
    padding-top:74px;
  }

  .header{
    min-height:74px;
  }

  .nav{
    padding:10px 5%;
  }

  .logo-link img{
    height:54px;
    max-width:188px;
    object-fit:contain;
  }

  .menu-btn{
    padding:11px 18px;
    font-size:18px;
    border-radius:999px;
  }

  .quick-return,
  .backbar{
    top:74px !important;
  }

  .backbar{
    padding:12px 5%;
  }

  .backbar .wrap{
    gap:12px;
  }

  .backbar .jumps{
    gap:8px;
  }

  .backbar .jumps a{
    font-size:13px;
    padding:8px 13px;
  }
}

@media(max-width:430px){
  .logo-link img{
    height:48px;
    max-width:165px;
  }

  .menu-btn{
    font-size:16px;
    padding:10px 16px;
  }
}
