/* =========================================================================
   DAACLAY INVESTMENTS — THEME STYLESHEET
   Ported 1:1 from the original React/Tailwind design system.
   ========================================================================= */

:root {
  --dc-dark: #050D18;
  --dc-navy: #0A1628;
  --dc-navy-light: #10243E;
  --dc-navy-card: #0D1F35;
  --dc-header: #071324;
  --dc-gold: #C8A97E;
  --dc-gold-light: #DFBA84;
  --dc-gold-lighter: #E5C79E;
  --dc-gold-deep: #9E763B;
  --dc-gold-deepest: #AD8754;
  --dc-sand: #F5EFEB;
  --dc-surface: #F8FAFC;
  --dc-white: #FFFFFF;
  --dc-slate-900: #0F172A;
  --dc-slate-700: #334155;
  --dc-slate-600: #475569;
  --dc-slate-300: #CBD5E1;
  --dc-slate-200: #E2E8F0;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: 'Cinzel', Georgia, serif;
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body.daaclay-theme {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--dc-slate-900);
  background: var(--dc-dark);
  margin: 0;
}
body.daaclay-theme h1, body.daaclay-theme h2, body.daaclay-theme h3,
body.daaclay-theme h4, body.daaclay-theme h5, body.daaclay-theme h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}
body.daaclay-theme img { max-width: 100%; display: block; }
body.daaclay-theme a { text-decoration: none; color: inherit; }
body.daaclay-theme button { font-family: inherit; cursor: pointer; }
.dc-container { max-width: 1280px; margin: 0 auto; padding: 0 1.25rem; }
@media (min-width: 640px) { .dc-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .dc-container { padding: 0 2rem; } }
.dc-section { padding: 6rem 0; position: relative; overflow: hidden; }
.dc-section--tight { padding: 4rem 0; }
.dc-section--dark { background: var(--dc-header); color: #fff; }
.dc-section--navy { background: var(--dc-navy); color: #fff; }
.dc-section--white { background: #fff; color: var(--dc-slate-900); border-bottom: 1px solid var(--dc-slate-200); }
.dc-section--surface { background: var(--dc-surface); color: var(--dc-slate-900); border-top: 1px solid var(--dc-slate-200); }
.dc-section--gradient { background: linear-gradient(to bottom, #071324, #0A1E38, #071324); color: #fff; }

.dc-hidden-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:-9999px; top:0; background:#fff; color:#000; padding:10px 16px; z-index:9999; }
.skip-link:focus { left:10px; top:10px; }

/* ---------- Text utilities ---------- */
.dc-gold-text { background: linear-gradient(135deg, #FFF8EC 0%, #E5C79E 35%, #C8A97E 70%, #AD8754 100%); -webkit-background-clip: text; background-clip:text; -webkit-text-fill-color: transparent; }
.dc-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .4rem 1rem; border-radius: 999px;
  background: rgba(200,169,126,.12); border: 1px solid rgba(200,169,126,.3);
  color: var(--dc-gold-light); font-weight: 700; font-size: .8125rem;
  letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem;
}
.dc-eyebrow--light { background: #F1F5F9; border-color: #E2E8F0; color: var(--dc-gold-deep); }
.dc-h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.15; letter-spacing: -.02em; margin-bottom: 1rem; }
.dc-lede { font-size: 1.0625rem; line-height: 1.7; max-width: 720px; }
.dc-center { text-align: center; margin-left: auto; margin-right: auto; }
.dc-section-head { max-width: 760px; margin: 0 auto 3.5rem; text-align: center; }
.dc-section-head .dc-lede { margin-left: auto; margin-right: auto; }
.dc-muted { color: var(--dc-slate-600); }
.dc-on-dark .dc-lede, .dc-section--dark .dc-lede, .dc-section--navy .dc-lede, .dc-section--gradient .dc-lede { color: #CBD5E1; font-weight: 300; }

/* ---------- Buttons ---------- */
.dc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: 1rem 1.75rem; border-radius: .85rem; font-weight: 800; font-size: .875rem;
  letter-spacing: .04em; border: 1px solid transparent; transition: all .3s ease;
}
.dc-btn:hover { transform: translateY(-1px); }
.dc-btn-gold { background: linear-gradient(90deg,#DFBA84,#FFF4E0,#C8A97E,#DFBA84); background-size: 200% auto; color: var(--dc-dark); text-transform: uppercase; box-shadow: 0 10px 30px -8px rgba(200,169,126,.45); }
.dc-btn-gold:hover { background-position: right center; }
.dc-btn-dark { background: var(--dc-slate-900); color: #fff; }
.dc-btn-dark:hover { background:#1e293b; }
.dc-btn-ghost { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.2); backdrop-filter: blur(8px); }
.dc-btn-ghost:hover { background: rgba(255,255,255,.14); }
.dc-btn-outline { background: transparent; color: var(--dc-gold-deep); border-color: var(--dc-gold-deep); }
.dc-btn-outline:hover { background: rgba(200,169,126,.08); }
.dc-btn-block { width: 100%; }
.dc-btn-row { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.dc-btn-row.dc-center-row { justify-content: center; }

/* ---------- Cards / glass panels ---------- */
.dc-glass {
  background: rgba(10,22,40,.78); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(200,169,126,.22); border-radius: 1.25rem; transition: all .35s cubic-bezier(.16,1,.3,1);
}
.dc-glass:hover { background: rgba(15,34,62,.92); border-color: rgba(223,186,132,.5); box-shadow: 0 20px 48px -12px rgba(0,0,0,.65), 0 0 28px -5px rgba(200,169,126,.25); transform: translateY(-4px); }
.dc-card-light { background:#fff; border:1px solid var(--dc-slate-200); border-radius:1.25rem; transition: all .3s ease; }
.dc-card-light:hover { border-color: var(--dc-gold); box-shadow: 0 20px 40px -18px rgba(15,23,42,.25); }

/* ---------- Header / Nav ---------- */
.dc-header { position: fixed; top:0; left:0; right:0; z-index:100000; padding: 1.1rem 0; background-color: #071324 !important; background: #071324; border-bottom: 1px solid rgba(200,169,126,.25); transition: padding .3s ease, box-shadow .3s ease; }
.dc-header.is-scrolled, .dc-header.mega-open { padding: .8rem 0; box-shadow: 0 20px 40px -20px rgba(0,0,0,.6); }
/* Push page content below the fixed header on every page (not just the hero, which supplies its own top padding). */
body.daaclay-theme { padding-top: 78px; }
body.daaclay-theme .dc-hero { margin-top: -78px; }
@media (min-width: 1024px) { body.daaclay-theme { padding-top: 84px; } body.daaclay-theme .dc-hero { margin-top: -84px; } }
.dc-header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.dc-logo { display:flex; align-items:center; gap:.75rem; }
.dc-logo svg { flex-shrink:0; }
.dc-logo-word { font-family: var(--font-heading); font-weight: 800; font-size:1.15rem; letter-spacing:.02em; color:#ffffff !important; line-height:1.1; }
.dc-logo-word span { color: var(--dc-gold-light) !important; display:block; font-size:.65rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; margin-top:.15rem; }
.dc-nav { display:none; align-items:center; gap:.25rem; }
.dc-nav-link { padding:.6rem .85rem; border-radius:.6rem; font-size:.9rem; font-weight:700; color:#ffffff !important; display:inline-flex; align-items:center; gap:.35rem; opacity:1; text-decoration:none; }
.dc-nav-link:hover, .dc-nav-link.is-active { color: var(--dc-gold-light) !important; background: rgba(255,255,255,.08); }
.dc-nav-actions .dc-btn-ghost { color: #ffffff !important; }
.dc-nav-actions .dc-btn-gold { color: var(--dc-dark) !important; }
.dc-nav-actions { display:none; align-items:center; gap:.75rem; }
.dc-nav-mobile-actions { display:flex; align-items:center; gap:.5rem; }
.dc-icon-btn { padding:.6rem; border-radius:.7rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#ffffff !important; font-size:1.1rem; line-height:1; }

.dc-mega { display:none; position:absolute; left:0; right:0; top:100%; background-color:#071324 !important; border-bottom:1px solid rgba(200,169,126,.3); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); }
.dc-mega.is-open { display:block; }
.dc-mega-inner { padding: 2rem 0; }
.dc-mega-grid-3 { display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; }
.dc-mega-card { padding:1.25rem; border-radius:1rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.dc-mega-card:hover { background:rgba(255,255,255,.09); border-color: rgba(223,186,132,.4); }
.dc-mega-card img { width:100%; height:130px; object-fit:cover; border-radius:.75rem; margin-bottom:.75rem; }
.dc-mega-card h4 { color:#fff; font-size:1rem; margin-bottom:.35rem; }
.dc-mega-card p { color:#cbd5e1; font-size:.8125rem; margin:0; }

.dc-mobile-drawer { display:none; position:fixed; inset: 78px 0 0 0; background-color:#071324 !important; z-index: 99999; padding:1.5rem; overflow-y:auto; }
.dc-mobile-drawer.is-open { display:flex; flex-direction:column; justify-content:space-between; }
.dc-mobile-link { display:flex; align-items:center; justify-content:space-between; padding:1rem; border-radius:.85rem; color:#ffffff !important; font-size:1.05rem; font-weight:600; text-decoration:none; }
.dc-mobile-link.is-active { background: rgba(200,169,126,.18); color: var(--dc-gold-light); font-weight:700; }

@media (min-width: 1024px) {
  .dc-nav, .dc-nav-actions { display:flex; }
  .dc-nav-mobile-actions { display:none; }
}

/* ---------- Hero ---------- */
.dc-hero { position:relative; min-height: 92vh; display:flex; flex-direction:column; justify-content:space-between; padding: 8.5rem 0 3rem; background: var(--dc-dark); color:#fff; overflow:hidden; }
.dc-hero-bg { position:absolute; inset:0; z-index:0; }
.dc-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.25; transform: scale(1.05); }
.dc-hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(5,13,24,.97), rgba(5,13,24,.9), rgba(10,22,40,.82)); }
.dc-hero-body { position:relative; z-index:2; }
.dc-hero-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
.dc-hero-badge { display:inline-flex; align-items:center; gap:.6rem; padding:.55rem 1.1rem; border-radius:999px; background:rgba(16,36,62,.9); border:1px solid rgba(200,169,126,.3); font-size:.8125rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--dc-gold-lighter); margin-bottom:1.5rem; }
.dc-hero-title { font-size: clamp(2.25rem, 5.5vw, 4.75rem); line-height:1.1; font-weight:800; margin-bottom:1.25rem; }
.dc-hero-title span { display:block; }
.dc-hero-sub { font-size: 1.125rem; color:#e2e8f0; font-weight:300; max-width: 640px; line-height:1.65; margin-bottom:1.75rem; }
.dc-hero-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); }
.dc-hero-trust p:first-child { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; font-weight:600; margin-bottom:.15rem; }
.dc-hero-trust p:last-child { font-size:1.05rem; font-weight:700; color:#fff; }
.dc-hero-card { background:rgba(10,22,40,.95); backdrop-filter:blur(20px); border-radius:1.75rem; padding:1.75rem; border:1px solid rgba(200,169,126,.3); box-shadow: 0 30px 70px -20px rgba(0,0,0,.8); }
.dc-hero-tabs { display:flex; border-radius:1rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); padding:.25rem; margin-bottom:1.5rem; }
.dc-hero-tab { flex:1; padding:.7rem; border:none; background:transparent; border-radius:.75rem; font-size:.8125rem; font-weight:700; color:#cbd5e1; }
.dc-hero-tab.is-active { background: var(--dc-navy-light); color: var(--dc-gold-light); border:1px solid rgba(223,186,132,.3); }
.dc-hero-metrics { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; padding:1rem; border-radius:1rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); margin: 1rem 0; }
.dc-hero-metrics span { display:block; }
.dc-hero-metrics .lbl { font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; font-weight:600; }
.dc-hero-metrics .val { font-size:1.05rem; font-weight:700; color:var(--dc-gold-light); }
.dc-hero-features { display:flex; flex-direction:column; gap:.6rem; margin: 1rem 0; }
.dc-hero-features li { list-style:none; display:flex; align-items:center; gap:.5rem; font-size:.875rem; color:#e2e8f0; }
.dc-ticker { position:relative; z-index:2; margin-top: 3rem; background:rgba(10,22,40,.95); border-top:1px solid rgba(200,169,126,.2); border-bottom:1px solid rgba(200,169,126,.2); padding: .9rem 0; }
.dc-ticker-inner { display:flex; flex-wrap:wrap; gap:1.25rem; align-items:center; justify-content:space-between; font-size:.8125rem; color:#cbd5e1; }
.dc-ticker-live { display:inline-flex; align-items:center; gap:.5rem; color:var(--dc-gold-light); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.dc-ticker-dot { width:.6rem; height:.6rem; border-radius:999px; background:#34d399; animation: dc-pulse 2s infinite; }
.dc-ticker-items { display:flex; flex-wrap:wrap; gap:1.25rem; }

@media (min-width: 1024px) {
  .dc-hero-grid { grid-template-columns: 7fr 5fr; }
}

/* ---------- Split content ---------- */
.dc-split { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
.dc-split.dc-split-reverse .dc-split-media { order:-1; }
.dc-split-feature-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin: 1.5rem 0; }
.dc-split-feature { padding:1.15rem; border-radius:1rem; background:#f8fafc; border:1px solid var(--dc-slate-200); }
.dc-split-feature h4 { font-size:1rem; color:var(--dc-slate-900); margin: .35rem 0; display:flex; align-items:center; gap:.5rem; }
.dc-split-feature p { font-size:.875rem; color:var(--dc-slate-600); margin:0; line-height:1.55; }
.dc-split-media { position:relative; }
.dc-split-media img { width:100%; height:420px; object-fit:cover; border-radius:1.5rem; border:1px solid var(--dc-slate-200); }
.dc-split-media-tag { position:absolute; top:1rem; left:1rem; background:rgba(255,255,255,.92); padding:.5rem 1rem; border-radius:999px; font-size:.75rem; font-weight:700; }
.dc-split-float { position:absolute; bottom:-2rem; left:1rem; right:1rem; background:#fff; border-radius:1.25rem; padding:1.5rem; border:1px solid var(--dc-slate-200); box-shadow: 0 30px 60px -20px rgba(15,23,42,.35); }
@media (min-width: 1024px) {
  .dc-split { grid-template-columns: 7fr 5fr; gap:4rem; }
  .dc-split-feature-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- Dual panel (Vision / Mission) ---------- */
.dc-dual-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
.dc-dual-card { position:relative; overflow:hidden; padding: 2.25rem; }
.dc-dual-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--dc-gold-light), var(--dc-gold), transparent); }
.dc-dual-head { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom: 1.5rem; }
.dc-dual-icon { padding:1rem; border-radius:1rem; background:rgba(200,169,126,.15); border:1px solid rgba(200,169,126,.3); color:var(--dc-gold-light); flex-shrink:0; }
.dc-dual-card h3 { font-size:1.5rem; color:#fff; margin: .25rem 0; }
.dc-dual-card .dc-eyebrow { margin-bottom:.35rem; }
.dc-dual-card p { color:#cbd5e1; font-weight:300; line-height:1.7; }
.dc-dual-list { display:grid; grid-template-columns:1fr; gap:.5rem; padding-top:1.25rem; margin-top:1.25rem; border-top:1px solid rgba(255,255,255,.1); }
.dc-dual-list li { list-style:none; display:flex; gap:.5rem; align-items:flex-start; font-size:.8125rem; color:#cbd5e1; }
@media (min-width:1024px) { .dc-dual-grid { grid-template-columns: 1fr 1fr; } .dc-dual-list { grid-template-columns:1fr 1fr; } }

/* ---------- Icon grid ---------- */
.dc-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:640px) { .dc-grid-2 { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px) {
  .dc-grid-3 { grid-template-columns:repeat(3,1fr); }
  .dc-grid-4 { grid-template-columns:repeat(4,1fr); }
}
.dc-icard { padding:1.75rem; display:flex; flex-direction:column; justify-content:space-between; }
.dc-icard-icon { width:3.1rem; height:3.1rem; border-radius:.9rem; display:flex; align-items:center; justify-content:center; background:rgba(200,169,126,.14); color:var(--dc-gold-light); margin-bottom:1.1rem; }
.dc-icard h3 { font-size:1.15rem; margin-bottom:.6rem; }
.dc-icard p { font-size:.875rem; line-height:1.6; margin:0; }
.dc-icard-foot { margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; }
.dc-section--white .dc-icard, .dc-section--surface .dc-icard { color: var(--dc-slate-700); }
.dc-section--white .dc-icard h3, .dc-section--surface .dc-icard h3 { color: var(--dc-slate-900); }
.dc-section--dark .dc-icard p, .dc-section--navy .dc-icard p, .dc-section--gradient .dc-icard p { color:#cbd5e1; font-weight:300; }
.dc-section--dark .dc-icard h3, .dc-section--navy .dc-icard h3, .dc-section--gradient .dc-icard h3 { color:#fff; }

/* ---------- Stats ---------- */
.dc-stat-card { background: rgba(5,13,24,.8); border:1px solid rgba(200,169,126,.3); border-radius:1.5rem; padding:1.75rem; }
.dc-stat-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.dc-stat-icon { padding:.7rem; border-radius:.9rem; background:var(--dc-navy-light); color:var(--dc-gold-light); border:1px solid rgba(200,169,126,.3); }
.dc-stat-number { font-family: var(--font-heading); font-size:2.5rem; font-weight:900; color:#fff; }
.dc-stat-label { font-size:1.05rem; font-weight:700; color:#f1f5f9; margin-top:.35rem; }
.dc-stat-sub { font-size:.8125rem; color:#cbd5e1; margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.1); line-height:1.55; }

/* ---------- Timeline ---------- */
.dc-timeline-item { padding:1.75rem; }
.dc-timeline-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.dc-timeline-num { font-family: var(--font-heading); font-size:1.75rem; font-weight:900; color: var(--dc-gold-deepest); }
.dc-timeline-item.on-dark .dc-timeline-num { color: var(--dc-gold-light); opacity:.5; }

/* ---------- Opportunities / cards grid ---------- */
.dc-opp-card { border-radius:1.5rem; overflow:hidden; display:flex; flex-direction:column; }
.dc-opp-media { position:relative; height:220px; }
.dc-opp-media img { width:100%; height:100%; object-fit:cover; }
.dc-opp-badge { position:absolute; top:1rem; left:1rem; background:rgba(7,19,36,.9); border:1px solid rgba(200,169,126,.3); color:var(--dc-gold-light); font-size:.75rem; font-weight:700; padding:.4rem .8rem; border-radius:.6rem; }
.dc-opp-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.dc-opp-body h3 { font-size:1.2rem; margin-bottom:.5rem; }
.dc-opp-body p { font-size:.875rem; color:#cbd5e1; font-weight:300; line-height:1.6; flex:1; }
.dc-opp-foot { margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; font-size:.8125rem; font-weight:700; color:var(--dc-gold-light); }

/* ---------- Marquee ---------- */
.dc-marquee-wrap { overflow:hidden; position:relative; padding: 1.5rem 0; }
.dc-marquee-track { display:flex; width:200%; animation: dc-marquee 32s linear infinite; }
.dc-marquee-track:hover { animation-play-state: paused; }
.dc-marquee-item { flex:0 0 auto; display:flex; align-items:center; gap:.75rem; padding: 1rem 2rem; white-space:nowrap; }
.dc-marquee-item .emoji { font-size:1.5rem; }
.dc-marquee-item .txt strong { display:block; font-size:.9375rem; color:#fff; }
.dc-marquee-item .txt small { display:block; font-size:.75rem; color:#94a3b8; }
@keyframes dc-marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ---------- Testimonials ---------- */
.dc-testi-track { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:1024px) { .dc-testi-track { grid-template-columns:repeat(3,1fr); } }
.dc-testi-card { padding:1.75rem; }
.dc-testi-quote { font-size:.9375rem; line-height:1.7; font-style:italic; margin-bottom:1.25rem; }
.dc-testi-who { display:flex; align-items:center; gap:.75rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); }
.dc-testi-who img { width:2.75rem; height:2.75rem; border-radius:999px; object-fit:cover; }
.dc-testi-who strong { display:block; font-size:.875rem; }
.dc-testi-who span { display:block; font-size:.75rem; color:#94a3b8; }

/* ---------- Insights ---------- */
.dc-insight-card { border-radius:1.5rem; overflow:hidden; display:flex; flex-direction:column; }
.dc-insight-card img { width:100%; height:190px; object-fit:cover; }
.dc-insight-body { padding:1.5rem; }
.dc-insight-meta { display:flex; gap:.75rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color: var(--dc-gold-deep); margin-bottom:.6rem; }
.dc-insight-body h3 { font-size:1.1rem; margin-bottom:.5rem; }
.dc-insight-body p { font-size:.875rem; color:var(--dc-slate-600); line-height:1.6; }

/* ---------- FAQ accordion ---------- */
.dc-faq-list { max-width: 820px; margin: 0 auto; display:flex; flex-direction:column; gap:.85rem; }
.dc-faq-item { border-radius:1rem; overflow:hidden; }
.dc-faq-q { width:100%; text-align:left; padding:1.25rem 1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; background:transparent; border:none; color:inherit; font-size:.9375rem; font-weight:700; }
.dc-faq-q .plus { transition: transform .25s ease; flex-shrink:0; }
.dc-faq-item.is-open .dc-faq-q .plus { transform: rotate(45deg); }
.dc-faq-a { max-height:0; overflow:hidden; transition: max-height .3s ease; padding: 0 1.5rem; }
.dc-faq-item.is-open .dc-faq-a { max-height: 600px; padding-bottom:1.25rem; }
.dc-faq-a p { font-size:.875rem; line-height:1.65; margin:0; color: var(--dc-slate-600); }
.dc-section--dark .dc-faq-a p, .dc-section--navy .dc-faq-a p { color:#cbd5e1; }
.dc-faq-cat { display:inline-block; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:var(--dc-gold-deep); font-weight:700; margin-bottom:.35rem; }

/* ---------- CTA banner ---------- */
.dc-cta { text-align:center; }
.dc-cta-inner { max-width: 720px; margin:0 auto; position:relative; z-index:2; }
.dc-cta h2 { margin-bottom:1.25rem; }
.dc-cta p { margin-bottom:1.75rem; }
.dc-cta .dc-fine { font-size:.75rem; color:#94a3b8; margin-top:1rem; }

/* ---------- Team ---------- */
.dc-team-card { overflow:hidden; }
.dc-team-photo { height:260px; overflow:hidden; }
.dc-team-photo img { width:100%; height:100%; object-fit:cover; }
.dc-team-body { padding:1.5rem; }
.dc-team-body h3 { font-size:1.1rem; margin-bottom:.15rem; }
.dc-team-role { color: var(--dc-gold-light); font-size:.8125rem; font-weight:700; margin-bottom:.75rem; }
.dc-section--white .dc-team-role, .dc-section--surface .dc-team-role { color: var(--dc-gold-deep); }
.dc-team-body p { font-size:.8125rem; line-height:1.6; color:#cbd5e1; }
.dc-section--white .dc-team-body p, .dc-section--surface .dc-team-body p { color: var(--dc-slate-600); }
.dc-team-loc { display:flex; align-items:center; gap:.4rem; font-size:.75rem; color:#94a3b8; margin-top:.75rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.08); }

/* ---------- Contact ---------- */
.dc-contact-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:1024px) { .dc-contact-grid { grid-template-columns: 5fr 7fr; } }
.dc-contact-info { padding:2rem; }
.dc-contact-row { display:flex; gap:1rem; align-items:flex-start; padding: .9rem 0; border-top:1px solid rgba(255,255,255,.08); }
.dc-contact-row:first-of-type { border-top:none; }
.dc-contact-row .ic { padding:.65rem; border-radius:.75rem; background:rgba(200,169,126,.15); color:var(--dc-gold-light); flex-shrink:0; }
.dc-contact-row strong { display:block; font-size:.9375rem; }
.dc-contact-row span { display:block; font-size:.75rem; color:#94a3b8; }
.dc-social-row { display:flex; gap:.6rem; padding-top:1rem; margin-top:.5rem; border-top:1px solid rgba(255,255,255,.08); }
.dc-social-row a { width:2.5rem; height:2.5rem; border-radius:.7rem; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#e2e8f0; }
.dc-form { padding:2rem; }
.dc-form-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:640px) { .dc-form-grid.cols-2 { grid-template-columns:1fr 1fr; } }
.dc-field { display:flex; flex-direction:column; gap:.4rem; }
.dc-field label { font-size:.8125rem; font-weight:700; color:#e2e8f0; }
.dc-section--white .dc-field label, .dc-section--surface .dc-field label { color: var(--dc-slate-800, #1e293b); }
.dc-field input, .dc-field select, .dc-field textarea {
  width:100%; padding:.85rem 1rem; border-radius:.75rem; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); color:#fff; font-family:inherit; font-size:.9375rem;
}
.dc-section--white .dc-field input, .dc-section--white .dc-field select, .dc-section--white .dc-field textarea,
.dc-section--surface .dc-field input, .dc-section--surface .dc-field select, .dc-section--surface .dc-field textarea {
  background:#fff; border-color: var(--dc-slate-200); color: var(--dc-slate-900);
}
.dc-field textarea { min-height:130px; resize:vertical; }
.dc-form-note { font-size:.75rem; color:#94a3b8; margin-top:1rem; }
.dc-form-success { text-align:center; padding:2rem; }

/* ---------- Tabs (hubs / corridors) ---------- */
.dc-tabs-grid { display:grid; grid-template-columns:1fr; gap:2rem; align-items:stretch; }
@media (min-width:1024px) { .dc-tabs-grid { grid-template-columns: 5fr 7fr; } }
.dc-tabs-list { display:flex; flex-direction:column; gap:1rem; }
.dc-tab-trigger { width:100%; text-align:left; padding:1.5rem; border-radius:1.5rem; border:1px solid var(--dc-slate-200); background:#fff; display:flex; align-items:center; justify-content:space-between; }
.dc-tab-trigger.is-active { background: var(--dc-navy); border-color: var(--dc-gold); color:#fff; }
.dc-tab-trigger h3 { font-size:1.1rem; margin:0; }
.dc-tab-trigger p { margin:.25rem 0 0; font-size:.8125rem; color: var(--dc-slate-600); }
.dc-tab-trigger.is-active p { color: var(--dc-gold-light); }
.dc-tab-panel { background:#fff; border:1px solid var(--dc-slate-200); border-radius:1.5rem; padding:2rem; height:100%; }
.dc-tab-panel .badge { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--dc-gold-deep); }
.dc-tab-panel h3 { font-size:1.5rem; margin:.35rem 0 1rem; }
.dc-tab-mandate { background: var(--dc-surface); border:1px solid var(--dc-slate-200); border-radius:1rem; padding:1rem; margin-bottom:1rem; }
.dc-tab-mandate span { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:#64748b; font-weight:700; display:block; margin-bottom:.25rem;}
.dc-tab-hl { display:flex; flex-direction:column; gap:.5rem; margin: 1rem 0; }
.dc-tab-hl li { list-style:none; display:flex; gap:.5rem; align-items:flex-start; font-size:.875rem; }

/* ---------- Interactive tools (simulator / wizard / register / quote / deal room) ---------- */
.dc-tool-panel { background:#fff; border:1px solid var(--dc-slate-200); border-radius:1.5rem; padding:2rem; }
.dc-section--dark .dc-tool-panel, .dc-section--navy .dc-tool-panel, .dc-section--gradient .dc-tool-panel { background: var(--dc-navy-card); border-color: rgba(200,169,126,.25); color:#fff; }
.dc-slider-row { margin-bottom: 1.75rem; }
.dc-slider-row .head { display:flex; justify-content:space-between; margin-bottom:.5rem; font-size:.875rem; font-weight:700; }
.dc-slider-row .head .v { color: var(--dc-gold-deep); }
.dc-section--dark .dc-slider-row .head .v, .dc-section--navy .dc-slider-row .head .v { color: var(--dc-gold-light); }
.dc-slider-row input[type=range] { width:100%; accent-color: var(--dc-gold-deep); }
.dc-alloc-summary { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.5rem; }
.dc-alloc-summary .cell { background: var(--dc-surface); border-radius:1rem; padding:1rem; text-align:center; }
.dc-section--dark .dc-alloc-summary .cell, .dc-section--navy .dc-alloc-summary .cell { background: rgba(255,255,255,.05); }
.dc-alloc-summary .cell .n { font-size:1.4rem; font-weight:900; font-family: var(--font-heading); }
.dc-alloc-summary .cell .l { font-size:.75rem; color:#64748b; }

.dc-wizard-steps { display:flex; gap:.4rem; margin-bottom:1.75rem; }
.dc-wizard-steps .dot { height:.4rem; flex:1; border-radius:999px; background: var(--dc-slate-200); }
.dc-wizard-steps .dot.is-done { background: var(--dc-gold-deep); }
.dc-section--dark .dc-wizard-steps .dot, .dc-section--navy .dc-wizard-steps .dot { background: rgba(255,255,255,.12); }
.dc-section--dark .dc-wizard-steps .dot.is-done, .dc-section--navy .dc-wizard-steps .dot.is-done { background: var(--dc-gold-light); }
.dc-wizard-step { display:none; }
.dc-wizard-step.is-active { display:block; }
.dc-wizard-option { width:100%; text-align:left; padding:1rem 1.25rem; border-radius:1rem; border:1px solid var(--dc-slate-200); margin-bottom:.6rem; background:transparent; color:inherit; font-size:.9375rem; font-weight:600; }
.dc-wizard-option.is-selected { border-color: var(--dc-gold-deep); background: rgba(200,169,126,.1); }
.dc-wizard-nav { display:flex; justify-content:space-between; margin-top:1.5rem; gap:1rem; }
.dc-wizard-result { text-align:center; padding: 1.5rem 0; }
.dc-wizard-result .badge { display:inline-block; padding:.5rem 1.25rem; border-radius:999px; font-weight:800; font-size:.8125rem; text-transform:uppercase; margin-bottom:1rem; }
.dc-wizard-result .badge.ok { background:#dcfce7; color:#166534; }
.dc-wizard-result .badge.no { background:#fee2e2; color:#991b1b; }

.dc-register-form fieldset { border:none; padding:0; margin:0; }
.dc-register-progress { font-size:.75rem; color:#94a3b8; text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-bottom:.75rem; }
.dc-chip-group { display:flex; flex-wrap:wrap; gap:.6rem; }
.dc-chip { padding:.6rem 1.1rem; border-radius:999px; border:1px solid var(--dc-slate-200); font-size:.8125rem; font-weight:700; background:transparent; color:inherit; }
.dc-chip.is-selected { background: var(--dc-gold-deep); border-color: var(--dc-gold-deep); color:#fff; }
.dc-section--dark .dc-chip, .dc-section--navy .dc-chip { border-color: rgba(255,255,255,.2); }
.dc-register-success { text-align:center; padding:2.5rem; }
.dc-register-success .code { font-family: var(--font-heading); font-size:1.5rem; font-weight:800; color: var(--dc-gold-deep); }

.dc-drawer-trigger-wrap { text-align:center; }
.dc-drawer-overlay { position:fixed; inset:0; background:rgba(5,13,24,.7); z-index:2000; display:none; }
.dc-drawer-overlay.is-open { display:block; }
.dc-drawer { position:fixed; top:0; right:0; bottom:0; width:100%; max-width:480px; background:#0A1628; color:#fff; z-index:2001; transform:translateX(100%); transition: transform .35s ease; padding:2rem; overflow-y:auto; }
.dc-drawer.is-open { transform:translateX(0); }
.dc-modal-overlay { position:fixed; inset:0; background:rgba(5,13,24,.75); z-index:2000; display:none; align-items:center; justify-content:center; padding:1.5rem; }
.dc-modal-overlay.is-open { display:flex; }
.dc-modal { background:#fff; color:var(--dc-slate-900); border-radius:1.5rem; max-width:560px; width:100%; padding:2rem; max-height:88vh; overflow-y:auto; position:relative; }
.dc-modal-close { position:absolute; top:1rem; right:1rem; background:var(--dc-surface); border-radius:999px; padding:.5rem; }

/* ---------- Legal / long-form content ---------- */
.dc-legal-content h2 { font-size:1.5rem; margin: 2rem 0 1rem; color:#fff; }
.dc-legal-content p, .dc-legal-content li { color:#cbd5e1; font-size:.9375rem; line-height:1.75; }
.dc-legal-content ul { padding-left:1.25rem; }

/* ---------- Footer ---------- */
.dc-footer { background: var(--dc-dark); color:#cbd5e1; padding: 4.5rem 0 2rem; border-top:1px solid rgba(200,169,126,.2); }
.dc-footer-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; margin-bottom:3rem; }
@media (min-width:768px) { .dc-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.dc-footer h4, .dc-footer h5 { color:#fff; margin-bottom:1rem; }
.dc-footer h5 { font-size:.8125rem; text-transform:uppercase; letter-spacing:.08em; color: var(--dc-gold-light); }
.dc-footer ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; font-size:.875rem; }
.dc-footer ul a:hover { color:#fff; }
.dc-footer-bottom { padding-top:2rem; border-top:1px solid rgba(255,255,255,.1); text-align:center; font-size:.75rem; color:#64748b; }
.dc-footer-social { display:flex; gap:.6rem; margin-top:1rem; }
.dc-footer-social a { width:2.25rem; height:2.25rem; border-radius:.6rem; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }

/* ---------- Back to top ---------- */
.dc-back-top { position:fixed; bottom:1.5rem; right:1.5rem; width:3rem; height:3rem; border-radius:999px; background: var(--dc-gold-deep); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 25px rgba(0,0,0,.35); opacity:0; pointer-events:none; transition: opacity .3s ease; z-index:900; }
.dc-back-top.is-visible { opacity:1; pointer-events:auto; }

/* ---------- Animations ---------- */
@keyframes dc-pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
@keyframes dc-float { 0%,100% { transform:translateY(0);} 50% { transform:translateY(-8px);} }
.dc-float { animation: dc-float 4s ease-in-out infinite; }

/* ---------- Extra small-screen polish ---------- */
@media (max-width: 480px) {
  .dc-section, .dc-section--tight { padding: 3.25rem 0; }
  .dc-hero { padding-top: 7rem; min-height: auto; }
  .dc-hero-trust { grid-template-columns: 1fr 1fr; row-gap: 1rem; }
  .dc-ticker-inner { justify-content: flex-start; }
  .dc-btn { width: 100%; }
  .dc-btn-row:not(.dc-nav-actions):not(.dc-nav-mobile-actions) { flex-direction: column; align-items: stretch; }
  .dc-form-grid.cols-2 { grid-template-columns: 1fr; }
  .dc-logo-word { font-size: 1rem; }
}
@media (max-width: 640px) {
  .dc-h2 { font-size: clamp(1.65rem, 7vw, 2.25rem); }
  .dc-mega { display: none !important; }
}

/* ---------- Elementor editor niceties ---------- */
.elementor-editor-active .dc-mobile-drawer,
.elementor-editor-active .dc-mega { display: block !important; position: static !important; transform:none !important; }

/* ---------- Defensive resets so Elementor's own section/column chrome
   never adds visible padding/max-width around our full-bleed sections ---------- */
.elementor-section.dc-elementor-row,
body.daaclay-theme .elementor-section { margin: 0; }
body.daaclay-theme .elementor-section.elementor-section-full_width > .elementor-container { max-width: 100%; padding: 0; margin: 0; }
body.daaclay-theme .elementor-widget-wrap,
body.daaclay-theme .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
body.daaclay-theme .elementor-widget:not(:last-child) { margin-bottom: 0; }
body.daaclay-theme .elementor-element { --e-column-margin-right: 0; --e-column-margin-left: 0; }
