
:root {
  --midnight: #0F172A;
  --midnight-2: #090F1C;
  --champagne: #C8A46A;
  --champagne-light: #E0C184;
  --pearl: #F8F8F5;
  --stone: #D8D1C5;
  --sand: #EFE8DD;
  --graphite: #3C4148;
  --slate: #6B7280;
  --green: #244B42;
  --border: rgba(200, 164, 106, .22);
  --glass: rgba(15, 23, 42, .72);
  --shadow: 0 24px 80px rgba(0,0,0,.35);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--pearl);
  background:
    radial-gradient(circle at top left, rgba(200,164,106,.12), transparent 26rem),
    radial-gradient(circle at 85% 5%, rgba(36,75,66,.18), transparent 24rem),
    linear-gradient(180deg, var(--midnight-2), var(--midnight) 34%, #070B13);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .055;
  background-image:
    linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(to bottom, black, transparent 75%);
  z-index: 0;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; position: relative; z-index: 1; }
.narrow { width: min(880px, calc(100% - 40px)); margin: 0 auto; position: relative; z-index: 1; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: linear-gradient(180deg, rgba(7,11,19,.88), rgba(7,11,19,.58));
  border-bottom: 1px solid rgba(200,164,106,.16);
}
.nav {
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 160px; }
.brand-mark {
  width: 54px; height: 54px; object-fit: cover; border-radius: 999px;
  border: 1px solid rgba(200,164,106,.35);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.brand-text { letter-spacing: .22em; font-size: .88rem; color: var(--champagne); font-weight: 600; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 34px; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(248,248,245,.82); }
.nav-links a { position: relative; padding: 28px 0; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 1px; transform: scaleX(0); transform-origin: center; background: var(--champagne); transition: transform .25s ease; }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
.nav-cta { color: var(--champagne); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 999px; background: rgba(255,255,255,.02); color: var(--pearl); align-items: center; justify-content: center; }
.menu-toggle span { width: 18px; height: 1px; background: currentColor; position: relative; display: block; }
.menu-toggle span::before, .menu-toggle span::after { content: ""; position: absolute; left: 0; width: 18px; height: 1px; background: currentColor; }
.menu-toggle span::before { top: -6px; }
.menu-toggle span::after { top: 6px; }

.hero { padding: 88px 0 84px; min-height: calc(100vh - 76px); display: grid; align-items: center; position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; width: 820px; height: 820px; right: -270px; top: -140px; background: radial-gradient(circle, rgba(200,164,106,.15), transparent 62%); filter: blur(12px); }
.hero-grid { display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: 70px; }
.eyebrow { color: var(--champagne); letter-spacing: .26em; text-transform: uppercase; font-size: .75rem; font-weight: 700; margin-bottom: 18px; }
h1, h2, h3 { font-family: "Cormorant Garamond", Georgia, serif; line-height: .96; margin: 0; font-weight: 600; }
h1 { font-size: clamp(3.25rem, 8vw, 7.5rem); letter-spacing: -.04em; max-width: 870px; }
h2 { font-size: clamp(2.35rem, 5vw, 5rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.55rem, 2.6vw, 2.3rem); letter-spacing: -.015em; }
.lead { font-size: clamp(1.06rem, 1.5vw, 1.28rem); color: rgba(248,248,245,.78); max-width: 670px; margin: 26px 0 0; }
.hero-actions { display: flex; gap: 16px; margin-top: 36px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; border: 1px solid var(--border); transition: transform .22s ease, background .22s ease, border-color .22s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #111827; background: linear-gradient(135deg, var(--champagne-light), var(--champagne)); border-color: transparent; box-shadow: 0 18px 40px rgba(200,164,106,.18); }
.button.secondary { background: rgba(255,255,255,.02); color: var(--pearl); }
.hero-card { border: 1px solid var(--border); border-radius: 30px; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)); box-shadow: var(--shadow); padding: 28px; position: relative; overflow: hidden; }
.hero-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, rgba(200,164,106,.14), transparent 52%); pointer-events: none; }
.hero-logo { width: min(460px, 100%); margin: 0 auto 24px; border-radius: 22px; box-shadow: 0 30px 80px rgba(0,0,0,.28); opacity: .98; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; position: relative; z-index: 1; }
.metric { padding: 18px; border: 1px solid rgba(200,164,106,.16); border-radius: 18px; background: rgba(7,11,19,.44); }
.metric small { display: block; color: var(--slate); text-transform: uppercase; letter-spacing: .16em; font-size: .68rem; margin-bottom: 8px; }
.metric strong { color: var(--pearl); font-size: 1.05rem; }

.section { padding: 96px 0; position: relative; }
.section.soft { background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)); border-block: 1px solid rgba(200,164,106,.1); }
.section-header { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 44px; }
.section-header p { max-width: 560px; margin: 0; color: rgba(248,248,245,.72); }
.gold-line { width: 86px; height: 1px; background: var(--champagne); margin: 22px 0; opacity: .85; }

.trust-strip { margin-top: -38px; position: relative; z-index: 5; }
.trust-inner { border: 1px solid var(--border); border-radius: 24px; background: rgba(7,11,19,.76); backdrop-filter: blur(16px); display: grid; grid-template-columns: repeat(4, 1fr); box-shadow: var(--shadow); overflow: hidden; }
.trust-item { padding: 24px; border-right: 1px solid rgba(200,164,106,.12); }
.trust-item:last-child { border-right: 0; }
.trust-item span { color: var(--champagne); font-size: 1.1rem; }
.trust-item strong { display: block; margin-top: 8px; font-size: .82rem; text-transform: uppercase; letter-spacing: .14em; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { border: 1px solid var(--border); border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)); padding: 30px; transition: transform .24s ease, border-color .24s ease, background .24s ease; min-height: 250px; }
.card:hover { transform: translateY(-6px); border-color: rgba(200,164,106,.5); background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
.card-icon { width: 48px; height: 48px; border: 1px solid rgba(200,164,106,.28); border-radius: 16px; display: grid; place-items: center; color: var(--champagne); margin-bottom: 24px; }
.card p { color: rgba(248,248,245,.68); margin: 18px 0 0; }
.card-link { display: inline-flex; margin-top: 26px; color: var(--champagne); font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }

.split { display: grid; grid-template-columns: .8fr 1fr; gap: 72px; align-items: center; }
.panel { border: 1px solid var(--border); border-radius: 30px; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); padding: clamp(28px, 5vw, 54px); box-shadow: var(--shadow); }
.panel p { color: rgba(248,248,245,.72); }
.value-list { display: grid; gap: 16px; margin-top: 26px; }
.value-item { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; }
.value-item .dot { width: 26px; height: 26px; border-radius: 999px; border: 1px solid var(--champagne); color: var(--champagne); display: grid; place-items: center; font-size: .78rem; margin-top: 4px; }
.value-item strong { display: block; margin-bottom: 4px; }
.value-item p { margin: 0; color: rgba(248,248,245,.68); }

.process { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; counter-reset: step; }
.step { border: 1px solid rgba(200,164,106,.18); border-radius: 22px; padding: 24px; background: rgba(255,255,255,.025); position: relative; min-height: 170px; }
.step::before { counter-increment: step; content: "0" counter(step); color: var(--champagne); font-size: .78rem; letter-spacing: .16em; font-weight: 800; }
.step h3 { margin-top: 28px; font-size: 1.55rem; }
.step p { color: rgba(248,248,245,.66); font-size: .94rem; margin-bottom: 0; }

.cta { padding: 74px 0; }
.cta-box { border: 1px solid var(--border); border-radius: 34px; padding: clamp(34px, 7vw, 78px); background: radial-gradient(circle at top right, rgba(200,164,106,.16), transparent 44%), linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.012)); box-shadow: var(--shadow); text-align: center; }
.cta-box p { max-width: 610px; margin: 22px auto 34px; color: rgba(248,248,245,.72); }

.page-hero { padding: 96px 0 70px; border-bottom: 1px solid rgba(200,164,106,.1); }
.page-hero h1 { max-width: 980px; }
.breadcrumb { color: var(--champagne); letter-spacing: .2em; text-transform: uppercase; font-size: .72rem; margin-bottom: 22px; }

.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.statement { border-left: 1px solid var(--champagne); padding-left: 30px; color: rgba(248,248,245,.78); font-size: 1.16rem; }

.service-detail { display: grid; grid-template-columns: .45fr 1fr; gap: 42px; padding: 40px 0; border-bottom: 1px solid rgba(200,164,106,.12); }
.service-detail:last-child { border-bottom: 0; }
.service-detail .number { color: var(--champagne); letter-spacing: .2em; font-size: .78rem; font-weight: 800; }
.service-detail p { color: rgba(248,248,245,.7); }
.service-detail ul { margin: 20px 0 0; padding-left: 20px; color: rgba(248,248,245,.68); }
.service-detail li { margin: 10px 0; }

.contact-grid { display: grid; grid-template-columns: .75fr 1fr; gap: 36px; align-items: start; }
.contact-card { border: 1px solid var(--border); border-radius: 28px; background: rgba(255,255,255,.025); padding: 30px; }
.contact-list { display: grid; gap: 18px; margin-top: 26px; }
.contact-list > a, .contact-list > span { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; align-items: start; color: rgba(248,248,245,.78); padding: 14px 0; border-bottom: 1px solid rgba(200,164,106,.10); }
.contact-list > a:last-child, .contact-list > span:last-child { border-bottom: 0; }
.contact-list b { color: var(--champagne); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .72rem; padding-top: 2px; }
.contact-list > a > span, .contact-list > span > span { display: block; color: rgba(248,248,245,.80); line-height: 1.55; min-width: 0; overflow-wrap: normal; word-break: normal; }
.contact-list-clean { gap: 0; }
form { display: grid; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { display: grid; gap: 8px; color: rgba(248,248,245,.82); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
input, textarea, select { width: 100%; border: 1px solid rgba(200,164,106,.22); border-radius: 16px; background: rgba(7,11,19,.72); color: var(--pearl); padding: 15px 16px; font: inherit; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
textarea { min-height: 150px; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: rgba(200,164,106,.7); box-shadow: 0 0 0 4px rgba(200,164,106,.09); }
.form-note { color: rgba(248,248,245,.56); font-size: .9rem; margin: 4px 0 0; }

.footer { border-top: 1px solid rgba(200,164,106,.14); padding: 52px 0 26px; background: rgba(5,8,14,.62); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 30px; }
.footer-logo { width: 130px; border-radius: 14px; margin-bottom: 18px; }
.footer p, .footer a { color: rgba(248,248,245,.62); }
.footer h4 { margin: 0 0 16px; color: var(--champagne); text-transform: uppercase; letter-spacing: .16em; font-size: .76rem; }
.footer-links { display: grid; gap: 10px; }

.compliance-block { margin-top: 34px; padding: 22px 0 0; border-top: 1px solid rgba(200,164,106,.10); }
.compliance-block h4 { margin: 0 0 14px; color: var(--champagne); text-transform: uppercase; letter-spacing: .16em; font-size: .76rem; }
.compliance-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.compliance-badges span { display: inline-flex; align-items: center; min-height: 34px; padding: 8px 13px; border: 1px solid rgba(200,164,106,.24); border-radius: 999px; background: rgba(200,164,106,.06); color: rgba(248,248,245,.82); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.compliance-block p { margin: 0; color: rgba(248,248,245,.50); font-size: .84rem; line-height: 1.8; max-width: 920px; }

.fineprint { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(200,164,106,.1); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: rgba(248,248,245,.48); font-size: .85rem; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 960px) {
  .hero-grid, .split, .about-grid, .contact-grid, .service-detail { grid-template-columns: 1fr; }
  .cards { grid-template-columns: 1fr; }
  .process { grid-template-columns: repeat(2, 1fr); }
  .trust-inner { grid-template-columns: repeat(2, 1fr); }
  .section-header { display: block; }
  .hero { padding-top: 58px; }
}
@media (max-width: 760px) {
  .nav { height: 68px; }
  .brand-text { display: none; }
  .menu-toggle { display: inline-flex; }
  .nav-links { position: fixed; left: 20px; right: 20px; top: 78px; display: grid; gap: 0; padding: 18px; border: 1px solid var(--border); border-radius: 24px; background: rgba(7,11,19,.95); box-shadow: var(--shadow); transform: translateY(-16px); opacity: 0; pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
  .nav-links.open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .nav-links a { padding: 14px 8px; }
  .nav-links a::after { bottom: 10px; }
  .hero { min-height: auto; padding: 62px 0 72px; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .metric-grid, .trust-inner, .process, .form-row { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid rgba(200,164,106,.12); }
  .trust-item:last-child { border-bottom: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .section { padding: 72px 0; }
  .page-hero { padding: 70px 0 54px; }
  .contact-list > a, .contact-list > span { grid-template-columns: 1fr; gap: 6px; }
}


/* Privacy policy page */
.legal-hero .lead{max-width:760px}.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.legal-meta span{display:inline-flex;align-items:center;min-height:34px;padding:8px 13px;border:1px solid rgba(200,164,106,.24);border-radius:999px;background:rgba(200,164,106,.06);color:rgba(248,248,245,.78);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.legal-section{padding-top:72px}.legal-summary{border:1px solid rgba(200,164,106,.26);border-radius:24px;padding:26px 28px;margin-bottom:26px;background:linear-gradient(135deg,rgba(200,164,106,.10),rgba(255,255,255,.018))}.legal-summary strong{color:var(--champagne);text-transform:uppercase;letter-spacing:.15em;font-size:.78rem}.legal-summary p{margin:10px 0 0;color:rgba(248,248,245,.78)}.legal-content{border:1px solid var(--border);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));padding:clamp(28px,5vw,58px);box-shadow:var(--shadow)}.legal-content>section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid rgba(200,164,106,.12)}.legal-content>section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.legal-content h2{font-size:clamp(1.8rem,4vw,2.45rem);margin-bottom:18px}.legal-content h3{font-family:Inter,system-ui,sans-serif;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em;color:var(--champagne);margin-bottom:9px}.legal-content p,.legal-content li{color:rgba(248,248,245,.72)}.legal-content p{margin:0 0 16px}.legal-content ul{padding-left:22px;margin:16px 0 0}.legal-content li{margin:10px 0}.legal-content a{color:var(--champagne-light);text-decoration:underline;text-decoration-color:rgba(224,193,132,.35);text-underline-offset:3px}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 24px}.legal-grid>div{border:1px solid rgba(200,164,106,.14);border-radius:18px;padding:20px;background:rgba(7,11,19,.36)}.legal-grid p{margin-bottom:0;font-size:.94rem}.legal-notice{margin-top:22px;border-left:2px solid var(--champagne);padding:18px 20px;background:rgba(200,164,106,.07);color:rgba(248,248,245,.78);border-radius:0 16px 16px 0}.legal-notice strong{color:var(--champagne-light)}.retention-list{display:grid;gap:12px;margin:22px 0 24px}.retention-list>div{display:grid;grid-template-columns:minmax(190px,.42fr) 1fr;gap:24px;padding:18px 0;border-bottom:1px solid rgba(200,164,106,.10)}.retention-list>div:last-child{border-bottom:0}.retention-list strong{color:var(--pearl)}.retention-list span{color:rgba(248,248,245,.68)}.legal-contact-card{padding:28px!important;border:1px solid rgba(200,164,106,.26)!important;border-radius:22px;background:radial-gradient(circle at top right,rgba(200,164,106,.13),transparent 50%),rgba(7,11,19,.40)}.legal-contact-card h2{margin-top:6px}@media(max-width:760px){.legal-grid{grid-template-columns:1fr}.retention-list>div{grid-template-columns:1fr;gap:7px}.legal-content{padding:26px 22px}.legal-meta{display:grid}}


/* Integrated client feedback */
.reviews-section { position: relative; }
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}
.review-card {
  border: 1px solid rgba(200,164,106,.18);
  border-radius: 24px;
  padding: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.016));
  min-height: 250px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 14px 44px rgba(0,0,0,.18);
}
.review-stars {
  color: var(--champagne-light);
  font-size: 1rem;
  letter-spacing: .14em;
  line-height: 1;
  margin-bottom: 20px;
}
.review-card p {
  margin: 0 0 24px;
  color: rgba(248,248,245,.76);
  font-size: .96rem;
  line-height: 1.72;
}
.review-author {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(200,164,106,.10);
  display: grid;
  gap: 2px;
}
.review-author strong { color: var(--pearl); font-size: .94rem; }
.review-author span { color: rgba(248,248,245,.48); font-size: .8rem; }
.reviews-placeholder-note {
  margin: 22px 0 0;
  color: rgba(248,248,245,.46);
  font-size: .78rem;
  line-height: 1.6;
}
.reviews-placeholder-note strong { color: rgba(224,193,132,.72); }

@media (max-width: 960px) {
  .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card { min-height: auto; }
}
