/* ============================================================
   ROSH — estilos comuns das páginas de serviço
   Usa os tokens de brand.css. Cada página só traz o conteúdo.
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);font-weight:400;line-height:1.65;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit}
::selection{background:var(--braise);color:var(--on-orange)}

.wrap{max-width:1560px;margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(80px,10vw,150px) 0;position:relative}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1.03}
h3{font-weight:700;letter-spacing:-.025em}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:clamp(10px,1vw,12px);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--soleil);flex:none}
.rv{opacity:0;transform:translateY(42px);transition:opacity .9s cubic-bezier(.22,.7,.3,1),transform .9s cubic-bezier(.22,.7,.3,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.on-white{background:#F7F4F0;color:var(--paper)}
.on-white .eyebrow{color:rgba(11,9,8,.6)}
.on-white .eyebrow::before{background:var(--braise)}

/* nav */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:18px var(--pad);background:rgba(11,9,8,.82);backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;transition:border-color .4s;
}
.nav.scrolled{border-bottom-color:var(--line)}
.brand{display:flex;flex-direction:column;gap:3px;line-height:1}
.brand .mark{font-family:var(--logo);font-weight:800;font-size:clamp(19px,1.9vw,24px);letter-spacing:.16em;color:var(--ink)}
.brand .sub{font-weight:600;font-size:9px;letter-spacing:.32em;color:var(--ambre)}
.nav-right{display:flex;align-items:center;gap:18px}
.back{
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);transition:color .3s;
}
.back:hover{color:var(--soleil)}
.nav-cta{
  background:rgba(241,235,225,.12);backdrop-filter:blur(14px);border:1px solid rgba(241,235,225,.32);
  color:var(--ink);padding:13px 22px;border-radius:999px;
  font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s,border-color .3s,transform .3s;
}
.nav-cta:hover{background:rgba(241,235,225,.22);border-color:rgba(241,235,225,.6);transform:translateY(-2px)}

/* botões */
.btn{
  display:inline-flex;align-items:center;gap:11px;padding:16px 28px;border-radius:999px;
  font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  transition:transform .3s,background .3s,color .3s,border-color .3s;
}
.btn:hover{transform:translateY(-3px)}
.btn .arr{transition:transform .3s}
.btn:hover .arr{transform:translate(3px,-3px)}
.btn-orange{background:var(--braise);color:var(--on-orange)}
.btn-orange:hover{background:var(--ambre)}
.btn-glass{background:rgba(241,235,225,.13);backdrop-filter:blur(16px);border:1px solid rgba(241,235,225,.34);color:var(--ink)}
.btn-glass:hover{background:rgba(241,235,225,.22);border-color:rgba(241,235,225,.62)}
.btn-ink{background:var(--ink);color:var(--paper)}

/* hero da página */
.hero{
  position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;
  padding-top:clamp(120px,17vh,180px);color:var(--on-orange);
}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(11,9,8,.9) 0%,rgba(11,9,8,.7) 44%,rgba(11,9,8,.26) 78%,rgba(11,9,8,.14) 100%),
    linear-gradient(180deg,rgba(11,9,8,.6) 0%,rgba(11,9,8,.24) 38%,rgba(11,9,8,.78) 100%);
}
.hero .eyebrow{color:var(--on-orange-soft)}
.hero-inner{width:100%;padding:0 var(--pad) clamp(32px,5vh,64px)}
.hero h1{font-size:clamp(38px,6.6vw,98px);max-width:14ch;margin-top:20px}
.hero-sub{margin-top:10px;font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(19px,2.6vw,38px);line-height:1.1;color:var(--on-orange)}
.hero-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:36px;flex-wrap:wrap}
.hero-meta{font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:2.2;color:var(--on-orange-soft)}
.hero-meta b{color:var(--soleil)}
.hero-right{max-width:470px;display:flex;flex-direction:column;gap:24px}
.hero-right p{font-size:16.5px;color:var(--on-orange-soft)}

/* blocos de texto */
.head-2col{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,90px);align-items:start;margin-bottom:clamp(44px,5.5vw,80px)}
.head-2col h2{font-size:clamp(32px,4.4vw,66px);max-width:19ch;line-height:1.06}
.head-2col h2 .dim{color:var(--braise)}
.lead{max-width:60ch;font-size:clamp(16px,1.5vw,19px);color:rgba(11,9,8,.7)}

/* o que muda: 3 cards */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
.tcard{
  background:#FFFDFA;border:1px solid rgba(11,9,8,.12);border-radius:var(--radius);
  padding:clamp(26px,3vw,42px);display:flex;flex-direction:column;gap:16px;
}
.tcard .idx{font-weight:600;font-size:11px;letter-spacing:.24em;color:var(--braise)}
.tcard h3{font-size:clamp(20px,2vw,27px)}
.tcard p{font-size:15.5px;color:rgba(11,9,8,.66)}

/* o que você recebe */
.deliver{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.deliver-media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.2}
.deliver-media img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.dlist li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.dlist li:first-child{border-top:1px solid var(--line)}
.dlist b{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.04em;color:var(--soleil);flex:none;width:34px}
.dlist span{font-size:15.5px;color:var(--ink-soft)}
.dlist strong{display:block;font-weight:600;color:var(--ink);margin-bottom:3px}

/* processo */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.step{border-top:2px solid var(--braise);padding-top:22px;display:flex;flex-direction:column;gap:12px}
.step .n{font-weight:600;font-size:11px;letter-spacing:.24em;color:var(--ambre)}
.step h3{font-size:clamp(19px,1.9vw,25px)}
.step p{font-size:14.5px;color:var(--ink-soft)}

/* faixa de números */
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(44px,5.5vw,78px) 0}
.band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px)}
.bstat b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:-.045em;color:var(--soleil);margin-bottom:12px}
.bstat span{font-size:15px;color:var(--ink-soft)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(22px,2.6vw,36px) 0;text-align:left;
  font-family:var(--display);font-weight:700;letter-spacing:-.025em;font-size:clamp(18px,1.9vw,26px);line-height:1.25}
.faq-q .plus{position:relative;width:24px;height:24px;flex:none}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--ambre);border-radius:2px;transition:transform .4s cubic-bezier(.7,0,.2,1)}
.faq-q .plus::before{left:0;top:10.5px;width:24px;height:3px}
.faq-q .plus::after{left:10.5px;top:0;width:3px;height:24px}
.faq-item.open .plus::after{transform:rotate(90deg)}
.faq-item.open .plus::before{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.7,0,.2,1)}
.faq-a p{padding:0 0 30px;max-width:66ch;font-size:16px;color:var(--ink-soft)}

/* CTA final */
.kontakt-wrap{padding:12px}
.kontakt{background:var(--surface);border-radius:28px;padding:clamp(56px,7vw,110px) var(--pad);overflow:hidden;position:relative;text-align:center}
.kontakt::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--coucher)}
.kontakt h2{font-size:clamp(32px,5.4vw,80px);line-height:1.04;max-width:17ch;margin:22px auto 30px}
.kontakt h2 .dim{color:var(--soleil)}
.kontakt .foot{margin-top:40px;font-size:13px;color:var(--ink-faint)}

@media (max-width:980px){
  .head-2col{grid-template-columns:1fr;gap:20px}
  .trio,.steps{grid-template-columns:1fr 1fr}
  .deliver{grid-template-columns:1fr}
  .band-grid{grid-template-columns:1fr;gap:32px}
}
@media (max-width:640px){
  .trio,.steps{grid-template-columns:1fr}
  .hero-grid{flex-direction:column;align-items:flex-start}
  .nav-cta{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* ============================================================
   Blocos acrescentados: vídeo, galeria de fotos e formulário
   ============================================================ */

/* ---------- bloco de vídeo ---------- */
.vblock{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--paper-2);aspect-ratio:16/9}
.vblock video{width:100%;height:100%;object-fit:cover;display:block}
.vblock .play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(64px,7vw,96px);height:clamp(64px,7vw,96px);border-radius:50%;
  background:rgba(11,9,8,.62);backdrop-filter:blur(10px);border:1px solid rgba(241,235,225,.4);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:background .35s,transform .35s,opacity .35s;cursor:pointer;
}
.vblock .play svg{width:38%;height:38%;margin-left:8%}
.vblock:hover .play{background:var(--braise);border-color:var(--braise);transform:translate(-50%,-50%) scale(1.06)}
.vblock.playing .play{opacity:0;pointer-events:none}
.vcap{margin-top:14px;font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}

/* ---------- galeria ---------- */
.gal{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(12px,1.6vw,20px)}
.gal figure{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.4;margin:0}
.gal figure:first-child{aspect-ratio:4/3.4}
.gal img{width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .8s cubic-bezier(.22,.7,.3,1)}
.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{
  position:absolute;left:14px;bottom:14px;
  background:rgba(11,9,8,.76);backdrop-filter:blur(8px);border:1px solid var(--line);
  border-radius:999px;padding:7px 14px;
  font-weight:600;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
}
.on-white .gal figcaption{color:var(--ink)}

/* ---------- formulário de contato da página ---------- */
.kform{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,70px);align-items:start}
.kform-copy h2{font-size:clamp(28px,3.8vw,54px);max-width:16ch}
.kform-copy h2 .dim{color:var(--soleil)}
.kform-copy p{margin-top:20px;max-width:44ch;font-size:16px;color:var(--ink-soft)}
.kform-copy .direto{margin-top:26px;font-size:15px;color:var(--ink-soft)}
.kform-copy .direto a{color:var(--soleil);text-decoration:underline;text-underline-offset:3px}
.kbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,3vw,40px);position:relative;overflow:hidden}
.kbox::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--coucher)}
.krow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kfield{margin-bottom:15px}
.kfield label{display:block;font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ambre);margin-bottom:8px}
.kfield input,.kfield textarea{
  width:100%;background:var(--paper);border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;font-family:var(--body);font-size:15.5px;color:var(--ink);
  transition:border-color .3s,background .3s;
}
.kfield textarea{min-height:104px;resize:vertical}
.kfield input::placeholder,.kfield textarea::placeholder{color:var(--ink-faint)}
.kfield input:focus,.kfield textarea:focus{outline:none;border-color:var(--ambre);background:#0F0C0B}
.ksubmit{width:100%;justify-content:center;margin-top:6px;border:0;cursor:pointer}
.ksubmit[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.kmsg{display:none;margin-top:15px;border-radius:11px;padding:14px 16px;font-size:14.5px;line-height:1.6}
.kmsg.show{display:block}
.kmsg.ok{background:rgba(192,73,15,.15);border:1px solid var(--braise);color:var(--ink)}
.kmsg.err{background:rgba(192,73,15,.07);border:1px solid rgba(192,73,15,.5);color:var(--ink-soft)}
.klegal{margin-top:13px;font-size:11.5px;line-height:1.6;color:var(--ink-faint)}
/* honeypot anti-robô: invisível para gente, preenchido por bot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

@media (max-width:980px){
  .gal{grid-template-columns:1fr 1fr}
  .gal figure:first-child{grid-column:1/-1}
  .kform{grid-template-columns:1fr;gap:34px}
}
@media (max-width:640px){
  .gal{grid-template-columns:1fr}
  .krow{grid-template-columns:1fr}
}
