/* ===========================================================
   Bruna Fernandes | Suporte Empresarial
   Paleta derivada do logo: plum profundo, magenta/rosé, lilás,
   verde-petróleo, dourado — sobre creme.
   =========================================================== */

:root{
  --plum:#2A1A26;
  --plum-deep:#1B1119;
  --plum-soft:#4A3040;
  --teal-deep:#15272B;
  --magenta:#B8506F;
  --rose:#E29AAE;
  --rose-deep:#B8506F;
  --rose-pale:#F7E8EC;
  --lilac:#C49BD4;
  --mint:#A9D0A4;
  --gold:#C9A45C;
  --gold-light:#E6CD8E;
  --nude:#F0E5E0;
  --cream:#FBF7F5;
  --ink:#3A2B33;
  --ink-soft:#6D5A63;
  --line:rgba(58,43,51,.14);
  --line-light:rgba(255,255,255,.18);

  --brand-gradient:linear-gradient(90deg,#EE8FA3 0%,#D38BD0 45%,#B7B3DE 70%,#A9D0A4 100%);
  --gold-gradient:linear-gradient(135deg,#F1DC9F 0%,#C9A45C 45%,#A57E36 100%);

  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;

  --wrap:1180px;
  --r:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

[hidden]{display:none!important}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  font-size:16.5px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}

.skip{
  position:absolute;left:-9999px;top:0;z-index:99;
  background:var(--plum);color:#fff;padding:.8rem 1.2rem;
}
.skip:focus{left:1rem;top:1rem}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.25rem,5vw,2.5rem)}

.section{padding:clamp(4.5rem,10vw,8rem) 0;scroll-margin-top:1rem}

/* ---------- Tipografia utilitária ---------- */
.kicker{
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--rose-deep);margin:0 0 1.4rem;font-weight:400;
}
.kicker--light{color:var(--gold-light)}

.h2{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(2.1rem,5vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.015em;
  margin:0 0 1.5rem;
  color:var(--plum);
}
.h2 em{font-style:italic;color:var(--rose-deep)}
.h2--center{text-align:center;margin-inline:auto;max-width:18em}
.h2--light{color:var(--cream)}
.h2--light em{color:var(--rose)}

.lead{font-size:1.12rem;color:var(--ink);margin:0 0 1.1rem}
p{margin:0 0 1.1rem;color:var(--ink-soft)}

.mini-title{
  font-family:var(--sans);font-weight:400;font-size:.7rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--plum);margin:0 0 1rem;
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-size:.78rem;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  padding:1.05rem 1.9rem;border-radius:var(--r);
  transition:all .45s var(--ease);
  border:1px solid transparent;cursor:pointer;
}
.btn--solid{background:var(--gold-gradient);color:var(--plum-deep);font-weight:500}
.btn--solid:hover{filter:brightness(1.08);box-shadow:0 14px 30px -14px rgba(201,164,92,.8)}
.btn--line{border-color:var(--line-light);color:var(--cream)}
.btn--line:hover{background:rgba(255,255,255,.08);border-color:var(--gold-light)}
.btn--ghost{border-color:rgba(230,205,142,.45);color:var(--gold-light);padding:.85rem 1.4rem;font-size:.7rem}
.btn--ghost:hover{background:var(--gold-gradient);color:var(--plum-deep);border-color:transparent}
.btn--dark{background:var(--plum);color:var(--cream)}
.btn--dark:hover{background:var(--rose-deep);color:#fff}
.btn--block{width:100%}

/* ---------- Chips e ticks ---------- */
.ticks{display:grid;gap:.7rem}
.ticks li{position:relative;padding-left:1.6rem;color:var(--ink);font-size:.97rem;line-height:1.5}
.ticks li::before{
  content:"✦";position:absolute;left:0;top:0;color:var(--gold);font-size:.75rem;
}

.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{
  font-size:.82rem;padding:.4rem .85rem;border:1px solid var(--line);
  border-radius:999px;color:var(--ink);background:rgba(255,255,255,.55);
}
.chips--lg li{font-size:.95rem;padding:.6rem 1.15rem;background:#fff}

/* ===========================================================
   HERO
   =========================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;
  background:var(--plum-deep);
  color:var(--cream);
  overflow:hidden;
  isolation:isolate;
}

.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(70% 60% at 8% 0%, rgba(184,80,111,.55) 0%, rgba(184,80,111,0) 70%),
    radial-gradient(60% 55% at 92% 20%, rgba(142,74,155,.45) 0%, rgba(142,74,155,0) 70%),
    radial-gradient(80% 60% at 85% 100%, rgba(21,39,43,.95) 0%, rgba(21,39,43,0) 70%),
    linear-gradient(165deg,#3A2231 0%,#241522 50%,#172125 100%);
}
.hero__glow{
  position:absolute;right:6vw;top:14vh;
  width:38vw;height:38vw;min-width:320px;min-height:320px;
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%, rgba(226,154,174,.35), rgba(226,154,174,0) 66%);
  filter:blur(10px);
}
.hero__grain{
  position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.55'/></svg>");
}

/* ---- nav ---- */
.nav{
  position:relative;z-index:5;
  display:flex;align-items:center;gap:2rem;
  padding:1.4rem clamp(1.25rem,4vw,2.75rem);
}
.brand{display:flex;align-items:center;gap:.8rem;margin-right:auto}
.brand__mark{
  font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.9rem;line-height:1;
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.04em;padding-right:.1em;
}
.brand__text{display:flex;flex-direction:column;line-height:1.2}
.brand__name{
  font-family:var(--serif);font-size:1.2rem;letter-spacing:.01em;
  background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand__role{
  font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);
}

.nav__links{display:flex;gap:2rem}
.nav__links a{
  font-size:.78rem;letter-spacing:.1em;color:rgba(251,247,245,.78);
  padding-bottom:2px;border-bottom:1px solid transparent;transition:.35s var(--ease);
}
.nav__links a:hover{color:var(--cream);border-color:var(--gold)}

.nav__toggle{
  display:none;background:none;border:0;padding:.6rem;cursor:pointer;
}
.nav__toggle span{display:block;width:26px;height:1px;background:var(--cream);margin:6px 0;transition:.3s}
.nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.menu-mobile{
  position:relative;z-index:5;display:none;gap:.2rem;
  padding:.5rem clamp(1.25rem,4vw,2.75rem) 1.5rem;
  border-bottom:1px solid var(--line-light);
}
.menu-mobile a{
  font-family:var(--serif);font-size:1.5rem;color:var(--cream);padding:.35rem 0;
}

/* ---- conteúdo hero ---- */
.hero__inner{
  position:relative;z-index:4;flex:1;
  display:grid;grid-template-columns:1.15fr .85fr;align-items:center;
  gap:clamp(2rem,5vw,4.5rem);
  width:100%;max-width:1320px;margin:0 auto;
  padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,4vw,2.75rem) clamp(2.5rem,6vw,4.5rem);
}
.hero__eyebrow{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-light);margin:0 0 1.5rem;
}
.hero__title{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.4rem,4.6vw,4.3rem);
  line-height:1.02;letter-spacing:-.025em;max-width:13em;
  margin:0 0 1.6rem;color:#fff;
}
.hero__title em{font-style:italic;color:var(--rose)}
.hero__sub{
  max-width:36rem;color:rgba(251,247,245,.8);font-size:1.06rem;margin:0 0 2.2rem;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.8rem}

.hero__facts{
  display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,3.5rem);
  margin:0;padding-top:1.6rem;border-top:1px solid var(--line-light);
}
.hero__facts dt{
  font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(251,247,245,.5);margin-bottom:.35rem;
}
.hero__facts dd{margin:0;font-family:var(--serif);font-size:1.35rem;color:var(--cream)}

.hero__photo{
  position:relative;justify-self:center;width:100%;max-width:430px;
}
.hero__photo::before{
  content:"";position:absolute;inset:-14px 14px 14px -14px;
  border:1px solid rgba(230,205,142,.5);border-radius:240px 240px var(--r) var(--r);
}
.hero__photo img{
  position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;
  border-radius:240px 240px var(--r) var(--r);
  box-shadow:0 50px 90px -40px rgba(0,0,0,.7);
}

/* ===========================================================
   MARQUEE
   =========================================================== */
.marquee{
  background:var(--nude);border-block:1px solid rgba(58,43,51,.08);
  padding:1.15rem 0;overflow:hidden;
}
.marquee__track{
  display:flex;gap:1.6rem;align-items:center;white-space:nowrap;
  width:max-content;animation:slide 46s linear infinite;
}
.marquee__track span{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--plum-soft);
}
.marquee__track .sep{color:var(--gold);font-size:.6rem}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
}

/* ===========================================================
   PROPÓSITO / DOR
   =========================================================== */
.pain{background:var(--cream)}
.pain__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.pain__list{border-top:1px solid var(--line)}
.pain__list li{
  padding:1.15rem 0 1.15rem 2.2rem;border-bottom:1px solid var(--line);
  position:relative;color:var(--ink);font-size:1.02rem;
}
.pain__list li::before{
  content:"—";position:absolute;left:0;top:1.15rem;color:var(--rose-deep);
}

/* ===========================================================
   SOBRE
   =========================================================== */
.about{background:var(--rose-pale)}
.about__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.about__portrait{position:sticky;top:2rem}

.portrait{
  position:relative;border-radius:220px 220px var(--r) var(--r);overflow:hidden;
  box-shadow:0 40px 70px -40px rgba(124,70,84,.55);
}
.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 15%}
.portrait::after{
  content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.5);
  border-radius:210px 210px var(--r) var(--r);pointer-events:none;
}
.portrait__cap{
  margin:1rem 0 0;text-align:center;font-size:.68rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--plum-soft);
}

.about__cols{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);
}

.about__badge{
  display:flex;align-items:center;gap:1.4rem;margin-top:2.2rem;
  padding:1.4rem 1.6rem;background:var(--plum);color:var(--cream);
}
.about__badge strong{
  font-family:var(--serif);font-weight:300;font-size:3.6rem;line-height:1;
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.about__badge span{font-size:.95rem;color:rgba(251,247,245,.82);line-height:1.5}

/* ===========================================================
   SERVIÇOS
   =========================================================== */
.services{background:var(--cream)}
.services .kicker{text-align:center}

.service-list{display:grid;gap:clamp(1.25rem,3vw,1.75rem);margin-top:clamp(2.5rem,6vw,4rem)}
.service{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3.5rem);
  background:#fff;border:1px solid var(--line);
  padding:clamp(1.8rem,4vw,3rem);
  scroll-margin-top:1rem;
  transition:.5s var(--ease);
}
.service:hover{box-shadow:0 40px 60px -45px rgba(42,26,38,.45)}

.service__num{
  font-family:var(--serif);font-size:.9rem;letter-spacing:.2em;
  color:var(--gold);display:block;margin-bottom:1.2rem;
}
.service h3{
  font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);
  line-height:1.08;margin:0 0 .9rem;color:var(--plum);
}
.service__highlight{
  font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.3;
  color:var(--rose-deep);margin:1.2rem 0;padding-left:1rem;border-left:2px solid var(--gold);
}
.service__note{font-size:.92rem}
.service__cta{
  display:inline-flex;gap:.5rem;align-items:center;margin-top:.6rem;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-deep);
  transition:gap .35s var(--ease);
}
.service__cta:hover{gap:1rem}

.service__items{
  columns:2;column-gap:2rem;align-self:start;
  border-top:1px solid var(--line);
}
.service__items li{
  break-inside:avoid;padding:.65rem 0 .65rem 1.4rem;position:relative;
  border-bottom:1px solid var(--line);font-size:.93rem;color:var(--ink);line-height:1.45;
}
.service__items li::before{
  content:"✦";position:absolute;left:0;top:.72rem;font-size:.62rem;color:var(--gold);
}

.service--accent{background:var(--plum);border-color:transparent}
.service--accent h3{color:var(--cream)}
.service--accent p{color:rgba(251,247,245,.76)}
.service--accent .service__cta{color:var(--rose)}
.service--accent .service__items,
.service--accent .service__items li{border-color:var(--line-light)}
.service--accent .service__items li{color:rgba(251,247,245,.88)}

/* ===========================================================
   MANIFESTO
   =========================================================== */
.manifesto{
  position:relative;overflow:hidden;color:var(--cream);
  background:
    radial-gradient(60% 80% at 0% 0%, rgba(184,80,111,.4), rgba(184,80,111,0) 70%),
    radial-gradient(60% 80% at 100% 100%, rgba(21,39,43,.9), rgba(21,39,43,0) 70%),
    linear-gradient(160deg,#35202E,#1B1119);
}
.manifesto__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.manifesto__text p{color:rgba(251,247,245,.8);font-size:1.06rem;margin-bottom:2rem;max-width:32rem}
.manifesto__photo img{
  width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 20%;
  border-radius:var(--r);box-shadow:0 50px 80px -45px rgba(0,0,0,.8);
}

/* ===========================================================
   PARA QUEM
   =========================================================== */
.who{background:var(--nude)}
.who__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}

/* ===========================================================
   DIFERENCIAIS
   =========================================================== */
.features{background:var(--cream)}
.features .kicker{text-align:center}
.features__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
  margin-top:clamp(2.5rem,6vw,4rem);
}
.feature{background:var(--cream);padding:clamp(1.5rem,3vw,2.2rem);transition:background .4s var(--ease)}
.feature:hover{background:#fff}
.feature__icon{
  display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:1.1rem;
  border:1px solid rgba(201,164,92,.5);border-radius:50%;color:var(--gold);font-size:.8rem;
}
.feature h3{
  font-family:var(--serif);font-weight:400;font-size:1.35rem;line-height:1.15;
  margin:0 0 .5rem;color:var(--plum);
}
.feature p{margin:0;font-size:.93rem}

/* ===========================================================
   COMO FUNCIONA
   =========================================================== */
.process{background:var(--rose-pale)}
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.25rem,3vw,2.2rem);margin-top:clamp(2rem,5vw,3.5rem);
}
.steps li{padding-top:1.6rem;border-top:1px solid rgba(58,43,51,.2)}
.steps__n{
  font-family:var(--serif);font-style:italic;font-size:2.4rem;
  color:var(--rose-deep);display:block;line-height:1;margin-bottom:.8rem;
}
.steps h3{
  font-family:var(--serif);font-weight:400;font-size:1.35rem;
  margin:0 0 .5rem;color:var(--plum);line-height:1.15;
}
.steps p{font-size:.95rem;margin:0}

/* ===========================================================
   MODELO DE CONTRATAÇÃO
   =========================================================== */
.hiring{background:var(--cream)}
.hiring__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.hiring__photo img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 10%;
  border-radius:var(--r) var(--r) 220px 220px;
  box-shadow:0 40px 70px -40px rgba(42,26,38,.5);
}
.formats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);margin:.5rem 0 1.6rem;
}
.formats li{
  background:#fff;padding:1rem 1.1rem;font-family:var(--serif);font-size:1.15rem;color:var(--plum);
}
.availability{
  margin:1.6rem 0 2rem;padding:1.3rem 1.5rem;background:var(--rose-pale);
  border-left:2px solid var(--gold);
}
.availability ul{display:grid;gap:.3rem}
.availability li{color:var(--ink);font-size:.97rem}
.availability strong{font-weight:500}

/* ===========================================================
   FAQ
   =========================================================== */
.faq{background:var(--nude)}
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.faq__aside{margin-bottom:1.8rem;max-width:22rem}

.accordion{border-top:1px solid rgba(58,43,51,.16)}
.accordion details{border-bottom:1px solid rgba(58,43,51,.16)}
.accordion summary{
  cursor:pointer;list-style:none;padding:1.3rem 2.5rem 1.3rem 0;
  font-family:var(--serif);font-size:1.28rem;color:var(--plum);position:relative;
  transition:color .3s var(--ease);
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{
  content:"+";position:absolute;right:.2rem;top:1.15rem;
  font-family:var(--sans);font-size:1.3rem;color:var(--rose-deep);
  transition:transform .35s var(--ease);
}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion summary:hover{color:var(--rose-deep)}
.accordion details p{margin:0 0 1.4rem;padding-right:2.5rem;font-size:1rem}

/* ===========================================================
   CONTATO + FORMULÁRIO
   =========================================================== */
.cta{
  background:
    radial-gradient(70% 90% at 0% 0%, rgba(184,80,111,.45), rgba(184,80,111,0) 65%),
    radial-gradient(60% 80% at 100% 100%, rgba(21,39,43,.95), rgba(21,39,43,0) 70%),
    linear-gradient(160deg,#3A2231,#1B1119);
  color:var(--cream);
}
.cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.cta__sub{color:rgba(251,247,245,.78);max-width:30rem;margin:0 0 2rem}

.contact-list{border-top:1px solid var(--line-light);margin-bottom:2rem}
.contact-list li{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1rem 0;border-bottom:1px solid var(--line-light);
}
.contact-list__label{
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(251,247,245,.55);
  align-self:center;
}
.contact-list a,.contact-list span:not(.contact-list__label){
  font-family:var(--serif);font-size:1.25rem;color:var(--cream);
}
.contact-list a:hover{color:var(--gold-light)}
.cta__actions{display:flex;flex-wrap:wrap;gap:.8rem}

.quote-form{
  background:var(--cream);color:var(--ink);
  padding:clamp(1.6rem,4vw,2.6rem);
  box-shadow:0 50px 90px -50px rgba(0,0,0,.8);
  scroll-margin-top:1.5rem;
}
.quote-form__title{
  font-family:var(--serif);font-weight:400;font-size:1.9rem;color:var(--plum);margin:0 0 1.4rem;
}
.field{margin:0 0 1.1rem;border:0;padding:0;min-width:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label,.field legend{
  display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--plum-soft);margin-bottom:.45rem;padding:0;
}
.field input,.field textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:.8rem .9rem;transition:border-color .3s var(--ease);
}
.field textarea{resize:vertical;min-height:6.5rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--rose-deep)}
.field input[aria-invalid="true"]{border-color:#B3261E}

.checks{display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem}
.checks legend{margin-bottom:.7rem}
.checks label{
  display:flex;align-items:center;gap:.55rem;margin:0;cursor:pointer;
  font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--ink);
}
.checks input{width:1.05rem;height:1.05rem;accent-color:var(--rose-deep);margin:0;flex:none}

.quote-form__error{
  color:#B3261E;font-size:.9rem;margin:0 0 1rem;
}
.quote-form__hint{font-size:.8rem;text-align:center;margin:.9rem 0 0}

/* ===========================================================
   FOOTER
   =========================================================== */
.footer{background:var(--plum-deep);color:var(--cream);padding:clamp(3rem,7vw,4.5rem) 0 6rem}
.footer__inner{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;
  padding-bottom:2.5rem;border-bottom:1px solid var(--line-light);
}
.brand__mark--footer{font-size:2.6rem;display:inline-block;margin-bottom:.4rem}
.footer__name{
  font-family:var(--serif);font-size:1.6rem;margin:0;
  background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  display:inline-block;
}
.footer__role{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;margin:.3rem 0 0;color:var(--gold-light)}
.footer__links{display:grid;gap:.6rem}
.footer__links a{font-size:.9rem;color:rgba(251,247,245,.7);transition:.3s}
.footer__links a:hover{color:var(--gold-light)}
.footer__contact a{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--cream)}
.footer__contact a:hover{color:var(--gold-light)}
.footer__contact p{margin:.5rem 0 0;font-size:.88rem;color:rgba(251,247,245,.6)}
.footer__legal{
  text-align:center;margin:1.6rem 0 0;font-size:.68rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(251,247,245,.45);
}

/* ===========================================================
   WHATSAPP FLUTUANTE
   =========================================================== */
.wa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}
.wa__btn{
  display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;
  background:#25D366;color:#0B3B1F;border:0;
  padding:.9rem 1.3rem;border-radius:999px;
  font-family:var(--sans);font-size:.76rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.55);
  transition:.4s var(--ease);
}
.wa__btn:hover{transform:translateY(-2px);background:#2FE173}
.wa__panel{
  width:min(19rem,calc(100vw - 2.5rem));
  background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:1.1rem;box-shadow:0 30px 60px -25px rgba(27,17,25,.6);
  display:grid;gap:.35rem;
}
.wa__title{font-family:var(--serif);font-size:1.15rem;color:var(--plum);margin:0 0 .4rem;line-height:1.25}
.wa__panel a{
  display:block;padding:.65rem .8rem;border-radius:6px;font-size:.92rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);transition:.25s var(--ease);
}
.wa__panel a:hover{border-color:#25D366;background:#F1FBF4}

/* ===========================================================
   REVEAL
   =========================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ===========================================================
   RESPONSIVO
   =========================================================== */
@media (max-width:1100px){
  .nav__links{display:none}
  .nav__toggle{display:block}
  .menu-mobile:not([hidden]){display:grid}
  .features__grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .nav__cta{display:none}
  .hero{min-height:auto}
  .hero__inner{grid-template-columns:1fr}
  .hero__photo{max-width:320px}
  .pain__grid,.about__grid,.faq__grid,.manifesto__grid,.who__grid,.hiring__grid,.cta__grid,.service{grid-template-columns:1fr}
  .about__portrait{position:static;max-width:22rem;margin:0 auto;width:100%}
  .hiring__photo{max-width:22rem;margin:0 auto;width:100%}
  .footer__inner{grid-template-columns:1fr;gap:1.8rem}
}

@media (max-width:600px){
  .features__grid,.steps,.about__cols,.field-row{grid-template-columns:1fr}
  .service__items{columns:1}
  .formats{grid-template-columns:repeat(2,1fr)}
  .checks{grid-template-columns:1fr}
  .hero__photo{max-width:260px}
  .btn{width:100%}
  .hero__actions,.cta__actions{flex-direction:column}
  .about__badge{flex-direction:column;align-items:flex-start;gap:.6rem}
  .wa{right:.9rem;bottom:.9rem}
  .wa__btn span{display:none}
  .wa__btn{padding:1rem}
}
