/* Dark Luxe — Final (no case studies), minimalist footer */
:root{
  --onyx:#0d0d0d; --charcoal:#121212; --ink:#eaeaea; --muted:#9b9b9b;
  --gold:#C9A574; --gold2:#D3B58F; --border: rgba(201,165,116,.28);
  --gold-grad: linear-gradient(100deg, #E5CFA6, #C9A574 55%, #D3B58F);
  --glass: rgba(18,18,18,0.55); --radius:18px;
  --shadow: 0 26px 56px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,165,116,0.06) inset;
}
*{box-sizing:border-box} html,body{margin:0;padding:0} html{scroll-behavior:smooth}
body{font-family: Manrope, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--ink);
  background: radial-gradient(1200px 700px at 50% -10%, #1a1a1a, var(--onyx) 50%); line-height: 1.65;}

.container{width:min(1180px,92%); margin-inline:auto}

/* Header */
.header{position:sticky; top:0; z-index:100; backdrop-filter: blur(10px);
  background: color-mix(in oklab, var(--charcoal) 86%, transparent); border-bottom: 1px solid var(--border); box-shadow: 0 10px 30px rgba(0,0,0,.35);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink)}
.logo-circle{width:28px; height:28px; border-radius:50%; background: var(--gold-grad); box-shadow: 0 0 18px rgba(211,181,143,.35)}
.wordmark{font-family:'Cormorant Garamond',serif; letter-spacing:2px; font-weight:700}
.nav-links{display:flex; align-items:center; gap:18px}
.nav-links a{color:var(--ink); text-decoration:none; font-weight:600; position:relative}
.nav-links a::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background: transparent; transition: .2s}
.nav-links a:hover::after{background: var(--gold);}
.nav-toggle{display:none; background:none; border:none; font-size:24px; color:var(--ink)}

/* Buttons */
.btn{display:inline-block; padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:700; transition:.2s ease box-shadow, .15s ease transform}
.btn-primary{background: var(--gold-grad); color:#0d0d0d; border:0; box-shadow: 0 20px 50px rgba(211,181,143,.16), 0 0 0 1px rgba(211,181,143,.25) inset;}
.btn-outline{border: 1px solid var(--gold); color: var(--ink); background: transparent} .btn-ghost{border:0; color: var(--ink); background: transparent}
.btn:hover{transform: translateY(-2px)}

/* Hero */
.hero{position:relative; padding:120px 0 96px; overflow:hidden}
.hero-bg{position:absolute; inset:0; z-index:-1; pointer-events:none}
.orb{position:absolute; width:520px; height:520px; border-radius:50%; filter: blur(34px); opacity:.32; background: #7b5f33}
.orb-1{top:-140px; left:-160px; background:#b08f5a} .orb-2{top:-180px; right:-200px; background:#7b5f33}
.orb-3{bottom:-180px; left:40%; width:640px; height:640px; background:#3b2f1a}
.display{font-family:'Cormorant Garamond',serif; font-size: clamp(36px, 6vw, 64px); line-height:1.05; margin:0 0 10px 0}
.glow{background: var(--gold-grad); -webkit-background-clip:text; background-clip:text; color: transparent; text-shadow: 0 0 24px rgba(211,181,143,.38)}
.fade{opacity:.9}
.lead{font-size: 18px; max-width: 70ch; color:#d8d8d8}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:14px}

/* Social Proof */
.social-proof{padding: 34px 0 10px}
.kicker{text-align:center; font-weight:700; letter-spacing:.6px; color: var(--muted)}
.logo-marquee{overflow:hidden; mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent)}
.logo-marquee .track{display:flex; gap:14px; padding: 10px 0; animation: marquee 20s linear infinite}
.logo-item{min-width:180px; height:64px; border-radius:12px; background: var(--glass); border: 1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:#aaa; box-shadow: var(--shadow); }
@keyframes marquee{ from{transform: translateX(0)} to{transform: translateX(-50%)} }

/* Pillars */
.pillars{padding: 72px 0}
.center{text-align:center} .sub{color:var(--muted); margin-top:-6px}
.pillar-grid{display:grid; grid-template-columns: repeat(3,1fr); gap:16px; margin-top:18px}
.card{background: color-mix(in oklab, var(--charcoal) 80%, transparent); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 22px; box-shadow: var(--shadow); backdrop-filter: blur(6px); transform: translateY(8px); transition: transform .25s ease, box-shadow .25s ease;}
.card:hover{transform: translateY(0); box-shadow: 0 28px 60px rgba(0,0,0,.6)}
.card .n{font-family:'Cormorant Garamond',serif; font-weight:700; background: var(--gold-grad); -webkit-background-clip:text; color: transparent}

/* Sections */
.section{padding: 72px 0}

/* FINAL Minimal Footer */
.footer-min{border-top: 1px solid var(--border); background: radial-gradient(900px 400px at 50% 0%, #1a1a1a, #101010); padding: 36px 0 56px}
.foot-min-inner{display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px}
.footer-min .brandline{font-family:'Cormorant Garamond',serif; font-weight:700; letter-spacing:1.5px; font-size: clamp(20px, 2.6vw, 28px);
  background: var(--gold-grad); -webkit-background-clip:text; background-clip:text; color: transparent;}
.footer-min .tag{font-weight:600}
.footer-min .contact-block{color: var(--gold); font-size: clamp(16px, 2.1vw, 20px); line-height:1.6; margin-top:6px}
.footer-min .contact-block .row{opacity:.95}
.footer-min .smallprint{color: var(--muted); margin-top:8px; font-size: 14px}

/* Forms */
.form-grid{display:grid; grid-template-columns: repeat(2,1fr); gap:16px}
.field.full{grid-column:1/-1}
label{display:block; font-weight:600; margin-bottom:8px}
input,select,textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid #2a2a2a; background:#0f0f0f; color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,165,116,.18)}

/* Reveal */
.reveal{opacity:0; transform: translateY(14px)}
.reveal.is-visible{opacity:1; transform: translateY(0); transition: opacity .6s ease, transform .6s ease}

/* Responsive */
@media (max-width: 980px){ .pillar-grid{grid-template-columns: 1fr 1fr} }
@media (max-width: 640px){
  .nav-links{position: fixed; inset: 64px 0 auto 0; display:none; background: #141414; border-bottom:1px solid var(--border); padding: 16px 24px; box-shadow: var(--shadow)}
  .nav-links a{display:block; padding:12px 4px} .nav-toggle{display:block}
  .pillar-grid{grid-template-columns: 1fr} .form-grid{grid-template-columns:1fr}
}


/* Expanded Home Sections */
.feature-grid{display:grid; grid-template-columns: repeat(3,1fr); gap:16px; margin-top:18px}
.feature p{color:#cfcfcf}
.cap-grid{display:grid; grid-template-columns: repeat(3,1fr); gap:16px; margin-top:18px}
.steps{display:grid; grid-template-columns: repeat(4,1fr); gap:16px; margin-top:18px}
.step{position:relative; background: color-mix(in oklab, var(--charcoal) 80%, transparent); border:1px solid var(--border); border-radius: var(--radius); padding:22px; box-shadow: var(--shadow)}
.step .badge{position:absolute; top:-12px; left:-12px; background: var(--gold-grad); color:#0d0d0d; font-weight:800; border-radius:999px; padding:6px 10px; box-shadow: 0 10px 30px rgba(211,181,143,.22)}
.industry-grid{display:grid; grid-template-columns: repeat(3,1fr); gap:16px; margin-top:18px}
.stat-grid{display:grid; grid-template-columns: repeat(4,1fr); gap:16px}
.stat-card{background: color-mix(in oklab, var(--charcoal) 80%, transparent); border:1px solid var(--border); border-radius: var(--radius); padding:22px; text-align:center; box-shadow: var(--shadow)}
.stat-card .num{font-family:'Cormorant Garamond',serif; font-size: clamp(36px, 4.8vw, 58px); background: var(--gold-grad); -webkit-background-clip:text; color:transparent; line-height:1}
.stat-card .lbl{color: var(--muted)}
.logo-row{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:12px}
.pill{border:1px solid var(--border); border-radius:999px; padding:8px 14px; color:#e0e0e0; background: color-mix(in oklab, var(--charcoal) 80%, transparent)}
.faq-list details summary{cursor:pointer; font-weight:700}
.faq-list details div{margin-top:10px; color:#d6d6d6}
.contact-strip{background: linear-gradient(180deg, rgba(201,165,116,.14), transparent)}
@media (max-width: 1100px){
  .feature-grid{grid-template-columns: 1fr 1fr}
  .cap-grid{grid-template-columns: 1fr 1fr}
  .steps{grid-template-columns: 1fr 1fr}
  .stat-grid{grid-template-columns: 1fr 1fr}
}
@media (max-width: 640px){
  .feature-grid,.cap-grid,.steps,.industry-grid{grid-template-columns: 1fr}
  .stat-grid{grid-template-columns: 1fr}
}

/* Typography refinements for denser editorial look */
.container.narrow { width:min(860px, 92%); }
.prose { max-width: 72ch; margin-inline:auto; text-align:center; }
.prose p { margin: 0 0 12px; color: #d8d8d8; }
h1,h2,h3 { letter-spacing: 0.3px; }
/* Centered (middle) layout blocks */
.section.centered .container { width:min(900px,92%); }
/* Image style */
.figure { margin: 18px auto; text-align:center; }
.figure img { width: 100%; max-width: 940px; border-radius: 16px; border:1px solid var(--border); box-shadow: var(--shadow); }
.caption { color: var(--muted); font-size: 14px; margin-top: 6px; }
/* Service deep dives grid */
.deep-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-top:18px }
@media (max-width: 980px){ .deep-grid{grid-template-columns: 1fr} }
.metric { display:flex; gap:8px; align-items:center; color:#d4d4d4; }
.metric .dot { width:8px; height:8px; border-radius:50%; background: var(--gold); display:inline-block }
.models { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:16px; margin-top: 16px }
.models .card p { margin: 6px 0 0; color: #cfcfcf }
@media (max-width: 980px){ .models{grid-template-columns:1fr} }
/* Testimonials */
.testimonials { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-top:18px }
@media (max-width: 980px){ .testimonials{grid-template-columns:1fr} }
blockquote.quote { margin:0; }
blockquote.quote p { font-size: 18px; color:#e8e8e8 }
blockquote.quote footer { color: var(--muted); margin-top:8px }


/* === Centered Luxe Layout: global centering across pages === */
.container{width:min(1100px,92%); margin-inline:auto}
h1, h2, h3, .center, .prose{ text-align:center }
.prose{ max-width: 72ch; margin-inline:auto }
.cta-row{ justify-content:center }
.pillar-grid, .feature-grid, .cap-grid, .deep-grid, .industry-grid, .testimonials, .stat-grid, .models{
  justify-items: center; align-items: start;
}
.pillar-grid > .card, .feature-grid > .card, .cap-grid > .card, .deep-grid > .card, .industry-grid > .card, .testimonials > .card, .models > .card{
  width: 100%;
}
/* Contact page form centering */
form.card{ width:min(860px, 100%); margin-inline:auto }
