:root{
  --purple-900:#2c0a49;
  --purple-800:#3d0f66;
  --purple-700:#57068C;
  --purple-600:#6b1fa0;
  --purple-500:#7e22ce;
  --purple-400:#9b3fd4;
  --purple-200:#e4c9f5;
  --purple-100:#f0def9;
  --purple-50:#faf5fd;
  --text-dark:#241432;
  --text-body:#5b4d6b;
  --text-mute:#857796;
  --border-soft:rgba(87,6,140,.14);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:#ffffff; color:var(--text-body); font-family:"Segoe UI", Inter, -apple-system, BlinkMacSystemFont, Arial, sans-serif; }
a{ color:inherit; text-decoration:none; }
button, input, select, textarea{ font:inherit; }
img{ max-width:100%; display:block; }
ul{ margin:0; }

.wrap{ width:min(1180px, calc(100% - 40px)); margin:auto; }

header.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--border-soft); }
.nav{ min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.logo{ display:flex; align-items:center; flex-shrink:0; }
.logo img{ height:30px; width:auto; }
nav.links{ display:flex; align-items:center; gap:20px; font-size:14px; }
nav.links > a{ color:var(--text-body); font-weight:600; transition:color .2s; white-space:nowrap; }
nav.links > a:hover, nav.links > a.active{ color:var(--purple-700); }

.nav-item.dropdown{ position:relative; }
.dropdown-toggle{ display:inline-flex; align-items:center; gap:6px; background:none; border:0; color:var(--text-body); font-weight:600; font-size:14px; cursor:pointer; padding:8px 0; white-space:nowrap; }
.dropdown-toggle:hover{ color:var(--purple-700); }
.dropdown.open .dropdown-toggle, .dropdown:hover .dropdown-toggle{ color:var(--purple-700); }
.caret{ font-size:10px; transition:transform .2s; display:inline-block; }
.dropdown.open .caret, .dropdown:hover .caret{ transform:rotate(180deg); }
.dropdown-bridge{ display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:14px; z-index:60; }
.dropdown.open .dropdown-bridge, .dropdown:hover .dropdown-bridge{ display:block; }
.dropdown-panel{ width:620px; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:14px; background:#fff; border:1px solid var(--border-soft); border-radius:18px; box-shadow:0 24px 50px rgba(87,6,140,.16); max-height:70vh; overflow-y:auto; }
.dropdown-panel a{ display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius:12px; transition:background .15s; }
.dropdown-panel a:hover{ background:var(--purple-50); }
.dropdown-panel .ic{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--purple-100); color:var(--purple-700); font-size:16px; flex-shrink:0; }
.dropdown-panel h5{ margin:0; font-size:13.5px; color:var(--text-dark); font-weight:700; }
.dropdown-panel p{ margin:3px 0 0; font-size:12px; color:var(--text-mute); line-height:1.45; }
.dropdown-panel .view-all{ grid-column:1/-1; margin-top:4px; padding-top:12px; border-top:1px solid var(--border-soft); display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--purple-700); }

.lang-switch{ display:flex; align-items:center; gap:2px; border:1.5px solid var(--purple-200); border-radius:10px; padding:3px; background:#fff; }
.lang-switch a{ padding:6px 9px; border-radius:7px; font-size:12px; font-weight:800; color:var(--text-mute); letter-spacing:.03em; }
.lang-switch a.active{ background:var(--purple-700); color:#fff; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 20px; border:0; border-radius:12px; background:linear-gradient(135deg,var(--purple-700),var(--purple-500)); color:#fff; font-weight:700; cursor:pointer; box-shadow:0 10px 24px rgba(87,6,140,.22); transition:transform .15s, box-shadow .15s; font-size:14px; }
.btn:hover{ transform:translateY(-1px); box-shadow:0 14px 30px rgba(87,6,140,.3); }
.btn.secondary{ background:#fff; color:var(--purple-700); border:1.5px solid var(--purple-200); box-shadow:none; }
.btn.secondary:hover{ background:var(--purple-50); border-color:var(--purple-400); }
.btn.block{ width:100%; }
.menu-toggle{ display:none; border:1.5px solid var(--purple-200); background:#fff; color:var(--purple-700); border-radius:10px; padding:9px 13px; font-weight:700; }
.mobile-menu{ display:none; padding:6px 0 18px; }
.mobile-menu.open{ display:block; }
.mobile-menu a{ display:block; padding:11px 0; color:var(--text-dark); border-bottom:1px solid var(--border-soft); font-weight:600; }
.mobile-menu .mm-group-label{ padding:14px 0 4px; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--purple-700); border-bottom:none; }
.mobile-menu .mm-sub a{ padding-left:14px; font-weight:500; font-size:14px; }
.mobile-menu .lang-row{ display:flex; gap:8px; padding-top:14px; }
.mobile-menu .lang-row a{ flex:1; text-align:center; border:1.5px solid var(--purple-200); border-radius:10px; padding:10px; font-weight:800; border-bottom:1.5px solid var(--purple-200); font-size:13px; }
.mobile-menu .lang-row a.active{ background:var(--purple-700); color:#fff; border-color:var(--purple-700); }

.site-header .btn{ color:#fff; }
.site-header .lang-switch a{ color:var(--text-mute); }
.site-header .lang-switch a.active{ color:#fff; }

.breadcrumb{ padding:18px 0; font-size:13px; color:var(--text-mute); }
.breadcrumb a:hover{ color:var(--purple-700); }
.breadcrumb span{ margin:0 6px; }

.hero{ position:relative; padding:44px 0 60px; overflow:hidden; background:
    radial-gradient(600px 380px at 82% -8%, rgba(87,6,140,.10), transparent 70%),
    radial-gradient(500px 360px at 8% 10%, rgba(155,63,212,.08), transparent 70%);
}
.hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.badge{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:999px; background:var(--purple-100); border:1px solid var(--purple-200); color:var(--purple-700); font-size:12.5px; font-weight:700; }
h1{ margin:22px 0 0; color:var(--text-dark); font-size:clamp(34px,5vw,58px); line-height:1.1; letter-spacing:-.03em; }
h1 span{ background:linear-gradient(135deg,var(--purple-700),var(--purple-400)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead{ max-width:620px; margin:22px 0 0; color:var(--text-body); font-size:17.5px; line-height:1.75; }
.actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.trust{ display:flex; flex-wrap:wrap; gap:20px; margin-top:28px; font-size:13px; color:var(--text-body); }
.trust span::before{ content:"✓"; color:var(--purple-700); margin-right:7px; font-weight:900; }

.dashboard{ position:relative; padding:20px; border-radius:26px; border:1px solid var(--border-soft); background:#fff; box-shadow:0 30px 70px rgba(87,6,140,.12); }
.dash-top{ display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; border-bottom:1px solid var(--border-soft); }
.dash-top strong{ color:var(--text-dark); font-size:14px; }
.dash-top small{ display:block; color:var(--text-mute); margin-top:3px; }
.status-pill{ font-size:11px; padding:6px 10px; border-radius:999px; background:#eefaf3; color:#1f9d58; font-weight:700; }
.dash-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.dash-card{ padding:16px; border-radius:16px; border:1px solid var(--border-soft); background:var(--purple-50); }
.dash-card .ic{ font-size:20px; color:var(--purple-700); }
.dash-card b{ display:block; margin-top:16px; color:var(--text-dark); font-size:13px; }
.dash-card small{ color:var(--text-mute); }

.carousel-section{ padding:28px 0 0; }
.carousel{ position:relative; border-radius:28px; overflow:hidden; box-shadow:0 30px 70px rgba(87,6,140,.16); border:1px solid var(--border-soft); }
.carousel-track{ position:relative; width:100%; aspect-ratio:16/6.4; min-height:320px; background:#1a0630; }
.carousel-slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .6s ease; }
.carousel-slide.active{ opacity:1; visibility:visible; }
.carousel-slide img{ width:100%; height:100%; object-fit:cover; }
.carousel-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(36,10,60,.86) 0%, rgba(36,10,60,.62) 38%, rgba(36,10,60,.15) 68%, rgba(36,10,60,0) 88%); }
.carousel-caption{ position:absolute; left:0; top:0; bottom:0; display:flex; flex-direction:column; justify-content:center; padding:6% 5%; max-width:560px; z-index:2; }
.carousel-caption .tag{ display:inline-flex; align-self:flex-start; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; backdrop-filter:blur(6px); }
.carousel-caption h3{ color:#fff; font-size:clamp(20px,2.6vw,30px); margin:14px 0 0; line-height:1.2; letter-spacing:-.02em; }
.carousel-caption p{ color:rgba(255,255,255,.88); margin:10px 0 0; font-size:14.5px; line-height:1.6; max-width:460px; }
.carousel-caption .btn{ margin-top:20px; align-self:flex-start; background:#fff; color:var(--purple-700); box-shadow:none; }
.carousel-caption .btn:hover{ background:var(--purple-50); }
.carousel-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); color:#fff; display:grid; place-items:center; cursor:pointer; z-index:3; backdrop-filter:blur(6px); font-size:18px; transition:background .2s; }
.carousel-arrow:hover{ background:rgba(255,255,255,.3); }
.carousel-arrow.prev{ left:16px; }
.carousel-arrow.next{ right:16px; }
.carousel-dots{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; flex-wrap:wrap; justify-content:center; max-width:80%; }
.carousel-dots button{ width:9px; height:9px; border-radius:999px; border:1.5px solid rgba(255,255,255,.7); background:rgba(255,255,255,.25); padding:0; cursor:pointer; transition:background .2s, width .2s; }
.carousel-dots button.active{ background:#fff; width:26px; }

.section{ padding:80px 0; }
.subtle{ background:var(--purple-50); border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); }
.eyebrow{ color:var(--purple-700); font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.section-head{ max-width:740px; margin:0 auto 44px; text-align:center; }
.section-head.left{ margin-left:0; text-align:left; }
h2{ margin:12px 0 0; color:var(--text-dark); font-size:clamp(27px,3.6vw,40px); line-height:1.16; letter-spacing:-.02em; }
.section-head p{ margin:16px auto 0; color:var(--text-body); font-size:16.5px; line-height:1.7; }
.section-head.left p{ margin-left:0; }

.service-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service{ padding:26px; border-radius:22px; border:1px solid var(--border-soft); background:#fff; box-shadow:0 8px 24px rgba(87,6,140,.05); display:flex; flex-direction:column; }
.service .ic{ width:44px; height:44px; border-radius:13px; display:grid; place-items:center; background:var(--purple-100); border:1px solid var(--purple-200); font-size:20px; color:var(--purple-700); }
.service h3{ color:var(--text-dark); margin:20px 0 0; font-size:19px; }
.service p{ color:var(--text-body); margin-top:10px; line-height:1.6; min-height:70px; flex-grow:1; }
.service ul{ list-style:none; padding:0; margin:18px 0 0; }
.service li{ color:var(--text-dark); font-size:13.5px; margin-top:10px; }
.service li::before{ content:"✓"; color:var(--purple-700); margin-right:8px; }
.service .more{ margin-top:18px; font-size:13.5px; font-weight:700; color:var(--purple-700); }
.service .more:hover{ text-decoration:underline; }

.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.step{ padding:24px; border-radius:20px; border:1px solid var(--border-soft); background:#fff; }
.step .num{ color:var(--purple-200); font-size:34px; font-weight:800; }
.step h3{ color:var(--text-dark); margin:28px 0 8px; font-size:17px; }
.step p{ margin:0; color:var(--text-body); font-size:13.5px; line-height:1.6; }

.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.about-grid p{ color:var(--text-body); line-height:1.75; font-size:16.5px; }
.feature-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.feature{ padding:16px; border-radius:15px; border:1px solid var(--border-soft); background:#fff; }
.feature strong{ display:block; color:var(--text-dark); font-size:14.5px; }
.feature span{ display:block; margin-top:6px; color:var(--text-body); font-size:13px; line-height:1.5; }
.offer{ padding:34px; border-radius:24px; border:1px solid var(--purple-200); background:linear-gradient(150deg,var(--purple-100),#fff); }
.offer h3{ color:var(--text-dark); font-size:25px; line-height:1.25; margin:14px 0; }
.offer p{ font-size:14.5px; color:var(--text-body); }

.faq{ max-width:800px; margin:auto; border-radius:20px; border:1px solid var(--border-soft); overflow:hidden; background:#fff; }
.faq-item{ border-bottom:1px solid var(--border-soft); }
.faq-item:last-child{ border-bottom:0; }
.faq-q{ width:100%; display:flex; justify-content:space-between; gap:16px; padding:20px 22px; background:none; border:0; color:var(--text-dark); font-weight:700; text-align:left; cursor:pointer; font-size:15px; }
.faq-a{ display:none; padding:0 22px 20px; color:var(--text-body); line-height:1.7; font-size:14.5px; }
.faq-item.open .faq-a{ display:block; }
.faq-item.open .faq-q .chev{ transform:rotate(180deg); color:var(--purple-700); }
.chev{ transition:transform .2s; color:var(--purple-400); }

.contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; }
.contact-text p{ color:var(--text-body); font-size:16.5px; line-height:1.75; }
.checks{ margin-top:22px; font-size:14px; color:var(--text-dark); line-height:2.1; }
.checks div::before{ content:"✓"; color:var(--purple-700); margin-right:8px; }
.contact-info{ margin-top:28px; padding:20px; border-radius:16px; border:1px solid var(--border-soft); background:var(--purple-50); }
.contact-info div{ display:flex; gap:12px; font-size:14px; color:var(--text-dark); }
.contact-info div + div{ margin-top:12px; }
.contact-info .ic{ color:var(--purple-700); font-weight:800; flex-shrink:0; }
.contact-info a.whatsapp-link{ display:inline-flex; align-items:center; margin-top:6px; color:#1d9d54; font-weight:700; }
.contact-info a.whatsapp-link svg{ color:#1d9d54; }
.contact-photo{ margin-top:22px; border-radius:18px; overflow:hidden; border:1px solid var(--border-soft); box-shadow:0 16px 40px rgba(87,6,140,.12); aspect-ratio:3/4; }
.contact-photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
form.contact-form{ padding:26px; border-radius:22px; border:1px solid var(--border-soft); background:var(--purple-50); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
form.contact-form label{ font-size:13px; color:var(--text-dark); font-weight:600; }
form.contact-form input, form.contact-form select, form.contact-form textarea{
  width:100%; margin-top:7px; padding:12px 13px; border-radius:11px; border:1px solid var(--purple-200);
  background:#fff; color:var(--text-dark); outline:none;
}
form.contact-form input:focus, form.contact-form select:focus, form.contact-form textarea:focus{ border-color:var(--purple-700); box-shadow:0 0 0 3px rgba(87,6,140,.12); }
form.contact-form textarea{ min-height:120px; resize:vertical; }
.wide{ grid-column:1/-1; }
.form-note{ margin-top:10px; text-align:center; font-size:12px; color:var(--text-mute); }
.form-error{ display:none; margin-top:12px; padding:12px 14px; border-radius:10px; background:#fef2f2; border:1px solid #fecaca; color:#b91c1c; font-size:13px; text-align:center; }
.form-error.show{ display:block; }
.success-box{ min-height:380px; display:none; place-items:center; text-align:center; padding:30px; border-radius:22px; border:1px solid var(--border-soft); background:var(--purple-50); }
.success-box.show{ display:grid; }
.success-box b{ display:block; color:var(--text-dark); font-size:23px; }
.success-box p{ max-width:440px; margin:12px auto 0; color:var(--text-body); line-height:1.7; }
.btn[disabled]{ opacity:.6; cursor:not-allowed; }
.hp-field{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.cta-banner{ padding:44px; border-radius:26px; background:linear-gradient(135deg,var(--purple-700),var(--purple-500)); color:#fff; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.cta-banner h3{ margin:0; font-size:24px; max-width:520px; }
.cta-banner p{ margin:8px 0 0; color:rgba(255,255,255,.85); font-size:14.5px; max-width:520px; }
.cta-banner .btn{ background:#fff; color:var(--purple-700); box-shadow:none; }
.cta-banner .btn:hover{ background:var(--purple-50); }

.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.related-card{ padding:20px; border-radius:18px; border:1px solid var(--border-soft); background:#fff; transition:box-shadow .2s, transform .2s; }
.related-card:hover{ box-shadow:0 12px 28px rgba(87,6,140,.1); transform:translateY(-2px); }
.related-card .ic{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--purple-100); color:var(--purple-700); font-size:17px; }
.related-card h4{ color:var(--text-dark); margin:14px 0 6px; font-size:15.5px; }
.related-card p{ margin:0; color:var(--text-body); font-size:13px; line-height:1.5; }

.detail-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.detail-list{ list-style:none; padding:0; margin:0; }
.detail-list li{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--border-soft); color:var(--text-dark); font-size:15px; }
.detail-list li:last-child{ border-bottom:0; }
.detail-list li::before{ content:"✓"; color:var(--purple-700); font-weight:900; flex-shrink:0; }

.page-hero{ padding:34px 0 0; background:linear-gradient(180deg,var(--purple-50),#fff); border-bottom:1px solid var(--border-soft); }
.page-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding-bottom:50px; }
.page-hero .icon-lg{ width:56px; height:56px; border-radius:16px; display:grid; place-items:center; background:#fff; border:1px solid var(--purple-200); font-size:26px; color:var(--purple-700); box-shadow:0 8px 20px rgba(87,6,140,.1); }
.page-hero h1{ margin-top:18px; font-size:clamp(28px,4vw,42px); }
.page-hero .lead{ margin-top:16px; }
.page-hero-img{ border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(87,6,140,.18); border:1px solid var(--border-soft); aspect-ratio:4/3; }
.page-hero-img img{ width:100%; height:100%; object-fit:cover; }

.disclaimer-box{ margin-top:22px; padding:16px 18px; border-radius:14px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; font-size:13.5px; line-height:1.6; }
.confidence-box{ margin-top:22px; padding:16px 18px; border-radius:14px; background:#effaf3; border:1px solid #b9ecc7; color:#1c6b3a; font-size:13.5px; line-height:1.6; }
.savings-badge{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:999px; background:#effaf3; border:1px solid #b9ecc7; color:#1c6b3a; font-size:12.5px; font-weight:700; margin-top:14px; }

.legal-content{ max-width:820px; margin:0 auto; }
.legal-content h2{ margin-top:42px; font-size:22px; }
.legal-content h2:first-child{ margin-top:0; }
.legal-content p{ margin-top:14px; font-size:15.5px; line-height:1.8; color:var(--text-body); }
.legal-content ul{ margin-top:14px; padding-left:22px; }
.legal-content li{ font-size:15.5px; line-height:1.8; color:var(--text-body); margin-top:8px; }
.legal-content .updated{ color:var(--text-mute); font-size:13px; margin-bottom:8px; }

.founder-card{ display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:center; padding:36px; border-radius:28px; border:1px solid var(--border-soft); background:linear-gradient(150deg,var(--purple-50),#fff); }
.founder-photo{ border-radius:22px; overflow:hidden; box-shadow:0 20px 50px rgba(87,6,140,.16); aspect-ratio:3/4; }
.founder-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; }
.founder-name{ color:var(--text-dark); font-size:22px; font-weight:800; margin:0; }
.founder-role{ color:var(--purple-700); font-size:13.5px; font-weight:700; margin-top:4px; }
.founder-quote{ margin-top:18px; font-size:16.5px; line-height:1.75; color:var(--text-body); font-style:italic; border-left:3px solid var(--purple-200); padding-left:18px; }
.founder-bio{ margin-top:16px; font-size:15px; line-height:1.75; color:var(--text-body); }
.founder-bio p + p{ margin-top:12px; }
.timeline{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.timeline-item{ padding:18px; border-radius:16px; border:1px solid var(--border-soft); background:#fff; text-align:center; }
.timeline-item b{ display:block; color:var(--purple-700); font-size:22px; font-weight:800; }
.timeline-item span{ display:block; margin-top:6px; color:var(--text-body); font-size:13px; line-height:1.5; }

footer{ padding:32px 0; border-top:1px solid var(--border-soft); }
.footer-grid{ display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--text-mute); font-size:12px; flex-wrap:wrap; }
.footer-grid .logo img{ height:24px; }
.legal{ display:flex; gap:16px; }
.legal a:hover{ color:var(--purple-700); }
.footer-cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; padding-bottom:34px; margin-bottom:26px; border-bottom:1px solid var(--border-soft); }
.footer-cols h4{ color:var(--text-dark); font-size:13.5px; margin:0 0 14px; }
.footer-cols ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.footer-cols a{ color:var(--text-body); font-size:13.5px; }
.footer-cols a:hover{ color:var(--purple-700); }
.footer-brand-name{ display:block; margin-top:14px; font-weight:700; color:var(--text-dark); font-size:14px; }
.footer-cols p.footer-desc{ color:var(--text-body); font-size:13.5px; line-height:1.7; margin:8px 0 0; max-width:300px; }
.footer-contact{ list-style:none; padding:0; margin:20px 0 0; display:flex; flex-direction:column; gap:10px; }
.footer-contact li{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:var(--text-body); line-height:1.5; }
.footer-contact .ic{ color:var(--purple-700); flex-shrink:0; line-height:1.5; }
.footer-contact .addr-text{ display:inline-block; }

.whatsapp-float{ position:fixed; right:22px; bottom:22px; z-index:80; width:58px; height:58px; border-radius:50%; background:#25D366; display:grid; place-items:center; box-shadow:0 12px 28px rgba(37,211,102,.4); transition:transform .2s; }
.whatsapp-float:hover{ transform:scale(1.07); }
.whatsapp-float svg{ width:30px; height:30px; }

/* Contact page: photo + info side by side on top, form centered below */
.contact-top-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:stretch; }
.contact-form-inline{ margin-top:32px; }
.contact-top-grid .contact-photo{ margin-top:0; aspect-ratio:auto; height:100%; min-height:420px; }

@media (max-width:960px){
  .hero-grid, .about-grid, .contact-grid, .contact-top-grid, .detail-grid, .page-hero-grid, .founder-card{ grid-template-columns:1fr; }
  .service-grid, .related-grid{ grid-template-columns:1fr 1fr; }
  .process-grid{ grid-template-columns:1fr 1fr; }
  nav.links{ display:none; }
  .menu-toggle{ display:inline-block; }
  .footer-cols{ grid-template-columns:1fr 1fr; }
  .cta-banner{ flex-direction:column; align-items:flex-start; }
  .page-hero-img{ order:-1; aspect-ratio:16/9; }
  .founder-photo{ max-width:320px; margin:0 auto; }
  .timeline{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .service-grid, .process-grid, .feature-grid, .form-grid, .related-grid{ grid-template-columns:1fr; }
  .wide{ grid-column:auto; }
  .service p{ min-height:auto; }
  .footer-grid{ flex-direction:column; text-align:center; }
  .dash-grid{ grid-template-columns:1fr; }
  .footer-cols{ grid-template-columns:1fr; }
  .carousel-track{ aspect-ratio:auto; min-height:420px; }
  .carousel-caption{ max-width:100%; padding:9% 6%; }
  .carousel-arrow{ width:36px; height:36px; font-size:15px; }
  .whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; }
  .timeline{ grid-template-columns:1fr; }
}
