/* =========================================================
   Olivia's Cleaning Services — Premium one-page stylesheet
   Mobile-first · A11y AA · prefers-reduced-motion aware
   Rev.: correção de recorte de imagens no mobile
   ========================================================= */

:root{
  --rose:#E9AFBD;
  --rose-soft:#F7DCE3;
  --rose-mist:#FDF4F6;
  --plum:#6B3A48;
  --plum-deep:#4A2731;
  --gold:#C9A24D;
  --gold-soft:#EBD9AE;
  --white:#FFFFFF;
  --off-white:#FFFCFB;
  --text:#3A2E31;
  --muted:#7A6A6E;
  --border:rgba(107,58,72,.12);
  --shadow-lg:0 28px 60px rgba(107,58,72,.12);
  --shadow-md:0 16px 36px rgba(107,58,72,.08);
  --radius-sm:14px;
  --radius-md:18px;
  --radius-lg:24px;
  --radius-xl:32px;
  --container:1200px;
  --gutter:24px;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Inter',system-ui,sans-serif;
  /* NOVO: ponto de recorte das fotos (ajuste fino num lugar só) */
  --photo-focus:50% 25%;
}

/* Reset & base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--off-white);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--plum);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--plum-deep)}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--plum-deep);
  font-weight:600;
  line-height:1.18;
  margin:0 0 .4em;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.8rem,6vw,5.2rem)}
h2,h2.section-title{font-size:clamp(2rem,4vw,3.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{margin:0 0 1em}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{
  display:inline-block;
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  color:var(--gold);
  font-weight:600;
  margin:0 0 1rem;
  padding-bottom:.4rem;
  position:relative;
}
.eyebrow::after{
  content:"";display:inline-block;width:28px;height:2px;background:var(--gold);
  margin-left:.6rem;vertical-align:middle;border-radius:2px;transform:translateY(-3px);
}
.section-title{margin-top:0}
.section-lede{
  color:var(--muted);
  font-size:clamp(1rem,1.4vw,1.15rem);
  max-width:62ch;
  margin:0 auto 2.5rem;
}

/* Skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--plum-deep);color:#fff;
  padding:.75rem 1rem;z-index:200;border-radius:0 0 8px 0;font-weight:600;
}
.skip-link:focus{left:0;outline:3px solid var(--gold);outline-offset:2px}

/* Focus visible */
:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
  border-radius:6px;
}

/* ====================== Buttons ====================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:600;
  padding:.85rem 1.5rem;
  border-radius:999px;
  border:1.5px solid transparent;
  font-size:.95rem;
  line-height:1;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
  text-align:center;
}
.btn:hover{transform:translateY(-1px)}
.btn--sm{padding:.65rem 1.1rem;font-size:.88rem}
.btn--primary{background:var(--plum-deep);color:#fff;box-shadow:0 10px 24px rgba(74,39,49,.25)}
.btn--primary:hover{background:var(--plum);color:#fff;box-shadow:0 14px 30px rgba(74,39,49,.32)}
.btn--gold{background:var(--gold);color:var(--plum-deep);box-shadow:0 10px 24px rgba(201,162,77,.28)}
.btn--gold:hover{background:var(--gold-soft);color:var(--plum-deep)}
.btn--ghost{background:transparent;color:var(--plum);border-color:var(--rose)}
.btn--ghost:hover{background:var(--rose-soft);color:var(--plum-deep);border-color:var(--rose)}
.btn--block{width:100%}

/* ====================== Top bar ====================== */
.topbar{
  background:var(--plum-deep);
  color:#fff;
  font-size:.85rem;
}
.topbar__row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:38px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px;
}
.topbar__text{margin:0;opacity:.92}
.topbar__phone{
  color:var(--gold-soft);
  display:inline-flex;align-items:center;gap:.4rem;
  font-weight:600;
}
.topbar__phone strong{color:#fff;font-weight:600}

/* ====================== Header ====================== */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,252,251,.92);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid transparent;
  transition:box-shadow .25s ease,background-color .25s ease,border-color .25s ease;
}
.header.scrolled{
  background:rgba(255,252,251,.98);
  box-shadow:0 8px 28px rgba(107,58,72,.08);
  border-color:var(--border);
}
.header__row{
  display:flex;align-items:center;justify-content:space-between;
  min-height:78px;gap:16px;
}
.header__brand{display:inline-flex;align-items:center}
.header__brand img{height:54px;width:auto;object-fit:contain}
.social-icon-img{display:inline-block;vertical-align:middle;object-fit:contain;width:20px;height:20px;flex-shrink:0}

.header__list{
  display:flex;gap:.25rem;list-style:none;margin:0;padding:0;align-items:center;
}
.nav__link{
  display:inline-block;
  padding:.55rem .85rem;
  font-size:.92rem;
  font-weight:500;
  color:var(--plum);
  border-radius:999px;
}
.nav__link:hover{background:var(--rose-soft);color:var(--plum-deep)}

.header__actions{display:flex;align-items:center;gap:.6rem}
.header__lang{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--rose-mist);
  padding:.35rem .7rem;
  border-radius:999px;
  font-size:.85rem;font-weight:600;
}
.header__lang span{color:var(--muted);opacity:.5}
.lang-btn{
  background:none;border:none;padding:.2rem .35rem;
  color:var(--muted);font-weight:600;font-size:.82rem;
  border-radius:6px;letter-spacing:.05em;
}
.lang-btn.is-active{color:var(--plum-deep);background:var(--rose-soft)}
.lang-btn:hover{color:var(--plum-deep)}

.header__toggle{
  display:none;background:none;border:none;
  width:44px;height:44px;padding:10px;border-radius:12px;
  position:relative;
}
.header__toggle span{
  display:block;position:absolute;left:10px;right:10px;height:2px;background:var(--plum-deep);border-radius:2px;
  transition:transform .3s ease,opacity .3s ease,top .3s ease;
}
.header__toggle span:nth-child(1){top:14px}
.header__toggle span:nth-child(2){top:21px}
.header__toggle span:nth-child(3){top:28px}
.header__toggle[aria-expanded="true"]{background:var(--rose-soft)}
.header__toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.header__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.header__toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

.header__lang--mobile{display:none}

/* ====================== Hero ====================== */
.hero{
  background:
    radial-gradient(900px 480px at 90% -10%,var(--rose-mist),transparent 70%),
    linear-gradient(180deg,var(--off-white) 0%,#fff 100%);
  padding:72px 0 80px;
  position:relative;
}
.hero__grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
}
.hero__title{margin-top:.4rem;line-height:1.05}
.hero__subhead{
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  color:var(--plum);
  margin-top:.4rem;margin-bottom:1.3rem;
}
.hero__lead{color:var(--text);max-width:56ch;font-size:1.05rem}

.hero__pills{
  list-style:none;padding:0;margin:1.4rem 0;
  display:flex;flex-wrap:wrap;gap:.5rem;
}
.hero__pills li{
  background:var(--rose-soft);
  color:var(--plum-deep);
  padding:.55rem 1rem;
  border-radius:999px;
  font-size:.85rem;font-weight:500;
  border:1px solid var(--border);
}
.hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}

.hero__image-card{
  position:relative;
  border-radius:var(--radius-xl);
  overflow:visible;
  box-shadow:var(--shadow-lg);
}
.hero__image-card img{
  border-radius:var(--radius-xl);
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:var(--photo-focus); /* NOVO */
}
.hero__badges{
  position:absolute;
  inset:auto -20px -36px auto;
  display:flex;flex-direction:column;gap:.7rem;
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:18px;
  box-shadow:var(--shadow-md);
  border:1px solid var(--border);
  width:280px;
}
.trust{display:flex;align-items:flex-start;gap:.7rem}
.trust__icon{
  width:34px;height:34px;border-radius:50%;
  background:var(--rose-soft);
  display:flex;align-items:center;justify-content:center;
  color:var(--plum-deep);font-size:1rem;
  flex-shrink:0;
}
.trust strong{display:block;color:var(--plum-deep);font-size:.92rem;font-weight:600}
.trust small{display:block;color:var(--muted);font-size:.78rem;margin-top:.1rem}

/* ====================== Highlights bar ====================== */
.highlights{padding:48px 0;background:var(--rose-mist);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.highlights__grid{
  display:grid;gap:24px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.highlight{
  background:var(--white);
  padding:26px;
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  text-align:left;
}
.highlight__icon{font-size:1.7rem;display:block;margin-bottom:.6rem}
.highlight__title{font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--plum-deep);margin:0 0 .4rem}
.highlight__desc{margin:0;color:var(--muted);font-size:.93rem}

/* ====================== About ====================== */
.about{padding:96px 0}
.about__grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;
}
.about__media{position:relative}
.about__media img{
  width:100%;border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;
  object-position:var(--photo-focus); /* NOVO */
}
.about__chip{
  position:absolute;left:-18px;bottom:-22px;
  background:var(--white);
  padding:18px 22px;border-radius:var(--radius-lg);
  display:flex;align-items:baseline;gap:.7rem;
  box-shadow:var(--shadow-md);border:1px solid var(--border);
}
.about__chip span{font-family:var(--font-display);font-size:2.2rem;color:var(--plum-deep);font-weight:700}
.about__chip small{color:var(--muted);font-size:.85rem;max-width:150px;line-height:1.3}

.checklist{
  list-style:none;padding:0;margin:1.2rem 0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .8rem;
}
.checklist li{
  position:relative;padding-left:28px;color:var(--plum);font-weight:500;font-size:.95rem;
}
.checklist li::before{
  content:"";position:absolute;left:0;top:.42em;
  width:18px;height:18px;border-radius:50%;
  background:var(--rose-soft);
  background-image:linear-gradient(135deg,transparent 45%,var(--plum) 45% 55%,transparent 55%);
}
.about__ctas{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}

/* ====================== Meet Olivia ====================== */
.meet{
  padding:96px 0;
  background:
    linear-gradient(180deg,var(--off-white),var(--rose-mist) 100%);
}
.meet__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.meet__media{position:relative}
.meet__media img{
  width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;
  object-position:var(--photo-focus); /* NOVO */
}
.meet__badges{
  list-style:none;padding:0;margin:1.2rem 0 0;
  display:flex;flex-wrap:wrap;gap:.5rem;
}
.meet__badges li{
  background:var(--white);color:var(--plum-deep);
  padding:.45rem .85rem;border-radius:999px;
  font-size:.78rem;font-weight:600;
  border:1px solid var(--border);
  box-shadow:0 6px 16px rgba(107,58,72,.06);
}
.meet p{color:var(--text);font-size:1.02rem}
.meet__signature{
  font-family:var(--font-display);
  color:var(--plum-deep);
  font-size:1.15rem;
  margin-top:1.4rem;
}
.meet__signature em{font-style:italic}

/* ====================== Services ====================== */
.services{
  padding:96px 0;
  background:
    radial-gradient(700px 400px at 10% -10%,var(--rose-soft),transparent 65%),
    var(--off-white);
}
.section-header{text-align:center;margin:0 auto 56px;max-width:760px}
.services__grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
}
.service-card{
  background:var(--white);
  padding:30px;border-radius:var(--radius-lg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  transition:transform .25s ease,box-shadow .25s ease;
  display:flex;flex-direction:column;
}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.service-card__icon{font-size:1.9rem;margin-bottom:.8rem}
.service-card h3{margin:0 0 .6rem;font-size:1.18rem}
.service-card p{color:var(--muted);margin:0 0 .9rem;font-size:.95rem}
.service-card ul{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.4rem}
.service-card ul li{
  position:relative;padding-left:22px;color:var(--text);font-size:.9rem;
}
.service-card ul li::before{
  content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;
  border-radius:50%;background:var(--gold);
}
.service-card--featured{
  background:linear-gradient(160deg,var(--plum-deep) 0%,var(--plum) 100%);
  color:#fff;border-color:transparent;
}
.service-card--featured h3,.service-card--featured p,.service-card--featured ul li{color:#fff}
.service-card--featured p,.service-card--featured ul li{color:rgba(255,255,255,.85)}
.service-card--featured ul li::before{background:var(--gold-soft)}
.service-card__cta{
  margin-top:auto;color:var(--gold-soft);font-weight:600;font-size:.9rem;
  display:inline-flex;align-items:center;gap:.3rem;
}
.service-card__cta:hover{color:#fff}

/* ====================== Deep & Seasonal ====================== */
.deep{padding:96px 0;background:var(--rose-mist)}
.deep__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.deep__media img{
  width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;
  object-position:var(--photo-focus); /* NOVO */
}
.deep__lead{color:var(--text);font-size:1.05rem;max-width:56ch}
.tag-list{list-style:none;padding:0;margin:1.2rem 0 1.8rem;display:flex;flex-wrap:wrap;gap:.5rem}
.tag-list li{
  background:var(--white);color:var(--plum-deep);
  padding:.55rem 1rem;border-radius:999px;
  border:1px solid var(--border);font-size:.85rem;font-weight:500;
}

/* ====================== Why choose us ====================== */
.why{padding:96px 0}
.why__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.why__item{
  display:flex;gap:1.2rem;align-items:flex-start;
  padding:18px 0;border-bottom:1px solid var(--border);
}
.why__item:last-child{border-bottom:0}
.why__bullet{
  font-family:var(--font-display);font-size:1.4rem;
  color:var(--gold);font-weight:600;line-height:1;padding-top:.25rem;flex-shrink:0;
}
.why__item h3{font-size:1.08rem;margin:0 0 .3rem}
.why__item p{margin:0;color:var(--muted);font-size:.95rem}

.why__media{position:relative}
.why__media img{
  width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;
  object-position:var(--photo-focus); /* NOVO */
}
.why__note{
  position:absolute;left:-18px;bottom:24px;
  background:var(--white);
  padding:16px 18px;border-radius:var(--radius-lg);
  max-width:230px;
  box-shadow:var(--shadow-md);
  border:1px solid var(--border);
}
.why__note p{margin:0;color:var(--plum-deep);font-weight:600;font-size:.9rem}
.why__note small{display:block;color:var(--muted);font-size:.8rem;margin-top:.3rem;line-height:1.4}

/* ====================== How it works ====================== */
.how{padding:96px 0;background:linear-gradient(180deg,var(--off-white),var(--rose-mist))}
.how__steps{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.how__step{
  background:var(--white);
  padding:30px;border-radius:var(--radius-lg);
  border:1px solid var(--border);box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.how__step:hover{transform:translateY(-3px)}
.how__num{
  display:inline-block;
  font-family:var(--font-display);font-weight:700;
  font-size:1.7rem;color:var(--gold);
  background:var(--rose-soft);
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.how__step h3{margin:0 0 .4rem;font-size:1.15rem}
.how__step p{margin:0;color:var(--muted);font-size:.95rem}

/* ====================== Areas ====================== */
.areas{padding:96px 0}
.areas__grid{
  list-style:none;padding:0;margin:0 0 2.5rem;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.area-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:20px;
  display:flex;align-items:center;gap:.8rem;
  box-shadow:var(--shadow-md);
  transition:transform .2s ease,box-shadow .2s ease;
}
.area-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.area-card span:first-child{font-size:1.3rem}
.area-card strong{font-family:var(--font-display);font-weight:600;color:var(--plum-deep);font-size:1.08rem;display:block}
.area-card small{color:var(--muted);font-size:.78rem;letter-spacing:.08em;font-weight:600}
.areas__footer{
  text-align:center;margin-top:1rem;
  background:var(--rose-mist);
  padding:28px;border-radius:var(--radius-lg);
  border:1px solid var(--border);
}
.areas__footer p{margin:0 0 1rem;color:var(--plum)}
.areas__footer .btn{margin:0 auto}

/* ====================== FAQ ====================== */
.faq{padding:96px 0;background:var(--rose-mist)}
.faq__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.faq__header{position:sticky;top:120px}
.faq__list{display:flex;flex-direction:column;gap:14px}
.faq__list details{
  background:var(--white);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  padding:0;
  box-shadow:var(--shadow-md);
  transition:box-shadow .25s ease,border-color .25s ease;
}
.faq__list details[open]{
  box-shadow:var(--shadow-lg);
  border-color:rgba(107,58,72,.22);
}
.faq__list summary{
  list-style:none;
  padding:20px 24px;
  cursor:pointer;
  color:var(--plum-deep);
  font-family:var(--font-display);
  font-size:1.08rem;
  font-weight:600;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{
  content:"+";
  font-family:var(--font-body);
  font-weight:400;
  font-size:1.4rem;
  color:var(--gold);
  width:30px;height:30px;border-radius:50%;
  background:var(--rose-soft);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .3s ease,background-color .2s ease;
}
.faq__list details[open] summary::after{
  content:"–";
  background:var(--gold);color:#fff;
}
.faq__list details p{
  margin:0;padding:0 24px 22px;
  color:var(--text);font-size:.97rem;line-height:1.6;
}

/* ====================== Contact ====================== */
.contact{padding:96px 0}
.contact__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.contact__lead{color:var(--text);margin-bottom:1.6rem}
.contact-cards{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.contact-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:16px 18px;
  display:flex;align-items:center;gap:.9rem;
  box-shadow:var(--shadow-md);
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.contact-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:28px;
  height:28px;
  font-size:1.4rem;
  line-height:1;
  margin:0;
}
.contact-card__icon img.social-icon-img{
  width:26px;
  height:26px;
  display:block;
  object-fit:contain;
  flex-shrink:0;
}
.contact-card strong{
  display:block;color:var(--plum-deep);font-size:.85rem;font-weight:600;
  letter-spacing:.02em;
}
.contact-card a,.contact-card div > span{display:block;color:var(--text);font-size:.96rem;margin-top:.15rem}
.contact-card a:hover{color:var(--plum-deep);text-decoration:underline}

/* ===== Form ===== */
.contact__form-wrap{
  background:var(--white);
  padding:32px;
  border-radius:var(--radius-xl);
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  position:sticky;top:120px;
}
.form__title{
  font-family:var(--font-display);
  font-size:1.45rem;color:var(--plum-deep);
  margin:0 0 1.4rem;
}
.form__row{margin-bottom:16px}
.form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form__label{
  display:block;font-size:.85rem;font-weight:600;color:var(--plum);margin-bottom:.4rem;
  letter-spacing:.01em;
}
.form__input{
  width:100%;
  font:inherit;color:var(--text);
  padding:.85rem 1rem;
  background:var(--off-white);
  border:1.5px solid var(--border);
  border-radius:var(--radius-md);
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.form__input:focus{
  border-color:var(--plum);
  background:var(--white);
  box-shadow:0 0 0 4px rgba(107,58,72,.08);
  outline:none;
}
.form__textarea{resize:vertical;min-height:120px;font-family:inherit}
.form__note{
  text-align:center;color:var(--muted);font-size:.85rem;margin:.8rem 0 0;
}
.hidden-honeypot{display:none}
.form-alert{
  margin-top:1rem;padding:14px;border-radius:var(--radius-md);
  background:var(--rose-soft);color:var(--plum-deep);
  display:flex;gap:.7rem;align-items:flex-start;
  font-size:.93rem;
}
.form-alert span{font-weight:700;color:var(--plum-deep);font-size:1.1rem;line-height:1}
.form-alert a{color:var(--plum-deep);text-decoration:underline;font-weight:600}
.form-alert--error{background:#fff0f1;color:#8a1f30}
.form-alert--error span{color:#8a1f30}
.form-alert[hidden]{display:none}

/* ====================== Final CTA ====================== */
.cta{
  padding:80px 0;
  background:linear-gradient(135deg,var(--rose-soft) 0%,var(--rose) 50%,var(--gold-soft) 100%);
  position:relative;overflow:hidden;
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 300px at 20% 100%,rgba(255,255,255,.4),transparent 60%);
}
.cta__row{position:relative;text-align:center;max-width:840px;margin:0 auto}
.cta__title{
  color:var(--plum-deep);
  font-size:clamp(1.6rem,3vw,2.6rem);
  margin:0 0 1.6rem;
}
.cta__buttons{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}

/* ====================== Footer ====================== */
.footer{
  background:var(--plum-deep);
  color:rgba(255,255,255,.78);
  padding:64px 0 0;
  font-size:.92rem;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.1fr;
  gap:40px;
  margin-bottom:40px;
}
.footer__brand img{height:62px;width:auto;margin-bottom:1rem;object-fit:contain}
.footer__brand p{margin:0;line-height:1.6;color:rgba(255,255,255,.7)}
.footer h4{
  color:#fff;
  font-family:var(--font-body);
  font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  margin:0 0 1.1rem;
}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.footer ul a,.footer ul span{color:rgba(255,255,255,.78);font-size:.93rem}
.footer ul a:hover{color:var(--gold-soft)}
.footer__contact li{display:flex;align-items:center;gap:.7rem}
.footer__contact span:first-child{flex-shrink:0;opacity:.85}
.footer__bar{
  border-top:1px solid rgba(255,255,255,.1);
  padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  font-size:.82rem;color:rgba(255,255,255,.6);
}
.footer__bar p{margin:0}
.footer__lang--mark .lang-btn{color:rgba(255,255,255,.65)}
.footer__lang--mark .lang-btn.is-active{background:var(--gold-soft);color:var(--plum-deep)}
.footer__lang--mark span{color:rgba(255,255,255,.3)}

/* ====================== Floating ====================== */
.floating{
  position:fixed;right:18px;bottom:18px;z-index:90;
  display:flex;flex-direction:column-reverse;gap:10px;
}
.float-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.8rem 1.2rem;
  border-radius:999px;
  font-weight:600;font-size:.9rem;
  box-shadow:0 14px 32px rgba(74,39,49,.22);
  border:1px solid transparent;
  color:#fff;
  transition:transform .2s ease,box-shadow .2s ease;
}
.float-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(74,39,49,.3)}
.float-btn--call{background:var(--plum-deep)}
.float-btn--wa{background:var(--gold);color:var(--plum-deep)}

/* ====================== Reveal animations ====================== */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease,transform .7s ease;
  will-change:opacity,transform;
}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.24s}

/* ====================== Responsive ====================== */
@media (max-width:1199px){
  .hero__grid,.about__grid,.meet__grid,.deep__grid,.why__grid,.faq__grid,.contact__grid{
    grid-template-columns:1fr;gap:40px;
  }
  .hero{padding:60px 0 70px}
  .about,.meet,.services,.deep,.why,.how,.areas,.faq,.contact{padding:72px 0}

  /* ALTERADO: eram 16/10 (moldura deitada) e cortavam o topo das fotos em pé */
  .hero__image-card img,
  .meet__media img,
  .why__media img{
    aspect-ratio:4/5;
    object-position:var(--photo-focus);
  }

  .hero__badges{position:static;width:auto;margin-top:18px;flex-direction:row;flex-wrap:wrap}
  .cta{padding:64px 0}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:899px){
  .header__nav{
    position:fixed;inset:78px 0 auto 0;
    background:var(--off-white);
    border-bottom:1px solid var(--border);
    padding:20px 24px 28px;
    transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:transform .3s ease,opacity .3s ease;
    box-shadow:0 16px 40px rgba(107,58,72,.12);
    max-height:calc(100vh - 78px);overflow:auto;
  }
  .header__nav.is-open{transform:none;opacity:1;pointer-events:auto}
  .header__list{flex-direction:column;align-items:flex-start;gap:0}
  .nav__link{padding:.85rem 0;font-size:1rem;width:100%;border-bottom:1px solid var(--border);border-radius:0}
  .nav__link:hover{background:transparent;color:var(--plum-deep)}
  .header__toggle{display:inline-flex}
  .header__list li:last-child .nav__link{border-bottom:0}
  .header__lang--mobile{display:inline-flex;margin-top:14px}
  .header__actions .header__lang{display:none}
  .header__actions .btn--sm:not(.btn--primary){display:none}

  /* ALTERADO: eram 4/3 e cortavam demais em cima e embaixo */
  .about__media img,
  .deep__media img{
    aspect-ratio:4/5;
    object-position:50% 30%;
  }

  .contact__form-wrap{position:static}
  .faq__header{position:static}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:639px){
  :root{--gutter:18px}
  .topbar__row{flex-direction:column;align-items:flex-start;padding-top:8px;padding-bottom:8px;gap:2px}
  .container{padding:0 var(--gutter)}
  .header__row{min-height:64px}
  .header__brand img{height:38px}
  .services__grid,.highlights__grid,.areas__grid,.how__steps,.contact-cards,.checklist,.form__row--2{
    grid-template-columns:1fr;
  }
  .footer__grid{grid-template-columns:1fr}
  .footer__bar{flex-direction:column;align-items:flex-start;text-align:left}
  h1{font-size:clamp(2.2rem,9vw,3rem)}
  .hero{padding:40px 0 60px}
  .about,.meet,.services,.deep,.why,.how,.areas,.faq,.contact{padding:56px 0}
  .cta{padding:56px 0}
  .cta__title{font-size:1.5rem}
  .floating{right:12px;bottom:12px}
  .float-btn{padding:.7rem 1rem;font-size:.82rem}
  .float-btn--call span:last-child{display:none}
  .float-btn--wa span{display:none}

  /* NOVO: no celular a foto 4/5 fica muito alta — 3/4 preenche melhor a tela */
  .hero__image-card img,
  .meet__media img,
  .about__media img,
  .deep__media img,
  .why__media img{
    aspect-ratio:3/4;
    object-position:var(--photo-focus);
  }

  /* ALTERADO: chip e nota flutuante deixam de sair da tela no mobile */
  .about__chip{
    position:static;margin-top:14px;
    left:auto;right:auto;bottom:auto;
    padding:14px 16px;
  }
  .about__chip span{font-size:1.7rem}
  .why__note{
    position:static;margin-top:14px;
    left:auto;right:auto;bottom:auto;
    max-width:none;padding:12px 14px;
  }

  .trust strong{font-size:.85rem}
  .trust small{font-size:.72rem}
  .hero__badges{padding:14px;gap:.5rem;flex-direction:column}
  .contact__form-wrap{padding:22px}
  .form__row--2{grid-template-columns:1fr;gap:16px}
}

/* ====================== Reduced motion ====================== */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001s !important;transition-duration:0.001s !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
