/* ═══════════════════════════════════════════════════════════════
   Mighty Atoms — Design System
   Aubergine: #46214a  |  Magenta: #cc438a
   Pearl: #FDFBFD      |  Midnight: #1A0A1C
   Font: Inter (all weights)
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --aubergine:       #46214a;
  --aubergine-light: #5d2d62;
  --magenta:         #cc438a;
  --magenta-light:   #d85d9f;
  --pearl:           #FDFBFD;
  --midnight:        #1A0A1C;
  --radius:          0.75rem;
  --shadow-sm:       0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:       0 4px 20px rgba(70,33,74,0.08);
  --shadow-lg:       0 20px 80px rgba(70,33,74,0.12);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:18px; }
body { font-family:'Inter',system-ui,sans-serif; background:var(--pearl); color:var(--midnight); line-height:1.6; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font-family:'Inter',sans-serif; border:none; background:none; }
main { min-height:60vh; }

/* Scrollbar */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:#f0f0f0; }
::-webkit-scrollbar-thumb { background:var(--aubergine); border-radius:3px; }

/* ── Typography ─────────────────────────────────────────────── */
.font-display { font-weight:700; letter-spacing:-0.03em; font-family:'Inter',sans-serif; }
.text-gradient {
  background:linear-gradient(135deg,var(--magenta),var(--aubergine-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ── Animations ─────────────────────────────────────────────── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
@keyframes fadeLeft { from{opacity:0;transform:translateX(-30px)} to{opacity:1;transform:none} }
@keyframes spin     { to{transform:rotate(360deg)} }
@keyframes pulse    { 0%,100%{opacity:1} 50%{opacity:.6} }
@keyframes ticker   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes glowPulse{ 0%,100%{box-shadow:0 0 20px rgba(204,67,138,0.3)} 50%{box-shadow:0 0 40px rgba(204,67,138,0.6)} }
@keyframes drawLine { from{stroke-dashoffset:1000} to{stroke-dashoffset:0} }
@keyframes orbitRing{ to{transform:rotate(360deg)} }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.reveal.left  { transform:translateX(-30px); }
.reveal.right { transform:translateX(30px); }
.reveal.active{ opacity:1; transform:none; }
.reveal-d1 { transition-delay:.1s; } .reveal-d2 { transition-delay:.2s; }
.reveal-d3 { transition-delay:.3s; } .reveal-d4 { transition-delay:.4s; }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn-magenta {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem; border-radius:50px; background:var(--magenta);
  color:#fff; font-weight:600; font-size:.875rem; letter-spacing:.04em;
  text-transform:uppercase; transition:transform .25s,box-shadow .25s;
  animation:glowPulse 2s ease-in-out infinite;
}
.btn-magenta:hover { transform:scale(1.05); }
.btn-outline-white {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem; border-radius:50px;
  border:1px solid rgba(255,255,255,.25); color:#fff;
  font-weight:600; font-size:.875rem; letter-spacing:.04em;
  text-transform:uppercase; transition:border-color .25s,transform .25s;
}
.btn-outline-white:hover { border-color:rgba(255,255,255,.6); transform:scale(1.02); }
.btn-aubergine {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem; border-radius:50px; background:var(--aubergine);
  color:#fff; font-weight:600; font-size:.875rem; letter-spacing:.04em;
  text-transform:uppercase; transition:transform .25s;
}
.btn-aubergine:hover { transform:scale(1.05); }

/* ── Navbar ─────────────────────────────────────────────────── */
.scroll-progress {
  position:fixed; top:0; left:0; right:0; z-index:60;
  height:2px;
  background:linear-gradient(90deg,var(--magenta),var(--aubergine-light));
  transform-origin:left;
  transition:width .15s;
}
.navbar {
  position:fixed; top:2px; left:0; right:0; z-index:50;
  transition:background .5s ease, backdrop-filter .5s ease, box-shadow .5s ease;
}
.navbar.scrolled {
  background:rgba(70,33,74,.95); backdrop-filter:blur(20px);
  box-shadow:0 4px 30px rgba(0,0,0,.2);
}
.nav-inner { max-width:1280px; margin:0 auto; padding:1rem 1.5rem; display:flex; align-items:center; justify-content:space-between; }
.nav-logo img { height:36px; width:auto; }
.nav-links { display:none; align-items:center; gap:2rem; }
@media(min-width:768px){ .nav-links { display:flex; } }
.nav-link {
  font-size:.875rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.8); transition:color .25s;
}
.nav-link:hover,.nav-link.active { color:var(--magenta); }
.nav-cta {
  padding:.625rem 1.25rem; border-radius:50px; background:var(--magenta);
  color:#fff; font-size:.8125rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; transition:transform .2s;
}
.nav-cta:hover { transform:scale(1.05); }
.nav-toggle { display:flex; padding:.5rem; color:#fff; }
@media(min-width:768px){ .nav-toggle { display:none; } }
.nav-mobile {
  background:var(--aubergine); border-top:1px solid rgba(255,255,255,.1);
  padding:1.5rem; flex-direction:column; gap:1.25rem;
  display:none; max-height:0; overflow:hidden; transition:max-height .35s ease;
}
.nav-mobile.open { display:flex; max-height:400px; }
.nav-mobile-link { font-size:1.125rem; font-weight:500; color:rgba(255,255,255,.8); transition:color .2s; }
.nav-mobile-link:hover { color:var(--magenta); }
.nav-mobile-cta {
  text-align:center; padding:.75rem 1.5rem; border-radius:50px; background:var(--magenta);
  color:#fff; font-size:.875rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
}

/* ── Section Helpers ─────────────────────────────────────────── */
.section-lg { padding:8rem 1.5rem; }
.section-md { padding:5rem 1.5rem; }
@media(max-width:768px){ .section-lg { padding:4rem 1.5rem; } }
.container { max-width:1280px; margin:0 auto; }

/* ── Hero ─────────────────────────────────────────────────────── */
.hero {
  position:relative; min-height:100vh; display:flex; align-items:center;
  background:var(--aubergine); overflow:hidden;
}
.hero-orbit {
  position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.05);
}
.hero-content { position:relative; z-index:10; max-width:1280px; margin:0 auto; padding:8rem 1.5rem 4rem; width:100%; }
.hero-grid { display:grid; grid-template-columns:1fr; gap:4rem; align-items:center; }
@media(min-width:1024px){ .hero-grid { grid-template-columns:1fr 1fr; } }
.hero-tag {
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:2rem;
  padding:.375rem 1rem; border-radius:50px; border:1px solid rgba(255,255,255,.2);
  font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6);
}
.hero-tag-dot { width:6px; height:6px; border-radius:50%; background:var(--magenta); flex-shrink:0; }
.hero h1 {
  font-size:clamp(3rem,8vw,6rem); font-weight:700; letter-spacing:-0.03em;
  color:#fff; line-height:1.05; margin-bottom:2rem;
}
.hero-underline {
  position:relative; display:inline-block;
}
.hero-underline::after {
  content:''; position:absolute; bottom:4px; left:0; right:0; height:2px;
  background:var(--magenta); transform-origin:left; transform:scaleX(0);
  transition:transform .8s .8s ease;
}
.hero-underline.drawn::after { transform:scaleX(1); }
.hero p { font-size:1.25rem; color:rgba(255,255,255,.65); line-height:1.75; margin-bottom:2.5rem; max-width:38rem; }
.hero-btns { display:flex; flex-wrap:wrap; gap:1rem; }
.hero-stats { display:flex; gap:2.5rem; margin-top:4rem; padding-top:2.5rem; border-top:1px solid rgba(255,255,255,.1); flex-wrap:wrap; }
.hero-stat-val { font-size:2rem; font-weight:700; color:#fff; margin-bottom:.25rem; }
.hero-stat-label { font-size:.6875rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.4); }

/* Hero graphic */
.hero-graphic { display:none; align-items:center; justify-content:center; }
@media(min-width:1024px){ .hero-graphic { display:flex; } }
.nucleus-wrap { position:relative; width:420px; height:420px; }
.nucleus-center {
  position:absolute; top:50%; left:50%; width:96px; height:96px;
  border-radius:50%; transform:translate(-50%,-50%);
  background:radial-gradient(circle,var(--magenta) 0%,var(--aubergine-light) 100%);
  box-shadow:0 0 60px rgba(204,67,138,.4);
  display:flex; align-items:center; justify-content:center;
  animation:glowPulse 2s ease-in-out infinite;
}
.nucleus-center img { width:56px; height:56px; object-fit:contain; filter:brightness(0) invert(1); }
.orbit-ring {
  position:absolute; top:50%; left:50%; border-radius:50%;
  border:1px solid rgba(255,255,255,.1); transform:translate(-50%,-50%);
}
.orbit-float {
  position:absolute; left:50%; top:50%;
  padding:.375rem 1rem; border-radius:50px; font-size:.75rem; font-weight:600;
  background:rgba(70,33,74,.8); backdrop-filter:blur(10px);
  animation:float 3s ease-in-out infinite;
}

/* ── Trusted By ticker ───────────────────────────────────────── */
.trusted { background:var(--midnight); padding:3.5rem 0; overflow:hidden; }
.trusted-label { text-align:center; font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:2.5rem; }
.ticker-wrap { position:relative; }
.ticker-fade-l,.ticker-fade-r {
  position:absolute; top:0; bottom:0; z-index:10; width:6rem; pointer-events:none;
}
.ticker-fade-l { left:0; background:linear-gradient(to right,var(--midnight),transparent); }
.ticker-fade-r { right:0; background:linear-gradient(to left,var(--midnight),transparent); }
.ticker-track {
  display:flex; align-items:center; gap:4rem;
  animation:ticker 30s linear infinite; width:max-content;
}
.ticker-track img { height:40px; width:auto; object-fit:contain; opacity:.6; transition:opacity .3s; flex-shrink:0; }
.ticker-track img:hover { opacity:1; }

/* ── Problem / Solution ──────────────────────────────────────── */
.problem-grid { display:grid; grid-template-columns:1fr; gap:5rem; align-items:start; }
@media(min-width:1024px){ .problem-grid { grid-template-columns:1fr 1fr; } }
.eyebrow { font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; color:var(--magenta); margin-bottom:1rem; display:block; }
.problem-stat {
  margin-top:3rem; padding:2rem 2.5rem; border-radius:1rem;
  background:var(--aubergine); color:#fff;
}
.problem-stat .num { font-size:3.5rem; font-weight:700; color:var(--magenta); line-height:1; margin-bottom:.5rem; }
.problem-stat p { color:rgba(255,255,255,.7); font-size:.9375rem; line-height:1.7; }
.check-list,.x-list { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.check-list li,.x-list li {
  display:flex; align-items:flex-start; gap:.875rem; padding:1rem 1.25rem;
  border-radius:.75rem; font-size:.9375rem; color:#374151;
}
.check-list li { background:rgba(204,67,138,.05); border:1px solid rgba(204,67,138,.1); }
.x-list    li { background:rgba(70,33,74,.04); }
.check-list li svg { color:var(--magenta); flex-shrink:0; margin-top:.1rem; }
.x-list    li svg { color:var(--magenta); flex-shrink:0; margin-top:.1rem; }

/* ── Services Grid ───────────────────────────────────────────── */
.services-section { background:var(--aubergine); }
.services-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media(min-width:768px){ .services-grid { grid-template-columns:1fr 1fr; } }
.service-card {
  border-radius:1rem; overflow:hidden; cursor:pointer;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(20px); transition:background .3s, transform .2s;
}
.service-card.featured { border-color:rgba(204,67,138,.5); }
.service-card:hover { transform:scale(1.01); background:rgba(255,255,255,.09); }
.service-card-header { padding:2rem; }
.service-icon-wrap {
  width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.1); margin-bottom:1.5rem;
}
.service-icon-wrap.featured { background:var(--magenta); }
.service-icon-wrap svg { color:#fff; }
.service-card-name { font-size:1.25rem; font-weight:700; color:#fff; }
.service-card-popular { font-size:.6875rem; letter-spacing:.15em; text-transform:uppercase; color:var(--magenta); margin-top:.25rem; }
.service-card-price { font-size:.875rem; font-weight:600; color:#fff; text-align:right; }
.service-card-note { font-size:.6875rem; color:rgba(255,255,255,.4); }
.service-card-overview { color:rgba(255,255,255,.7); font-size:.9375rem; margin-bottom:1rem; }
.service-card-toggle { display:flex; align-items:center; justify-content:space-between; }
.service-card-toggle span { font-size:.875rem; color:rgba(255,255,255,.4); }
.service-card-toggle svg { color:rgba(255,255,255,.4); transition:transform .3s; }
.service-card.open .service-card-toggle svg { transform:rotate(180deg); }
.service-card-details {
  max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.23,1,.32,1), opacity .4s;
  opacity:0; border-top:1px solid rgba(255,255,255,.1);
}
.service-card.open .service-card-details { max-height:300px; opacity:1; }
.service-card-details-inner { padding:1.5rem 2rem 2rem; }
.service-card-details-inner p { color:rgba(255,255,255,.7); line-height:1.8; margin-bottom:1.5rem; }
.services-note { text-align:center; font-size:.875rem; color:rgba(255,255,255,.3); margin-top:2rem; }

/* Services page (accordion on pearl bg) */
.service-row {
  border-radius:1rem; overflow:hidden; cursor:pointer;
  background:#fff; border:1px solid rgba(70,33,74,.1);
  transition:box-shadow .3s;
}
.service-row.featured { border:2px solid var(--magenta); }
.service-row.open { box-shadow:0 20px 60px rgba(70,33,74,.1); }
.service-row-header { padding:2rem 2.5rem; display:flex; align-items:center; gap:1.5rem; }
@media(max-width:639px){ .service-row-header { flex-direction:column; align-items:flex-start; } }
.service-row-icon {
  width:64px; height:64px; border-radius:1rem; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(70,33,74,.08);
}
.service-row-icon.featured { background:var(--magenta); }
.service-row-icon svg { color:var(--aubergine); }
.service-row-icon.featured svg { color:#fff; }
.service-row-name { font-size:1.5rem; font-weight:700; color:var(--midnight); }
.service-row-overview { color:#6b7280; font-size:.9375rem; margin-top:.25rem; }
.service-row-pricing { font-size:1.25rem; font-weight:700; color:var(--aubergine); }
.service-row-pricing-note { font-size:.75rem; color:#9ca3af; }
.service-row-chevron { color:var(--magenta); transition:transform .3s; }
.service-row.open .service-row-chevron { transform:rotate(180deg); }
.service-row-body {
  max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.23,1,.32,1), opacity .3s;
  opacity:0; border-top:1px solid rgba(70,33,74,.06);
}
.service-row.open .service-row-body { max-height:500px; opacity:1; }
.service-row-body-inner { padding:2rem 2.5rem 2.5rem; display:grid; gap:2rem; }
@media(min-width:768px){ .service-row-body-inner { grid-template-columns:1fr 1fr; } }
.service-row-price-box { padding:1.5rem; border-radius:1rem; background:rgba(70,33,74,.04); }

/* ── Testimonials ─────────────────────────────────────────────── */
.testimonials-section { background:var(--pearl); }
.testimonials-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px){ .testimonials-grid { grid-template-columns:repeat(3,1fr); } }
.testimonial-card {
  padding:2rem; border-radius:1rem; cursor:pointer;
  transition:all .3s;
}
.testimonial-card.inactive { background:#fff; border:1px solid rgba(70,33,74,.08); box-shadow:0 4px 20px rgba(0,0,0,.04); }
.testimonial-card.active   { background:var(--aubergine); border-color:transparent; box-shadow:0 20px 60px rgba(70,33,74,.2); }
.testimonial-card:hover { transform:translateY(-4px); }
.testimonial-quote { width:2rem; height:2rem; margin-bottom:1.5rem; }
.testimonial-card.inactive .testimonial-quote { color:rgba(70,33,74,.2); }
.testimonial-card.active   .testimonial-quote { color:var(--magenta); }
.testimonial-text { font-size:.9375rem; line-height:1.75; margin-bottom:2rem; }
.testimonial-card.inactive .testimonial-text { color:#4b5563; }
.testimonial-card.active   .testimonial-text { color:rgba(255,255,255,.8); }
.testimonial-author { font-size:.875rem; font-weight:600; }
.testimonial-card.inactive .testimonial-author { color:#111827; }
.testimonial-card.active   .testimonial-author { color:#fff; }
.testimonial-role { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; margin-top:.25rem; }
.testimonial-card.inactive .testimonial-role { color:#9ca3af; }
.testimonial-card.active   .testimonial-role { color:rgba(255,255,255,.5); }

/* ── Lead Capture / Home CTA ─────────────────────────────────── */
.lead-section {
  background:linear-gradient(135deg,var(--midnight) 0%,var(--aubergine) 100%);
  text-align:center;
}
.hurdle-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin:2rem 0; }
@media(min-width:768px){ .hurdle-grid { grid-template-columns:repeat(3,1fr); } }
.hurdle-btn {
  padding:2rem; border-radius:1rem; text-align:left;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  color:#fff; transition:border-color .25s, transform .2s;
}
.hurdle-btn:hover { border-color:var(--magenta); transform:scale(1.03); }
.hurdle-emoji { font-size:2.5rem; margin-bottom:1rem; display:block; }
.hurdle-label { font-size:1.0625rem; font-weight:500; line-height:1.3; }
.lead-form-wrap {
  padding:2.5rem; border-radius:1.5rem;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  max-width:640px; margin:0 auto;
}
.lead-selected {
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1.5rem;
  padding:.5rem 1rem; border-radius:50px;
  background:rgba(204,67,138,.15); color:var(--magenta); font-size:.875rem;
}
.glass-input {
  width:100%; padding:1rem 1.25rem; border-radius:.75rem;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  color:#fff; font-size:1rem; font-family:'Inter',sans-serif;
  transition:border-color .2s; outline:none;
}
.glass-input::placeholder { color:rgba(255,255,255,.3); }
.glass-input:focus { border-color:var(--magenta); }

/* ── Case Studies ─────────────────────────────────────────────── */
.case-card {
  display:grid; grid-template-columns:1fr; border-radius:1.5rem; overflow:hidden;
  box-shadow:0 20px 80px rgba(70,33,74,.08);
}
@media(min-width:1024px){ .case-card { grid-template-columns:2fr 3fr; } }
.case-metric {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:3rem; text-align:center;
}
.case-metric-val { font-size:5rem; font-weight:900; color:var(--magenta); line-height:1; letter-spacing:-0.03em; }
.case-metric-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.6); margin-top:.5rem; }
.case-metric-badge {
  margin-top:1.5rem; padding:.5rem 1rem; border-radius:50px;
  border:1px solid rgba(255,255,255,.2); font-size:.75rem; color:rgba(255,255,255,.8);
}
.case-content { background:#fff; padding:3.5rem; }
.case-meta { display:flex; align-items:center; gap:.75rem; margin-bottom:2rem; }
.case-industry { font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:#9ca3af; }
.case-dot { width:4px; height:4px; border-radius:50%; background:#d1d5db; }
.case-client { font-size:.875rem; font-weight:600; color:var(--aubergine); }
.case-challenge { font-size:1.75rem; font-weight:700; color:var(--midnight); line-height:1.25; margin-bottom:1.5rem; }
.case-solution { color:#6b7280; font-size:.9375rem; line-height:1.75; }
.case-testimonial { margin-top:2rem; padding-top:2rem; border-top:1px solid rgba(70,33,74,.08); }
.case-quote-icon { color:var(--magenta); margin-bottom:1rem; }
.case-quote { color:#4b5563; font-style:italic; line-height:1.75; margin-bottom:1rem; }
.case-author { font-size:.875rem; font-weight:600; color:var(--aubergine); }

/* ── Blog ─────────────────────────────────────────────────────── */
.blog-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:768px){ .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .blog-grid { grid-template-columns:repeat(3,1fr); } }
.blog-card {
  background:#fff; border-radius:1rem; overflow:hidden;
  border:1px solid rgba(70,33,74,.08); box-shadow:0 4px 24px rgba(0,0,0,.04);
  transition:transform .3s, box-shadow .3s; display:block;
}
.blog-card:hover { transform:scale(0.98); filter:saturate(1.2); }
.blog-card-img { aspect-ratio:16/9; overflow:hidden; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:1.5rem; }
.blog-cat {
  display:inline-block; font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase;
  font-weight:600; padding:.25rem .75rem; border-radius:50px;
  background:rgba(204,67,138,.1); color:var(--magenta); margin-bottom:.875rem;
}
.blog-card-title { font-size:1.125rem; font-weight:700; color:var(--midnight); line-height:1.3; margin-bottom:.625rem; }
.blog-card-excerpt { font-size:.875rem; color:#6b7280; line-height:1.65; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-card-meta { display:flex; align-items:center; gap:.5rem; font-size:.75rem; color:#9ca3af; margin-bottom:.75rem; }
.blog-card-more { display:inline-flex; align-items:center; gap:.375rem; font-size:.875rem; font-weight:600; color:var(--magenta); margin-top:1rem; transition:gap .2s; }
.blog-card:hover .blog-card-more { gap:.625rem; }

.blog-cats { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:3.5rem; }
.blog-cat-btn {
  padding:.625rem 1.25rem; border-radius:50px; font-size:.875rem; font-weight:500;
  cursor:pointer; transition:all .2s;
}
.blog-cat-btn.active   { background:var(--aubergine); color:#fff; border-color:transparent; }
.blog-cat-btn.inactive { background:#fff; color:var(--aubergine); border:1px solid rgba(70,33,74,.15); }

/* Blog post page */
.post-hero { width:100%; border-radius:1rem; box-shadow:var(--shadow-lg); margin-bottom:2.5rem; }
.post-content { max-width:768px; margin:0 auto; }
.post-meta { display:flex; align-items:center; gap:1rem; font-size:.875rem; color:#6b7280; margin-bottom:1rem; flex-wrap:wrap; }
.post-title { font-size:clamp(2rem,5vw,3.25rem); font-weight:700; letter-spacing:-0.03em; color:var(--midnight); line-height:1.1; margin-bottom:2rem; }
.prose { color:#374151; line-height:1.875; font-size:1.0625rem; }
.prose h2,.prose h3 { font-weight:700; color:var(--midnight); letter-spacing:-0.02em; margin:2rem 0 1rem; }
.prose h2 { font-size:1.75rem; }
.prose h3 { font-size:1.375rem; }
.prose p { margin-bottom:1.25rem; }
.prose ul,.prose ol { padding-left:1.5rem; margin-bottom:1.25rem; }
.prose li { margin-bottom:.5rem; }
.prose strong { color:var(--midnight); font-weight:600; }
.prose a { color:var(--magenta); text-decoration:underline; }
.prose blockquote { border-left:3px solid var(--magenta); padding-left:1.25rem; font-style:italic; color:#6b7280; margin:1.5rem 0; }

/* ── Contact Page ─────────────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr; gap:5rem; }
@media(min-width:1024px){ .contact-grid { grid-template-columns:2fr 3fr; } }
.contact-form-wrap {
  background:#fff; padding:2.5rem; border-radius:1.5rem;
  box-shadow:0 20px 80px rgba(70,33,74,.08); border:1px solid rgba(70,33,74,.06);
}
.contact-form-input {
  width:100%; padding:.875rem 1rem; border-radius:.75rem;
  border:1px solid rgba(70,33,74,.15); background:var(--pearl);
  font-size:.9375rem; font-family:'Inter',sans-serif; color:var(--midnight);
  outline:none; transition:border-color .2s;
}
.contact-form-input:focus { border-color:var(--magenta); }
.form-label { font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; color:#9ca3af; display:block; margin-bottom:.5rem; }
.hurdle-choice {
  display:flex; align-items:center; gap:1rem; padding:1rem;
  border-radius:.75rem; cursor:pointer; transition:all .2s;
  border:1px solid rgba(70,33,74,.12); text-align:left;
}
.hurdle-choice.selected { border-color:var(--magenta); background:rgba(204,67,138,.06); }
.service-pill {
  padding:.5rem 1rem; border-radius:50px; font-size:.875rem; font-weight:500;
  cursor:pointer; transition:all .2s;
  background:rgba(70,33,74,.06); color:var(--aubergine); border:1px solid rgba(70,33,74,.12);
}
.service-pill.selected { background:var(--aubergine); color:#fff; border-color:transparent; }
.contact-check { display:flex; align-items:center; gap:.75rem; }
.contact-check svg { color:var(--magenta); flex-shrink:0; }

/* ── Page hero (inner pages) ─────────────────────────────────── */
.page-hero { min-height:55vh; display:flex; align-items:flex-end; padding-bottom:5rem; padding-top:10rem; padding-left:1.5rem; padding-right:1.5rem; position:relative; }
.page-hero-inner { max-width:1280px; margin:0 auto; width:100%; }
.page-eyebrow { display:block; font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--magenta); margin-bottom:1.5rem; }
.page-title { font-size:clamp(3.5rem,9vw,7rem); font-weight:700; letter-spacing:-0.03em; color:#fff; line-height:1.02; }

/* ── Footer ──────────────────────────────────────────────────── */
.site-footer { background:var(--midnight); color:#fff; }
.footer-inner { max-width:1280px; margin:0 auto; padding:5rem 1.5rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:768px){ .footer-grid { grid-template-columns:1.5fr 1fr 1fr; } }
@media(min-width:1024px){ .footer-grid { grid-template-columns:2fr 1fr 1fr 1fr; } }
.footer-logo { height:40px; width:auto; margin-bottom:1.5rem; }
.footer-desc { font-size:.9375rem; color:rgba(255,255,255,.6); line-height:1.75; max-width:280px; }
.footer-social { display:flex; gap:1rem; margin-top:2rem; }
.footer-social-btn {
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); transition:border-color .2s,color .2s;
}
.footer-social-btn:hover { border-color:var(--magenta); color:var(--magenta); }
.footer-col-title { font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.4); font-weight:500; margin-bottom:1.5rem; }
.footer-link { display:block; font-size:.9375rem; color:rgba(255,255,255,.6); margin-bottom:.75rem; transition:color .2s; }
.footer-link:hover { color:#fff; }
.footer-bottom {
  margin-top:4rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.1);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
}
.footer-copy { font-size:.75rem; color:rgba(255,255,255,.3); }
.footer-bottom-links { display:flex; align-items:center; gap:1.5rem; }
.footer-bottom-link { font-size:.75rem; color:rgba(255,255,255,.3); transition:color .2s; }
.footer-bottom-link:hover { color:rgba(255,255,255,.7); }
.footer-admin-btn { color:rgba(255,255,255,.2); transition:color .2s; }
.footer-admin-btn:hover { color:rgba(255,255,255,.5); }

/* ── Cookie Banner ────────────────────────────────────────────── */
.cookie-banner {
  position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%);
  z-index:500; max-width:560px; width:calc(100% - 3rem);
  background:var(--midnight); border:1px solid rgba(255,255,255,.12);
  border-radius:1rem; padding:1.25rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.cookie-banner p { font-size:.875rem; color:rgba(255,255,255,.7); line-height:1.6; }
.cookie-banner a { color:var(--magenta); text-decoration:underline; }
.cookie-accept {
  flex-shrink:0; padding:.625rem 1.25rem; border-radius:50px; background:var(--magenta);
  color:#fff; font-size:.8125rem; font-weight:600; cursor:pointer; white-space:nowrap;
}

/* ── Toast ───────────────────────────────────────────────────── */
.toast {
  position:fixed; bottom:2rem; right:2rem; z-index:9999;
  background:var(--midnight); color:#fff; padding:1rem 1.5rem;
  border-radius:.75rem; border-left:3px solid var(--magenta);
  font-size:.9375rem; box-shadow:0 20px 60px rgba(0,0,0,.3);
  transform:translateY(80px); opacity:0; transition:all .35s ease; max-width:360px;
}
.toast.show { transform:translateY(0); opacity:1; }
.toast.error { border-left-color:#ef4444; }

/* ── Scroll to top ────────────────────────────────────────────── */
.scroll-top {
  position:fixed; bottom:2rem; right:2rem; z-index:80;
  width:48px; height:48px; border-radius:50%; background:var(--magenta);
  color:#fff; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s, transform .3s;
  box-shadow:0 8px 24px rgba(204,67,138,.4);
}
.scroll-top.visible { opacity:1; pointer-events:all; }
.scroll-top:hover { transform:translateY(-3px); }

/* ── Policy pages ─────────────────────────────────────────────── */
.policy-body { max-width:760px; margin:0 auto; }
.policy-body h2 { font-size:1.75rem; font-weight:700; color:var(--midnight); margin:2rem 0 .875rem; }
.policy-body h3 { font-size:1.25rem; font-weight:600; color:var(--midnight); margin:1.5rem 0 .625rem; }
.policy-body p { color:#4b5563; line-height:1.85; margin-bottom:1rem; }
.policy-body ul { padding-left:1.5rem; color:#4b5563; margin-bottom:1rem; }
.policy-body li { margin-bottom:.5rem; }
.policy-body a { color:var(--magenta); text-decoration:underline; }
.policy-body strong { color:var(--midnight); }

/* ── Admin ────────────────────────────────────────────────────── */
.admin-wrap { min-height:100vh; display:flex; background:var(--pearl); }
.admin-sidebar {
  width:256px; background:var(--aubergine); flex-shrink:0;
  position:fixed; top:0; left:0; bottom:0; z-index:200;
  display:flex; flex-direction:column; transition:transform .3s;
}
.admin-sidebar-logo { padding:1.25rem; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-sidebar-logo img { height:28px; width:auto; }
.admin-nav { flex:1; overflow-y:auto; padding:.75rem; }
.admin-nav-link {
  display:flex; align-items:center; gap:.875rem; padding:.75rem 1rem;
  border-radius:.75rem; font-size:.9375rem; font-weight:500;
  color:rgba(255,255,255,.55); transition:all .2s; margin-bottom:.25rem;
}
.admin-nav-link:hover { color:#fff; background:rgba(255,255,255,.08); }
.admin-nav-link.active { color:#fff; background:var(--magenta); }
.admin-nav-link svg { flex-shrink:0; }
.admin-nav-badge {
  margin-left:auto; background:rgba(204,67,138,.3); color:var(--magenta);
  font-size:.6875rem; font-weight:700; padding:.15rem .5rem; border-radius:50px;
}
.admin-sidebar-footer { padding:.75rem; border-top:1px solid rgba(255,255,255,.1); }
.admin-main { flex:1; margin-left:256px; display:flex; flex-direction:column; }
.admin-topbar {
  background:#fff; border-bottom:1px solid rgba(70,33,74,.08);
  height:64px; display:flex; align-items:center; padding:0 2rem; gap:1rem;
  position:sticky; top:0; z-index:100; box-shadow:var(--shadow-sm);
}
.admin-topbar-title { font-weight:600; flex:1; color:var(--midnight); }
.admin-topbar-user { font-size:.875rem; color:#9ca3af; }
.admin-topbar-out { font-size:.875rem; color:#9ca3af; transition:color .2s; }
.admin-topbar-out:hover { color:var(--magenta); }
.admin-menu-btn { display:none; color:var(--midnight); }
.admin-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:190; }
@media(max-width:1023px){
  .admin-sidebar { transform:translateX(-100%); }
  .admin-sidebar.open { transform:translateX(0); }
  .admin-main { margin-left:0; }
  .admin-menu-btn { display:flex; }
  .admin-overlay.active { display:block; }
}
.admin-content { flex:1; padding:2rem; }
.admin-ph { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; }
.admin-pt { font-size:1.75rem; font-weight:700; color:var(--midnight); letter-spacing:-0.02em; }
.admin-ps { font-size:.875rem; color:#9ca3af; margin-top:.25rem; }

/* Admin cards */
.admin-card { background:#fff; border:1px solid rgba(70,33,74,.08); border-radius:1rem; padding:1.5rem; margin-bottom:1.5rem; }
.admin-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; margin-bottom:2rem; }
.admin-stat { background:#fff; border:1px solid rgba(70,33,74,.08); border-radius:1rem; padding:1.25rem; transition:border-color .2s; text-decoration:none; display:block; }
.admin-stat:hover { border-color:var(--magenta); }
.admin-stat-icon { width:40px; height:40px; border-radius:.75rem; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.admin-stat-num { font-size:2rem; font-weight:700; color:var(--midnight); line-height:1; }
.admin-stat-label { font-size:.8125rem; color:#9ca3af; margin-top:.25rem; }

/* Admin table */
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th { font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#9ca3af; padding:.75rem 1rem; text-align:left; border-bottom:1px solid rgba(70,33,74,.08); }
.admin-table td { padding:.875rem 1rem; border-bottom:1px solid rgba(70,33,74,.04); font-size:.9375rem; color:var(--midnight); vertical-align:middle; }
.admin-table tr:last-child td { border:none; }
.admin-table tr:hover td { background:#fafafa; }

/* Admin form */
.adm-label { display:block; font-size:.875rem; font-weight:500; color:var(--midnight); margin-bottom:.375rem; }
.adm-hint { font-size:.8125rem; color:#9ca3af; margin-top:.25rem; }
.adm-input,.adm-textarea,.adm-select {
  width:100%; border:1px solid rgba(70,33,74,.15); border-radius:.625rem;
  padding:.625rem .875rem; font-size:.9375rem; font-family:'Inter',sans-serif;
  color:var(--midnight); background:#fff; outline:none; transition:border-color .2s;
}
.adm-input:focus,.adm-textarea:focus,.adm-select:focus { border-color:var(--magenta); }
.adm-textarea { resize:vertical; }
.adm-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:639px){ .adm-row { grid-template-columns:1fr; } }
.adm-field { margin-bottom:1.25rem; }

/* Admin buttons */
.btn-adm { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1.125rem; border-radius:.625rem; font-size:.875rem; font-weight:500; cursor:pointer; transition:all .2s; border:none; }
.btn-adm-primary { background:var(--magenta); color:#fff; }
.btn-adm-primary:hover { background:var(--magenta-light); }
.btn-adm-ghost { background:#f1f5f9; color:var(--midnight); }
.btn-adm-ghost:hover { background:#e2e8f0; }
.btn-adm-danger { background:#fef2f2; color:#ef4444; }
.btn-adm-danger:hover { background:#fee2e2; }
.btn-adm-sm { padding:.375rem .75rem; font-size:.8125rem; }

/* Badges */
.badge { display:inline-block; padding:.2rem .625rem; border-radius:50px; font-size:.75rem; font-weight:600; }
.badge-pub   { background:#f0fdf4; color:#15803d; }
.badge-draft { background:#f3f4f6; color:#6b7280; }
.badge-new   { background:rgba(204,67,138,.1); color:var(--magenta); }
.badge-contacted { background:rgba(70,33,74,.1); color:var(--aubergine); }
.badge-qualified { background:rgba(22,163,74,.1); color:#16a34a; }
.badge-closed    { background:#f3f4f6; color:#6b7280; }

/* Quill */
.ql-toolbar.ql-snow { border-color:rgba(70,33,74,.15)!important; border-radius:.625rem .625rem 0 0; background:#f8fafc; }
.ql-container.ql-snow { border-color:rgba(70,33,74,.15)!important; border-top:none; border-radius:0 0 .625rem .625rem; font-family:'Inter',sans-serif; min-height:200px; }
.ql-editor { min-height:200px; font-size:.9375rem; color:var(--midnight); line-height:1.7; }

/* Upload zone */
.upload-zone { border:2px dashed rgba(70,33,74,.2); border-radius:.75rem; padding:2rem; text-align:center; cursor:pointer; transition:border-color .2s, background .2s; }
.upload-zone:hover { border-color:var(--magenta); background:rgba(204,67,138,.04); }

/* Admin login */
.admin-login-page { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--pearl); padding:2rem; }
.admin-login-card { background:#fff; border:1px solid rgba(70,33,74,.1); border-radius:1.25rem; padding:3rem; width:100%; max-width:420px; box-shadow:var(--shadow-lg); }
.admin-login-logo { margin-bottom:2rem; }
.admin-login-logo img { height:40px; }
.admin-login-title { font-size:1.75rem; font-weight:700; letter-spacing:-0.02em; color:var(--midnight); margin-bottom:.25rem; }
.admin-login-sub { font-size:.9375rem; color:#9ca3af; margin-bottom:2rem; }
.admin-login-btn { width:100%; padding:.875rem; background:var(--magenta); color:#fff; font-weight:600; border-radius:.75rem; font-size:.9375rem; cursor:pointer; transition:background .2s; border:none; font-family:'Inter',sans-serif; }
.admin-login-btn:hover { background:var(--magenta-light); }

/* Alert */
.alert { padding:1rem 1.25rem; border-radius:.625rem; font-size:.9375rem; margin-bottom:1rem; }
.alert-error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* Inline switch */
.toggle-wrap { display:flex; align-items:center; gap:.75rem; }
.toggle { width:42px; height:24px; border-radius:12px; background:#d1d5db; position:relative; cursor:pointer; transition:background .2s; flex-shrink:0; border:none; }
.toggle.on { background:var(--magenta); }
.toggle::after { content:''; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform .2s; }
.toggle.on::after { transform:translateX(18px); }
