/* Editorial direction adapted from the earlier Brilhe prototype. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#07090b;color:#f5f5f7}
body{background:#07090b}p{color:#a8aeb5}.wrap{max-width:1370px;padding:100px clamp(22px,6vw,78px)}
header{height:72px;background:rgba(7,9,11,.94);border-bottom:1px solid #252a30}header .brand{width:148px}nav{font-size:.76rem;letter-spacing:.08em;gap:22px;color:#b9bec4}
.hero{min-height:calc(100svh - 72px);padding:110px clamp(22px,6vw,78px) 86px;align-items:end}.hero:before{background:linear-gradient(90deg,rgba(4,5,6,.96),rgba(4,5,6,.62) 42%,rgba(4,5,6,.08) 80%),linear-gradient(0deg,#07090b,transparent 52%),url('assets/07-IMG_5855.webp') center 52%/cover}.hero h1{font-size:clamp(3.7rem,8vw,7.4rem);letter-spacing:-.07em;line-height:.84;max-width:900px;margin:20px 0 30px}.hero h1 span{color:#c9cdd2;font-weight:300}.hero p{font-size:1.1rem;max-width:580px;color:#d4d7da}.btn{border-radius:3px;font-size:.8rem}.btn.outline{border-color:#60666c}
.marquee{border-color:#252b31;color:#a4aab0;text-transform:uppercase;padding:16px 0}.marquee span{font-size:.78rem}
.section-head{display:grid;grid-template-columns:.42fr 1fr;align-items:start;gap:58px;margin-bottom:55px}.section-head p{max-width:560px}.section-head h2{font-size:clamp(2.8rem,6vw,5.4rem)}
.services{display:block;background:none;border:0;border-top:1px solid #293037}.service{background:none;min-height:0;padding:38px 0;display:grid;grid-template-columns:55px minmax(0,1.05fr) minmax(0,.95fr);gap:30px;align-items:center;border-bottom:1px solid #293037}.service .num{align-self:start}.service .photo{height:355px;overflow:hidden;background:#171a1d}.service .photo img{height:100%;object-fit:cover}.service h3{font-size:clamp(2.6rem,4vw,4.2rem);line-height:.92;margin:0 0 18px;letter-spacing:-.055em}.service p{margin:0 0 16px;font-size:1rem}.service small{display:block;color:#c1c7cd;border-top:1px solid #4a5057;padding-top:13px;margin-top:20px;font-size:.83rem;line-height:1.5}.service .text-link{border:0;border-bottom:1px solid #879099;display:inline-block;padding:0 0 6px}
.impact{min-height:600px;background:linear-gradient(90deg,#07090b 4%,#07090baf 54%,#07090b32),linear-gradient(0deg,#07090b,transparent 45%,#07090b),url('assets/03-IMG_5862.webp') center/cover;display:flex;flex-direction:column;justify-content:center;color:#f5f5f7;padding:100px clamp(22px,6vw,78px)}.impact h2{max-width:760px}.impact p{color:#dfe2e5}
.process{background:#e6e8eb;color:#090b0d;max-width:none;padding-inline:clamp(22px,6vw,78px)}.process .split{max-width:1214px;margin:auto;display:block}.process .split>div{display:grid;grid-template-columns:.42fr 1fr;gap:58px;align-items:start}.process h2{margin-top:0}.process p{color:#4f5860}.process ol{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid #aab0b6}.process li{border-top:0;border-right:1px solid #b4bac0;margin-right:20px;padding:28px 15px 20px 0;display:block;font-size:1.12rem}.process li:last-child{border-right:0}.process li span{display:block;margin-bottom:46px;color:#606870}
.structure img{border:1px solid #292e34;object-position:center 42%}.works{gap:16px}.work{height:550px;min-height:0;border:1px solid #2b3036;border-radius:16px}.work img{height:100%}.work span{font-size:.95rem}.work em{font-size:.82rem}.work-footer{margin-top:30px}
.question{background:linear-gradient(#07090b,#0c0f12);padding:100px clamp(22px,6vw,78px)}.question-inner{grid-template-columns:.72fr 1.28fr;gap:55px}.question .ask-box{background:#0b0e11;border-color:#2a3036}.chips button{background:#101418}.final{background:#0b0e11;color:#f5f5f7;text-align:left;padding:100px clamp(22px,6vw,78px)}.final .eyebrow{color:#aeb5bd}.final .btn{background:#f5f5f7;color:#090b0d}footer{border-top:1px solid #292e34}
@media(max-width:900px){.section-head{grid-template-columns:1fr;gap:8px}.service{grid-template-columns:35px 1fr}.service .photo{height:300px}.service .copy{grid-column:2}.process .split>div{grid-template-columns:1fr;gap:6px}.process ol{grid-template-columns:repeat(2,1fr)}.process li:nth-child(2){border:0}.question-inner{grid-template-columns:1fr}.works{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){header{height:64px}header .brand{width:125px}.hero{min-height:calc(100svh - 64px);padding:90px 22px 68px}.hero:before{background:linear-gradient(0deg,#07090b,rgba(4,5,6,.55) 60%,rgba(4,5,6,.32)),linear-gradient(90deg,#07090b88,transparent),url('assets/07-IMG_5855.webp') 56% center/cover}.hero h1{font-size:clamp(3.4rem,14vw,5rem)}.hero p{font-size:1rem}.wrap{padding:74px 15px}.section-head{margin-bottom:34px}.service{grid-template-columns:1fr;gap:16px;padding:30px 0}.service .num{display:none}.service .photo{height:270px}.service .copy{grid-column:1}.service h3{font-size:2.9rem}.impact{min-height:540px;padding:74px 22px}.process{padding-inline:22px}.process li{font-size:1rem;margin-right:10px;padding-right:8px}.process li span{margin-bottom:26px}.structure img{height:520px}.works{grid-template-columns:1fr}.work,.work img{height:550px;min-height:0}.question{padding:74px 15px}.final{padding:90px 22px}.float-wa{left:12px;right:12px;bottom:10px;text-align:center}}

/* Suave profundidade e movimento, com leitura preservada no iPhone. */
header{background:rgba(13,17,20,.68);border-bottom:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}
.menu,.ask-box,.chips button,.contact-box{background:rgba(28,33,38,.48);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}
.ask-box{box-shadow:inset 0 1px rgba(255,255,255,.08),0 20px 55px rgba(0,0,0,.22);border-radius:18px;padding:32px}.chips button{border-radius:10px;transition:background .25s,border-color .25s,transform .25s}.chips button:hover,.chips button.selected{background:rgba(238,242,245,.17);border-color:rgba(255,255,255,.62);transform:translateY(-2px)}
.btn{transition:background .25s,transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.2)}.service .photo img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}.service:hover .photo img{transform:scale(1.035);filter:brightness(1.06)}.work{transition:transform .35s,border-color .35s,box-shadow .35s}.work:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.38);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.hero:before{animation:hero-approach 16s ease-out both}@keyframes hero-approach{from{background-size:auto,auto,108%}to{background-size:auto,auto,100%}}.hero .eyebrow,.hero h1,.hero p,.hero .actions{animation:rise-in .8s both}.hero h1{animation-delay:.12s}.hero p{animation-delay:.25s}.hero .actions{animation-delay:.37s}@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.answer{transition:opacity .2s,transform .2s}.answer.answer-pop{animation:answer-in .3s ease both}@keyframes answer-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.float-wa{left:auto;right:21px;bottom:21px;width:64px;height:64px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(32,192,92,.88);color:#fff;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(15px) saturate(160%);backdrop-filter:blur(15px) saturate(160%);box-shadow:0 12px 34px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.35);transition:transform .25s,box-shadow .25s}.float-wa:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 16px 38px rgba(0,0,0,.45)}.float-wa svg{width:34px;height:34px;display:block}
@media(max-width:600px){.ask-box{padding:21px}.float-wa{left:auto;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:58px;height:58px}.float-wa svg{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero .eyebrow,.hero h1,.hero p,.hero .actions,.answer.answer-pop{animation:none!important}.motion-ready .reveal{opacity:1;transform:none;transition:none}}

/* Conversa livre: preserva atalhos e mantém o atendimento humano visível. */
.ask-box.chat-mode{padding:0;overflow:hidden}.chat-top{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-top strong{margin:0}.chat-top span{font-size:.76rem;color:#aab2b9}.chat-thread{height:310px;overflow:auto;overscroll-behavior:contain;padding:22px 24px;display:flex;flex-direction:column;gap:12px;scrollbar-color:#4a5258 transparent}.bubble{max-width:86%;font-size:.96rem;line-height:1.55;padding:13px 15px;border:1px solid rgba(255,255,255,.13);border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.bot{align-self:flex-start;background:rgba(244,246,247,.07);color:#e8eaec;border-bottom-left-radius:4px}.bubble.user{align-self:flex-end;background:#e7ebee;color:#101315;border-bottom-right-radius:4px}.bubble.pending{color:#b0b8bd}.ask-box.chat-mode .chips{padding:0 24px 18px;margin:0}.chat-form{display:flex;gap:9px;border-top:1px solid rgba(255,255,255,.12);padding:16px 24px}.chat-form input{flex:1;min-width:0;min-height:50px;background:rgba(10,13,15,.7);color:#f7f8f8;border:1px solid #4a535c;border-radius:8px;padding:12px 14px;font:inherit;font-size:1rem}.chat-form input:focus{outline:2px solid #a8b4bd;outline-offset:2px}.chat-form button{border:0;background:#eff1f2;color:#101315;padding:0 19px;border-radius:8px;font-weight:700;min-height:50px}.chat-form button:disabled{opacity:.6;cursor:wait}.chat-foot{border-top:1px solid rgba(255,255,255,.12);padding:15px 24px 21px;display:flex;gap:14px;align-items:center;justify-content:space-between}.chat-foot p{font-size:.8rem;line-height:1.45;margin:0}.chat-foot .btn{white-space:nowrap;min-height:45px;margin:0!important;font-size:.75rem}.chat-privacy{font-size:.77rem;color:#a6aeb5;margin:0;padding:0 24px 16px}
@media(max-width:600px){.chat-top,.chat-form{padding:15px}.chat-thread{padding:16px;height:340px}.ask-box.chat-mode .chips{padding:0 15px 15px}.chat-foot{padding:14px 15px 18px;display:block}.chat-foot .btn{width:100%;margin-top:12px!important}.chat-privacy{padding:0 15px 15px}}

/* Letreiros translúcidos discretos e faixa contínua de serviços. */
.marquee{padding:0;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee-slide 30s linear infinite;will-change:transform}.marquee-group{display:block;min-width:0;padding:18px 45px 18px 0;white-space:nowrap;font-size:.81rem;letter-spacing:.18em;font-weight:650;color:#c6ccd1}.marquee-group i{font-style:normal;color:#6d7982;font-size:.7rem;margin:0 25px}@keyframes marquee-slide{to{transform:translateX(-50%)}}
#servicos,.question,.final{position:relative;isolation:isolate}#servicos>* ,.question>* ,.final>*{position:relative;z-index:1}
#servicos:before,.question:before,.final:before{pointer-events:none;position:absolute;z-index:0;line-height:1;font-weight:900;letter-spacing:-.085em;white-space:nowrap;color:rgba(255,255,255,.035);-webkit-text-stroke:1px rgba(255,255,255,.12);text-shadow:0 0 34px rgba(255,255,255,.035);filter:drop-shadow(0 1px rgba(255,255,255,.08))}
#servicos:before{content:"BRILHE";top:82px;right:-1vw;font-size:clamp(7rem,18vw,19rem)}.question:before{content:"B";top:12px;right:4vw;font-size:clamp(15rem,34vw,34rem)}.final:before{content:"BRILHE";right:-1vw;bottom:10px;font-size:clamp(7rem,19vw,19rem)}
.float-ig{position:fixed;right:21px;bottom:97px;z-index:25;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;color:white;background:rgba(34,36,42,.78);border:1px solid rgba(255,255,255,.48);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 12px 34px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.2);transition:transform .25s,background .25s,box-shadow .25s;animation:float-enter .6s .2s both}.float-ig:hover{transform:translateY(-4px) scale(1.04);background:rgba(75,58,84,.88);box-shadow:0 16px 38px rgba(0,0,0,.45)}.float-ig svg{display:block;width:34px;height:34px}@keyframes float-enter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.marquee-group{font-size:.72rem;padding-block:16px}.marquee-group i{margin:0 17px}#servicos:before{top:65px;font-size:28vw}.question:before{top:14px;right:0;font-size:68vw}.final:before{font-size:28vw;bottom:45px}.float-ig{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));width:58px;height:58px}.float-ig svg{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;transform:none}.float-ig{animation:none;translate:none}}
.marquee .marquee-group{display:block;min-width:0;text-align:left;flex:none}

.service .photo-comparison{height:480px;background:#101114}.service .photo-comparison img{width:100%;height:100%;object-fit:contain}.service:hover .photo-comparison img{transform:none}
@media(max-width:600px){.service .photo-comparison{height:500px}}

.location{position:relative;overflow:hidden;background:#15191d;border-top:1px solid #32383d;border-bottom:1px solid #32383d;padding:100px clamp(22px,6vw,78px)}.location:before{content:"BRILHE";position:absolute;right:-2vw;bottom:-.14em;font-weight:800;letter-spacing:-.085em;font-size:clamp(8rem,23vw,24rem);line-height:1;color:rgba(255,255,255,.025);pointer-events:none}.location-inner{position:relative;max-width:1214px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;column-gap:60px}.location .eyebrow{grid-column:1/-1;margin-bottom:34px}.location h2{font-size:clamp(3.3rem,7vw,7rem);letter-spacing:-.07em;line-height:.92;margin:0}.location-details{padding-top:12px;max-width:440px}.location-details p{margin:0 0 24px;color:#a8aeb5}.location address{font-style:normal;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.35;letter-spacing:-.025em;margin-bottom:28px;color:#f5f5f7}.location .btn{display:inline-block}.location:target{scroll-margin-top:72px}@media(max-width:700px){.location{padding:76px 22px}.location-inner{display:block}.location .eyebrow{margin-bottom:26px}.location h2{margin-bottom:34px}.location-details{padding-top:0}.location address{font-size:1.4rem}.location:target{scroll-margin-top:64px}}
