/* Marca Luiz Faustino · camada visual do site (tema escuro).
   Cores, tipografia, raios e formas do design system. Carregado depois de app-*.css. */

@font-face{font-family:"Outfit";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/outfit-latin-400.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/outfit-latin-500.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/outfit-latin-600.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/outfit-latin-700.woff2) format("woff2")}

:root{
  /* tokens da marca, tema escuro */
  --fundo:#25170D; --superficie:#38291F; --superficie-funda:#4C3E33;
  --texto:#F4E9DD; --texto-forte:#FCF6EE; --texto-suave:#C1B5A8;
  --borda:#625449; --borda-forte:#908377;
  --destaque:#F771A0; --destaque-hover:#FF92B5; --sobre-destaque:#25170D;
  --link:#FFB1CA; --foco:#FF92B5;
  --secundaria:#C0D998; --sobre-secundaria:#25170D;
  --terciaria:#4C5B3D; --sobre-terciaria:#F4E9DD; --verde-claro:#E1F0CB;
  --erro:#E37C71; --erro-fundo:#590B0B;
  --radius-xs:3px; --radius-sm:6px; --radius-md:12px; --radius-lg:16px;

  /* variáveis antigas do site apontando para a marca */
  --bg:var(--fundo); --bg-2:var(--superficie); --surface:var(--superficie);
  --mint:var(--destaque); --ink:var(--texto); --white:var(--texto-forte);
  --muted:var(--texto-suave); --line:var(--borda); --tag:var(--superficie-funda);
  --font:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-body:18px; --fs-s:16px; --fs-xs:13px;
  color-scheme:dark;
}

body{font-family:var(--font);font-size:18px;line-height:1.6}
::selection{background:var(--destaque);color:var(--sobre-destaque)}
:focus-visible{outline:2px solid var(--foco);outline-offset:3px}
.skip{background:var(--destaque);color:var(--sobre-destaque);border-radius:var(--radius-sm)}

/* títulos: 700; subtítulos: 600 */
.h2,.offer__title,.page-hero__title,.footer__h,.about__quote,.next__title,.quote p,.result__value,.cover__big,.notfound__code,.price__value,.offer__value{font-weight:700;letter-spacing:-.01em}
.page-hero__title{letter-spacing:-.02em}
.case__title,.post__title,.service__title,.sub-h,.faq summary,.prose h2,.prose h3,.field__label{font-weight:600}
.sub-h{color:var(--secundaria);font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* trio da marca (retângulo, quadrado, círculo) */
.trio{display:block;width:68px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68.31 14.35'%3E%3Crect y='0.17' width='22.65' height='14' rx='3.30' fill='%23F4E9DD'/%3E%3Crect x='31.30' y='0.17' width='14' height='14' rx='2.04' fill='%23C0D998'/%3E%3Ccircle cx='61.13' cy='7.17' r='7.17' fill='%23F771A0'/%3E%3C/svg%3E") no-repeat 0 0/68px 14px}

/* divisor de seção: trio + linha de 2px */
.rule{border-top:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68.31 14.35'%3E%3Crect y='0.17' width='22.65' height='14' rx='3.30' fill='%23F4E9DD'/%3E%3Crect x='31.30' y='0.17' width='14' height='14' rx='2.04' fill='%23C0D998'/%3E%3Ccircle cx='61.13' cy='7.17' r='7.17' fill='%23F771A0'/%3E%3C/svg%3E") no-repeat 0 0/68px 14px,linear-gradient(var(--texto),var(--texto)) no-repeat 84px 6px/calc(100% - 84px) 2px}
.next{border-top:0;background:linear-gradient(var(--borda),var(--borda)) no-repeat 0 0/100% 1px}

/* links */
.lnk{color:var(--texto-forte);border-bottom:2px solid var(--destaque);font-weight:600}
@media (hover:hover){.lnk:hover{color:var(--link);border-bottom-color:var(--link)}}
.back{color:var(--texto-suave)}

/* botões: canto do retângulo do símbolo, nunca pílula */
.btn{background:var(--destaque);color:var(--sobre-destaque);font-weight:600;font-size:16px;min-height:48px;padding:0 24px;border-radius:var(--radius-md)}
.btn--lg{min-height:56px;padding:0 28px;font-size:17px;border-radius:14px}
@media (hover:hover){.btn:hover{background:var(--destaque-hover)}}

/* cabeçalho */
.nav{background:var(--fundo);border-bottom:1px solid var(--borda)}
.logo img{display:block;width:162px;height:auto}
.nav__links a{color:var(--texto-suave);font-weight:500;border-bottom-width:2px}
.nav__links a[aria-current=page]{color:var(--texto-forte);font-weight:600;border-bottom-color:var(--destaque)}
.nav__links .nav__cta{background:var(--destaque);color:var(--sobre-destaque);border:0;border-radius:10px;padding:10px 16px;font-weight:600}
.nav__links .nav__cta[aria-current=page]{outline:2px solid var(--texto-forte);outline-offset:3px}
@media (hover:hover){.nav__links a:hover{color:var(--texto-forte)}.nav__links .nav__cta:hover{background:var(--destaque-hover);color:var(--sobre-destaque)}}
.menu-toggle{border-color:var(--borda-forte);border-radius:10px;color:var(--texto)}
.menu{background:var(--fundo)}
.menu a{font-weight:600}
.menu a[aria-current=page]{color:var(--destaque)}
.menu ul{position:relative}
.menu nav::after{content:"";display:block;margin-top:32px;width:68px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68.31 14.35'%3E%3Crect y='0.17' width='22.65' height='14' rx='3.30' fill='%23F4E9DD'/%3E%3Crect x='31.30' y='0.17' width='14' height='14' rx='2.04' fill='%23C0D998'/%3E%3Ccircle cx='61.13' cy='7.17' r='7.17' fill='%23F771A0'/%3E%3C/svg%3E") no-repeat 0 0/68px 14px}
@media (max-width:899px){.logo img{width:124px}}

/* teaser: grafismo da marca enquanto o vídeo não chega */
.teaser__frame{border-radius:var(--radius-lg);background:var(--superficie) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 700' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='1600' height='700' fill='%2338291F'/%3E%3Cg transform='rotate(-16 1180 380)'%3E%3Crect x='760' y='250' width='1100' height='286' rx='67' fill='%23C0D998'/%3E%3C/g%3E%3Ccircle cx='330' cy='520' r='150' fill='%23F771A0'/%3E%3C/svg%3E") no-repeat center/cover}
.teaser__frame .ph{background:transparent;color:var(--texto)}
.teaser__frame .ph span{background:rgba(37,23,13,.72);padding:6px 12px;border-radius:var(--radius-sm)}
.teaser__toggle{background:rgba(37,23,13,.6);border-color:rgba(244,233,221,.3)}

/* oferta */
.offer__box{position:relative;overflow:hidden;isolation:isolate;background:var(--superficie);border:0;border-radius:var(--radius-lg)}
.offer__box::before{content:"";position:absolute;z-index:-1;width:clamp(160px,18vw,260px);aspect-ratio:1;border-radius:50%;background:var(--destaque);top:clamp(-120px,-6vw,-60px);right:clamp(-80px,-4vw,-40px)}
.offer__box::after{content:"";position:absolute;z-index:-1;width:clamp(120px,13vw,190px);height:clamp(31px,3.4vw,49px);border-radius:clamp(7px,.8vw,12px);background:var(--secundaria);top:clamp(70px,9vw,140px);right:clamp(90px,12vw,190px);transform:rotate(-18deg)}
.offer__title{max-width:15em;position:relative}
.offer__value{color:var(--secundaria)}
.offer__note,.offer__install{color:var(--texto-suave)}
@media (max-width:899px){.offer__box::before{width:120px;top:-60px;right:-50px}.offer__box::after{display:none}.offer__title{max-width:none;padding-right:40px}}

/* marcadores de lista: quadrados nas cores da marca */
.offer__list li:before,.dot-list li:before,.prose ul li:before{width:12px;height:12px;border-radius:var(--radius-xs);background:var(--secundaria);transform:translateY(0)}
.offer__list li:nth-child(3n+2):before,.dot-list li:nth-child(3n+2):before,.prose ul li:nth-child(3n+2):before{background:var(--destaque)}
.offer__list li:nth-child(3n):before,.dot-list li:nth-child(3n):before,.prose ul li:nth-child(3n):before{background:var(--texto)}
.prose ul li:before{margin-top:.55em}

/* etiquetas */
.tag{border-radius:var(--radius-sm);font-size:13px;font-weight:600;padding:4px 10px;letter-spacing:.02em}
.tag--fill{background:var(--superficie-funda);border-color:var(--superficie-funda);color:var(--texto)}
.tag--pistache{background:var(--secundaria)!important;border-color:var(--secundaria)!important;color:var(--sobre-secundaria)!important}
.tag--flamingo{background:var(--destaque)!important;border-color:var(--destaque)!important;color:var(--sobre-destaque)!important}
.tag--leite{background:var(--texto)!important;border-color:var(--texto)!important;color:var(--fundo)!important}
.tag--musgo{background:var(--terciaria)!important;border-color:var(--terciaria)!important;color:var(--sobre-terciaria)!important}

/* cases */
.case{border:0;border-radius:var(--radius-lg);background:var(--superficie);color:var(--texto)}
.case__img{transition:opacity var(--t) var(--ease)}
.case__img img{width:100%;height:100%;object-fit:cover;display:block}
.case__img.ph{background:var(--superficie-funda)}
.case::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(37,23,13,.6) 0%,rgba(37,23,13,0) 32%,rgba(37,23,13,0) 50%,rgba(37,23,13,.88) 100%);transition:opacity var(--t) var(--ease)}
.case__num{color:var(--texto);font-weight:600}
.case__ico{border:0;border-radius:var(--radius-sm);background:var(--destaque);color:var(--sobre-destaque);width:32px;height:32px}
.case__ico svg{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.case__title{color:var(--texto-forte)}
.case__result{font-weight:600}
.case--flamingo{background:var(--destaque)}
.case--pistache{background:var(--secundaria)}
.case--musgo{background:var(--terciaria)}
.case--cafe{background:var(--superficie-funda)}
.case:focus-visible{outline:2px solid var(--foco);outline-offset:4px}
.case:focus-visible .case__img{opacity:.12}
.case:focus-visible::after{opacity:0}
@media (hover:hover){
  .case:hover .case__img{opacity:.12}
  .case:hover::after{opacity:0}
  .case--flamingo:hover,.case--pistache:hover{color:var(--fundo)}
  .case--flamingo:hover .case__result,.case--pistache:hover .case__result,
  .case--flamingo:hover .case__title,.case--pistache:hover .case__title,
  .case--flamingo:hover .case__num,.case--pistache:hover .case__num{color:var(--fundo)}
  .case--flamingo:hover .case__meta .tag{background:var(--fundo)!important;border-color:var(--fundo)!important;color:var(--texto)!important}
}

/* sobre: foto do palco */
.about__band{border-block:0}
.about__band:after{background:linear-gradient(180deg,rgba(37,23,13,.25) 0%,rgba(37,23,13,0) 35%,rgba(37,23,13,.9) 100%)}
.about__quote{color:var(--texto-forte)}
.about__quote::before{content:"";display:block;width:68px;height:14px;margin-bottom:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68.31 14.35'%3E%3Crect y='0.17' width='22.65' height='14' rx='3.30' fill='%23F4E9DD'/%3E%3Crect x='31.30' y='0.17' width='14' height='14' rx='2.04' fill='%23C0D998'/%3E%3Ccircle cx='61.13' cy='7.17' r='7.17' fill='%23F771A0'/%3E%3C/svg%3E") no-repeat 0 0/68px 14px}

/* blog: capas coloridas com uma forma da marca */
.post__cover{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--radius-lg);background:var(--terciaria);color:var(--sobre-terciaria)}
.post__cover .cover__big,.post__cover .cover__cap{position:relative;color:inherit}
.post__cover::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.post__cover--flamingo{background:var(--destaque);color:var(--sobre-destaque)}
.post__cover--flamingo::after{width:46%;aspect-ratio:3.85;border-radius:12px;background:var(--fundo);top:12%;right:-12%;transform:rotate(-18deg)}
.post__cover--pistache{background:var(--secundaria);color:var(--sobre-secundaria)}
.post__cover--pistache::after{width:34%;aspect-ratio:1;border-radius:14.6%;background:var(--terciaria);top:-8%;right:-6%;transform:rotate(14deg)}
.post__cover--musgo{background:var(--terciaria);color:var(--sobre-terciaria)}
.post__cover--musgo::after{width:40%;aspect-ratio:1;border-radius:50%;background:var(--destaque);top:-14%;right:-10%}
.post__title a{color:var(--texto-forte)}
@media (hover:hover){.post:hover .post__title a{color:var(--link)}}
.post:has(.post__title a:focus-visible){outline-color:var(--foco)}
.post__meta,.post__text{color:var(--texto-suave)}

/* serviços: cartões alternando as cores de apoio */
.service{border-top:0;border-radius:var(--radius-lg);padding:var(--s-4);background:var(--superficie)}
.service__ico{display:block;width:32px;height:32px;color:var(--destaque)}
.service:nth-child(3n+2){background:var(--secundaria);color:var(--sobre-secundaria)}
.service:nth-child(3n){background:var(--terciaria);color:var(--sobre-terciaria)}
.service:nth-child(3n+2) .service__title,.service:nth-child(3n+2) .service__text,.service:nth-child(3n+2) .lnk{color:var(--sobre-secundaria);border-color:var(--sobre-secundaria)}
.service:nth-child(3n) .service__title,.service:nth-child(3n) .service__text,.service:nth-child(3n) .lnk{color:var(--sobre-terciaria);border-color:var(--sobre-terciaria)}
.service:nth-child(3n+2) .service__ico{color:var(--terciaria)}
.service:nth-child(3n) .service__ico{color:var(--secundaria)}

/* preço, fatos, resultados */
.price__value{color:var(--secundaria)}
.kicker{color:var(--texto-suave)}
.facts{border-top-color:var(--borda)}
.facts dt{color:var(--texto-suave)}
.result__value{color:var(--destaque)}
.quote p{color:var(--texto-forte)}
@media (hover:hover){.next:hover .next__title{color:var(--link)}}

/* perguntas frequentes */
.faq,.faq details{border-color:var(--borda)}
.faq summary{color:var(--texto-forte)}
.faq summary:after{border-color:var(--destaque);border-right-width:2px;border-bottom-width:2px}

/* filtros e escolhas */
.filter,.choice span{border-radius:10px;border-color:var(--borda-forte);color:var(--texto)}
.filter[aria-pressed=true],.choice input:checked+span{background:var(--destaque);border-color:var(--destaque);color:var(--sobre-destaque);font-weight:600}
.choice input:focus-visible+span{outline-color:var(--foco)}
@media (hover:hover){.filter:not([aria-pressed=true]):hover,.choice:hover input:not(:checked)+span{border-color:var(--texto);color:var(--texto-forte)}}

/* formulário */
.input{background:var(--superficie);border:1px solid var(--borda-forte);border-radius:var(--radius-sm);color:var(--texto)}
.input::placeholder{color:var(--texto-suave);opacity:.8}
.input:focus-visible{outline:2px solid var(--foco);outline-offset:2px;border-color:var(--borda-forte)}
.field__label{color:var(--texto-forte)}
.field__hint,.field__opt{color:var(--texto-suave)}
.field__error{color:var(--erro);display:flex;gap:6px;align-items:center}
.field__error:not(:empty)::before{content:"Erro:";font-weight:600;padding-left:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E37C71' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E") no-repeat 0 50%/16px 16px}
.field.is-invalid .input,.field.is-invalid .choice span{border-color:var(--erro);border-width:2px}
.aside{background:var(--superficie);border:0;border-radius:var(--radius-lg)}

/* texto longo */
.prose{font-size:18px;line-height:1.7}
.prose a{color:var(--link);text-decoration-color:var(--destaque);text-decoration-thickness:2px}
.prose blockquote{border-left:3px solid var(--destaque)}
.prose h2,.prose h3,.prose .lead{color:var(--texto-forte)}

/* 404 */
.notfound__code{color:var(--destaque)}

/* rodapé em musgo */
.footer{background:var(--terciaria);color:var(--sobre-terciaria);border-top:0}
.footer__h{color:var(--texto-forte)}
.footer__cols{border-top:1px solid rgba(244,233,221,.28)}
.footer__label{color:var(--verde-claro)}
.footer__brand{display:flex;flex-direction:column;gap:20px}
.footer__brand img{width:150px;height:auto;display:block}
@media (hover:hover){.footer__links a:hover,.footer__contact a:hover{color:var(--texto-forte);text-decoration:underline;text-decoration-color:var(--destaque);text-underline-offset:4px}}
.footer :focus-visible{outline-color:var(--texto-forte)}

@media (forced-colors:active){.rule{border-top:1px solid CanvasText}.offer__box::before,.offer__box::after,.post__cover::after{display:none}}
@media print{.offer__box::before,.offer__box::after,.post__cover::after,.about__quote::before{display:none}}
.footer__cols{align-items:flex-start}
@media (max-width:899px){.footer__cols{flex-wrap:wrap}.footer__brand{flex-basis:100%}}
