/* Moblínea: tema escuro, direção Basedash (refero.design) ajustada para marcenaria de alto padrão:
   preto levemente quente para conversar com a madeira, serifa display grande, botões brancos, cards escuros. */
@font-face{font-family:"Newsreader";src:url(../fonts/display.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --bg:#070605; --card:#0f0e0d; --card-2:#151412;
  --line:#2c2a27; --line-2:#8a8782;
  --text:#f5f2ed; --text-2:#b5b1aa;
  --blue:#6f9bf0; --blue-d:#01316F; --green:#3fcb7f;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-btn:6px; --r-card:16px;
  --gutter:20px; --max:1200px; --section:88px;
}
@media(min-width:768px){:root{--gutter:32px;--section:120px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:-.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.025em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 16px;z-index:100;border-radius:var(--r-btn)}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.muted{color:var(--text-2)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;border:1px solid transparent;background:#fff;color:#000;font:500 15px/1.2 var(--sans);letter-spacing:-.03em;text-decoration:none;cursor:pointer;white-space:nowrap;border-radius:var(--r-btn);transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{background:#e9e6e1}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
.btn--ghost:hover{background:transparent;border-color:#fff}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
.btn--sm{min-height:38px;padding:9px 16px;font-size:14px}

/* Navegação */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;height:64px;background:rgba(7,6,5,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.nav-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:500 17px/1 var(--sans);letter-spacing:-.03em}
.brand img{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.brand i{font:400 17px var(--sans);font-style:normal;color:var(--text-2);display:none}
@media(min-width:420px){.brand i{display:inline}}
.nav-links{display:none;gap:32px}
.nav-links a{color:var(--text-2);text-decoration:none;font-size:14px;transition:color .2s}
.nav-links a:hover{color:#fff}
@media(min-width:900px){.nav-links{display:flex}}

/* Hero */
.hero{position:relative;padding-top:64px;text-align:center;overflow:hidden;background:radial-gradient(60% 40% at 50% 0%,rgba(111,155,240,.12),transparent 70%)}
.hero-in{padding-top:56px;padding-bottom:0}
@media(min-width:768px){.hero-in{padding-top:88px}}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;line-height:1.3;color:var(--text-2);text-decoration:none;background:rgba(255,255,255,.02);transition:border-color .2s,color .2s}
.pill:hover{border-color:var(--line-2);color:#fff}
.pill b{font-weight:500;color:var(--blue)}
.hero h1{margin:22px auto 0;max-width:20ch;font-size:clamp(44px,9.4vw,82px);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.lead{margin:22px auto 0;max-width:46ch;font-size:18px;color:var(--text-2)}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:26px;font-size:14px;color:var(--text-2)}
.trust span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--line-2);vertical-align:middle;margin-right:18px}
@media(max-width:560px){.trust span+span::before{display:none}.trust{flex-direction:column;gap:4px}}
.hero-img{position:relative;margin:48px auto 0;max-width:1200px;padding-inline:0}
.hero-img img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 55%}
.hero-img::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,var(--bg) 0,rgba(7,6,5,.0) 34%),
  linear-gradient(0deg,var(--bg) 0,rgba(7,6,5,0) 30%),
  linear-gradient(90deg,var(--bg) 0,rgba(7,6,5,0) 22%,rgba(7,6,5,0) 78%,var(--bg) 100%)}
@media(min-width:768px){.hero-img{margin-top:48px}.hero-img img{aspect-ratio:16/8}}
@media(prefers-reduced-motion:no-preference){
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .hero-in>*{animation:rise .8s cubic-bezier(.16,1,.3,1) both}
  .hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}
  .hero-in>*:nth-child(4){animation-delay:.24s}.hero-in>*:nth-child(5){animation-delay:.32s}
  @keyframes fade{from{opacity:0}to{opacity:1}}
  .hero-img{animation:fade 1.4s .3s ease both}
}

/* Seções */
.sec{padding-block:var(--section)}
.sec--alt{background:linear-gradient(180deg,var(--card),var(--bg));border-top:1px solid var(--line)}
.sec-head{text-align:center;margin-bottom:56px}
.h2{font-size:clamp(38px,6.4vw,56px);line-height:1;letter-spacing:-.03em;text-wrap:balance;max-width:18ch;margin-inline:auto}
.sec-intro{margin:18px auto 0;max-width:52ch;color:var(--text-2);font-size:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}

/* Ambientes */
.amb-list{display:grid;gap:16px}
@media(min-width:640px){.amb-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.amb-list{grid-template-columns:repeat(3,1fr);gap:20px}}
.amb-item{overflow:hidden;height:100%;display:flex;flex-direction:column;transition:border-color .3s}
.amb-item:hover{border-color:var(--line-2)}
.amb-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--card-2)}
.amb-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.amb-item:hover .amb-ph img{transform:scale(1.04)}
.amb-ph::after,.pj-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,5,0) 55%,rgba(7,6,5,.55) 100%),radial-gradient(120% 100% at 50% 50%,transparent 60%,rgba(7,6,5,.35) 100%);pointer-events:none}
.amb-item>div:last-child{padding:20px 22px 24px}
.amb-item h3{font-size:28px;line-height:1.05}
.amb-item p{margin-top:8px;color:var(--text-2);font-size:15px;max-width:34ch}

/* Como funciona */
.steps{display:grid;gap:12px;counter-reset:s}
@media(min-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.steps{grid-template-columns:repeat(5,1fr);gap:14px}}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:22px 20px 26px}
.step h3{font-size:25px;line-height:1.08;display:flex;flex-direction:column;gap:22px}
.step h3 span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(111,155,240,.45);border-radius:50%;font:500 14px/1 var(--sans);color:var(--blue);background:rgba(111,155,240,.08)}
.step p{margin-top:12px;color:var(--text-2);font-size:15px}

/* Projetos */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr);gap:16px}}
.cell{margin:0;position:relative}
.pj-ph,.cell .ph{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r-card);background:var(--card-2);border:1px solid var(--line)}
.cell .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.cell:hover .ph img{transform:scale(1.045)}
.cell .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,5,0) 50%,rgba(7,6,5,.8) 100%),radial-gradient(120% 100% at 50% 50%,transparent 60%,rgba(7,6,5,.3) 100%);pointer-events:none}
.cell figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;z-index:2}
.cell figcaption b{font:400 22px/1.1 var(--serif);letter-spacing:-.02em;color:#fff}
@media(max-width:560px){.cell figcaption{padding:12px}.cell figcaption b{font-size:17px}}

/* Diferenciais */
.dif{display:grid;gap:12px}
@media(min-width:640px){.dif{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.dif{grid-template-columns:repeat(3,1fr);gap:16px}}
.dif li{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px 30px}
.dif li:first-child{border-color:rgba(111,155,240,.5);background:linear-gradient(160deg,rgba(111,155,240,.1),var(--card) 60%)}
.dif h3{font-size:30px;line-height:1.05}
.dif li:first-child h3{color:#fff}
.dif p{margin-top:12px;color:var(--text-2);max-width:36ch}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 48px 22px 0;font:400 24px/1.2 var(--serif);letter-spacing:-.02em;position:relative;transition:color .2s}
.faq summary:hover{color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;margin-top:-14px;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:400 18px/1 var(--sans);color:var(--text-2);transition:transform .25s,border-color .2s}
.faq details[open] summary::after{transform:rotate(45deg);border-color:var(--line-2)}
.faq .ans{padding:0 0 26px;max-width:62ch;color:var(--text-2)}
@media(min-width:768px){.faq summary{font-size:28px}}

/* Contato */
.contact-side{text-align:center;margin-bottom:40px}
.contact-side .h2{max-width:14ch}
.contact-side p{margin:18px auto 0;max-width:46ch;color:var(--text-2);font-size:18px}
.selo{display:inline-block;margin-top:24px;padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;color:var(--text)}
.status{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:14px;color:var(--text-2)}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line-2);flex:none}
.status.open{color:var(--text)}
.status.open::before{background:var(--green);box-shadow:0 0 0 4px rgba(63,203,127,.18)}
.contact-side .alt{margin-top:20px}
.contact-side .alt a{color:#fff;text-underline-offset:4px}
.form-card{max-width:760px;margin:0 auto}
form{display:grid;gap:18px;background:var(--card);padding:24px;border:1px solid var(--line);border-radius:var(--r-card)}
@media(min-width:768px){form{padding:36px;grid-template-columns:1fr 1fr;gap:20px}.f-full{grid-column:1/-1}}
.field{display:grid;gap:8px}
label{font:500 14px/1.2 var(--sans)}
input,select,textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-btn);background:#0a0908;color:var(--text);font:400 16px/1.3 var(--sans);letter-spacing:-.02em;appearance:none;-webkit-appearance:none;transition:border-color .2s}
input:hover,select:hover,textarea:hover{border-color:var(--line-2)}
select{background-image:linear-gradient(45deg,transparent 50%,#b5b1aa 50%),linear-gradient(135deg,#b5b1aa 50%,transparent 50%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
select option{background:#151412;color:#f5f2ed}
textarea{min-height:120px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8f8b85}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,155,240,.25)}
.err{display:none;font-size:14px;color:#ff8a7a;font-weight:500}
.field.bad input,.field.bad select{border-color:#ff8a7a}
.field.bad .err{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal{font-size:14px;color:var(--text-2)}
.legal a{color:#fff}
.ok{display:none;background:var(--card);border:1px solid rgba(63,203,127,.5);border-radius:var(--r-card);padding:32px}
.ok.show{display:block}
.ok h3{font-size:34px;line-height:1.05}
.ok p{margin-top:10px;color:var(--text-2)}
.ok .btn{margin-top:20px}

/* Rodapé */
.foot{border-top:1px solid var(--line);background:var(--bg);padding:72px 0 120px;color:var(--text-2)}
.foot a{color:var(--text);text-underline-offset:3px}
.foot a:hover{color:#fff}
.foot-grid{display:grid;gap:40px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:56px}.foot{padding-bottom:72px}}
.foot-logo{width:72px;height:72px;margin-bottom:20px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.foot .big{font:400 clamp(40px,7vw,64px)/1 var(--serif);letter-spacing:-.03em;color:var(--text)}
.foot-sub{margin-top:14px;max-width:30ch}
.foot h3{font:500 14px/1.2 var(--sans);margin-bottom:14px;color:var(--text);letter-spacing:-.02em}
.foot address{font-style:normal;line-height:1.8}
.foot ul li{margin-bottom:8px}
.foot .small{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}
.foot .status{justify-content:flex-start;margin-top:10px}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:50;min-height:48px;padding:12px 20px;background:#fff;color:#000;border-radius:var(--r-btn);font:500 15px/1 var(--sans);letter-spacing:-.03em;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:background-color .2s}
.wa-float:hover{background:#e9e6e1}
.wa-float.open::before{content:"";width:8px;height:8px;border-radius:50%;background:#1fa85f}
.wa-float:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* Páginas legais */
.legal-page{max-width:760px;padding:112px var(--gutter) 96px}
.legal-page h1{font-size:clamp(40px,8vw,64px);line-height:1;margin-bottom:12px}
.legal-page h2{font-size:30px;margin:44px 0 10px;line-height:1.1}
.legal-page p,.legal-page li{margin-top:12px;color:var(--text-2)}
.legal-page a{color:#fff}
.legal-page ul{list-style:disc;padding-left:22px}
.foot--slim{padding:32px 0}
.foot .small.nob{margin:0;padding:0;border:0}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Ritmo dos diferenciais: garantia e atendimento em destaque */
@media(min-width:640px){.dif li:first-child,.dif li:last-child{grid-column:span 2}}
@media(min-width:1000px){.dif li:last-child{grid-column:1/-1}}
.dif li:first-child h3{font-size:clamp(34px,4.6vw,48px)}
.dif li:last-child{display:flex;flex-direction:column;justify-content:center}
@media(min-width:1000px){.dif li:last-child{flex-direction:row;align-items:baseline;gap:48px}.dif li:last-child p{margin-top:0}}
.foot .status{display:block}
.foot .status::before{display:inline-block;margin-right:8px;vertical-align:middle}
@media(max-width:767px){.hero-img{margin-top:36px}.hero-img img{aspect-ratio:1/1;object-position:42% 50%}.hero-img::after{background:linear-gradient(180deg,var(--bg) 0,rgba(7,6,5,0) 22%),linear-gradient(0deg,var(--bg) 0,rgba(7,6,5,0) 24%),linear-gradient(90deg,rgba(7,6,5,.7) 0,rgba(7,6,5,0) 12%,rgba(7,6,5,0) 88%,rgba(7,6,5,.7) 100%)}}
.cell .ph::after{background:linear-gradient(180deg,rgba(7,6,5,0) 38%,rgba(7,6,5,.88) 100%),radial-gradient(120% 100% at 50% 50%,transparent 60%,rgba(7,6,5,.3) 100%)}
