/* VETCARE · CAMPINAS — EXPERIÊNCIA INTERATIVA (v8) */
.xp{
  --bg:#061f1d; --bg2:#0a2e2b; --ink:#eafaf6; --soft:#9ec7bf;
  --teal:#00d3a7; --teal-d:#04312e; --line:rgba(255,255,255,.1);
  --serif:'Space Grotesk',sans-serif; --sans:'Inter',sans-serif;
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.xp *{ box-sizing:border-box; margin:0; padding:0; }
.xp ::selection{ background:var(--teal); color:var(--teal-d); }
.xp-wrap{ max-width:1200px; margin:0 auto; padding:0 40px; }
.xp-narrow{ max-width:820px; margin:0 auto; padding:0 40px; }
.xp h1,.xp h2,.xp h3{ font-family:var(--serif); font-weight:600; line-height:1.02; letter-spacing:-.03em; }

/* botões */
.xp-btn{ display:inline-flex; align-items:center; gap:12px; font-family:var(--sans); font-weight:600; font-size:1rem; padding:17px 34px; border-radius:6px; text-decoration:none; cursor:pointer; border:none; position:relative; overflow:hidden; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.xp-btn span{ position:relative; z-index:1; }
.xp-btn__ar{ transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.xp-btn:hover .xp-btn__ar{ transform:translateX(5px); }
.xp-btn--primary{ background:var(--teal); color:var(--teal-d); }
.xp-btn--primary::before{ content:""; position:absolute; inset:0; background:#4dffd0; transform:translateY(101%); transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.xp-btn--primary:hover::before{ transform:translateY(0); }
.xp-btn--primary:hover{ transform:translateY(-2px); }
.xp-btn--ghost{ background:transparent; color:var(--ink); border:1px solid var(--line); }
.xp-btn--ghost:hover{ border-color:var(--teal); color:var(--teal); transform:translateY(-2px); }

/* reveal — mask que sobe */
.xp-rv{ opacity:0; transform:translateY(30px); transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1); }
.xp-rv.in{ opacity:1; transform:none; }
.xp-rv.d1{ transition-delay:.1s } .xp-rv.d2{ transition-delay:.2s } .xp-rv.d3{ transition-delay:.3s } .xp-rv.d4{ transition-delay:.4s }
/* reveal por palavra (título) */
.xp-word{ display:inline-block; overflow:hidden; vertical-align:top; }
.xp-word > span{ display:inline-block; transform:translateY(105%); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.xp-word.in > span{ transform:translateY(0); }

/* HEADER */
.xp-header{ position:fixed; top:0; left:0; right:0; z-index:100; transition:background .4s,backdrop-filter .4s,border-color .4s; border-bottom:1px solid transparent; }
.xp-header.scrolled{ background:rgba(6,31,29,.72); backdrop-filter:blur(16px); border-bottom-color:var(--line); }
.xp-header__in{ max-width:1200px; margin:0 auto; padding:18px 40px; display:flex; align-items:center; justify-content:space-between; }
.xp-header__brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.xp-header__brand img{ height:34px; background:#fff; padding:5px 8px; border-radius:7px; }
.xp-header__brand b{ font-family:var(--serif); font-size:1.15rem; }
.xp-header__cta{ font-size:.9rem; padding:11px 22px; }

/* HERO */
.xp-hero{ position:relative; min-height:100svh; display:flex; align-items:center; padding:120px 0 80px; overflow:hidden; }
.xp-hero__bg{ position:absolute; inset:0; z-index:0; }
.xp-orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; will-change:transform; }
.xp-orb--1{ width:520px; height:520px; background:radial-gradient(circle,#00d3a7,transparent 70%); top:-120px; right:-60px; }
.xp-orb--2{ width:440px; height:440px; background:radial-gradient(circle,#0a6b63,transparent 70%); bottom:-140px; left:-80px; }
.xp-orb--3{ width:300px; height:300px; background:radial-gradient(circle,#12ffd0,transparent 70%); top:40%; left:30%; opacity:.25; }
.xp-hero__grid{ position:relative; z-index:2; width:100%; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; }
.xp-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:.74rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); border:1px solid rgba(0,211,167,.3); padding:9px 18px; border-radius:100px; margin-bottom:30px; background:rgba(0,211,167,.05); }
.xp-eyebrow .live{ width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 0 rgba(0,211,167,.6); animation:xpLive 2s infinite; }
@keyframes xpLive{ 0%{box-shadow:0 0 0 0 rgba(0,211,167,.5)} 70%{box-shadow:0 0 0 8px rgba(0,211,167,0)} 100%{box-shadow:0 0 0 0 rgba(0,211,167,0)} }
.xp-hero h1{ font-size:clamp(2.8rem,6vw,5rem); margin-bottom:26px; }
.xp-hero h1 em{ font-style:normal; color:var(--teal); }
.xp-hero__sub{ font-size:1.2rem; line-height:1.55; color:var(--soft); max-width:440px; margin-bottom:34px; }
.xp-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.xp-hero__hint{ font-size:.9rem; color:var(--soft); margin-top:18px; }
.xp-hero__media{ position:relative; }
.xp-hero__card{ position:relative; aspect-ratio:3/4; border-radius:14px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(160deg,#0a2e2b,#04211f); will-change:transform; }
.xp-hero__card img{ width:100%; height:100%; object-fit:cover; opacity:.9; }
.xp-hero__badge{ position:absolute; z-index:3; background:rgba(6,31,29,.8); backdrop-filter:blur(12px); border:1px solid var(--line); border-radius:12px; padding:16px 20px; will-change:transform; }
.xp-hero__badge b{ display:block; font-family:var(--serif); font-size:1rem; }
.xp-hero__badge span{ font-size:.82rem; color:var(--soft); }
.xp-hero__badge--1{ top:24px; left:-26px; }
.xp-hero__badge--2{ bottom:30px; right:-22px; }

/* scroll cue */
.xp-cue{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--soft); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; }
.xp-cue__line{ width:1px; height:44px; background:linear-gradient(var(--teal),transparent); animation:xpCue 2s ease-in-out infinite; transform-origin:top; }
@keyframes xpCue{ 0%,100%{transform:scaleY(.3);opacity:.4} 50%{transform:scaleY(1);opacity:1} }

/* MARQUEE (faixa rolando) */
.xp-marquee{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; overflow:hidden; white-space:nowrap; }
.xp-marquee__track{ display:inline-block; animation:xpMarquee 28s linear infinite; }
.xp-marquee span{ font-family:var(--serif); font-size:1.5rem; color:var(--soft); margin:0 30px; }
.xp-marquee .dot{ color:var(--teal); }
@keyframes xpMarquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* SECTIONS */
.xp-sec{ padding:130px 0; position:relative; }
.xp-kick{ font-size:.74rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); margin-bottom:22px; display:block; }
.xp-sec h2{ font-size:clamp(2rem,4.2vw,3.2rem); margin-bottom:24px; }
.xp-sec__lead{ font-size:1.18rem; line-height:1.65; color:var(--soft); max-width:600px; }
.xp-sec__head{ max-width:680px; margin-bottom:70px; }
.xp-sec__head.center{ margin:0 auto 70px; text-align:center; }

/* NÚMEROS que contam */
.xp-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; border-top:1px solid var(--line); }
.xp-stat{ padding:44px 20px 0; }
.xp-stat__n{ font-family:var(--serif); font-size:clamp(2.6rem,5vw,4rem); color:var(--teal); line-height:1; letter-spacing:-.03em; }
.xp-stat__l{ font-size:1rem; color:var(--soft); margin-top:12px; }

/* COMO FUNCIONA */
.xp-steps{ display:grid; gap:0; }
.xp-step{ display:grid; grid-template-columns:100px 1fr; gap:40px; padding:44px 0; border-top:1px solid var(--line); align-items:start; transition:padding-left .4s cubic-bezier(.2,.8,.2,1); }
.xp-step:hover{ padding-left:20px; }
.xp-step:last-child{ border-bottom:1px solid var(--line); }
.xp-step__n{ font-family:var(--serif); font-size:2.4rem; color:var(--teal); opacity:.5; transition:opacity .4s; }
.xp-step:hover .xp-step__n{ opacity:1; }
.xp-step h3{ font-size:1.7rem; margin-bottom:10px; }
.xp-step p{ font-size:1.05rem; color:var(--soft); line-height:1.6; max-width:520px; }

/* SERVIÇOS grid interativo */
.xp-serv{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.xp-card{ position:relative; border:1px solid var(--line); border-radius:14px; padding:36px 30px; background:linear-gradient(160deg,rgba(255,255,255,.03),transparent); overflow:hidden; transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s; will-change:transform; }
.xp-card::before{ content:""; position:absolute; width:300px; height:300px; background:radial-gradient(circle,rgba(0,211,167,.14),transparent 70%); left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%); opacity:0; transition:opacity .4s; pointer-events:none; }
.xp-card:hover::before{ opacity:1; }
.xp-card:hover{ border-color:rgba(0,211,167,.4); transform:translateY(-4px); }
.xp-card__ic{ font-size:1.5rem; color:var(--teal); margin-bottom:20px; }
.xp-card h3{ font-size:1.3rem; margin-bottom:10px; }
.xp-card p{ font-size:.98rem; color:var(--soft); line-height:1.55; }

/* ESTRUTURA fluxo animado */
.xp-flow{ position:relative; padding:20px 0; }
.xp-flow__svg{ width:100%; height:120px; display:block; }
.xp-flow__svg path{ fill:none; stroke:var(--teal); stroke-width:2; stroke-dasharray:1400; stroke-dashoffset:1400; transition:stroke-dashoffset 2s ease; }
.xp-flow__svg.in path{ stroke-dashoffset:0; }
.xp-flow__nodes{ display:flex; justify-content:space-between; margin-top:-10px; }
.xp-flow__node{ text-align:center; flex:1; }
.xp-flow__node .lbl{ font-family:var(--serif); font-size:1.4rem; margin-bottom:6px; }
.xp-flow__node p{ font-size:.92rem; color:var(--soft); }
.xp-chips{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:60px; }
.xp-chips span{ font-size:.98rem; color:var(--ink); border:1px solid var(--line); border-radius:100px; padding:11px 22px; transition:border-color .3s,color .3s; }
.xp-chips span:hover{ border-color:var(--teal); color:var(--teal); }

/* IDEAL split */
.xp-ideal{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 60px; }
.xp-ideal__item{ padding:28px 0; border-bottom:1px solid var(--line); display:flex; gap:20px; align-items:baseline; transition:padding-left .4s; }
.xp-ideal__item:hover{ padding-left:14px; }
.xp-ideal__item .ar{ color:var(--teal); }
.xp-ideal__item b{ font-family:var(--serif); font-size:1.3rem; font-weight:600; }
.xp-ideal__item span{ font-size:.96rem; color:var(--soft); display:block; margin-top:4px; }

/* MINI */
.xp-mini{ text-align:center; max-width:760px; margin:0 auto; }
.xp-mini__q{ font-family:var(--serif); font-size:1.8rem; margin-bottom:30px; }
.xp-mini__opts{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.xp-mini__opt{ font-size:1rem; color:var(--ink); text-decoration:none; border:1px solid var(--line); border-radius:100px; padding:14px 26px; transition:border-color .3s,color .3s,transform .3s,background .3s; }
.xp-mini__opt:hover{ border-color:var(--teal); color:var(--teal-d); background:var(--teal); transform:translateY(-3px); }

/* REGIÃO */
.xp-region{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }

/* PREÇO */
.xp-price{ display:flex; gap:60px; justify-content:center; flex-wrap:wrap; }
.xp-price__i{ text-align:center; }
.xp-price__i .l{ font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--soft); }
.xp-price__i .v{ font-family:var(--serif); font-size:2.6rem; color:var(--ink); margin-top:8px; }
.xp-price__note{ text-align:center; color:var(--soft); font-size:.98rem; margin-top:34px; max-width:520px; margin-left:auto; margin-right:auto; line-height:1.6; }

/* FAQ */
.xp-faq{ max-width:840px; margin:0 auto; }
.xp-faq__i{ border-bottom:1px solid var(--line); }
.xp-faq__q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:28px 0; font-family:var(--sans); font-size:1.15rem; font-weight:500; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:20px; transition:color .3s; }
.xp-faq__q:hover{ color:var(--teal); }
.xp-faq__q .ic{ position:relative; width:16px; height:16px; flex-shrink:0; }
.xp-faq__q .ic::before,.xp-faq__q .ic::after{ content:""; position:absolute; background:var(--teal); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.xp-faq__q .ic::before{ top:7px; left:0; width:16px; height:2px; }
.xp-faq__q .ic::after{ top:0; left:7px; width:2px; height:16px; }
.xp-faq__q[aria-expanded="true"] .ic::after{ transform:scaleY(0); }
.xp-faq__a{ max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.2,.8,.2,1); }
.xp-faq__a p{ padding:0 0 28px; color:var(--soft); font-size:1.02rem; line-height:1.75; max-width:720px; }

/* FINAL */
.xp-final{ text-align:center; position:relative; overflow:hidden; }
.xp-final h2{ font-size:clamp(2.2rem,5vw,4rem); max-width:800px; margin:0 auto 26px; }
.xp-final p{ font-size:1.18rem; color:var(--soft); max-width:540px; margin:0 auto 40px; line-height:1.6; }

/* FOOTER wrap */
.xp footer{ background:var(--bg2)!important; }

/* STICKY mobile */
.xp-sticky{ display:none; }

/* RESPONSIVO */
@media(max-width:900px){
  .xp-hero__grid{ grid-template-columns:1fr; gap:48px; }
  .xp-hero__media{ order:2; max-width:360px; }
  .xp-serv{ grid-template-columns:1fr; }
  .xp-flow__nodes{ flex-direction:column; gap:24px; } .xp-flow__svg{ display:none; }
  .xp-ideal{ grid-template-columns:1fr; gap:0; }
  .xp-region{ grid-template-columns:1fr; gap:32px; }
  .xp-stats{ grid-template-columns:1fr; gap:0; }
  .xp-stat{ padding:32px 0; border-bottom:1px solid var(--line); }
}
@media(max-width:680px){
  .xp-wrap,.xp-narrow{ padding:0 22px; }
  .xp-header__in{ padding:14px 22px; } .xp-header__brand b{ display:none; }
  .xp-hero{ min-height:auto; padding:110px 0 60px; }
  .xp-hero__badge--1{ left:12px; } .xp-hero__badge--2{ right:12px; }
  .xp-sec{ padding:80px 0; } .xp-sec__head{ margin-bottom:48px; }
  .xp-step{ grid-template-columns:60px 1fr; gap:20px; padding:32px 0; }
  .xp-step__n{ font-size:1.6rem; } .xp-step h3{ font-size:1.35rem; }
  .xp-cue{ display:none; }
  .xp-price{ gap:36px; }
  .xp-sticky{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:200; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(6,31,29,.9); backdrop-filter:blur(14px); border-top:1px solid var(--line); transform:translateY(120%); transition:transform .5s cubic-bezier(.2,.8,.2,1); }
  .xp-sticky.show{ transform:translateY(0); }
  .xp-sticky .xp-btn{ width:100%; justify-content:center; }
  .xp-final{ padding-bottom:100px; }
}
@media(prefers-reduced-motion:reduce){
  .xp-rv,.xp-word>span,.xp-orb,.xp-flow__svg path,.xp-marquee__track,.xp-hero__card,.xp-hero__badge,.xp-cue__line,.xp-sticky{ animation:none!important; transition:opacity .3s!important; opacity:1!important; transform:none!important; stroke-dashoffset:0!important; }
}

/* ============ REFINO PERCEPÇÃO DE MARCA (v9) ============ */

/* HEADER: marca clara bem tratada + CTA nítido */
.xp-header__brand img{ height:30px !important; background:none !important; padding:0 !important; border-radius:0 !important; }
.xp-header__brand b{ display:none; }  /* a logo já traz o nome — evita redundância */
.xp-header.scrolled .xp-header__cta,
.xp-header__cta{ background:rgba(0,211,167,.12); border:1px solid rgba(0,211,167,.4); color:var(--teal); }
.xp-header__cta:hover{ background:var(--teal); color:var(--teal-d); border-color:var(--teal); }

/* faixa de confiança factual no lugar dos números inventados */
.xp-facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.xp-fact{ background:var(--bg); padding:38px 32px; }
.xp-fact__k{ font-family:var(--serif); font-size:1.35rem; color:var(--ink); margin-bottom:8px; line-height:1.15; }
.xp-fact__k em{ font-style:normal; color:var(--teal); }
.xp-fact__d{ font-size:.98rem; color:var(--soft); line-height:1.5; }

/* assinatura de marca (âncora visual recorrente) */
.xp-sig{ display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.xp-sig__mark{ width:34px; height:1px; background:var(--teal); }
.xp-sig__txt{ font-size:.74rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); }

/* watermark grande da marca no final (presença calma) */
.xp-final__brand{ font-family:var(--serif); font-size:clamp(3rem,10vw,7rem); color:rgba(255,255,255,.04); letter-spacing:-.03em; margin-bottom:-10px; user-select:none; line-height:1; }

/* espaçamentos disciplinados — remove buracos */
.xp-sec + .xp-sec{ padding-top:0; }
.xp-stats{ margin-top:10px; }

@media(max-width:900px){
  .xp-facts{ grid-template-columns:1fr; }
}
@media(max-width:680px){
  .xp-header__brand img{ height:26px !important; }
  .xp-fact{ padding:28px 24px; }
}

/* ============ FINAL CINEMATOGRÁFICO + FOOTER PRÓPRIO (v10) ============ */

/* CTA final: cena com profundidade e vinheta */
.xp-final{ padding:160px 0 150px !important; position:relative; isolation:isolate; }
.xp-final::before{ /* vinheta radial que dá foco ao centro */
  content:""; position:absolute; inset:0; z-index:0;
  background:radial-gradient(ellipse 70% 60% at 50% 45%, rgba(0,211,167,.10), transparent 70%);
}
.xp-final::after{ /* brilho inferior */
  content:""; position:absolute; left:50%; bottom:-200px; width:900px; height:400px; transform:translateX(-50%);
  background:radial-gradient(ellipse at center, rgba(0,211,167,.22), transparent 70%); filter:blur(40px); z-index:0; pointer-events:none;
}
.xp-final__brand{ position:relative; z-index:1; }
/* linha luminosa que cruza antes do final */
.xp-final__line{ width:1px; height:70px; margin:0 auto 50px; background:linear-gradient(var(--teal),transparent); position:relative; z-index:2; }
.xp-final__line::before{ content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:5px; height:5px; border-radius:50%; background:var(--teal); box-shadow:0 0 12px 2px var(--teal); }
.xp-final h2{ position:relative; z-index:2; }
.xp-final .xp-btn{ position:relative; z-index:2; }

/* estrelas/partículas discretas subindo no final (canvas leve) */
.xp-final__stars{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.xp-star{ position:absolute; width:2px; height:2px; border-radius:50%; background:var(--teal); opacity:0; animation:xpStar linear infinite; }
@keyframes xpStar{ 0%{ transform:translateY(40px); opacity:0 } 20%{opacity:.7} 80%{opacity:.7} 100%{ transform:translateY(-120px); opacity:0 } }

/* FOOTER PRÓPRIO da landing (escuro, integrado) */
.xp-foot{ background:var(--bg2); border-top:1px solid var(--line); padding:80px 0 40px; position:relative; }
.xp-foot__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; margin-bottom:56px; }
.xp-foot__brand img{ height:34px; margin-bottom:20px; }
.xp-foot__brand p{ color:var(--soft); font-size:.98rem; line-height:1.7; max-width:320px; }
.xp-foot__col h4{ font-family:var(--sans); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--teal); margin-bottom:20px; font-weight:600; }
.xp-foot__col a, .xp-foot__col p{ display:block; color:var(--soft); font-size:.98rem; text-decoration:none; margin-bottom:12px; transition:color .3s; line-height:1.5; }
.xp-foot__col a:hover{ color:var(--ink); }
.xp-foot__bar{ border-top:1px solid var(--line); padding-top:28px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.xp-foot__bar span{ color:var(--soft); font-size:.88rem; }
.xp-foot__wa{ display:inline-flex; align-items:center; gap:10px; color:var(--teal); text-decoration:none; font-weight:600; font-size:.95rem; }
@media(max-width:900px){ .xp-foot__grid{ grid-template-columns:1fr; gap:36px; } }
@media(max-width:680px){ .xp-final{ padding:110px 0 110px !important; } .xp-foot{ padding:56px 0 32px; } }

/* MAIS MOVIMENTO nas seções finais — reveal com leve escala */
.xp-card.xp-rv{ transform:translateY(30px) scale(.98); }
.xp-card.xp-rv.in{ transform:none; }
.xp-price__i .v{ transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.xp-price__i:hover .v{ transform:scale(1.06); color:var(--teal); }
.xp-faq__i{ transition:padding-left .3s; }
.xp-faq__i:hover{ padding-left:8px; }
.xp-chips span{ cursor:default; }

/* ============ AJUSTE ESPAÇAMENTO MOBILE (v11) ============ */
@media(max-width:680px){
  /* seções mais compactas — remove os "buracos" */
  .xp-sec{ padding:56px 0 !important; }
  .xp-sec + .xp-sec{ padding-top:0 !important; }
  .xp-sec__head{ margin-bottom:32px !important; }
  .xp-sec__head.center{ margin-bottom:32px !important; }
  /* head grande deixa menos respiro antes do conteúdo */
  .xp-ideal__item:first-child{ padding-top:0; }
  .xp-final{ padding:80px 0 90px !important; }
  .xp-foot{ padding:48px 0 28px !important; }
  .xp-marquee{ padding:18px 0 !important; }
  .xp-facts{ margin-top:0 !important; }
  /* reduz respiro entre título de seção e primeiro card/lista */
  .xp-serv{ gap:12px; }
  .xp-steps .xp-step:first-child{ padding-top:24px; }
}

/* ============ H1 SEO + subtítulo editorial (v12) ============ */
.xp-hero__lead{
  font-family:var(--serif); font-size:clamp(1.3rem,2.4vw,1.9rem); font-weight:500;
  color:var(--teal); line-height:1.25; margin:14px 0 6px; letter-spacing:-.01em;
}
/* H1 um pouco menor pra caber o termo + cidade com elegância */
.xp-hero h1{ font-size:clamp(2.3rem,5vw,4.2rem); }
@media(max-width:680px){
  .xp-hero__lead{ font-size:1.2rem; margin:12px 0 4px; }
  .xp-hero h1{ font-size:1.85rem; }
}
