
/* MONLIFY SHOP REFINEMENTS */

/* Home Teaser Mascot */
.lify-shop-teaser {
  width: 100%;
  max-width: 380px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 30px rgba(139,92,246, 0.15));
  animation: float 7s ease-in-out infinite;
  display: block;
  margin: 0 auto;
}

/* Shop Page Layout */
.shop-hero {
  padding: 140px 0 100px;
}

.shop-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
}

.shop-hero-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  max-height: 620px;
  animation: float 6s ease-in-out infinite;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5));
}

.shop-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  border-radius: 100px;
  font-size: 11px;
  font-weight: 800;
  color: var(--accent);
  margin-bottom: 28px;
  font-family: monospace;
  letter-spacing: 0.05em;
}

.pulse-dot {
  width: 6px;
  height: 6px;
  background: var(--accent);
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(139,92,246, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(139,92,246, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(139,92,246, 0); }
}

.shop-hero-titles h1 {
  font-size: clamp(48px, 5.5vw, 72px);
  line-height: 0.95;
  margin: 15px 0;
}

.shop-hero-indicator {
  margin-top: 40px;
  font-family: monospace;
  font-size: 12px;
  padding: 10px 15px;
  border: 1px solid var(--line);
  display: inline-block;
  background: var(--bg-2);
}

.shop-hero-indicator .tech-label { color: var(--muted); }
.shop-hero-indicator .tech-value { color: var(--accent); font-weight: 700; }

.about-grid {
  max-width: 900px;
  margin: 0 auto;
}

.accent-box {
  margin-top: 40px;
  padding: 32px;
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
  font-family: "Inter";
}

.status-hud-simple {
  margin-top: 50px;
  padding: 20px;
  border: 1px dashed var(--accent-line);
  display: inline-block;
  font-family: monospace;
  font-size: 14px;
  color: var(--accent);
  background: rgba(0,0,0,0.2);
}

@media (max-width: 991px) {
  .shop-hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 40px;
  }
  .shop-hero-right {
    order: -1;
  }
  .accent-box {
    text-align: center;
    border-left: none;
    border-top: 3px solid var(--accent);
  }
}

.future-items-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 50px;
}

.future-item {
  padding: 32px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.future-item:hover {
  border-color: var(--accent-line);
  transform: translateY(-8px);
  background: var(--surface);
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.future-item h3 {
  font-size: 18px;
  margin-bottom: 15px;
  color: var(--accent);
}

.future-item p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
}

@media (max-width: 850px) {
  .future-items-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 550px) {
  .future-items-grid {
    grid-template-columns: 1fr;
  }
}

.coming-soon-wrapper {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 80px 40px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 24px;
}

.final-panel {
  text-align: center;
  padding: 80px 40px;
  background: linear-gradient(to bottom, var(--surface), var(--bg-2));
  border: 1px solid var(--accent-line);
  border-radius: 32px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.4);
}

.final-panel h3 { font-size: 36px; margin: 15px 0 20px; }
.panel-actions { display: flex; gap: 20px; justify-content: center; margin-top: 40px; }


@media (max-width: 620px) {
  .panel-actions { flex-direction: column; }
}

.comparison-card {
  padding: 40px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
}

.comp-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  align-items: center;
  margin: 30px 0;
}

.comp-item {
  text-align: center;
}

.comp-tag {
  display: inline-block;
  padding: 6px 12px;
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid var(--accent-line);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 15px;
}

.comp-divider {
  width: 1px;
  height: 80px;
  background: var(--line);
}

.comp-footer {
  text-align: center;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .comp-grid {
    grid-template-columns: 1fr;
  }
  .comp-divider {
    width: 100%;
    height: 1px;
  }
}



/* GLOBAL EXPAND COMPONENT */
.btn-expand-details {
  background: none;
  border: none;
  padding: 12px 0;
  color: var(--accent);
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  opacity: 0.9;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 20px;
}

.btn-expand-details:hover {
  opacity: 1;
  text-shadow: 0 0 10px rgba(139,92,246, 0.3);
}

.service-expanded-content {
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  max-height: 0;
  opacity: 0;
}

.service-expanded-content.is-open {
  opacity: 1;
}

/* HERO SOCIAL PROOF REFINEMENT */
.hero-social-proof {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: 10px;
}

.social-divider {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, transparent, var(--line), transparent);
}

.social-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.social-value {
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: var(--text);
  line-height: 1;
  letter-spacing: -0.02em;
}

.social-label {
  font-size: 9px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: 0.1em;
  line-height: 1.2;
  margin-top: 4px;
  text-transform: uppercase;
}

.light-mode .social-value {
  color: var(--text);
}

@media (max-width: 768px) {
  .hero-social-proof {
    margin-left: 0;
    margin-top: 20px;
    width: 100%;
    justify-content: flex-start;
  }
}

/* TIMELINE 7 COLUMNS FIX */
@media (min-width: 1024px) {
  .timeline {
    grid-template-columns: repeat(7, 1fr) !important;
    display: grid !important;
    gap: 15px !important;
  }
  
  .timeline .step {
    display: block !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 1023px) and (min-width: 769px) {
  .timeline {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 768px) {
  .timeline {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .step {
    border-top: none;
    border-left: 1px solid var(--line);
    padding: 0 0 0 20px;
  }
  .step:before {
    top: 0;
    left: -4px;
  }
}

/* SHOP TEASER TYPOGRAPHY & TAGS */
.teaser-content p.teaser-description {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
  max-width: 580px;
  margin-bottom: 28px;
}

.teaser-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
}

.teaser-tag {
  font-size: 10px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: 0.12em;
  padding: 8px 14px;
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 8px;
  text-transform: uppercase;
  transition: 0.25s ease;
}

.teaser-tag:hover {
  border-color: var(--accent-line);
  color: var(--accent);
  background: var(--accent-soft);
}

/* MONLIFY CARE INFRASTRUCTURE PIPELINE */
.care-infrastructure-pipeline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 44px;
  padding: 10px 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.care-infrastructure-pipeline::-webkit-scrollbar {
  display: none;
}

.infra-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 16px 12px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 14px;
  min-width: 110px;
  transition: 0.3s ease;
}

.infra-card:hover {
  border-color: var(--accent-line);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.infra-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  color: var(--accent);
}

.infra-label {
  font-size: 9px;
  font-weight: 900;
  color: var(--muted-2);
  letter-spacing: 0.08em;
  text-align: center;
}

.infra-connector {
  color: var(--line);
  display: flex;
  align-items: center;
  opacity: 0.5;
}

@media (max-width: 991px) {
  .care-infrastructure-pipeline {
    gap: 8px;
  }
  .infra-card {
    min-width: 90px;
    padding: 12px 8px;
  }
}

/* SERVICES — GROUPED NAV LABELS */
.service-group-label {
  padding: 20px 24px 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: var(--accent);
  text-transform: uppercase;
}

.service-group-label:first-child {
  padding-top: 4px;
}

/* =========================================================================
   MONLIFY 2.0 — GROUND-UP VISUAL REBUILD
   Editorial black / graphite / off-white system. Accent used sparingly.
   ========================================================================= */

:root{
  --ink:#0a0a0a; --ink-2:#121212; --graphite:#17181a; --graphite-2:#1e1f22;
  --paper:#f3f1ec; --paper-2:#e9e6de; --paper-line:rgba(10,10,10,.12);
  --ink-line:rgba(255,255,255,.09);
}
.light-mode{ --paper:#ffffff; --paper-2:#f3f1ec; }

/* ---------- section rhythm: alternating black / graphite / paper ---------- */
.m-section{ position:relative; padding:120px 0; overflow:hidden; }
.m-black{ background:var(--ink); color:#f5f5f4; }
.m-black .muted, .m-black p{ color:#9c9ca4; }
.m-graphite{ background:var(--graphite); color:#f5f5f4; }
.m-graphite .muted{ color:#9c9ca4; }
.m-paper{ background:var(--paper); color:#111; }
.m-paper .muted, .m-paper p{ color:#5c5c62; }
.m-paper .section-eyebrow{ color:var(--accent-strong,#7C3AED); }
.m-paper .line{ border-color:var(--paper-line) !important; }
.m-accent{ background:linear-gradient(180deg,#130d1e,#0a0a0a 60%); color:#f5f5f4; }

.m-eyebrow{
  display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:800;
  letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:22px;
}
.m-eyebrow:before{ content:""; width:22px; height:1px; background:var(--accent); }

.m-head{ max-width:760px; margin-bottom:60px; }
.m-head h2{ font-family:"Inter",sans-serif; font-size:clamp(34px,4.6vw,58px); line-height:1.03; letter-spacing:-.03em; margin:0; }
.m-num{ font-family:"Inter",sans-serif; font-weight:700; opacity:.35; font-size:13px; letter-spacing:.1em; }

/* ---------- HEADER ---------- */
.header{ background:transparent; }
.header .nav{ height:76px; }
.nav-logo{ width:152px; }
@media (max-width:620px){ .nav-logo{ width:118px; } }
.header.scrolled{ background:rgba(10,10,10,.86); backdrop-filter:blur(18px); border-color:var(--ink-line); }
.light-mode .header.scrolled{ background:rgba(255,255,255,.88); }
.nav-links{ gap:22px; text-transform:none; font-size:13px; font-weight:600; letter-spacing:0; }
@media (max-width:1180px) and (min-width:901px){ .nav-links{ gap:15px; font-size:12.5px; } }
.nav-cta{ border-radius:6px; text-transform:none; letter-spacing:0; height:38px; min-height:38px; font-size:12px; }

/* ---------- HERO — editorial, one viewport ---------- */
.m-hero{
  min-height:86vh; display:flex; align-items:center; background:var(--ink); color:#f4f4f1;
  padding:128px 0 60px; position:relative; overflow:hidden;
}
.m-hero:before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 82% 18%,rgba(139,92,246,.08),transparent 42%);
}
.m-hero-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center; position:relative; z-index:2; }
.m-hero-eyebrow{
  font-family:"Inter",sans-serif; font-size:11px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:#9a9aa2; display:flex; align-items:center; gap:12px; margin-bottom:24px;
}
.m-hero-eyebrow:before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); }
.m-hero h1{
  font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(42px,4.4vw,64px);
  line-height:1.12; letter-spacing:-.03em; max-width:19ch; margin:0 0 24px;
}
.m-hero h1 em{ font-style:normal; color:var(--accent); }
.m-hero-sub{ font-size:17px; line-height:1.6; color:#adadb4; max-width:420px; margin:0 0 34px; }
.m-hero-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-bottom:0; }
.m-btn{
  display:inline-flex; align-items:center; gap:10px; height:50px; padding:0 26px; border-radius:6px;
  font-size:13px; font-weight:700; letter-spacing:.02em; transition:.2s ease;
}
.m-btn-primary{ background:var(--accent); color:#fff; }
.m-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(139,92,246,.22); }
.m-btn-ghost{ border:1px solid rgba(255,255,255,.18); color:#f2f2ef; background:transparent; }
.m-btn-ghost:hover{ border-color:#fff; }
.m-btn-text{ height:auto; padding:0; color:inherit; font-weight:700; border-bottom:1px solid currentColor; border-radius:0; }
.m-btn-text:hover{ color:var(--accent); }
.m-paper .m-btn-ghost{ border-color:rgba(10,10,10,.22); color:#111; }

.m-hero-foot{ display:none; }
.m-hero-stat{ display:flex; align-items:baseline; gap:14px; }
.m-hero-proof{ display:flex; gap:28px; flex-wrap:wrap; margin-top:38px; }
.m-hero-proof span{ font-size:12.5px; font-weight:600; color:#c8c8ce; display:flex; align-items:center; gap:9px; }
.m-hero-proof span:before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); flex-shrink:0; }
@media (max-width:620px){ .m-hero-proof{ gap:14px 22px; margin-top:28px; } }

/* ---------- HERO VISUAL — notebook + smartphone composition ---------- */
.m-hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; }
.m-hero-visual:before{
  content:""; position:absolute; width:74%; height:74%; border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.22),transparent 70%); filter:blur(6px); z-index:0;
}
.m-hero-orbit{
  position:absolute; z-index:0; width:108%; height:78%; border:1px solid rgba(139,92,246,.22); border-radius:50%;
  transform:rotate(-9deg);
}
.m-hero-orbit-dot{ position:absolute; width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); top:-4px; right:14%; }
.m-hero-visual-img{ position:relative; z-index:1; width:100%; max-width:640px; height:auto; display:block; transform:rotate(-2.5deg); filter:drop-shadow(0 30px 50px rgba(0,0,0,.5)); }
.m-hero-chip{
  position:absolute; z-index:2; display:flex; align-items:center; gap:9px; padding:10px 15px;
  background:rgba(14,14,18,.85); backdrop-filter:blur(10px); border:1px solid var(--ink-line); border-radius:11px;
  font-size:12px; font-weight:700; color:#f0f0f1; box-shadow:0 16px 30px rgba(0,0,0,.4); white-space:nowrap;
}
.m-hero-chip i{ width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); flex-shrink:0; }
.m-hero-chip-1{ top:2%; left:-6%; }
.m-hero-chip-2{ bottom:12%; right:-6%; }
.m-hero-chip-3{ top:38%; right:-10%; }
@media (max-width:1100px){
  .m-hero-grid{ grid-template-columns:1fr; }
  .m-hero-visual{ margin-top:36px; }
  .m-hero-visual-img{ max-width:560px; margin:0 auto; }
  .m-hero{ text-align:left; min-height:auto; }
  .m-hero-chip-3{ display:none; }
}
@media (max-width:620px){
  .m-hero{ padding:112px 0 44px; min-height:auto; }
  .m-hero h1{ font-size:clamp(44px,12vw,64px); max-width:none; }
  .m-hero-visual{ margin-top:28px; }
  .m-hero-visual-img{ max-width:100%; transform:none; }
  .m-hero-orbit{ display:none; }
  .m-hero-chip{ font-size:10.5px; padding:8px 11px; }
  .m-hero-chip-1{ top:2%; left:0; }
  .m-hero-chip-2{ bottom:4%; right:0; }
  .m-hero-sub{ font-size:16px; }
  .m-hero-actions{ flex-direction:column; align-items:stretch; gap:12px; margin-bottom:44px; }
  .m-btn{ width:100%; }
}

/* small secondary mascot placement — final CTA only */
.m-cta-mascot{
  width:clamp(120px,14vw,180px); margin:0 auto 30px; display:block; opacity:.92;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));
}

/* ---------- TICKER ---------- */
.ticker{ background:var(--ink); border-color:var(--ink-line); }
.ticker-track span{ color:#6f6f76; }

/* ---------- WORK / PROJETOS (paper section) ---------- */
.m-work-list{ display:flex; flex-direction:column; }
.m-work-item{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center;
  padding:64px 0; border-top:1px solid var(--paper-line);
}
.m-work-item:last-child{ border-bottom:1px solid var(--paper-line); }
.m-work-item.rev{ direction:rtl; }
.m-work-item.rev > *{ direction:ltr; }
.m-work-frame{
  position:relative; border-radius:4px; overflow:hidden; background:#0a0a0a;
  border:1px solid rgba(10,10,10,.14); box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
}
.m-work-bar{ height:30px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#141414; }
.m-work-bar i{ width:7px; height:7px; border-radius:50%; background:#3a3a40; }
.m-work-frame img{ width:100%; display:block; aspect-ratio:16/10; object-fit:cover; transition:transform .7s cubic-bezier(.4,0,.2,1); }
.m-work-item:hover .m-work-frame img{ transform:scale(1.04); }
.m-work-num{ font-family:"Inter",sans-serif; font-weight:700; font-size:13px; letter-spacing:.14em; color:var(--accent); display:block; margin-bottom:18px; }
.m-work-type{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#78787f; display:block; margin-bottom:14px; }
.m-work-name{ font-family:"Inter",sans-serif; font-size:clamp(30px,3.6vw,50px); line-height:.98; letter-spacing:-.03em; margin:0 0 20px; }
.m-work-desc{ font-size:16px; line-height:1.7; color:#58585f; max-width:440px; margin:0 0 26px; }
.m-work-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.m-work-tags span{ font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#58585f; border:1px solid var(--paper-line); padding:7px 12px; border-radius:6px; }
.m-work-actions{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.m-work-link{ font-size:12px; font-weight:800; letter-spacing:.06em; color:#58585f; }
.m-work-link:hover{ color:#111; }

@media (max-width:900px){
  .m-work-item, .m-work-item.rev{ grid-template-columns:1fr; direction:ltr; gap:26px; padding:44px 0; }
}

/* ---------- SERVICES ACCORDION (black section) ---------- */
.m-service-accordion{ border-top:1px solid var(--ink-line); }
.m-service-row{ border-bottom:1px solid var(--ink-line); padding:0 !important; background:none !important; flex-direction:row !important; }
.m-service-row.active{ background:none !important; border-right:0 !important; }
.m-service-head{
  display:grid; grid-template-columns:70px 1fr auto auto; align-items:center; gap:28px;
  padding:34px 0; cursor:pointer; background:none; border:0; width:100%; text-align:left; color:inherit;
}
.m-service-num{ font-family:"Inter",sans-serif; font-weight:700; font-size:14px; color:#666; }
.m-service-head h3{ font-family:"Inter",sans-serif; font-size:clamp(24px,3.2vw,42px); font-weight:600; letter-spacing:-.02em; margin:0; transition:.25s; }
.m-service-row:hover .m-service-head h3, .m-service-row.active .m-service-head h3{ color:var(--accent); transform:translateX(8px); }
.m-service-price{ font-size:12px; font-weight:800; letter-spacing:.08em; color:#8c8c94; white-space:nowrap; }
.m-service-plus{ width:34px; height:34px; border:1px solid var(--ink-line); border-radius:50%; display:grid; place-items:center; font-size:16px; color:#f2f2ef; transition:.3s; flex-shrink:0; }
.m-service-row.active .m-service-plus{ transform:rotate(45deg); border-color:var(--accent); color:var(--accent); }
.m-service-body{ max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1); }
.m-service-row.open .m-service-body{ max-height:900px; }
.m-service-body-inner{ padding:0 0 44px; }

/* ---------- MANIFESTO (paper/green, near-empty) ---------- */
.m-manifesto{ padding:180px 0; text-align:center; }
.m-manifesto p{
  font-family:"Inter",sans-serif; font-weight:600; font-size:clamp(30px,4.6vw,58px);
  line-height:1.15; letter-spacing:-.02em; max-width:16ch; margin:0 auto;
}
.m-manifesto p em{ font-style:normal; color:var(--accent); }

/* ---------- PROCESS (sticky-advance) ---------- */
.m-process{ display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; }
.m-process-sticky{ position:sticky; top:130px; align-self:start; }
.m-process-sticky .m-num{ display:block; font-size:130px; line-height:1; color:var(--accent); opacity:.9; margin-bottom:18px; }
.m-process-sticky h3{ font-family:"Inter",sans-serif; font-size:34px; margin:0; letter-spacing:-.02em; }
.m-process-list{ display:flex; flex-direction:column; }
.m-process-item{ padding:56px 0; border-top:1px solid var(--ink-line); }
.m-process-item:last-child{ border-bottom:1px solid var(--ink-line); }
.m-process-item .m-step-label{ display:none; font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--accent); margin-bottom:10px; text-transform:uppercase; }
.m-process-item h4{ font-family:"Inter",sans-serif; font-size:26px; margin:0 0 12px; }
.m-process-item p{ color:#9a9aa2; font-size:15px; line-height:1.7; max-width:520px; margin:0; }

@media (max-width:900px){
  .m-process{ grid-template-columns:1fr; }
  .m-process-sticky{ position:static; margin-bottom:10px; }
  .m-process-sticky{ display:none; }
  .m-process-item .m-step-label{ display:block; }
}

/* ---------- CARE 2.0 ---------- */
.m-care-title{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(60px,10vw,150px); line-height:.9; letter-spacing:-.04em; margin:0 0 20px; }
.m-care-title span{ color:var(--accent); }
.m-care-tagline{ font-size:17px; color:#5c5c62; max-width:480px; margin:0 0 56px; line-height:1.7; }
.m-indicators{ display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--ink-line); border-radius:4px; overflow:hidden; }
.m-indicator{ padding:22px 20px; border-right:1px solid var(--ink-line); }
.m-indicator:last-child{ border-right:0; }
.m-indicator small{ display:block; font-size:9px; font-weight:800; letter-spacing:.12em; color:#78787f; text-transform:uppercase; margin-bottom:10px; }
.m-indicator b{ display:flex; align-items:center; gap:8px; font-family:"Inter",sans-serif; font-size:15px; color:#f2f2ef; }
.m-indicator b:before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); flex-shrink:0; }
@media (max-width:900px){ .m-indicators{ grid-template-columns:repeat(2,1fr); } .m-indicator{ border-bottom:1px solid var(--ink-line); } .m-indicator:nth-child(2n){ border-right:0; } }

.m-care-compare{ margin-top:90px; overflow-x:auto; }
.m-compare-grid{ display:grid; grid-template-columns:1.2fr repeat(3,1fr); min-width:760px; }
.m-compare-grid > div{ padding:26px 22px; border-top:1px solid var(--ink-line); border-right:1px solid var(--ink-line); }
.m-compare-grid > div:last-child{ border-right:0; }
.m-compare-grid > div:nth-child(-n+4){ border-top:0; }
.m-ch-label{ font-size:13px; color:#c8c8ce; }
.m-ch-head{ text-align:center; }
.m-ch-head .m-plan-tier{ font-size:10px; font-weight:800; letter-spacing:.12em; color:#78787f; text-transform:uppercase; display:block; margin-bottom:10px; }
.m-ch-head h4{ font-family:"Inter",sans-serif; font-size:20px; margin:0 0 10px; }
.m-ch-head .m-price{ font-family:"Inter",sans-serif; font-size:24px; color:var(--accent); margin-bottom:16px; }
.m-ch-head .m-price span{ font-size:11px; color:#8c8c94; }
.m-compare-grid .yes{ text-align:center; color:var(--accent); font-weight:800; }
.m-compare-grid .no{ text-align:center; color:#4c4c52; }
.m-compare-grid.featured-col-3 > div:nth-child(4n+3){ background:rgba(139,92,246,.045); }

/* ---------- SHOP BLOCK ---------- */
.m-shop-block{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.m-shop-visual{ position:relative; text-align:center; }
.m-shop-visual img{ max-width:340px; margin:0 auto; filter:drop-shadow(0 30px 50px rgba(0,0,0,.4)); }
.m-shop-word{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(30px,3.6vw,50px); letter-spacing:-.02em; margin:0 0 18px; }
.m-shop-word sup{ font-size:.4em; top:-1.4em; color:var(--accent); }
@media (max-width:900px){ .m-shop-block{ grid-template-columns:1fr; text-align:center; gap:36px; } }

/* ---------- FINAL CTA (~80vh) ---------- */
.m-cta-final{ min-height:80vh; display:flex; align-items:center; justify-content:center; text-align:center; }
.m-cta-final h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(40px,7vw,92px); line-height:.98; letter-spacing:-.035em; margin:0 0 46px; }
.m-cta-final h2 em{ font-style:normal; color:var(--accent); }

/* ---------- FOOTER 2.0 ---------- */
.m-footer{ background:var(--ink); color:#e7e7e3; padding:100px 0 30px; }
.m-footer-word{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(60px,11vw,180px); line-height:.85; letter-spacing:-.04em; margin:0 0 70px; }
.m-footer-word span{ color:var(--accent); }
.m-footer-grid{ display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:30px; padding-bottom:60px; border-bottom:1px solid var(--ink-line); }
.m-footer-col h4{ font-size:10px; font-weight:800; letter-spacing:.14em; color:#78787f; text-transform:uppercase; margin:0 0 20px; }
.m-footer-col a, .m-footer-col span{ display:block; color:#c8c8ce; font-size:14px; margin-bottom:13px; transition:.2s; }
.m-footer-col a:hover{ color:var(--accent); }
.m-footer-lead p{ color:#8c8c94; font-size:14px; line-height:1.7; max-width:280px; margin:20px 0 0; }
.m-footer-bottom{ padding-top:26px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:11px; letter-spacing:.05em; color:#68686f; }

@media (max-width:900px){
  .m-footer-grid{ grid-template-columns:1fr 1fr; }
  .m-footer-lead{ grid-column:1/-1; }
}
@media (max-width:560px){
  .m-footer-grid{ grid-template-columns:1fr 1fr; gap:36px 20px; }
}

@media (max-width:620px){
  .m-section{ padding:74px 0; }
  .m-manifesto{ padding:90px 0; }
  .m-cta-final{ min-height:60vh; padding:80px 0; }
}

/* ---------- SERVICES — FEATURED GRID (4 cards, above accordion) ---------- */
.m-services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--ink-line); border:1px solid var(--ink-line); margin-bottom:70px; border-radius:4px; overflow:hidden; }
.m-service-card{ background:var(--ink); padding:38px 28px; transition:.3s ease; position:relative; }
.m-service-card:hover{ background:#121216; }
.m-service-card .m-num{ display:block; font-size:13px; margin-bottom:26px; }
.m-service-card h3{ font-size:21px; margin:0 0 12px; letter-spacing:-.01em; }
.m-service-card p{ font-size:13.5px; line-height:1.65; color:#9c9ca4; margin:0 0 22px; }
.m-service-card .m-service-arrow{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid var(--ink-line); border-radius:50%; color:#eee; transition:.25s; }
.m-service-card:hover .m-service-arrow{ border-color:var(--accent); color:var(--accent); transform:translateX(4px); }
.m-service-card:before{ content:""; position:absolute; left:0; top:0; height:0; width:2px; background:var(--accent); transition:.3s ease; }
.m-service-card:hover:before{ height:100%; }
@media (max-width:900px){ .m-services-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .m-services-grid{ grid-template-columns:1fr; } }

/* ---------- WHY MONLIFY ---------- */
.m-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.m-why-item{ padding-top:26px; border-top:1px solid var(--paper-line); }
.m-why-icon{ width:42px; height:42px; border-radius:10px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-strong,#7C3AED); margin-bottom:22px; font-size:18px; }
.m-why-item h3{ font-size:17px; margin:0 0 10px; letter-spacing:-.01em; }
.m-why-item p{ font-size:13.5px; line-height:1.65; color:#5c5c62; margin:0; }
@media (max-width:900px){ .m-why-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .m-why-grid{ grid-template-columns:1fr; } }

/* ---------- ABOUT / MANIFESTO EXPANDED ---------- */
.m-about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.m-about-title{ font-size:clamp(30px,3.6vw,46px); line-height:1.08; letter-spacing:-.03em; margin:0 0 26px; }
.m-about-copy{ font-size:15.5px; line-height:1.75; color:#9c9ca4; max-width:480px; margin:0; }
.m-about-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; border-top:1px solid var(--ink-line); padding-top:32px; margin-top:44px; }
.m-about-metric b{ display:block; font-size:38px; font-weight:700; letter-spacing:-.02em; color:var(--accent); margin-bottom:8px; }
.m-about-metric span{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#78787f; }
@media (max-width:900px){ .m-about-grid{ grid-template-columns:1fr; gap:40px; } .m-about-metrics{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:560px){ .m-about-metrics{ grid-template-columns:1fr; gap:20px; } }

/* ---------- CARE — CLEAN CARDS (paper/light contrast) ---------- */
.m-care-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:70px; }
.m-care-card{ border:1px solid var(--paper-line); border-radius:14px; padding:32px 28px; background:#fff; display:flex; flex-direction:column; transition:.25s ease; }
.m-care-card.featured{ border-color:var(--accent-strong,#7C3AED); box-shadow:0 24px 50px -20px rgba(124,58,237,.25); }
.m-care-card:hover{ transform:translateY(-4px); }
.m-care-card .m-plan-tier{ font-size:10px; font-weight:800; letter-spacing:.12em; color:#8a8a92; text-transform:uppercase; display:block; margin-bottom:14px; }
.m-care-card h4{ font-size:20px; margin:0 0 12px; letter-spacing:-.01em; }
.m-care-card .m-price{ font-size:30px; font-weight:700; letter-spacing:-.02em; margin-bottom:20px; }
.m-care-card .m-price span{ font-size:12px; font-weight:600; color:#8a8a92; }
.m-care-card ul{ list-style:none; padding:0; margin:0 0 28px; display:grid; gap:10px; }
.m-care-card li{ font-size:13px; color:#3d3d42; display:flex; gap:8px; align-items:flex-start; }
.m-care-card li:before{ content:"✓"; color:var(--accent-strong,#7C3AED); font-weight:800; flex-shrink:0; }
.m-care-card .m-btn{ margin-top:auto; }
@media (max-width:900px){ .m-care-plans{ grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; } }

/* =========================================================================
   MONLIFY 3.0 — RADICAL SIMPLIFICATION PASS
   Fewer sections, fewer cards, more intention.
   ========================================================================= */

.m-label{ font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; display:block; }
.m-h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(38px,4.4vw,58px); line-height:1.08; letter-spacing:-.025em; margin:0; }

/* ---------- SERVICES 2.0 — reference-matched layout ---------- */
.m-services2-top{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:start; margin-bottom:56px; }
.m-services2-title{ font-family:"Inter",sans-serif; font-weight:800; font-size:clamp(34px,4vw,46px); line-height:1.14; letter-spacing:-.025em; margin:14px 0 0; color:#111; }
.m-services2-title em{ font-style:normal; color:var(--accent-strong,#7C3AED); }
.m-services2-side{ padding-top:6px; }
.m-services2-side p{ font-size:15.5px; line-height:1.7; color:#54545c; margin:0 0 22px; }
.m-services2-tag{ font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#9a9aa2; }

.m-services2-list{ border-top:1px solid var(--paper-line); }
.m-service2-row{
  display:grid; grid-template-columns:34px 44px 1fr 1fr 52px; align-items:center; gap:24px;
  padding:22px 16px; border-bottom:1px solid var(--paper-line); border-radius:14px; transition:.2s ease;
}
.m-service2-row .m-num{ font-size:13px; font-weight:700; color:#a5a5ac; }
.m-service2-icon{
  width:44px; height:44px; border-radius:12px; background:#eef0f2; display:flex; align-items:center; justify-content:center;
  color:#3a3a40; flex-shrink:0; transition:.2s ease;
}
.m-service2-icon svg{ width:20px; height:20px; }
.m-service2-row h3{ font-size:19px; font-weight:700; margin:0; letter-spacing:-.01em; color:#131316; }
.m-service2-row p{ font-size:14.5px; line-height:1.55; color:#6b6b72; margin:0; }
.m-service2-arrow{
  width:40px; height:40px; border-radius:50%; background:#eceded; display:flex; align-items:center; justify-content:center;
  color:#3a3a40; font-size:16px; transition:.2s ease; justify-self:end;
}
.m-service2-row:hover, .m-service2-row.is-active{ background:rgba(139,92,246,.09); }
.m-service2-row:hover .m-service2-icon, .m-service2-row.is-active .m-service2-icon{ background:rgba(139,92,246,.16); color:var(--accent-strong,#7C3AED); }
.m-service2-row:hover .m-service2-arrow, .m-service2-row.is-active .m-service2-arrow{ background:var(--accent-strong,#7C3AED); color:#fff; transform:translateX(2px); }
.m-service2-row:hover p, .m-service2-row.is-active p{ color:#5b4fae; }

.m-services2-cta{
  margin-top:36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  padding:26px 30px; border-radius:20px; border:1px solid rgba(139,92,246,.18);
  background:linear-gradient(90deg,rgba(139,92,246,.07),rgba(139,92,246,.02));
}
.m-services2-cta-left{ display:flex; align-items:center; gap:18px; }
.m-services2-cta-icon{ width:48px; height:48px; border-radius:14px; background:rgba(139,92,246,.14); color:var(--accent-strong,#7C3AED); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.m-services2-cta-icon svg{ width:22px; height:22px; }
.m-services2-cta h4{ font-size:17px; margin:0 0 4px; letter-spacing:-.01em; color:#111; }
.m-services2-cta-left p{ font-size:14px; color:#5c5c62; margin:0; }
.m-services2-cta-right{ display:flex; align-items:center; gap:22px; }
.m-services2-cta-btn{
  display:inline-flex; align-items:center; gap:8px; height:50px; padding:0 24px; border-radius:12px;
  background:#111; color:#fff; font-size:14px; font-weight:700; white-space:nowrap; transition:.2s ease;
}
.m-services2-cta-btn:hover{ background:var(--accent-strong,#7C3AED); }
.m-services2-cta-note{ font-size:12.5px; color:#8a8a90; line-height:1.5; text-align:right; }

@media (max-width:900px){
  .m-services2-top{ grid-template-columns:1fr; gap:20px; }
}
@media (max-width:640px){
  .m-service2-row{ grid-template-columns:24px 40px 1fr 34px; grid-template-areas:"num icon title arrow" ". . desc desc"; row-gap:8px; padding:18px 12px; }
  .m-service2-row .m-num{ grid-area:num; }
  .m-service2-icon{ grid-area:icon; width:40px; height:40px; }
  .m-service2-row h3{ grid-area:title; font-size:16.5px; }
  .m-service2-row p{ grid-area:desc; font-size:13.5px; }
  .m-service2-arrow{ grid-area:arrow; width:34px; height:34px; }
  .m-services2-cta{ flex-direction:column; align-items:flex-start; padding:22px; }
  .m-services2-cta-right{ width:100%; flex-direction:column; align-items:flex-start; gap:14px; }
  .m-services2-cta-btn{ width:100%; justify-content:center; }
  .m-services2-cta-note{ text-align:left; }
}

/* ---------- PROCESS — cinematic timeline ---------- */
.m-process-showcase{
  position:relative; overflow:hidden; color:#f5f5f3; background:
    radial-gradient(circle at 78% 14%,rgba(92,40,150,.12),transparent 27%),
    linear-gradient(115deg,#070708 0%,#09090b 52%,#08070b 100%);
  padding:104px 0 54px; isolation:isolate;
}
.m-process-showcase:before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:radial-gradient(rgba(255,255,255,.12) .45px,transparent .45px); background-size:5px 5px; mix-blend-mode:soft-light; }
.m-process-shell{ position:relative; z-index:1; }
.m-process-intro{ position:relative; z-index:2; width:62%; }
.m-process-kicker{ display:flex; align-items:center; gap:16px; margin-bottom:28px; color:#9a6bff; font-size:11px; line-height:1; font-weight:800; letter-spacing:.28em; text-transform:uppercase; }
.m-process-kicker i{ display:block; width:8px; height:8px; border-radius:50%; background:#8b5cf6; box-shadow:0 0 14px 3px rgba(139,92,246,.52); }
.m-process-intro h2{ margin:0; font-family:"Inter",sans-serif; font-size:clamp(48px,5.45vw,76px); line-height:1.02; letter-spacing:-.052em; font-weight:800; }
.m-process-intro h2 em{ color:#8b5cf6; font-style:normal; }
.m-process-intro p{ margin:24px 0 0; color:#aaa9b2; font-size:clamp(15px,1.28vw,19px); line-height:1.55; letter-spacing:-.01em; }
.m-process-art{ position:absolute; z-index:0; right:-4.5%; top:-104px; width:55%; height:430px; opacity:.96; pointer-events:none; mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 86%,transparent 100%); }
.m-process-art:after{ content:""; position:absolute; inset:auto 2% 0 0; width:75%; height:35%; background:linear-gradient(to bottom,transparent,#08080a 92%); }
.m-process-art svg{ width:100%; height:100%; display:block; overflow:visible; }
.m-process-art-copy{ position:absolute; z-index:2; right:17%; top:150px; color:#c4c1cf; font-size:11px; line-height:2.05; letter-spacing:.32em; text-transform:uppercase; }
.m-process-art-copy span{ display:block; width:37px; height:1px; margin-bottom:16px; background:#85818c; }
.m-process-timeline{ position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:62px; padding-top:34px; }
.m-process-timeline:before{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,rgba(139,92,246,.48),rgba(141,130,162,.5) 24%,rgba(141,130,162,.5) 78%,rgba(139,92,246,.2)); }
.m-process-step{ position:relative; min-width:0; padding:0 24px 0 30px; }
.m-process-step:first-child{ padding-left:0; }
.m-process-dot{ position:absolute; top:-40px; left:30px; width:12px; height:12px; border:2px solid rgba(190,160,255,.68); border-radius:50%; background:#8b5cf6; box-shadow:0 0 0 5px rgba(139,92,246,.12),0 0 15px rgba(139,92,246,.92); transition:box-shadow .25s ease,transform .25s ease; }
.m-process-step:first-child .m-process-dot{ left:0; }
.m-process-number{ display:block; margin-bottom:18px; color:#aaa8b4; font-size:11px; line-height:1; letter-spacing:.15em; }
.m-process-step-body{ min-height:158px; padding-left:23px; border-left:1px solid rgba(174,168,187,.17); }
.m-process-step:first-child .m-process-step-body{ padding-left:23px; }
.m-process-icon{ display:flex; align-items:center; justify-content:center; width:43px; height:43px; margin-bottom:17px; border:1px solid rgba(153,132,188,.34); border-radius:10px; color:#9b63ff; background:linear-gradient(145deg,rgba(139,92,246,.045),rgba(10,10,12,.56)); transition:transform .25s ease,color .25s ease,border-color .25s ease; }
.m-process-icon svg{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.m-process-step h3{ margin:0 0 10px; color:#f5f5f3; font-size:18px; line-height:1.15; letter-spacing:-.025em; }
.m-process-step p{ margin:0; color:#9a99a4; font-size:13.5px; line-height:1.55; }
.m-process-step:hover .m-process-dot{ transform:scale(1.08); box-shadow:0 0 0 6px rgba(139,92,246,.15),0 0 21px rgba(139,92,246,1); }
.m-process-step:hover .m-process-icon{ transform:translateY(-2px); color:#b18aff; border-color:rgba(169,128,241,.6); }
.m-process-footer{ display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:54px; padding-top:28px; border-top:1px solid rgba(174,168,187,.35); }
.m-process-signature,.m-process-cta-copy{ color:#817f89; font-size:9px; line-height:1.7; letter-spacing:.3em; text-transform:uppercase; }
.m-process-cta-wrap{ display:flex; align-items:center; gap:28px; }
.m-process-cta{ display:inline-flex; align-items:center; justify-content:center; gap:18px; min-width:155px; height:48px; padding:0 21px; border:1px solid #8b5cf6; border-radius:9px; color:#f5f5f3; background:linear-gradient(180deg,rgba(105,53,174,.65),rgba(62,29,111,.8)); box-shadow:0 0 28px rgba(124,58,237,.12),inset 0 1px rgba(255,255,255,.11); font-size:13px; font-weight:600; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.m-process-cta:hover{ color:#fff; transform:translateY(-2px); background:linear-gradient(180deg,rgba(126,66,205,.82),rgba(75,35,132,.95)); box-shadow:0 9px 30px rgba(124,58,237,.22); }
.m-process-cta b{ font-size:16px; font-weight:400; }
.m-process-footer-divider{ width:1px; height:40px; background:rgba(174,168,187,.4); }
.m-process-cta-copy{ width:126px; }

@media (max-width:1100px){
  .m-process-showcase{ padding-top:88px; }
  .m-process-art{ right:-12%; width:59%; height:390px; }
  .m-process-art-copy{ right:19%; }
  .m-process-step{ padding-right:12px; padding-left:18px; }
  .m-process-dot{ left:18px; }
  .m-process-step-body{ padding-left:17px; }
  .m-process-step h3{ font-size:16px; }
  .m-process-step p{ font-size:12.5px; }
}
@media (max-width:820px){
  .m-process-showcase{ padding:76px 0 48px; }
  .m-process-intro{ width:73%; }
  .m-process-intro h2{ font-size:clamp(43px,7.2vw,59px); }
  .m-process-art{ top:-76px; right:-24%; width:67%; height:350px; opacity:.72; }
  .m-process-art-copy{ display:none; }
  .m-process-timeline{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:52px; padding-top:34px; }
  .m-process-timeline:before{ right:50%; }
  .m-process-step:nth-child(3):before{ content:""; position:absolute; top:-34px; left:0; right:-100%; height:1px; background:rgba(141,130,162,.4); }
  .m-process-step:nth-child(3) .m-process-dot{ left:0; }
  .m-process-step:nth-child(5):before{ content:""; position:absolute; top:-34px; left:0; right:0; height:1px; background:rgba(141,130,162,.4); }
  .m-process-step:nth-child(5) .m-process-dot{ left:0; }
  .m-process-step:nth-child(odd){ padding-left:0; }
  .m-process-step:nth-child(odd) .m-process-step-body{ padding-left:20px; }
  .m-process-footer{ align-items:flex-end; }
  .m-process-signature{ max-width:220px; }
}
@media (max-width:560px){
  .m-process-showcase{ padding:66px 0 42px; }
  .m-process-intro{ width:100%; }
  .m-process-kicker{ margin-bottom:24px; font-size:10px; }
  .m-process-intro h2{ font-size:clamp(40px,11.8vw,54px); line-height:1.04; }
  .m-process-intro p{ margin-top:20px; font-size:15px; }
  .m-process-art{ top:-44px; right:-48%; width:100%; height:280px; opacity:.35; }
  .m-process-timeline{ display:flex; flex-direction:column; gap:0; margin-top:54px; padding:0 0 0 29px; }
  .m-process-timeline:before{ top:5px; bottom:8px; left:5px; right:auto; width:1px; height:auto; background:linear-gradient(to bottom,rgba(139,92,246,.55),rgba(141,130,162,.38),rgba(139,92,246,.15)); }
  .m-process-step{ padding:0 0 44px 0; }
  .m-process-step:last-child{ padding-bottom:0; }
  .m-process-step:before{ display:none !important; }
  .m-process-dot,.m-process-step:first-child .m-process-dot,.m-process-step:nth-child(3) .m-process-dot,.m-process-step:nth-child(5) .m-process-dot{ top:0; left:-30px; width:11px; height:11px; }
  .m-process-number{ margin-bottom:12px; font-size:10px; }
  .m-process-step-body,.m-process-step:first-child .m-process-step-body,.m-process-step:nth-child(odd) .m-process-step-body{ display:grid; grid-template-columns:48px 1fr; grid-template-areas:"icon title" "icon copy"; column-gap:15px; min-height:0; padding:0; border:0; }
  .m-process-icon{ grid-area:icon; width:44px; height:44px; margin:0; }
  .m-process-step h3{ grid-area:title; align-self:end; margin:0 0 5px; font-size:18px; }
  .m-process-step p{ grid-area:copy; font-size:13px; }
  .m-process-footer{ flex-direction:column; align-items:stretch; margin-top:48px; padding-top:25px; }
  .m-process-signature{ max-width:none; }
  .m-process-cta-wrap{ display:grid; grid-template-columns:1fr auto; gap:17px; }
  .m-process-cta{ min-width:0; }
  .m-process-footer-divider{ display:none; }
  .m-process-cta-copy{ width:112px; font-size:8px; }
}
@media (prefers-reduced-motion:reduce){
  .m-process-dot,.m-process-icon,.m-process-cta{ transition:none; }
}

/* ---------- MANIFESTO SPLIT (diferencial) ---------- */
.m-manifesto-split{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.m-manifesto-split h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(30px,3.6vw,44px); line-height:1.12; letter-spacing:-.025em; margin:0; }
.m-manifesto-split-copy p{ font-size:16px; line-height:1.7; color:#5c5c62; margin:0 0 40px; max-width:460px; }
.m-manifesto-points{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; border-top:1px solid var(--paper-line); padding-top:28px; }
.m-manifesto-points b{ display:block; font-size:14px; margin-bottom:6px; }
.m-manifesto-points span{ font-size:13px; color:#5c5c62; line-height:1.5; display:block; }
@media (max-width:900px){ .m-manifesto-split{ grid-template-columns:1fr; gap:30px; } .m-manifesto-points{ grid-template-columns:1fr; gap:18px; } }

/* ---------- CARE — compact teaser ---------- */
.m-care-mini{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.m-care-mini-title{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(46px,6vw,74px); line-height:.95; letter-spacing:-.03em; margin:0 0 18px; }
.m-care-mini-title span{ color:var(--accent-strong,#7C3AED); }
.m-care-mini p.m-care-mini-copy{ font-size:16px; line-height:1.7; color:#5c5c62; max-width:400px; margin:0 0 28px; }
.m-care-highlights{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-bottom:32px; }
.m-care-highlights span{ font-size:12px; font-weight:700; color:#3d3d42; display:flex; align-items:center; gap:8px; }
.m-care-highlights span:before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent-strong,#7C3AED); }
@media (max-width:900px){ .m-care-mini{ grid-template-columns:1fr; gap:28px; } }

/* ---------- SHOP — compact, monochrome mascot ---------- */
.m-shop-mini{ display:flex; align-items:center; justify-content:space-between; gap:50px; flex-wrap:wrap; }
.m-shop-mini h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(26px,3vw,36px); margin:0 0 12px; letter-spacing:-.01em; }
.m-shop-mini h2 sup{ font-size:.4em; color:var(--accent); top:-1.2em; }
.m-shop-mini p{ color:#9c9ca4; font-size:15px; max-width:340px; margin:0 0 22px; }
.m-shop-mascot-frame{
  width:76px; height:76px; border-radius:50%; border:1px solid var(--ink-line); display:flex; align-items:center;
  justify-content:center; overflow:hidden; flex-shrink:0; filter:grayscale(1) contrast(1.05) brightness(.95);
}
.m-shop-mascot-frame img{ width:72%; height:72%; object-fit:contain; }
.m-shop-mini-right{ display:flex; align-items:center; gap:22px; }
@media (max-width:700px){ .m-shop-mini{ flex-direction:column; text-align:center; } .m-shop-mini-right{ flex-direction:column; } }

/* ---------- CTA FINAL v2 ---------- */
.m-cta-v2{ position:relative; padding:150px 0; text-align:left; overflow:hidden; background:radial-gradient(ellipse 900px 500px at 85% 50%,rgba(139,92,246,.16),transparent 65%),var(--ink); }
.m-cta-v2:before{
  content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-160px; top:50%; transform:translateY(-50%);
  border:1px solid rgba(139,92,246,.14); pointer-events:none;
}
.m-cta-v2-mark{
  position:absolute; right:2%; top:50%; transform:translateY(-50%); font-family:"Inter",sans-serif; font-weight:800;
  font-size:min(30vw,340px); line-height:1; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.08); pointer-events:none; z-index:0;
}
.m-cta-v2:after{
  content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 20px var(--accent);
  right:14%; top:38%; pointer-events:none;
}
.m-cta-v2 .container{ position:relative; z-index:1; }
.m-cta-v2 .m-label{ margin-bottom:22px; }
.m-cta-v2 h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(32px,3.8vw,50px); line-height:1.15; letter-spacing:-.02em; margin:0 0 20px; max-width:16ch; }
.m-cta-v2 p{ font-size:16px; color:#5c5c62; max-width:400px; margin:0 0 36px; }
.m-paper .m-cta-v2 p{ color:#5c5c62; }
.m-black .m-cta-v2 p{ color:#9c9ca4; }
@media (max-width:620px){ .m-cta-v2{ padding:90px 0; } }

/* ---------- FOOTER — condensed ---------- */
.m-footer{ padding:70px 0 28px; }
.m-footer-word{ font-size:clamp(36px,6vw,64px); margin:0 0 44px; line-height:1; }
.m-footer-grid{ grid-template-columns:1.4fr repeat(3,1fr); padding-bottom:36px; }
.m-footer-col a, .m-footer-col span{ margin-bottom:10px; font-size:13.5px; }
.m-footer-bottom a{ color:#9c9ca4; }
.m-footer-bottom a:hover{ color:var(--accent); }

/* =========================================================================
   MONLIFY 4.0 — premium dark rebuild (Junior Lima structural reference)
   ========================================================================= */

/* ---------- DIFERENCIAL — "do início ao lançamento" ---------- */
.m-diff2{ display:grid; grid-template-columns:.85fr 1.15fr; gap:0; border:1px solid var(--ink-line); border-radius:24px; overflow:hidden; background:#0e0e12; }
.m-diff2-visual{
  position:relative; min-height:320px; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 30% 30%,rgba(139,92,246,.22),transparent 60%),#0a0a0d;
}
.m-diff2-visual .m-diff2-mark{
  font-family:"Inter",sans-serif; font-weight:800; font-size:180px; color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.45); line-height:1;
}
.m-diff2-visual .m-diff2-dot{ position:absolute; width:10px; height:10px; border-radius:50%; background:var(--accent); box-shadow:0 0 18px var(--accent); top:20%; right:22%; }
.m-diff2-visual .m-hero-chip{ top:auto; bottom:10%; left:8%; right:auto; }
.m-diff2-body{ padding:48px 52px; display:flex; flex-direction:column; justify-content:center; gap:0; }
.m-diff2-body h2{ font-family:"Inter",sans-serif; font-weight:800; font-size:clamp(28px,3vw,36px); line-height:1.18; letter-spacing:-.02em; margin:0 0 16px; color:#f4f4f1; }
.m-diff2-body h2 em{ font-style:normal; color:var(--accent); }
.m-diff2-body > p{ font-size:15px; line-height:1.7; color:#9c9ca4; max-width:440px; margin:0 0 32px; }
.m-diff2-points{ display:flex; flex-direction:column; gap:20px; }
.m-diff2-point{ display:flex; align-items:flex-start; gap:14px; }
.m-diff2-point-icon{ width:38px; height:38px; border-radius:10px; background:rgba(139,92,246,.14); color:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.m-diff2-point-icon svg{ width:18px; height:18px; }
.m-diff2-point span{ font-size:14.5px; color:#e6e6e8; font-weight:600; }
@media (max-width:900px){
  .m-diff2{ grid-template-columns:1fr; }
  .m-diff2-visual{ min-height:220px; }
  .m-diff2-body{ padding:36px 28px; }
}

/* ---------- SERVICES 3.0 — card grid ---------- */
.m-services3-grid{ display:grid; grid-template-columns:1.1fr 1fr 1fr; grid-auto-flow:dense; gap:20px; }
.m-svc3-card{
  border:1px solid var(--ink-line); border-radius:18px; padding:30px; background:#0e0e12;
  display:flex; flex-direction:column; transition:.25s ease; position:relative;
}
.m-svc3-card:hover{ border-color:rgba(139,92,246,.4); transform:translateY(-3px); }
.m-svc3-card.is-large{ grid-row:span 2; justify-content:flex-end; padding:0; overflow:hidden; }
.m-svc3-large-media{ padding:28px 28px 0; }
.m-svc3-browser{ border-radius:12px 12px 0 0; overflow:hidden; border:1px solid var(--ink-line); border-bottom:0; background:#0a0a0d; }
.m-svc3-browser-bar{ height:28px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#141418; }
.m-svc3-browser-bar i{ width:7px; height:7px; border-radius:50%; background:#2c2c33; }
.m-svc3-large-media img{ width:100%; height:auto; display:block; }
.m-svc3-large-body{ padding:26px 28px 30px; }
.m-svc3-icon{ width:42px; height:42px; border-radius:11px; background:rgba(139,92,246,.14); color:var(--accent); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.m-svc3-icon svg{ width:20px; height:20px; }
.m-svc3-card h3{ font-size:18px; font-weight:700; color:#f4f4f1; margin:0 0 8px; letter-spacing:-.01em; }
.m-svc3-card p{ font-size:13.5px; line-height:1.6; color:#9c9ca4; margin:0 0 22px; flex-grow:1; }
.m-svc3-foot{ display:flex; align-items:center; justify-content:space-between; }
.m-svc3-foot span{ font-size:12.5px; font-weight:700; color:#c8c8ce; }
.m-svc3-arrow{ width:34px; height:34px; border-radius:50%; border:1px solid var(--ink-line); display:flex; align-items:center; justify-content:center; color:#c8c8ce; transition:.2s ease; }
.m-svc3-card:hover .m-svc3-arrow{ background:var(--accent); border-color:var(--accent); color:#fff; transform:translateX(2px); }
.m-svc3-card.is-tall{ grid-row:span 2; justify-content:center; }
.m-svc3-card.is-purple{
  background:linear-gradient(155deg,var(--accent-strong,#7C3AED),#5b3aa8 120%); border-color:transparent;
}
.m-svc3-card.is-purple .m-svc3-icon{ background:rgba(255,255,255,.16); color:#fff; }
.m-svc3-card.is-purple h3{ color:#fff; }
.m-svc3-card.is-purple p{ color:rgba(255,255,255,.82); }
.m-svc3-card.is-purple .m-svc3-foot span{ color:#fff; }
.m-svc3-card.is-purple .m-svc3-arrow{ background:rgba(255,255,255,.16); border-color:transparent; color:#fff; }
.m-svc3-card.is-purple:hover{ border-color:transparent; }
.m-svc3-card.is-purple:hover .m-svc3-arrow{ background:#fff; color:var(--accent-strong,#7C3AED); }
@media (max-width:1000px){ .m-svc3-card.is-tall{ grid-row:auto; } }
@media (max-width:1000px){
  .m-services3-grid{ grid-template-columns:1fr 1fr; }
  .m-svc3-card.is-large{ grid-column:span 2; grid-row:auto; }
}
@media (max-width:640px){
  .m-services3-grid{ grid-template-columns:1fr; }
  .m-svc3-card.is-large{ grid-column:auto; }
}

/* ---------- FAQ ---------- */
.m-faq-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.m-faq-list{ border-top:1px solid var(--ink-line); }
.m-faq-item{ border-bottom:1px solid var(--ink-line); }
.m-faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 4px; background:none; border:0; text-align:left; color:#f0f0f1; font-size:16px; font-weight:600; cursor:pointer;
}
.m-faq-plus{ width:26px; height:26px; flex-shrink:0; position:relative; }
.m-faq-plus:before, .m-faq-plus:after{ content:""; position:absolute; background:#c8c8ce; transition:.25s ease; }
.m-faq-plus:before{ left:0; top:50%; width:100%; height:1.5px; transform:translateY(-50%); }
.m-faq-plus:after{ top:0; left:50%; width:1.5px; height:100%; transform:translateX(-50%); }
.m-faq-item.is-open .m-faq-plus:after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.m-faq-item.is-open .m-faq-plus:before{ background:var(--accent); }
.m-faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.m-faq-a p{ font-size:14.5px; line-height:1.65; color:#9c9ca4; margin:0 0 22px; max-width:560px; }
.m-faq-item.is-open .m-faq-a{ max-height:320px; }

/* =========================================================================
   MONLIFY 5.0 — polish pass: density, hierarchy, spacing
   ========================================================================= */

/* tighten section rhythm across the reworked page */
#oquefazemos, #percepcao, #sobre{ padding:84px 0; }
#servicos{ padding-top:88px; padding-bottom:96px; }
#servicos .m-h2{ margin-bottom:40px !important; }
#faq{ padding:80px 0; }
.m-process-showcase{ padding:80px 0 !important; }

/* ---------- "O que fazemos" — compact 01–04 list ---------- */
.m-needs{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start; }
.m-needs-head .m-h2{ line-height:1.15; margin-top:14px; }
.m-needs-list{ display:flex; flex-direction:column; }
.m-need-item{ display:flex; align-items:flex-start; gap:22px; padding:20px 0; border-top:1px solid var(--ink-line); }
.m-need-item:last-child{ border-bottom:1px solid var(--ink-line); }
.m-need-num{ font-family:"Inter",sans-serif; font-weight:700; font-size:14px; color:#6c6c74; padding-top:2px; transition:color .3s ease; flex-shrink:0; width:26px; }
.m-need-item.visible .m-need-num{ color:var(--accent); }
.m-need-item h3{ font-size:17px; font-weight:700; color:#f0f0f1; margin:0 0 5px; letter-spacing:-.01em; }
.m-need-item p{ font-size:13.5px; line-height:1.55; color:#9c9ca4; margin:0; }
@media (max-width:900px){ .m-needs{ grid-template-columns:1fr; gap:28px; } }

/* ---------- "Seu site é parte da percepção" — flow panel ---------- */
.m-percep{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.m-percep-body p{ font-size:15px; line-height:1.7; color:#9c9ca4; max-width:400px; margin:14px 0 0; }
.m-percep-flow{
  display:flex; align-items:center; gap:14px; padding:30px 26px; border:1px solid var(--ink-line); border-radius:20px;
  background:radial-gradient(circle at 80% 20%,rgba(139,92,246,.08),transparent 60%),#0e0e12; overflow-x:auto;
}
.m-percep-step{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; flex-shrink:0; width:118px; }
.m-percep-icon{ width:44px; height:44px; border-radius:12px; background:rgba(139,92,246,.14); color:var(--accent); display:flex; align-items:center; justify-content:center; }
.m-percep-icon svg{ width:20px; height:20px; }
.m-percep-step h4{ font-size:13.5px; font-weight:700; color:#f0f0f1; margin:0 0 4px; }
.m-percep-step p{ font-size:11.5px; line-height:1.4; color:#8a8a90; margin:0; }
.m-percep-arrow{ color:#4a4a52; font-size:16px; flex-shrink:0; }
@media (max-width:900px){
  .m-percep{ grid-template-columns:1fr; gap:32px; }
  .m-percep-flow{ justify-content:flex-start; }
}
@media (max-width:560px){
  .m-percep-flow{ padding:22px 16px; gap:10px; }
  .m-percep-step{ width:96px; }
}

/* ---------- "Sobre" — compact pill points variant ---------- */
.m-diff2-points-row{ flex-direction:row; flex-wrap:wrap; gap:10px; }
.m-diff2-points-row .m-diff2-point{ border:1px solid var(--ink-line); border-radius:999px; padding:9px 16px; }
.m-diff2-points-row .m-diff2-point span{ font-size:12.5px; font-weight:700; color:#c8c8ce; }

/* CTA final — secondary action */
.m-cta-v2-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
@media (max-width:900px){ .m-faq-grid{ grid-template-columns:1fr; gap:30px; } }
