:root { --ink:#24151f; --muted:#70636c; --plum:#a22376; --plum-dark:#7b1859; --rose:#f8e9f3; --line:#e9dfe5; --paper:#fffdfa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.container { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:50; height:78px; background:#fff; border-bottom:1px solid rgba(72,44,63,.09); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; background:#fff; }
.brand img { display:block; width:188px; height:56px; object-fit:contain; object-position:left center; }
nav { display:flex; gap:31px; font-size:14px; font-weight:700; }
nav a { transition:.2s; } nav a:hover { color:var(--plum); }
.button { min-height:50px; padding:0 23px; display:inline-flex; align-items:center; justify-content:center; gap:15px; border:0; border-radius:6px; font-weight:800; font-size:14px; cursor:pointer; transition:transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button-small { min-height:43px; padding:0 18px; }
.button-primary { color:white; background:linear-gradient(135deg,#b22a82,#86175e); box-shadow:0 14px 28px rgba(144,27,100,.22); }
.button-primary:hover { box-shadow:0 18px 35px rgba(144,27,100,.3); }
.button-dark { background:var(--ink); color:white; }
.button-white { background:white; color:var(--plum-dark); }
.hero { position:relative; min-height:720px; overflow:hidden; background:#27131f; color:white; padding:78px 0 70px; }
.hero:after { content:""; position:absolute; inset:auto -10% -58% 38%; height:680px; border-radius:50%; border:1px solid rgba(255,255,255,.08); box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02); transform:rotate(-14deg); }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,black,transparent 78%); }
.hero-glow { position:absolute; border-radius:50%; filter:blur(4px); pointer-events:none; }
.glow-one { width:500px; height:500px; right:18%; top:-270px; background:rgba(181,40,130,.22); }
.glow-two { width:320px; height:320px; left:-180px; bottom:-120px; background:rgba(177,37,126,.15); }
.hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:75px; }
.eyebrow { display:flex; align-items:center; gap:11px; color:#efb9db; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:800; }
.eyebrow span { width:28px; height:2px; background:#d74a9f; }
.eyebrow.dark { color:var(--plum); }
.hero h1 { max-width:680px; margin:21px 0 24px; font-family:Georgia, 'Times New Roman', serif; font-weight:500; font-size:clamp(48px,5.5vw,77px); line-height:1.02; letter-spacing:-.045em; }
.hero h1 em { color:#e066b2; font-weight:500; }
.hero-text { max-width:650px; color:#d8cad3; font-size:18px; line-height:1.75; }
.hero-actions { margin-top:34px; display:flex; align-items:center; gap:29px; }
.text-link { display:flex; gap:10px; align-items:center; font-size:14px; font-weight:800; }
.call-dot { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.trust-row { display:flex; margin-top:47px; padding-top:26px; border-top:1px solid rgba(255,255,255,.13); }
.trust-row div { padding:0 26px; border-right:1px solid rgba(255,255,255,.13); }
.trust-row div:first-child { padding-left:0; }.trust-row div:last-child { border:0; }
.trust-row strong,.trust-row span { display:block; }.trust-row strong { font-size:13px; }.trust-row span { margin-top:6px; color:#a99aa3; font-size:12px; }
.lead-card { scroll-margin-top:100px; background:#fff; color:var(--ink); padding:31px; border-radius:13px; box-shadow:0 30px 90px rgba(0,0,0,.3); }
.form-topline { display:flex; justify-content:space-between; color:var(--plum); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.form-topline b { color:#3d8a60; background:#eaf7ef; padding:5px 8px; border-radius:20px; letter-spacing:0; text-transform:none; }
.lead-card h2 { margin:16px 0 7px; font-family:Georgia,serif; font-size:30px; letter-spacing:-.03em; }
.lead-card>p { color:var(--muted); font-size:13px; line-height:1.5; margin:0 0 22px; }
.lead-card form { display:grid; gap:14px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
label { display:grid; gap:7px; color:#43333e; font-size:12px; font-weight:800; }
label span { color:#9c9098; font-weight:500; }
input,select,textarea { width:100%; border:1px solid #ddd3d9; background:#fcfafb; border-radius:5px; padding:12px 13px; color:var(--ink); outline:none; transition:.2s; }
input:focus,select:focus,textarea:focus { border-color:var(--plum); box-shadow:0 0 0 3px rgba(162,35,118,.09); background:white; }
textarea { resize:vertical; }.form-submit { width:100%; margin-top:3px; }.form-submit:disabled { opacity:.65; cursor:wait; }
.honeypot { display:none; }.lead-card small { text-align:center; color:#978b93; font-size:10px; }
.form-message { padding:10px; border-radius:5px; font-size:12px; font-weight:700; text-align:center; }
.form-message.success { color:#236a43; background:#eaf7ef; }.form-message.error { color:#9b2731; background:#feedef; }
.section { padding:105px 0; }.section-heading h2,.why h2,.final-cta h2 { font-family:Georgia,serif; font-weight:500; letter-spacing:-.035em; line-height:1.08; }
.split-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:80px; margin-bottom:50px; }
.section-heading h2 { margin:15px 0 0; font-size:52px; }.split-heading>p { color:var(--muted); font-size:16px; line-height:1.7; margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { position:relative; overflow:hidden; min-height:405px; padding:31px; background:white; border:1px solid var(--line); border-radius:9px; transition:.25s; }
.service-card:before { content:""; position:absolute; inset:0 auto auto 0; width:0; height:3px; background:var(--plum); transition:.3s; }
.service-card:hover { transform:translateY(-7px); box-shadow:0 25px 60px rgba(64,31,53,.1); border-color:#ddbbd1; }.service-card:hover:before { width:100%; }
.card-number { color:#cdbfc8; font-size:12px; font-weight:900; letter-spacing:.16em; }
.service-card h3 { margin:31px 0 18px; font-family:Georgia,serif; font-size:27px; font-weight:500; }.service-card p { min-height:92px; color:var(--muted); line-height:1.7; font-size:14px; }
.tag-list { display:flex; flex-wrap:wrap; gap:7px; margin:25px 0; }.tag-list span { padding:7px 9px; background:#faf3f7; color:#7b4868; border-radius:3px; font-size:10px; font-weight:800; }
.service-card a { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:19px; color:var(--plum); font-size:13px; font-weight:800; }.service-card a b { font-size:18px; }
.why { background:#f5eef2; }.why-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; align-items:center; }
.why h2 { font-size:49px; margin:18px 0; }.why-copy>p { color:var(--muted); font-size:16px; line-height:1.75; margin:0 0 31px; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d9cad3; border-left:1px solid #d9cad3; }
.benefit-grid>div { padding:29px; min-height:205px; border-right:1px solid #d9cad3; border-bottom:1px solid #d9cad3; background:rgba(255,255,255,.35); }
.benefit-grid b { color:var(--plum); font-size:11px; letter-spacing:.16em; }.benefit-grid h3 { font-size:17px; margin:19px 0 10px; }.benefit-grid p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.process { background:white; }.centered { text-align:center; max-width:720px; margin:0 auto 60px; }.centered .eyebrow { justify-content:center; }.centered h2 { font-size:49px; }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }.process-line:before { content:""; position:absolute; left:8%; right:8%; top:24px; height:1px; background:#dfd3da; }
.process-step { position:relative; padding:0 28px; text-align:center; }.process-step>span { position:relative; z-index:1; margin:auto; width:49px; height:49px; display:grid; place-items:center; background:var(--paper); border:1px solid #d7c7d1; border-radius:50%; color:var(--plum); font-size:11px; font-weight:900; }
.process-step h3 { margin:22px 0 10px; font-family:Georgia,serif; font-size:20px; }.process-step p { color:var(--muted); font-size:13px; line-height:1.6; }
.final-cta { padding:75px 0; background:linear-gradient(120deg,#4b193a,#8f1e68); color:white; }
.cta-inner { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:center; }.final-cta h2 { margin:15px 0 0; font-size:43px; max-width:760px; }.cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }.whatsapp-link { font-weight:800; font-size:14px; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:5px; }
footer { background:#1d1119; color:#c8b9c2; padding:29px 0 90px; }.footer-inner { display:flex; align-items:center; gap:28px; font-size:12px; }.footer-inner img { width:135px; height:44px; object-fit:contain; background:white; border-radius:4px; padding:4px; }.footer-inner p { flex:1; }.footer-inner a { color:white; font-weight:800; }
.floating-whatsapp { position:fixed; z-index:60; right:23px; bottom:23px; display:flex; align-items:center; gap:10px; padding:10px 15px 10px 10px; color:white; background:#168c52; border-radius:40px; font-size:12px; font-weight:900; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.mobile-actions { display:none; }
@media (max-width: 960px) {
  nav { display:none; }.header-inner>.button { display:none; }.site-header { height:68px; }.brand img { width:160px; }
  .hero { padding:55px 0 70px; }.hero-layout { grid-template-columns:1fr; gap:45px; }.hero-copy { text-align:center; }.hero-copy .eyebrow,.hero-actions { justify-content:center; }.hero-text { margin-left:auto; margin-right:auto; }.trust-row { justify-content:center; }.lead-card { max-width:620px; margin:auto; width:100%; }
  .split-heading,.why-layout,.cta-inner { grid-template-columns:1fr; gap:35px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:auto; }.service-card p { min-height:0; }.process-line { grid-template-columns:1fr 1fr; gap:42px 0; }.process-line:before { display:none; }
  .cta-actions { flex-direction:row; align-items:center; }.footer-inner { flex-wrap:wrap; }.footer-inner p { flex-basis:50%; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 28px, 1180px); }.hero { padding-top:42px; }.hero h1 { font-size:47px; }.hero-text { font-size:16px; }.hero-actions { flex-direction:column; gap:21px; }.trust-row { display:grid; grid-template-columns:1fr 1fr; gap:20px 0; text-align:left; }.trust-row div { padding:0 15px; }.trust-row div:first-child { padding-left:15px; }.trust-row div:last-child { grid-column:1 / -1; }
  .lead-card { padding:23px 18px; }.field-row { grid-template-columns:1fr; }.lead-card h2 { font-size:27px; }
  .section { padding:75px 0; }.section-heading h2,.why h2,.centered h2 { font-size:38px; }.split-heading { margin-bottom:34px; }.service-card { padding:25px; }.benefit-grid { grid-template-columns:1fr; }
  .process-line { grid-template-columns:1fr; }.process-step { padding:0 35px; }.final-cta { padding:60px 0; }.final-cta h2 { font-size:35px; }.cta-actions { align-items:flex-start; flex-direction:column; }
  footer { padding-bottom:90px; }.footer-inner { align-items:flex-start; flex-direction:column; gap:12px; }.footer-inner p { margin:0; }.floating-whatsapp { display:none; }.mobile-actions { position:fixed; z-index:70; inset:auto 0 0; display:grid; grid-template-columns:1fr 1fr; box-shadow:0 -4px 20px rgba(0,0,0,.15); }.mobile-actions a { padding:16px; text-align:center; color:white; background:#26151f; font-size:13px; font-weight:900; }.mobile-actions a:last-child { background:#168c52; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
