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

:root {
  /* ── Soothing Wellness Palette ── */
  --ivory:      #F9F7F4;
  --ivory2:     #F2EFE9;
  --ivory3:     #EAE6DE;
  --lavender:   #7B7BC8;
  --lav-l:      #E8E8F5;
  --lav-ll:     #F3F3FB;
  --lav-d:      #5A5AA8;
  --sage:       #5A8A6A;
  --sage-l:     #D4EAD9;
  --sage-ll:    #EDF6F0;
  --sage-d:     #3D6B4D;
  --mist:       #6A9CAF;
  --mist-l:     #D4EAF2;
  --mist-ll:    #EBF5F9;
  --mist-d:     #4A7A8E;
  --blush:      #C4827A;
  --blush-l:    #F2E0DE;
  --blush-d:    #A3625A;
  --sky:        #8EB8D4;
  --sky-l:      #DDEEF7;
  --ink:        #2A2A3E;
  --ink2:       #3A3A50;
  --muted:      #6E6E86;
  --muted2:     #9898AA;
  --border:     rgba(42,42,62,.08);
  --white:      #FFFFFF;

  --shadow:     0 20px 60px rgba(42,42,62,.10);
  --shadow-s:   0 4px 24px rgba(42,42,62,.07);
  --shadow-xs:  0 2px 12px rgba(42,42,62,.05);
  --r:          24px;
  --r-s:        14px;
  --r-xs:       8px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: 'Nunito', sans-serif; color: var(--ink); background: var(--ivory); line-height: 1.65; }
a { text-decoration: none; color: inherit; }
::selection { background: var(--lav-l); color: var(--lav-d); }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--ivory2); }
::-webkit-scrollbar-thumb { background: var(--lavender); border-radius: 4px; }

/* ═══ NAV ═══ */
.nav {
  position: fixed; top: 0; width: 100%; z-index: 999;
  height: 74px; display: flex; align-items: center;
  justify-content: space-between; padding: 0 5.5%;
  background: rgba(249,247,244,.97);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .4s;
}
.nav.scrolled { box-shadow: 0 4px 32px rgba(42,42,62,.08); }
.logo { display: flex; align-items: center; gap: 13px; }
.logo-mark {
  width: 44px; height: 44px; border-radius: 14px;
  background: linear-gradient(135deg, var(--lavender), var(--lav-d));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; box-shadow: 0 4px 16px rgba(123,123,200,.28);
}
.logo-text strong { font-family: 'Alef', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--ink); display: block; line-height: 1.2; }
.logo-text span { font-size: .58rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--lavender); }
.nav-menu { display: flex; gap: 2px; list-style: none; }
.nav-menu a { padding: 8px 15px; border-radius: 50px; font-size: .86rem; font-weight: 500; color: var(--muted); transition: all .22s; }
.nav-menu a:hover, .nav-menu a.active { color: var(--lavender); background: var(--lav-l); }
.nav-btn {
  background: linear-gradient(135deg, var(--lavender), var(--lav-d));
  color: #fff; padding: 10px 26px; border-radius: 50px;
  font-size: .86rem; font-weight: 600;
  box-shadow: 0 4px 16px rgba(123,123,200,.28); transition: all .24s;
}
.nav-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(123,123,200,.36); }
.ham { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.ham span { width: 23px; height: 2px; background: var(--ink); border-radius: 2px; display: block; }
@media(max-width:860px){
  .nav-menu { display: none; flex-direction: column; position: fixed; top: 74px; left: 0; right: 0; background: rgba(249,247,244,.98); backdrop-filter: blur(24px); padding: 16px 5.5%; border-bottom: 1px solid var(--border); gap: 2px; }
  .nav-menu.open { display: flex; }
  .ham { display: flex; }
  .nav-btn { display: none; }
}

/* ═══ BUTTONS ═══ */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 15px 34px; border-radius: 50px; font-family: 'Nunito', sans-serif; font-size: .94rem; font-weight: 600; cursor: pointer; border: none; transition: all .26s; }
.btn-lav { background: linear-gradient(135deg, var(--lavender), var(--lav-d)); color: #fff; box-shadow: 0 6px 24px rgba(123,123,200,.3); }
.btn-lav:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(123,123,200,.4); }
.btn-sage { background: linear-gradient(135deg, var(--sage), var(--sage-d)); color: #fff; box-shadow: 0 6px 22px rgba(90,138,106,.28); }
.btn-sage:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(90,138,106,.38); }
.btn-mist { background: linear-gradient(135deg, var(--mist), var(--mist-d)); color: #fff; box-shadow: 0 6px 22px rgba(106,156,175,.28); }
.btn-mist:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(106,156,175,.38); }
.btn-ghost { border: 1.5px solid var(--border); background: rgba(255,255,255,.7); color: var(--ink2); backdrop-filter: blur(8px); }
.btn-ghost:hover { border-color: var(--lavender); color: var(--lavender); background: var(--lav-l); }
.btn-white { background: #fff; color: var(--lavender); font-weight: 700; }
.btn-white:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.btn-sm { padding: 11px 24px; font-size: .86rem; }

/* ═══ LAYOUT ═══ */
.sec { padding: 104px 5.5%; }
.sec-sm { padding: 68px 5.5%; }
.sec-ivory { background: var(--ivory2); }
.sec-lav { background: var(--lav-ll); }
.sec-sage { background: var(--sage-ll); }
.sec-mist { background: var(--mist-ll); }
.sec-dark { background: var(--ink); }
.wrap { max-width: 1180px; margin: 0 auto; }
.center { text-align: center; }
.center .lead { margin-left: auto; margin-right: auto; }

/* ═══ LABELS ═══ */
.label { display: inline-flex; align-items: center; gap: 7px; font-size: .68rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; padding: 5px 14px; border-radius: 50px; margin-bottom: 14px; }
.lb-lav   { background: var(--lav-l);   color: var(--lav-d); }
.lb-sage  { background: var(--sage-l);  color: var(--sage-d); }
.lb-mist  { background: var(--mist-l);  color: var(--mist-d); }
.lb-blush { background: var(--blush-l); color: var(--blush-d); }
.lb-ivory { background: var(--ivory3);  color: var(--muted); }
.lb-white { background: rgba(255,255,255,.15); color: rgba(255,255,255,.9); }

/* ═══ TYPOGRAPHY ═══ */
.h1 { font-family: 'Alef', sans-serif; font-size: clamp(2.8rem,5.5vw,4.8rem); font-weight: 700; color: var(--ink); line-height: 1.08; letter-spacing: -.03em; }
.h1 em { font-style: italic; color: var(--lavender); }
.h2 { font-family: 'Alef', sans-serif; font-size: clamp(2rem,3.8vw,3.2rem); font-weight: 700; color: var(--ink); line-height: 1.18; margin-bottom: 16px; }
.h2 em { font-style: italic; color: var(--lavender); }
.h2-w { color: #fff; }
.h3 { font-family: 'Alef', sans-serif; font-size: 1.6rem; font-weight: 600; color: var(--ink); line-height: 1.28; margin-bottom: 12px; }
.lead { font-size: 1.06rem; color: var(--muted); line-height: 1.88; max-width: 600px; margin-bottom: 34px; }
.lead-w { color: rgba(255,255,255,.72); }

/* ═══════════════════════════════════════════════════════
   HERO — HOME (Full immersive)
═══════════════════════════════════════════════════════ */
.hero-home {
  min-height: 100vh;
  background: linear-gradient(155deg, var(--lav-ll) 0%, var(--ivory) 38%, var(--sage-ll) 72%, var(--mist-ll) 100%);
  display: flex; align-items: center;
  padding: 110px 5.5% 80px;
  position: relative; overflow: hidden;
}
.hero-home::before {
  content: ''; position: absolute;
  width: 800px; height: 800px; border-radius: 50%;
  background: radial-gradient(circle, rgba(123,123,200,.09), transparent 65%);
  right: -200px; top: -200px; pointer-events: none;
}
.hero-home::after {
  content: ''; position: absolute;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,138,106,.07), transparent 65%);
  left: -100px; bottom: -100px; pointer-events: none;
}
.hero-home-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }
.hero-text .h1 { margin-bottom: 24px; }
.hero-text .lead { margin-bottom: 38px; }
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 52px; }
.hero-trust {
  display: inline-flex; align-items: center; gap: 14px;
  background: rgba(255,255,255,.8); backdrop-filter: blur(16px);
  border: 1px solid var(--border); border-radius: var(--r);
  padding: 14px 20px; box-shadow: var(--shadow-xs);
}
.trust-avs { display: flex; }
.trust-avs span { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .88rem; border: 2px solid #fff; margin-right: -8px; }
.trust-text strong { display: block; font-size: .83rem; color: var(--ink); font-weight: 600; }
.trust-text span { font-size: .75rem; color: var(--muted); }
.hero-right { display: flex; flex-direction: column; gap: 16px; }
.hero-card-lg {
  background: rgba(255,255,255,.85); backdrop-filter: blur(20px);
  border: 1px solid var(--border); border-radius: var(--r);
  padding: 30px 28px; box-shadow: var(--shadow-s);
  transition: all .3s;
}
.hero-card-lg:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.hero-card-lg .top { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.hero-card-lg .ic { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }
.hero-card-lg h4 { font-family: 'Alef', sans-serif; font-size: 1.08rem; font-weight: 600; color: var(--ink); }
.hero-card-lg p { font-size: .86rem; color: var(--muted); line-height: 1.65; }
.hero-card-sm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hero-card-sm {
  background: rgba(255,255,255,.8); backdrop-filter: blur(16px);
  border: 1px solid var(--border); border-radius: var(--r-s);
  padding: 20px 18px; box-shadow: var(--shadow-xs);
  transition: all .3s;
}
.hero-card-sm:hover { transform: translateY(-3px); box-shadow: var(--shadow-s); }
.hero-card-sm .ic { font-size: 1.5rem; margin-bottom: 8px; }
.hero-card-sm h5 { font-size: .86rem; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.hero-card-sm p { font-size: .75rem; color: var(--muted); line-height: 1.5; }

/* ═══════════════════════════════════════════════════════
   HERO — INNER PAGES
═══════════════════════════════════════════════════════ */
.pg-hero {
  min-height: 88vh; display: flex; align-items: center;
  padding: 120px 5.5% 80px;
  position: relative; overflow: hidden;
}

/* Relationship — lavender mist */
.ph-rel {
  background: linear-gradient(145deg, var(--lav-ll) 0%, var(--ivory) 45%, #EEE8F8 100%);
}
.ph-rel::before {
  content: ''; position: absolute;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(123,123,200,.10), transparent 65%);
  right: -180px; top: -180px; pointer-events: none;
}

/* Overcoming — sage forest */
.ph-ob {
  background: linear-gradient(145deg, var(--sage-ll) 0%, var(--ivory) 45%, #E8F4EC 100%);
}
.ph-ob::before {
  content: ''; position: absolute;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,138,106,.10), transparent 65%);
  right: -180px; top: -180px; pointer-events: none;
}

/* Emotional Wellness — sky mist */
.ph-ew {
  background: linear-gradient(145deg, var(--mist-ll) 0%, var(--ivory) 45%, #E5F2F8 100%);
}
.ph-ew::before {
  content: ''; position: absolute;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(106,156,175,.10), transparent 65%);
  right: -180px; top: -180px; pointer-events: none;
}

/* Contact — warm ivory */
.ph-ct {
  background: linear-gradient(145deg, var(--ivory2) 0%, var(--lav-ll) 100%);
}

.pg-hero-inner { max-width: 1180px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
.pg-hero-text .h1 { margin-bottom: 22px; }
.pg-hero-text .lead { margin-bottom: 36px; }
.pg-hero-visual {
  background: rgba(255,255,255,.65); backdrop-filter: blur(20px);
  border: 1px solid var(--border); border-radius: 32px;
  padding: 52px 44px; text-align: center;
  box-shadow: var(--shadow);
}
.pg-hero-visual .big-emoji { font-size: 6.5rem; margin-bottom: 24px; display: block; line-height: 1; }
.pg-hero-visual .vis-title { font-family: 'Alef', sans-serif; font-size: 1.35rem; font-weight: 600; color: var(--ink); margin-bottom: 10px; }
.pg-hero-visual .vis-sub { color: var(--muted); font-size: .9rem; line-height: 1.78; margin-bottom: 24px; }
.vis-pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.vis-pill { padding: 6px 16px; border-radius: 50px; font-size: .74rem; font-weight: 600; }
.hero-stat-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 24px; }
.hero-stat { background: rgba(255,255,255,.7); border: 1px solid var(--border); border-radius: var(--r-s); padding: 16px 12px; text-align: center; }
.hs-n { font-family: 'Alef', sans-serif; font-size: 1.6rem; font-weight: 700; color: var(--lavender); line-height: 1; }
.hs-l { font-size: .68rem; color: var(--muted2); margin-top: 4px; letter-spacing: .5px; }
@media(max-width:900px){ .pg-hero-inner, .hero-home-inner { grid-template-columns: 1fr; gap: 48px; } .pg-hero { min-height: auto; } }

/* ═══ STATS BAND ═══ */
.stats-band {
  background: linear-gradient(135deg, var(--ink) 0%, var(--ink2) 100%);
  padding: 56px 5.5%; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 28px;
}
.stat-n { font-family: 'Alef', sans-serif; font-size: 2.8rem; font-weight: 700; color: var(--lavender); line-height: 1; }
.stat-l { color: rgba(255,255,255,.4); font-size: .72rem; margin-top: 5px; letter-spacing: 1px; text-transform: uppercase; }

/* ═══ PULL QUOTE ═══ */
.pullquote { padding: 80px 5.5%; text-align: center; position: relative; overflow: hidden; background: linear-gradient(135deg, var(--lav-ll), var(--ivory2)); }
.pullquote::before { content: '"'; position: absolute; left: 2%; top: -60px; font-size: 22rem; color: rgba(123,123,200,.06); font-family: Georgia, serif; line-height: 1; pointer-events: none; }
.pullquote blockquote { font-family: 'Alef', sans-serif; font-style: italic; font-size: clamp(1.4rem,2.8vw,2.1rem); color: var(--ink2); line-height: 1.65; max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.pullquote blockquote em { font-style: normal; color: var(--lavender); }
.pullquote cite { display: block; color: var(--muted2); font-size: .82rem; margin-top: 18px; font-style: normal; letter-spacing: .8px; }

/* ═══ CARD GRIDS ═══ */
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
@media(max-width:860px){ .grid-3,.grid-4 { grid-template-columns: 1fr 1fr; } .grid-2 { grid-template-columns: 1fr; gap: 40px; } }
@media(max-width:500px){ .grid-3,.grid-4 { grid-template-columns: 1fr; } }

.card {
  background: rgba(255,255,255,.8);
  border: 1px solid var(--border);
  border-radius: var(--r); padding: 38px 30px;
  box-shadow: var(--shadow-xs); display: flex; flex-direction: column;
  transition: all .3s; position: relative; overflow: hidden;
  backdrop-filter: blur(8px);
}
.card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--lavender), var(--mist)); transform: scaleX(0); transition: transform .3s; transform-origin: left; }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow); background: #fff; }
.card:hover::before { transform: scaleX(1); }
.card .ic { font-size: 2.2rem; margin-bottom: 18px; }
.card h3 { font-family: 'Alef', sans-serif; font-size: 1.15rem; color: var(--ink); margin-bottom: 11px; }
.card p { color: var(--muted); font-size: .9rem; line-height: 1.78; flex: 1; }
.card-lnk { display: inline-flex; align-items: center; gap: 6px; color: var(--lavender); font-size: .83rem; font-weight: 600; margin-top: 18px; transition: gap .2s; }
.card:hover .card-lnk { gap: 10px; }

/* ═══ SPLIT SECTIONS ═══ */
.split-vis { border-radius: var(--r); padding: 52px 40px; text-align: center; }
.split-vis .big { font-size: 5rem; margin-bottom: 20px; }
.check { display: flex; flex-direction: column; gap: 13px; margin-top: 20px; text-align: left; }
.ch { display: flex; gap: 12px; align-items: flex-start; }
.ch-dot { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; font-size: .78rem; }
.ch p { font-size: .9rem; color: var(--muted); line-height: 1.6; }
.ch strong { color: var(--ink); }

/* ═══ TESTIMONIALS ═══ */
.testi { background: rgba(255,255,255,.85); backdrop-filter: blur(12px); border: 1px solid var(--border); border-radius: var(--r); padding: 36px 30px; display: flex; flex-direction: column; box-shadow: var(--shadow-xs); }
.testi-q { font-size: 3.5rem; color: var(--lav-l); font-family: Georgia, serif; line-height: .8; margin-bottom: 8px; }
.testi blockquote { font-family: 'Alef', sans-serif; font-style: italic; color: var(--ink2); font-size: .96rem; line-height: 1.78; flex: 1; margin-bottom: 22px; }
.stars { color: #F0A500; letter-spacing: 3px; font-size: .9rem; margin-bottom: 12px; }
.testi-foot { display: flex; align-items: center; gap: 13px; border-top: 1px solid var(--border); padding-top: 18px; margin-top: auto; }
.tav { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 700; }
.tname { font-weight: 600; color: var(--ink); font-size: .88rem; }
.trole { color: var(--muted2); font-size: .74rem; margin-top: 1px; }

/* ═══ CTA BAND ═══ */
.cta-band { background: linear-gradient(145deg, var(--lavender) 0%, var(--lav-d) 60%, #4040A0 100%); padding: 96px 5.5%; text-align: center; position: relative; overflow: hidden; }
.cta-band::before { content: ''; position: absolute; right: -150px; top: -150px; width: 600px; height: 600px; border-radius: 50%; background: rgba(255,255,255,.06); pointer-events: none; }
.cta-band::after { content: ''; position: absolute; left: -80px; bottom: -80px; width: 400px; height: 400px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.cta-band h2 { color: #fff; margin-bottom: 14px; position: relative; z-index: 1; }
.cta-band .lead-w { max-width: 560px; margin: 0 auto 36px; position: relative; z-index: 1; }
.cta-band .btn-white { position: relative; z-index: 1; }

/* ═══ STEPS ═══ */
.steps { display: flex; flex-direction: column; gap: 20px; }
.step { display: flex; gap: 22px; align-items: flex-start; background: rgba(255,255,255,.8); border: 1px solid var(--border); border-radius: var(--r-s); padding: 28px 24px; box-shadow: var(--shadow-xs); transition: all .28s; }
.step:hover { transform: translateX(5px); box-shadow: var(--shadow-s); background: #fff; }
.step-n { width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: 'Alef', sans-serif; font-size: 1.2rem; font-weight: 700; color: #fff; }
.step-body h4 { font-weight: 600; color: var(--ink); margin-bottom: 5px; font-size: .96rem; }
.step-body p { color: var(--muted); font-size: .88rem; line-height: 1.7; }

/* ═══ PROMISE BOXES ═══ */
.promise { background: rgba(255,255,255,.8); border: 1px solid var(--border); border-radius: var(--r); padding: 30px 24px; text-align: center; box-shadow: var(--shadow-xs); backdrop-filter: blur(8px); }
.promise .ic { font-size: 2.2rem; margin-bottom: 12px; }
.promise h4 { font-weight: 600; color: var(--ink); margin-bottom: 7px; font-size: .95rem; }
.promise p { color: var(--muted); font-size: .84rem; line-height: 1.66; }

/* ═══ CONTACT FORM ═══ */
.cf-wrap { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; }
.cf { background: #fff; border-radius: 32px; padding: 52px 44px; box-shadow: var(--shadow); border: 1px solid var(--border); }
.cf h3 { font-family: 'Alef', sans-serif; color: var(--ink); font-size: 1.6rem; font-weight: 600; margin-bottom: 28px; }
.fg { margin-bottom: 18px; }
.fg label { display: block; font-size: .82rem; font-weight: 600; color: var(--ink); margin-bottom: 7px; letter-spacing: .2px; }
.fg input, .fg select, .fg textarea { width: 100%; padding: 13px 16px; border: 1.5px solid var(--ivory3); border-radius: var(--r-s); font-family: 'Nunito', sans-serif; font-size: .9rem; color: var(--ink); background: var(--ivory); outline: none; transition: all .22s; }
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color: var(--lavender); background: #fff; box-shadow: 0 0 0 4px rgba(123,123,200,.10); }
.fg textarea { height: 120px; resize: vertical; }
.fg-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cf-submit { width: 100%; background: linear-gradient(135deg, var(--lavender), var(--lav-d)); color: #fff; border: none; padding: 16px; border-radius: 50px; font-family: 'Nunito', sans-serif; font-size: .96rem; font-weight: 600; cursor: pointer; transition: all .25s; box-shadow: 0 6px 24px rgba(123,123,200,.28); }
.cf-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(123,123,200,.38); }
.ci h3 { font-family: 'Alef', sans-serif; color: var(--ink); font-size: 1.5rem; font-weight: 600; margin-bottom: 10px; }
.ci > .lead { max-width: 100%; font-size: .96rem; margin-bottom: 28px; }
.ci-item { display: flex; gap: 15px; margin-bottom: 20px; align-items: flex-start; }
.ci-ic { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; flex-shrink: 0; }
.ci-item h5 { font-weight: 600; color: var(--ink); margin-bottom: 3px; font-size: .9rem; }
.ci-item p { color: var(--muted); font-size: .85rem; line-height: 1.55; margin: 0; }
.ci-note { background: var(--lav-ll); border-radius: var(--r-s); padding: 22px 24px; border-left: 4px solid var(--lavender); margin-top: 18px; }
.ci-note p { font-size: .88rem; color: var(--muted); line-height: 1.72; }
.ci-note strong { color: var(--lavender); }
.faq { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.faq-item { background: var(--ivory2); border-radius: var(--r-xs); border: 1px solid var(--border); overflow: hidden; }
.faq-q { padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 600; color: var(--ink); font-size: .9rem; }
.faq-q span { color: var(--lavender); flex-shrink: 0; transition: transform .3s; }
.faq-a { padding: 0 22px 18px; color: var(--muted); font-size: .88rem; line-height: 1.76; display: none; }
@media(max-width:860px){ .cf-wrap { grid-template-columns: 1fr; } .cf { padding: 32px 22px; } .fg-2 { grid-template-columns: 1fr; } }

/* ═══ SERVICE ROWS ═══ */
.svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding: 88px 5.5%; }
.svc-row:nth-child(even) { background: var(--ivory2); }
.svc-row:nth-child(even) .svc-vis { order: 2; }
.svc-vis { border-radius: var(--r); padding: 52px 40px; text-align: center; }
.svc-vis .big { font-size: 5rem; margin-bottom: 18px; }
.svc-vis h3 { font-family: 'Alef', sans-serif; color: var(--ink); font-size: 1.2rem; margin-bottom: 8px; }
.svc-vis p { color: var(--muted); font-size: .88rem; line-height: 1.75; }
.inc { display: flex; flex-direction: column; gap: 10px; margin: 18px 0; }
.inc-i { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--ink2); }
.inc-i::before { content: '✦'; color: var(--lavender); font-size: .72rem; flex-shrink: 0; }
@media(max-width:860px){ .svc-row { grid-template-columns: 1fr; gap: 36px; padding: 56px 5.5%; } .svc-row:nth-child(even) .svc-vis { order: 0; } }

/* ═══ FOOTER ═══ */
footer { background: var(--ink); padding: 80px 5.5% 36px; }
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 48px; margin-bottom: 56px; }
.fb .logo-text strong { color: #fff; }
.fb .logo-text span { color: var(--lavender); }
.fb p { color: rgba(255,255,255,.36); font-size: .84rem; line-height: 1.8; margin-top: 16px; max-width: 280px; }
.fc h5 { color: #fff; font-size: .86rem; font-weight: 600; margin-bottom: 16px; letter-spacing: .3px; }
.fc ul { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.fc ul a, .fc ul li { color: rgba(255,255,255,.38); font-size: .83rem; transition: color .2s; line-height: 1.6; }
.fc ul a:hover { color: var(--lavender); }
.foot-bottom { border-top: 1px solid rgba(255,255,255,.07); padding-top: 26px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; color: rgba(255,255,255,.24); font-size: .77rem; }
.foot-bottom a { color: rgba(255,255,255,.24); transition: color .2s; }
.foot-bottom a:hover { color: var(--lavender); }
@media(max-width:860px){ .foot-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media(max-width:480px){ .foot-grid { grid-template-columns: 1fr; } }

/* ═══ WHATSAPP ═══ */
.wa { position: fixed; bottom: 28px; right: 28px; z-index: 9999; width: 56px; height: 56px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; box-shadow: 0 6px 24px rgba(37,211,102,.4); transition: transform .22s; }
.wa:hover { transform: scale(1.1); }

/* ═══ ANIMATIONS ═══ */
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.hero-right .hero-card-lg:nth-child(1) { animation: fadeUp .7s ease both .2s; }
.hero-right .hero-card-sm-row { animation: fadeUp .7s ease both .45s; }
.hero-text .label { animation: fadeUp .5s ease both .1s; }
.hero-text .h1 { animation: fadeUp .6s ease both .2s; }
.hero-text .lead { animation: fadeUp .6s ease both .32s; }
.hero-text .hero-btns { animation: fadeUp .6s ease both .44s; }
.hero-text .hero-trust { animation: fadeUp .6s ease both .56s; }
.pg-hero-visual .big-emoji { animation: float 5s ease-in-out infinite; }


.logo-img {
  width: 52px; height: 52px; border-radius: 12px;
  object-fit: cover; flex-shrink: 0;
  box-shadow: 0 3px 12px rgba(42,42,62,.12);
}
.logo .logo-text strong { font-size: 1.05rem; line-height: 1.2; }
.logo .logo-text span { font-size: .55rem; letter-spacing: 1.4px; }
@media(max-width:600px){
  .logo .logo-text strong { font-size: .85rem; }
  .logo-img { width: 40px; height: 40px; }
}
