@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root { --atlas-midnight:#0B1D3A; --atlas-gold:#C9A227; --atlas-cream:#FDFBF7; --atlas-ink:#16243d; --atlas-line:rgba(11,29,58,.12); }
html, body { font-family:'DM Sans', Montserrat, sans-serif !important; background:var(--atlas-cream) !important; color:var(--atlas-ink); }
h1,h2,h3,h4,.font-serif { font-family:'Playfair Display', Georgia, serif !important; letter-spacing:-.02em; }
body:before { content:''; position:fixed; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(circle at 85% -10%,rgba(201,162,39,.11),transparent 28rem), radial-gradient(circle at -10% 40%,rgba(11,29,58,.06),transparent 30rem); }
nav, header { border-color:var(--atlas-line) !important; box-shadow:0 12px 36px rgba(11,29,58,.07) !important; }
.bg-primary-600, .bg-primary-700, .bg-primary-800, .bg-primary-900, .bg-green-500, .bg-green-600 { background-color:var(--atlas-midnight) !important; }
.text-primary-600, .text-primary-700, .text-primary-800, .text-green-600, .text-green-700 { color:var(--atlas-midnight) !important; }
.border-primary-200, .border-primary-300, .border-primary-500, .border-primary-600 { border-color:rgba(201,162,39,.42) !important; }
.text-primary-400, .text-primary-500, .text-yellow-500, .text-yellow-600 { color:var(--atlas-gold) !important; }
.bg-primary-50, .bg-primary-100, .hover\:bg-primary-50:hover { background-color:rgba(201,162,39,.10) !important; }
.from-primary-500, .from-primary-600 { --tw-gradient-from:var(--atlas-midnight) !important; }
.to-primary-600, .to-primary-700 { --tw-gradient-to:var(--atlas-gold) !important; }
button, a[class*="bg-primary"], a[class*="bg-green"] { border-radius:999px !important; }
.rounded-2xl, .rounded-3xl { border-radius:1.35rem !important; }
.shadow-xl, .shadow-2xl { box-shadow:0 18px 48px rgba(11,29,58,.12) !important; }
[class*="bg-white"] { border-color:var(--atlas-line) !important; }
.dark body, .dark { background:#08162c !important; color:#f7f4eb; }
.dark .bg-gray-900, .dark .bg-gray-800 { background-color:#0B1D3A !important; }
.dark .bg-gray-50, .dark .bg-gray-100 { background-color:#102a52 !important; }
.dark .text-gray-900, .dark .text-gray-800 { color:#FDFBF7 !important; }
.dark .text-gray-600, .dark .text-gray-700 { color:#c6d0df !important; }
/* Public pages */
.hero-atlas, [class*="hero"] { isolation:isolate; }
/* Dashboard/admin: refined rail, less rounded card grid, gold active accent. */
aside { background:linear-gradient(180deg,#0B1D3A 0%,#102a52 100%) !important; border-right:1px solid rgba(201,162,39,.3) !important; }
aside a { border-radius:.8rem !important; }
aside a.bg-primary-600, aside a[class*="from-primary"] { background:linear-gradient(135deg,#C9A227,#a98012) !important; color:#0B1D3A !important; box-shadow:0 10px 24px rgba(201,162,39,.2) !important; }
main { background:transparent !important; }
/* Image treatment */
img[src*="atlas-"] { object-fit:cover; filter:saturate(.92) contrast(1.03); }
@media (max-width: 768px) { h1 { font-size:clamp(2.2rem,9vw,4rem) !important; } nav { backdrop-filter:blur(18px); } }
/* Atlas landing composition */
.atlas-landing nav { background:rgba(253,251,247,.86) !important; }
.atlas-landing > section:first-of-type { min-height:clamp(620px,86vh,860px) !important; }
.atlas-landing > section:first-of-type > div:first-child img { transform:scale(1.03); filter:saturate(.72) contrast(1.08); }
.atlas-landing > section:first-of-type h1 { font-size:clamp(3.2rem,7vw,7.6rem) !important; line-height:.94 !important; max-width:760px; }
.atlas-landing > section:first-of-type h1 + p { max-width:560px; }
.atlas-landing main { max-width:1440px !important; }
.atlas-landing main > section { position:relative; }
.atlas-principle-card { transition:transform .25s ease, box-shadow .25s ease; }
.atlas-principle-card:hover { transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,29,58,.16); }
/* Customer dashboard composition */
.atlas-dashboard { background:#f3f1eb !important; }
.atlas-dashboard > div > div.flex-1 { background:#f3f1eb !important; }
.atlas-dashboard header { background:rgba(253,251,247,.88) !important; padding:1.05rem clamp(1.25rem,3vw,2.5rem) !important; }
.atlas-dashboard main { background:transparent !important; }
.atlas-command-action { display:inline-flex; align-items:center; gap:.55rem; border:1px solid rgba(201,162,39,.45); border-radius:999px; padding:.72rem 1rem; font-size:.78rem; font-weight:700; color:#FDFBF7; background:rgba(255,255,255,.08); transition:all .2s ease; }
.atlas-command-action:hover { background:#C9A227; color:#0B1D3A; transform:translateY(-2px); }
.atlas-command-center + div > div { max-width:1500px; margin-inline:auto; }
.atlas-dashboard .bg-gray-50, .atlas-dashboard .dark\\:bg-gray-900 { background-color:transparent !important; }
/* Explicit contrast guardrails: custom light surfaces must switch with the dark theme. */
.dark .atlas-dashboard,
.dark .atlas-dashboard > div > div.flex-1 { background:#08162c !important; }
.dark .atlas-dashboard header { background:rgba(11,29,58,.94) !important; border-color:rgba(201,162,39,.28) !important; }
.dark .atlas-dashboard header h1,
.dark .atlas-dashboard header .text-gray-900,
.dark .atlas-dashboard header button { color:#FDFBF7 !important; }
.dark .atlas-dashboard header p,
.dark .atlas-dashboard header .text-gray-500,
.dark .atlas-dashboard header .text-gray-600 { color:#cbd5e1 !important; }
.dark .atlas-dashboard header button.bg-gray-50 { background:rgba(255,255,255,.08) !important; }
.dark .atlas-landing nav { background:rgba(11,29,58,.96) !important; border-color:rgba(201,162,39,.3) !important; }
.dark .atlas-landing nav a,
.dark .atlas-landing nav button,
.dark .atlas-landing nav .text-gray-700,
.dark .atlas-landing nav .text-gray-600,
.dark .atlas-landing nav .text-gray-500 { color:#FDFBF7 !important; }
.dark .atlas-landing nav .text-gray-400 { color:#cbd5e1 !important; }
.dark .atlas-landing main { background:#08162c !important; }
.dark .atlas-landing .atlas-principle-card.bg-white { background:#102a52 !important; border-color:rgba(201,162,39,.28) !important; }
.dark .atlas-landing .atlas-principle-card.bg-white h3 { color:#FDFBF7 !important; }
.dark .atlas-landing .atlas-principle-card.bg-white p { color:#cbd5e1 !important; }
@media (max-width: 768px) { .atlas-landing > section:first-of-type h1 { font-size:clamp(3rem,16vw,5rem) !important; } .atlas-command-center { padding-top:1rem !important; } .atlas-command-action { padding:.62rem .78rem; } }
