:root {
  --navy: #081420;
  --navy-2: #0c1b29;
  --navy-3: #112537;
  --gold: #cfac66;
  --gold-soft: #e1c486;
  --ink: #132333;
  --white: #fffdf8;
  --paper: #f3f1eb;
  --line: rgba(207, 172, 102, .22);
  --muted: #65717c;
  --shadow: 0 18px 50px rgba(3, 11, 18, .12);
  --radius: 20px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.section-pad { padding: 104px 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(8, 20, 32, .9);
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
}
.nav-wrap { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap: 28px; }
.brand { display:inline-flex; align-items:center; gap: 12px; }
.brand-mark, .seal {
  display:grid; place-items:center;
  width:42px; height:42px;
  border:1px solid rgba(207,172,102,.55);
  color: var(--gold);
  font-family:"Manrope",sans-serif;
  font-weight:800;
  letter-spacing:-.06em;
  overflow:hidden;
  flex:none;
}
.brand-logo {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer-brand .brand-mark { width:42px; height:42px; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { color:#fff; font: 700 17px/1.2 "Manrope", sans-serif; letter-spacing:-.02em; }
.brand-copy small { color: rgba(255,255,255,.52); margin-top:5px; font-size:8px; letter-spacing:.18em; }
.main-nav { display:flex; align-items:center; gap:28px; color:rgba(255,255,255,.76); font-size:14px; }
.main-nav > a:not(.nav-cta) { position:relative; padding:8px 0; transition: color .25s ease; }
.main-nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:2px; width:0; height:1px; background:var(--gold); transition:width .25s ease; }
.main-nav > a:hover { color:#fff; }
.main-nav > a:hover::after { width:100%; }
.nav-cta { background:var(--gold); color:var(--navy); padding:11px 16px; border-radius:999px; font-weight:700; transition:transform .25s ease, background .25s ease; }
.nav-cta:hover { transform:translateY(-1px); background:var(--gold-soft); }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.1); background:transparent; cursor:pointer; padding:10px; }
.menu-toggle span { display:block; width:22px; height:1px; background:#fff; margin:5px auto; transition:transform .25s ease, opacity .25s ease; }
.menu-toggle.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.hero { background: var(--navy); color:#fff; overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; inset:auto -10% -45% auto; width:58vw; height:58vw; border-radius:50%; border:1px solid rgba(207,172,102,.11); box-shadow:0 0 0 80px rgba(207,172,102,.015),0 0 0 160px rgba(207,172,102,.01); }
.hero-grid { display:grid; grid-template-columns: 1.08fr .72fr; gap: 70px; align-items:center; position:relative; z-index:1; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.16em; }
.eyebrow::before { content:""; width:26px; height:1px; background:currentColor; opacity:.7; }
.hero h1 { margin:20px 0 18px; max-width: 760px; font: 700 clamp(44px, 6vw, 74px)/1.03 "Manrope", sans-serif; letter-spacing:-.055em; }
.hero h1 em { color:var(--gold); font-style:normal; }
.hero-text { max-width:650px; color:rgba(255,255,255,.67); font-size:16px; margin:0; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 18px; border-radius:999px; font-weight:700; font-size:14px; transition:transform .25s ease, background .25s ease, border-color .25s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { background:var(--gold); color:var(--navy); }
.btn-gold:hover { background:var(--gold-soft); }
.btn-ghost { border:1px solid rgba(255,255,255,.16); color:#fff; }
.btn-ghost:hover { border-color:rgba(207,172,102,.55); }
.hero-points { display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; color:rgba(255,255,255,.53); font-size:12px; }
.hero-points i { color:var(--gold); font-style:normal; margin-right:6px; }
.hero-card { border:1px solid rgba(207,172,102,.28); background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); padding:28px; box-shadow: var(--shadow); }
.hero-card-top { display:flex; justify-content:space-between; gap:20px; }
.hero-card .seal { width:58px; height:58px; flex:none; }
.mini-label { font-size:10px; font-weight:800; color:rgba(255,255,255,.48); letter-spacing:.16em; }
.hero-card h2 { margin:10px 0 0; font:600 25px/1.18 "Manrope",sans-serif; letter-spacing:-.035em; }
.hero-card-line { height:1px; background:var(--line); margin:24px 0; }
.hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hero-stats strong { display:block; font:700 27px/1 "Manrope",sans-serif; color:var(--gold); }
.hero-stats span { display:block; margin-top:8px; color:rgba(255,255,255,.5); font-size:10px; }
.hero-card-note { margin:23px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:rgba(255,255,255,.56); font-size:12px; }

.intro { background:#ebe8df; }
.intro-grid { display:grid; grid-template-columns: .9fr 1fr; gap:80px; align-items:start; }
.section-heading h2 { margin:14px 0 0; font:700 clamp(30px,4.2vw,50px)/1.08 "Manrope",sans-serif; letter-spacing:-.045em; color:var(--navy); }
.intro-copy { color:#53606b; max-width:650px; font-size:15px; }
.intro-copy p { margin:0 0 14px; }
.intro-copy p:last-child { margin-bottom:0; }

.services { background:#f6f4ee; }
.centered { text-align:center; max-width:730px; margin:0 auto 42px; }
.centered .eyebrow { justify-content:center; }
.centered p { color:var(--muted); margin:15px auto 0; font-size:14px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { position:relative; min-height:255px; display:flex; flex-direction:column; padding:24px; background:#fff; border:1px solid #e8e4da; border-radius:var(--radius); box-shadow: 0 8px 24px rgba(11,24,37,.035); overflow:hidden; transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease; cursor:pointer; }
.service-card::before { content:""; position:absolute; inset:0 auto 0 0; width:2px; background:transparent; transition:background .3s ease; }
.service-card:hover { transform:translateY(-5px); border-color:rgba(207,172,102,.5); box-shadow:0 16px 32px rgba(11,24,37,.08); }
.service-card:hover::before { background:var(--gold); }
.service-card.featured { background:var(--navy); color:#fff; border-color:var(--navy); }
.service-card.featured .card-tag { color:var(--gold); }
.service-card.featured p { color:rgba(255,255,255,.6); }
.card-tag { min-height:18px; color:#9b8251; font-size:9px; font-weight:800; letter-spacing:.13em; }
.card-number { position:absolute; right:22px; top:19px; color:#aab2b8; font:600 12px/1 "Manrope",sans-serif; }
.service-card h3 { max-width:86%; min-height:46px; margin:26px 0 8px; font:700 22px/1.15 "Manrope",sans-serif; letter-spacing:-.035em; }
.price { color:var(--gold); font:800 18px/1.2 "Manrope",sans-serif; }
.price.muted { color:#a48b5c; font-size:15px; }
.service-card p { margin:14px 0 20px; font-size:13px; color:#69747d; }
.service-link { margin-top:auto; display:flex; align-items:center; justify-content:space-between; width:100%; padding:0; background:transparent; border:0; text-align:left; color:inherit; font-weight:700; font-size:12px; cursor:pointer; }
.service-link span { color:var(--gold); font-size:16px; transition:transform .2s ease; }
.service-card:hover .service-link span { transform:translate(3px,-2px); }

.process { background:var(--navy); color:#fff; }
.process .section-heading h2 { color:#fff; max-width:650px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:54px; border-top:1px solid rgba(255,255,255,.12); }
.process-item { padding:30px 26px 0 0; min-height:210px; border-right:1px solid rgba(255,255,255,.12); }
.process-item:not(:first-child) { padding-left:26px; }
.process-item:last-child { border-right:0; }
.process-item span { color:var(--gold); font:800 12px/1 "Manrope",sans-serif; letter-spacing:.12em; }
.process-item h3 { margin:28px 0 9px; font:700 19px/1.2 "Manrope",sans-serif; }
.process-item p { margin:0; color:rgba(255,255,255,.52); font-size:13px; max-width:245px; }


.location { background:#ebe8df; }
.location-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:60px; align-items:stretch; }
.location-lead { max-width:590px; margin:16px 0 0; color:#5d6871; font-size:14px; }
.location-details { display:grid; gap:18px; margin-top:34px; }
.location-detail { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; }
.detail-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(207,172,102,.45); color:#8e7648; font:800 10px/1 "Manrope",sans-serif; letter-spacing:.08em; }
.location-detail strong { display:block; margin-bottom:4px; color:var(--navy); font:700 13px/1.3 "Manrope",sans-serif; }
.location-detail p, .location-detail a { color:#626d75; font-size:12px; line-height:1.6; }
.location-detail p { margin:0; }
.location-detail a { display:inline-block; transition:color .2s ease; }
.location-detail a:hover { color:#8c7445; }
.map-frame { min-height:100%; border:1px solid #d9d4c8; background:#d8d5ce; padding:7px; box-shadow:0 18px 40px rgba(8,20,32,.08); }
.map-frame iframe { display:block; width:100%; height:100%; min-height:430px; border:0; }

.contact-cta { background:#ebe8df; }
.cta-box { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:48px 52px; background:var(--navy); color:#fff; border-radius:28px; }
.cta-box h2 { margin:13px 0 8px; font:700 35px/1.1 "Manrope",sans-serif; letter-spacing:-.04em; }
.cta-box p { margin:0; max-width:650px; color:rgba(255,255,255,.56); font-size:13px; }
.cta-box .btn { flex:none; }

.faq { background:#f6f4ee; }
.faq-grid { display:grid; grid-template-columns:.72fr 1fr; gap:70px; align-items:start; }
.faq-list { border-top:1px solid #ddd7cb; }
details { border-bottom:1px solid #ddd7cb; }
summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; padding:21px 0; color:var(--navy); font:700 15px/1.4 "Manrope",sans-serif; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; color:var(--gold); font-size:20px; font-weight:400; transition:transform .2s ease; }
details[open] summary::after { transform:rotate(45deg); }
details p { margin:0 40px 22px 0; color:#66717b; font-size:13px; }

.site-footer { padding:66px 0 24px; background:#05101a; color:#fff; }
.footer-grid { display:grid; grid-template-columns:1fr .85fr; gap:80px; padding-bottom:42px; }
.footer-note { max-width:350px; margin:18px 0 0; color:rgba(255,255,255,.45); font-size:12px; }
.footer-contact { display:grid; gap:8px; align-content:start; }
.footer-contact a { color:rgba(255,255,255,.8); font-size:13px; }
.footer-contact p { max-width:500px; margin:3px 0 0; color:rgba(255,255,255,.42); font-size:11px; }
.footer-contact .eyebrow { margin-bottom:6px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.35); font-size:11px; }
.footer-bottom a:hover { color:var(--gold); }

.wa-fab-wrap { position:fixed; right:24px; bottom:24px; z-index:90; display:flex; align-items:center; gap:10px; }
.wa-tooltip { opacity:0; transform:translateX(8px); pointer-events:none; padding:8px 12px; border-radius:999px; background:#fff; color:var(--navy); box-shadow:0 12px 32px rgba(0,0,0,.12); font-size:11px; font-weight:700; transition:.25s ease; }
.wa-fab-wrap:hover .wa-tooltip { opacity:1; transform:none; }
.wa-fab { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:var(--navy); box-shadow:0 16px 36px rgba(8,20,32,.25); font:800 22px/1 "Manrope",sans-serif; transition:transform .25s ease, background .25s ease; }
.wa-fab:hover { transform:translateY(-4px); background:var(--gold-soft); }

.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.08s; }
.delay-2 { transition-delay:.16s; }
.delay-3 { transition-delay:.24s; }

@media (max-width: 1050px) {
  .hero-grid { grid-template-columns:1fr; }
  .hero-card { max-width:620px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .process-item:nth-child(2) { border-right:0; }
  .process-item:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
  .process-item:nth-child(3) { padding-left:0; }
  .faq-grid, .intro-grid, .location-grid { grid-template-columns:1fr; gap:36px; }
  .map-frame iframe { min-height:380px; }
}

@media (max-width: 780px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .section-pad { padding:78px 0; }
  .menu-toggle { display:block; }
  .main-nav { position:absolute; left:14px; right:14px; top:68px; display:grid; gap:4px; padding:10px; background:rgba(8,20,32,.98); border:1px solid rgba(255,255,255,.1); transform:translateY(-12px); opacity:0; pointer-events:none; transition:.25s ease; box-shadow:0 18px 40px rgba(0,0,0,.25); }
  .main-nav.open { transform:none; opacity:1; pointer-events:auto; }
  .main-nav > a { padding:13px 12px !important; }
  .main-nav .nav-cta { text-align:center; margin-top:5px; }
  .hero { padding-top:82px; }
  .hero h1 { font-size:50px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:230px; }
  .process-grid { grid-template-columns:1fr; }
  .process-item, .process-item:not(:first-child) { border-right:0; border-top:1px solid rgba(255,255,255,.12); padding:27px 0; min-height:auto; }
  .process-item:first-child { border-top:0; padding-top:0; }
  .cta-box { flex-direction:column; align-items:flex-start; padding:34px 26px; border-radius:22px; }
  .cta-box h2 { font-size:29px; }
  .footer-grid { grid-template-columns:1fr; gap:34px; }
  .location-details { margin-top:28px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }
  .wa-tooltip { display:none; }
}

@media (max-width: 520px) {
  .hero h1 { font-size:40px; }
  .hero-text { font-size:14px; }
  .hero-actions .btn { width:100%; }
  .hero-card { padding:22px; }
  .hero-card h2 { font-size:22px; }
  .hero-stats { gap:8px; }
  .hero-stats strong { font-size:22px; }
  .hero-points { display:grid; gap:8px; }
  .section-heading h2 { font-size:33px; }
  .location { padding-top:72px; padding-bottom:72px; }
  .map-frame { padding:5px; }
  .map-frame iframe { min-height:320px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
