/* Arata Power Method · página v2
   Layout e motion da página. Componentes em components.css, tokens em tokens.css.
   Escolhas: escolhas.json. Pedidos da v2: Inter -6%, organic-button e cutout-card (cult-ui),
   text loop (React Bits) na transição diferenciais > garantia, slide-up text (Spell) nas entradas.
   Gerado de qa/page.src.css (a máscara do hero entra como data URI para funcionar em file://). */

:root {
  --pg-gutter: max(20px, 5vw);
  --pg-h1: clamp(36px, 5.1vw, 92px);
  --pg-h2: clamp(34px, 4vw, 72px);
  --pg-lead: clamp(18px, 1.35vw, 22px);
  --pg-body: clamp(16px, 1.15vw, 19px);
  --pg-sec: clamp(96px, 11vw, 184px);
  --pg-ease-in: cubic-bezier(0.625, 0.05, 0, 1); /* curva do slide-up-text do Spell */
  --hero-mask: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 width=%221974%22 height=%221033%22 viewBox=%220 0 1974 1033%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M1974 968C1974 1003.9 1944.9 1033 1909 1033H1175.88C1161.84 1033 1148.17 1028.45 1136.92 1020.03L965.919 891.971C954.675 883.551 941.005 879 926.957 879H65C29.1015 879 0 849.898 0 814V65C0 29.1015 29.1015 0 65 0H1909C1944.9 0 1974 29.1015 1974 65V968Z%22 fill=%22%23D9D9D9%22/%3E%3C/svg%3E");
}

.pg-skip { position: absolute; inset-inline-start: var(--sp-4); inset-block-start: -100px; z-index: 100; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-pill); background: var(--ink); color: var(--white); }
.pg-skip:focus { inset-block-start: var(--sp-4); }

body { overflow-x: clip; }
.pg-wrap { inline-size: min(var(--container), 100% - 2 * var(--pg-gutter)); margin-inline: auto; }
.pg-sec { padding-block: var(--pg-sec); }
.pg-head { display: grid; justify-items: start; gap: var(--sp-5); }
.pg-head--center { justify-items: center; text-align: center; }
.pg-h2 {
  max-inline-size: 15ch;
  font-size: var(--pg-h2);
  font-weight: var(--fw-medium);
  line-height: 1.02;
  color: var(--ink);
  text-wrap: balance;
}
.pg-head--center .pg-h2 { max-inline-size: 20ch; }
.pg-h2 b { font-weight: var(--fw-bold); }
.pg-lead { max-inline-size: 36ch; font-size: var(--pg-lead); line-height: 1.45; color: var(--ink-muted); text-wrap: pretty; }
.pg-lead--center { max-inline-size: 52ch; }
.pg-body { display: grid; gap: 1em; max-inline-size: 40ch; font-size: var(--pg-lead); line-height: 1.45; color: var(--ink-muted); text-wrap: pretty; }
.pg-center { display: flex; justify-content: center; }

/* ---------- texto dividido: escondido até o JS dividir (evita piscar) ---------- */
html.js:not([data-motion="off"]) [data-split]:not([data-split-done]) { opacity: 0; }

/* ---------- reveal de bloco (cartões, botões) ---------- */
html.js:not([data-motion="off"]) [data-rv]:not(.is-in) { opacity: 0; transform: translateY(40px); filter: blur(6px); }
html.js [data-rv] { transition: opacity 1100ms var(--ease-out), transform 1100ms var(--ease-out), filter 1100ms var(--ease-out); transition-delay: calc(var(--d, 0ms) + var(--i, 0) * 110ms); }
html.js:not([data-motion="off"]) [data-pop]:not(.is-in) { opacity: 0; transform: scale(0.6) rotate(-12deg); }
html.js [data-pop] { transition: opacity 700ms var(--ease-out), transform 1100ms cubic-bezier(0.34, 1.45, 0.64, 1); transition-delay: var(--d, 200ms); }
html.js .ap-cutout[data-rv].is-in, html.js .ap-diff[data-rv].is-in { transition-delay: 0s; }
[data-zoom] .ap-cutout__img { transition: transform 1600ms var(--ease-out), opacity 900ms var(--ease-out); }
html.js:not([data-motion="off"]) [data-zoom]:not(.is-in) .ap-cutout__img { transform: scale(1.22); opacity: 0; }

/* ---------- Nav (fixa ao rolar) ---------- */
.pg-navhold { position: relative; z-index: 40; block-size: 62px; }
.pg-nav { position: relative; }
.pg-nav.is-stuck { position: fixed; inset-block-start: var(--sp-3); inset-inline: 0; animation: pg-navin 600ms var(--ease-out) both; }
.pg-nav.is-stuck .ap-nav__logo, .pg-nav.is-stuck .ap-nav__bar { box-shadow: 0 0 0 1px rgb(41 45 50 / 0.06), var(--shadow-md); }
@keyframes pg-navin { from { transform: translateY(-140%); } to { transform: none; } }

/* ---------- Hero ----------
   Altura = altura da tela (640 a 1021). A figura e os chips se ancoram no centro da página
   e escalam pela altura do hero, então ficam juntos do texto em qualquer largura ou zoom.
   Medidas tiradas do Figma 1920: figura com 1716 de largura, borda esquerda 588 px antes do centro. */
.pg-hero {
  --hh: clamp(640px, 100svh, 1021px);
  --wimg: calc((var(--hh) + 12px) * 1.661);
  position: relative;
  z-index: 20;
  isolation: isolate;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  block-size: var(--hh);
  padding-block-start: clamp(var(--sp-3), 1.4vw, var(--sp-6));
}
.pg-hero__bg {
  position: absolute;
  inset: -12px -27px 0;
  z-index: -1;
  background: var(--surface);
  -webkit-mask: var(--hero-mask) 0 0 / 100% 100% no-repeat;
  mask: var(--hero-mask) 0 0 / 100% 100% no-repeat;
  overflow: hidden;
}
.pg-hero__figwrap { position: absolute; inset: 0; }
.pg-hero__fig {
  position: absolute;
  inset-inline-start: calc(50% + 27px);
  inset-block-start: 10.55%;
  inline-size: var(--wimg);
  max-inline-size: none;
  block-size: 90.6%;
  object-fit: cover;
  object-position: 50% 0;
  transform: translateX(-34.27%) scaleX(-1);
}
.pg-hero__in { position: relative; z-index: 2; flex: 1; display: grid; align-items: center; padding-block: var(--sp-6) clamp(var(--sp-12), 15%, 160px); }
.pg-hero__copy { display: grid; justify-items: start; gap: clamp(var(--sp-5), 2vw, var(--sp-8)); }
.pg-hero__t { font-size: var(--pg-h1); font-weight: var(--fw-semibold); line-height: 0.98; color: var(--ink); }
.pg-hero__lead { max-inline-size: 32ch; font-size: var(--pg-lead); line-height: 1.45; color: var(--ink-strong); text-wrap: pretty; }
.pg-hero__cta { margin-block-start: var(--sp-2); }
.pg-hero__float { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.pg-floater { position: absolute; pointer-events: auto; }
.pg-chip--1 { inset-inline-start: calc(50% + var(--wimg) * 0.0105); inset-block-start: 69.6%; }
.pg-chip--2 { inset-inline-start: min(calc(50% + var(--wimg) * 0.2762), 100% - 196px); inset-block-start: 47.4%; }
.pg-rating { inset-inline-start: min(calc(50% + var(--wimg) * 0.2267), 100% - 288px); inset-block-start: 68%; }
.pg-rating .ap-rating__n, .pg-rating .ap-rating__av { display: flex; }
.pg-rating .ap-rating__c { display: block; }
[data-par] { will-change: transform; transform: translate3d(0, var(--par-y, 0px), 0); }

/* abertura: fundo assenta, figura sobe do blur, título por palavra, chips estouram */
/* câmera recuando: o hero nasce aproximado e assenta enquanto a última cortina sobe */
html.js:not([data-motion="off"]) .pg-hero__bg { transition: scale 2200ms cubic-bezier(0.16, 1, 0.3, 1); }
html.js:not([data-motion="off"]):not(.is-loaded) .pg-hero__bg { scale: 1.14; }
html.js:not([data-motion="off"]) .pg-navhold { transition: opacity 900ms var(--ease-out) 700ms, transform 1100ms var(--ease-out) 700ms; }
html.js:not([data-motion="off"]):not(.is-loaded) .pg-navhold { opacity: 0; transform: translateY(-28px); }
html.js:not([data-motion="off"]) .pg-hero__fig { transition: translate 1800ms var(--pg-ease-in), opacity 1200ms var(--ease-out), filter 1400ms var(--ease-out); transition-delay: 150ms; }
html.js:not([data-motion="off"]):not(.is-loaded) .pg-hero__fig { translate: 0 14%; opacity: 0; filter: blur(14px); }

/* ---------- Abertura ---------- */
.pg-intro { display: none; position: fixed; inset: 0; z-index: 200; cursor: pointer; }
html.intro-on .pg-intro { display: block; animation: pg-intro-fail 400ms 8s forwards; } /* segurança: se o JS falhar, some sozinha */
@keyframes pg-intro-fail { to { opacity: 0; visibility: hidden; } }
.pg-intro__panel { position: absolute; inset: 0; will-change: transform; }
.pg-intro__panel--1 { z-index: 3; background: var(--brand); --lift-d: 110ms; }
.pg-intro__panel--2 { z-index: 2; background: var(--brand-deep); --lift-d: 210ms; }
.pg-intro__panel--3 { z-index: 1; background: var(--brand-bright); --lift-d: 310ms; }
.pg-intro__panel::after {
  content: "";
  position: absolute;
  inset-inline: -15%;
  inset-block-start: calc(100% - 1px);
  block-size: 24vh;
  background: inherit;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  transform-origin: 50% 0;
  transform: scaleY(0);
}
html.intro-out .pg-intro__panel { animation: pg-lift 1050ms cubic-bezier(0.76, 0, 0.24, 1) var(--lift-d) forwards; }
html.intro-out .pg-intro__panel::after { animation: pg-bulge 1050ms cubic-bezier(0.76, 0, 0.24, 1) var(--lift-d) forwards; }
@keyframes pg-lift { to { transform: translate3d(0, calc(-100% - 24vh), 0); } }
@keyframes pg-bulge { 0% { transform: scaleY(0); } 45% { transform: scaleY(1); } 100% { transform: scaleY(0.2); } }

.pg-intro__in {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: clamp(var(--sp-6), 3vw, 48px);
  padding-inline: var(--pg-gutter);
  color: var(--white);
  text-align: center;
  transition: opacity 420ms var(--ease-inout), transform 520ms var(--ease-inout), filter 420ms var(--ease-inout);
}
html.intro-out .pg-intro__in { opacity: 0; transform: translateY(-7vh) scale(0.96); filter: blur(8px); }
/* entrada da tela verde: CSS puro, começa no primeiro quadro (não espera o JS) */
.pg-intro__seal .ap-seal { --k: 0.74; }
html.intro-on .pg-intro__seal { animation: pg-sealin 1400ms cubic-bezier(0.34, 1.4, 0.64, 1) 60ms both; }
@keyframes pg-sealin { from { opacity: 0; transform: scale(0.3) rotate(-140deg); } 40% { opacity: 1; } to { opacity: 1; transform: none; } }
.pg-intro__t { font-size: clamp(34px, 4.6vw, 80px); font-weight: var(--fw-semibold); line-height: 1; color: var(--white); }
html.intro-on .pg-intro__t .ap-w__i { animation: pg-wordup 1000ms cubic-bezier(0.625, 0.05, 0, 1) both; animation-delay: calc(380ms + var(--wi) * 80ms); }
@keyframes pg-wordup { from { transform: translateY(115%); } to { transform: none; } }
.pg-intro__t mark.ap-hl::before { opacity: 0.65; transform: scaleX(0); }
html.intro-on .pg-intro__t mark.ap-hl::before { animation: pg-hl 1000ms cubic-bezier(0.34, 1.25, 0.64, 1) 1050ms both; }
@keyframes pg-hl { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.pg-intro__meta {
  position: absolute;
  inset-inline: var(--pg-gutter);
  inset-block-end: clamp(var(--sp-5), 3vw, 40px);
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: rgb(255 255 255 / 0.78);
  transition: opacity 300ms var(--ease-out);
}
html.intro-on .pg-intro__meta { animation: pg-fadeup 800ms var(--ease-out) 200ms both; }
@keyframes pg-fadeup { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
html.intro-out .pg-intro__meta { animation: none; opacity: 0; }
/* contador 0 a 99 em CSS (@property); o JS fecha em 100 ao sair */
@property --n { syntax: "<integer>"; initial-value: 0; inherits: false; }
.pg-intro__count { font-variant-numeric: tabular-nums; counter-reset: n var(--n); }
.pg-intro__count::after { content: counter(n) "%"; }
html.intro-on .pg-intro__count { animation: pg-count 2100ms cubic-bezier(0.33, 1, 0.68, 1) both; }
@keyframes pg-count { from { --n: 0; } to { --n: 99; } }
.pg-intro__bar { position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 3px; background: var(--white); transform-origin: left center; transform: scaleX(0); transition: opacity 300ms var(--ease-out); }
html.intro-on .pg-intro__bar { animation: pg-bar 2100ms cubic-bezier(0.33, 1, 0.68, 1) both; }
@keyframes pg-bar { to { transform: scaleX(0.99); } }
html.intro-out .pg-intro__count { animation: none; --n: 100; }
html.intro-out .pg-intro__bar { animation: none; transform: scaleX(1); opacity: 0; }

/* ---------- Problema ---------- */
.pg-problem { margin-block-start: clamp(var(--sp-6), 3vw, 48px); }
.pg-problem .ap-problem { inline-size: 100%; padding: clamp(var(--sp-8), 6vw, 96px); gap: clamp(var(--sp-6), 5vw, 96px); border-radius: var(--radius-xl); }
.pg-problem .ap-problem__t { font-size: clamp(28px, 2.9vw, 48px); line-height: 1.05; text-wrap: balance; }
.pg-problem .ap-problem__d { font-size: var(--pg-lead); line-height: 1.5; color: var(--surface); }
.pg-problem .ap-problem__d b { color: var(--white); }

/* ---------- Sobre ---------- */
.pg-about .pg-head { margin-block-end: clamp(var(--sp-12), 6vw, 112px); }
.pg-about__grid { display: grid; grid-template-columns: minmax(0, 630fr) minmax(0, 560fr); justify-content: space-between; gap: clamp(var(--sp-10), 6vw, 112px); align-items: center; }
.pg-about__media { position: relative; display: grid; grid-template-columns: 413fr 217fr; gap: 49px 0; }
.pg-photo { --cut-bg: var(--bg); --cut-c: 16px; --cut-lr: 16px; box-shadow: none; background: none; overflow: hidden; border-radius: var(--radius-2xl) var(--radius-2xl) var(--radius-2xl) 0; } /* canto inferior esquerdo reto: é onde o rótulo encaixa */
.pg-photo::after { display: none; }
.pg-photo .ap-cutout__media { border-radius: inherit; }
.pg-photo--1 { grid-column: 1; }
.pg-photo--1 .ap-cutout__media { aspect-ratio: 413 / 274; }
.pg-photo--2 { grid-column: 1 / -1; }
.pg-photo--2 .ap-cutout__media { aspect-ratio: 630 / 274; }
.pg-photo .ap-cutout__label { font-size: 12px; line-height: 1.2; padding: 10px 18px 8px 0; color: var(--ink); background: var(--bg); } /* 32 de altura = 2 x 16 do raio: os cantos não se sobrepõem */
.pg-about__seal { grid-column: 2; grid-row: 1; align-self: center; justify-self: center; }
.pg-about__copy { display: grid; justify-items: start; gap: clamp(var(--sp-10), 4vw, var(--sp-16)); }
.pg-about__copy .ap-bars { inline-size: 100%; }

/* ---------- Faixa de logos ---------- */
.pg-logos { -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }

/* ---------- Pilares ---------- */
.pg-pillars__grid { display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 630fr); justify-content: space-between; gap: clamp(var(--sp-10), 6vw, 128px); align-items: start; }
.pg-pillars__head { position: sticky; inset-block-start: 120px; }
.pg-pillars__list { display: grid; gap: var(--sp-6); }
.pg-card { transform: translateY(calc(var(--h) * -4px)); transition: transform var(--dur-hover) var(--ease-out); }
html.js:not([data-motion="off"]) .pg-card[data-rv]:not(.is-in) { transform: translateY(40px); }
.pg-card .ap-cutout__body { display: grid; justify-items: start; gap: var(--sp-4); padding: clamp(var(--sp-8), 3vw, 48px); padding-inline-end: clamp(var(--sp-12), 6vw, 96px); }
.pg-card .ap-iconbox { transform: rotate(calc(var(--h) * -8deg)) scale(calc(1 + var(--h) * 0.06)); transition: transform var(--dur-hover) var(--ease-out); }
.pg-card__t { margin-block-start: var(--sp-2); font-size: clamp(22px, 1.75vw, 30px); font-weight: var(--fw-semibold); line-height: 1.1; color: var(--ink); }
.pg-card__t span { display: block; margin-block-start: var(--sp-1); font-size: max(14px, 0.62em); font-weight: var(--fw-medium); color: var(--brand); }
.pg-card__d { max-inline-size: 44ch; font-size: var(--pg-body); line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.pg-card .ap-cutout__pin { min-inline-size: 64px; min-block-size: 48px; font-size: var(--fs-body); }

/* ---------- Depoimentos ---------- */
.pg-testi__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sp-10); margin-block-end: clamp(var(--sp-10), 4vw, var(--sp-16)); }
.pg-testi__side { display: grid; justify-items: end; gap: var(--sp-5); }
.pg-carousel { margin-inline-end: calc(-1 * var(--pg-gutter) - max(0px, (100vw - 2 * var(--pg-gutter) - var(--container)) / 2)); }
.pg-carousel .ap-carousel__track { gap: var(--sp-6); padding-block: var(--sp-2) var(--sp-10); }
.pg-quote { flex: 0 0 min(460px, 82vw); display: flex; flex-direction: column; }
.pg-quote .ap-cutout__body { display: flex; flex-direction: column; gap: var(--sp-4); block-size: 100%; padding-inline-end: var(--sp-16); }
.pg-quote .ap-cutout__pin .ap-icon { inline-size: 22px; block-size: 17px; }
.pg-quote__t { font-size: var(--fs-label); font-weight: var(--fw-semibold); line-height: 1.2; color: var(--ink); }
.pg-quote__q { font-size: var(--pg-body); line-height: 1.55; color: var(--ink-muted); }
.pg-quote__who { display: flex; align-items: center; gap: var(--sp-3); margin-block-start: auto; padding-block-start: var(--sp-5); border-block-start: 1px solid rgb(41 45 50 / 0.08); }
.pg-quote__who img { inline-size: 48px; block-size: 48px; border-radius: 50%; object-fit: cover; }
.pg-quote__who b { display: block; font-size: var(--fs-body); font-weight: var(--fw-semibold); }
.pg-quote__who small { display: block; font-size: var(--fs-small); color: var(--ink-muted); }

/* ---------- Oferta ---------- */
.pg-offer__grid { display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 731fr); justify-content: space-between; gap: clamp(var(--sp-10), 5vw, 96px); align-items: center; }
.pg-fit { position: relative; inline-size: 100%; block-size: calc(var(--fh) * var(--fit-s, 1) * 1px); }
.pg-fit > .ap-offer { position: absolute; inset: 0 auto auto 0; transform-origin: 0 0; transform: scale(var(--fit-s, 1)); }
.pg-offer__counter { display: block; inline-size: 220px; }
.pg-offer__counter .ap-counter__n { font-weight: var(--fw-medium); }
.pg-offer__counter .ap-counter__l { margin: 0; font-size: var(--fs-h3); line-height: 1.1; max-inline-size: 208px; }
.pg-offer__counter .ap-counter__track { margin-block-start: var(--sp-16); inline-size: 208px; }

/* ---------- Diferenciais ---------- */
.pg-diff { padding-block-end: calc(var(--pg-sec) + clamp(80px, 9vw, 160px)); }
.pg-diff .pg-head { margin-block-end: clamp(var(--sp-12), 5vw, 88px); }
.pg-diff__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-5); }
.pg-diff__list .ap-diff { inline-size: 100%; min-block-size: 0; padding: clamp(var(--sp-8), 3vw, 48px); border-radius: var(--radius-xl); }
.pg-diff__list .ap-diff__head { flex-direction: column; align-items: flex-start; gap: var(--sp-6); }
.pg-diff__list .ap-diff__t { font-size: clamp(22px, 1.75vw, 30px); font-weight: var(--fw-semibold); line-height: 1.1; max-inline-size: none; }
.pg-diff__list .ap-diff__d { font-size: var(--pg-body); line-height: 1.55; max-inline-size: none; }
.pg-diff .pg-center { margin-block-start: clamp(var(--sp-10), 4vw, var(--sp-16)); }

/* ---------- Text loop (transição) ---------- */
.pg-loop { position: relative; z-index: 5; block-size: 0; overflow-x: clip; overflow-y: visible; }
.pg-loop svg { position: absolute; inset-inline: 0; inset-block-start: 0; inline-size: 100%; block-size: auto; translate: 0 -50%; overflow: visible; }
.pg-loop text { font-family: var(--font); font-weight: var(--fw-bold); letter-spacing: -0.02em; user-select: none; }

/* ---------- Garantia ---------- */
.pg-guar { padding-block: calc(var(--pg-sec) + clamp(80px, 9vw, 160px)) var(--pg-sec); grid-template-columns: minmax(0, 520fr) minmax(0, 640fr); justify-content: space-between; gap: clamp(var(--sp-10), 6vw, 128px); }
.pg-guar .ap-guar__t { max-inline-size: 12ch; margin-block-start: var(--sp-4); font-size: var(--pg-h2); line-height: 1.02; font-weight: var(--fw-medium); }
.pg-guar .ap-guar__seal { margin-block-start: var(--sp-8); font-size: var(--pg-lead); }
.pg-guar .ap-guar__r { gap: 1em; font-size: var(--pg-lead); line-height: 1.5; }
.pg-guar .ap-guar__r > div { margin-block-start: var(--sp-4); }
.ap-guar__badge[data-spin-scroll] { rotate: var(--spin, 0deg); }

/* ---------- Contato ---------- */
.pg-contact__grid { display: grid; grid-template-columns: minmax(0, 714fr) minmax(0, 560fr); justify-content: space-between; gap: clamp(var(--sp-10), 6vw, 112px); align-items: center; }
.pg-contact__art { position: relative; aspect-ratio: 714 / 541; clip-path: inset(-60% 0 0 5.9% round 0 0 var(--radius-xl) var(--radius-xl)); } /* a figura sai só por cima; esquerda, direita e base seguem a borda do card, com os cantos arredondados */
.pg-contact__bg { position: absolute; inset: 13.3% 0 0 5.9%; border-radius: var(--radius-xl); background: var(--grad-mint); transition: transform 1400ms var(--ease-out), opacity 900ms var(--ease-out); }
.pg-contact__fig { position: absolute; inset-inline-start: 0; inset-block-end: 0; inline-size: 98%; block-size: auto; }
html.js:not([data-motion="off"]) [data-zoom-in]:not(.is-in) .pg-contact__bg { transform: scale(0.86); opacity: 0; }
.pg-contact__form .pg-head { gap: var(--sp-3); margin-block-end: clamp(var(--sp-8), 3vw, 56px); }
.pg-contact__form .ap-form { inline-size: 100%; }
.pg-contact__form .ap-organic { justify-self: start; margin-block-start: var(--sp-2); }

/* ---------- até 1180 ---------- */
@media (max-width: 1180px) {
  .pg-about__grid, .pg-pillars__grid, .pg-offer__grid, .pg-contact__grid, .pg-guar { grid-template-columns: minmax(0, 1fr); }
  .pg-pillars__head { position: static; }
  .pg-diff__list { grid-template-columns: minmax(0, 1fr); max-inline-size: 640px; margin-inline: auto; }
  .pg-offer__grid .pg-fit { max-inline-size: 731px; }
  .pg-contact__art { max-inline-size: 714px; }
  .pg-h2 { max-inline-size: 18ch; }
}

/* ---------- Celular e tablet (até 960): hero empilhado e alvos de toque ---------- */
@media (max-width: 960px) {
  .pg-hero { block-size: auto; padding-block: var(--sp-3) 600px; }
  .pg-hero__bg { inset: 0; -webkit-mask: none; mask: none; border-radius: 0 0 var(--radius-hero) var(--radius-hero); }
  .pg-hero__fig { inset: auto auto 0 50%; inline-size: auto; block-size: 580px; aspect-ratio: 1716 / 936; transform: translateX(-49%) scaleX(-1); }
  .pg-hero__in { padding-block: var(--sp-12) 0; }
  .pg-hero__float { inset: auto var(--pg-gutter) var(--sp-8); block-size: 540px; }
  .pg-chip--1 { inset-inline-start: 0; inset-block-start: 42%; }
  .pg-chip--2 { inset-inline-start: auto; inset-inline-end: 0; inset-block-start: 10%; }
  .pg-rating { inset-inline-start: auto; inset-inline-end: 0; inset-block-start: auto; inset-block-end: 0; }
  .ap-foot__col { gap: 0; }
  .ap-foot__col a { display: flex; align-items: center; min-block-size: 44px; min-inline-size: 44px; }
  .ap-nav__burger { inline-size: 44px; block-size: 44px; }
  .pg-testi__side { justify-items: start; }
  .pg-guar { padding-inline: var(--pg-gutter); }
  .ap-foot--b .ap-foot__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: var(--sp-10); padding-inline: var(--pg-gutter); }
  .ap-foot--b .ap-foot__in > .ap-logo, .ap-foot--b .ap-foot__news { grid-column: 1 / -1; }
  .ap-foot--b .ap-foot__news { grid-template-columns: minmax(0, 1fr); }
  .ap-foot--b .ap-foot__top { position: static; grid-column: 1 / -1; justify-self: end; margin: 0; }
  .ap-foot__h { margin-block-end: var(--sp-2); }
  .ap-foot__k { margin-block-start: var(--sp-2); }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  .pg-hero { block-size: auto; padding-block: var(--sp-3) 440px; }
  .pg-hero__bg { inset: 0; -webkit-mask: none; mask: none; border-radius: 0 0 var(--radius-hero) var(--radius-hero); }
  .pg-hero__fig { inset: auto -42% 0 auto; inline-size: auto; block-size: 432px; aspect-ratio: 1716 / 936; transform: scaleX(-1); }
  .pg-hero__in { padding-block: var(--sp-8) 0; }
  .pg-hero__t { line-height: 1; }
  .pg-hero__float { inset: auto var(--sp-5) var(--sp-6); block-size: 392px; }
  .pg-chip--1 { inset-inline-start: 0; inset-block-start: 38%; }
  .pg-chip--2 { inset-inline-start: auto; inset-inline-end: 0; inset-block-start: 6%; }
  .pg-rating { inset-inline-start: auto; inset-inline-end: 0; inset-block-start: auto; inset-block-end: 0; }
  .pg-rating .ap-rating { inline-size: 220px; }
  .pg-nav.is-stuck { inset-block-start: var(--sp-2); }
  .ap-organic { --org-h: 52px; --org-fs: 17px; }

  .pg-about__media { grid-template-columns: 1fr; gap: var(--sp-4); }
  .pg-about__seal { position: absolute; inset-block-start: -48px; inset-inline-end: -8px; grid-row: auto; grid-column: auto; z-index: 3; }
  .pg-about__seal .ap-seal { --k: 0.56; }
  .pg-pillars__list { gap: var(--sp-4); }
  .pg-card .ap-cutout__body { padding-inline-end: var(--sp-8); }
  .pg-quote .ap-cutout__body { padding-inline-end: var(--sp-12); }
  .pg-testi__side { justify-items: start; }
  .pg-carousel { margin-inline-end: calc(-1 * var(--pg-gutter)); }
  .pg-guar .ap-guar__badge { inline-size: 96px; block-size: 96px; }
  .pg-intro__seal .ap-seal { --k: 0.6; }
  .pg-loop svg { inline-size: 170%; inset-inline-start: -35%; }
}
