/* Renovo Tapeçaria & Estofados */
:root{--bg:#151614;--surface:#1d1e1b;--gold:#d2b779;--gold-2:#e4ca8f;--gold-ink:#6f5a22;--muted:#b7b9ae;--cream:#eeece2;--ink:#24271f;--ink-soft:#585d4e;--border:#ffffff24;--wa:#25d366;--serif:Georgia,'Times New Roman',serif;--sans:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
body.lb-open{overflow:hidden}
button{font:inherit;cursor:pointer}
a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
figure,p,h1,h2,h3,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
p+p{margin-top:18px}
[hidden]{display:none!important}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.ico{width:1.25em;height:1.25em;flex-shrink:0;fill:currentColor}

/* Topo */
.topline{text-align:center;padding:9px 16px;background:#25271f;color:#dbd9cb;font-size:12px;letter-spacing:.6px}
.topline span{padding:0 14px;color:var(--gold)}
header{position:sticky;top:0;z-index:30;background:#151614f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:box-shadow .3s}
header.scrolled{box-shadow:0 10px 30px #0006}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:24px;transition:min-height .3s}
header.scrolled .nav{min-height:70px}
.brand{display:flex;align-items:center;line-height:1;gap:8px;flex-shrink:0}
.monogram{font-family:var(--serif);font-weight:bold;font-size:44px;color:var(--gold);border:1px solid #d2b77966;letter-spacing:-5px;padding:0 9px 5px 4px;transition:font-size .3s}
header.scrolled .monogram{font-size:36px}
.brand b{display:block;font-family:var(--serif);font-size:34px;font-weight:normal;letter-spacing:4px}
.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:1.6px;margin-top:8px}
nav{display:flex;align-items:center;gap:28px}
nav>a:not(.button){font-size:14px;position:relative;padding:6px 0}
nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s}
nav>a:hover,nav>a.active{color:var(--gold)}
nav>a.active:after,nav>a:not(.button):hover:after{transform:scaleX(1)}
.text-link:hover{color:var(--gold)}
.menu-toggle{display:none;background:transparent;color:var(--cream);border:1px solid var(--border);padding:8px 13px;min-height:44px;font-size:14px;align-items:center;gap:10px}
.burger{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.burger i{display:block;height:1.5px;background:currentColor;transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded=true] .burger i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .burger i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .burger i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* Botões */
.button{border:1px solid var(--gold);background:var(--gold);color:#181a14;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:700;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{background:var(--gold-2);color:#181a14;transform:translateY(-1px);box-shadow:0 8px 22px #d2b77933}
.button.small{padding:11px 18px;font-size:13px}
.outline{background:transparent;color:var(--ink);border-color:#787c64;margin-top:25px}
.outline:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);box-shadow:none}
.text-link{font-size:14px;border-bottom:1px solid #a6a78b77;padding-bottom:4px;display:inline-block;transition:color .2s,border-color .2s}
.text-link:hover{border-color:currentColor}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:68px 64px;align-items:center}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.line{width:30px;height:1px;background:var(--gold)}
h1,h2,.hospital h3{font-family:var(--serif);font-weight:normal;letter-spacing:-1.5px;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(46px,4.9vw,72px)}
h1 em{color:var(--gold);font-weight:normal}
.intro{color:#c7c8bf;font-size:17px;max-width:485px;margin-top:28px;line-height:1.8}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.hero-foot{margin-top:43px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 22px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#b8baad}
.hero-foot li:before{content:'';display:inline-block;width:5px;height:5px;background:var(--gold);margin-right:9px;vertical-align:middle;transform:rotate(45deg)}
.hero-visual{position:relative;align-self:stretch;min-height:480px;overflow:hidden;background:#4c4c43}
.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 58%;animation:heroZoom 14s ease-out both}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0b0d0ad9)}
.hero-visual figcaption{position:absolute;bottom:26px;left:28px;right:24px;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 20px}
.hero-visual figcaption span{font-size:11px;letter-spacing:1.6px;color:#e2c68b;display:block;margin-bottom:6px;width:100%}
.hero-visual figcaption b{font-family:var(--serif);font-size:24px;font-weight:normal}
.hero-peek{font-size:13px;border:1px solid #ffffff55;padding:8px 14px;background:#15161488;transition:background .2s,border-color .2s}
.hero-peek:hover{background:var(--gold);color:#181a14;border-color:var(--gold)}

/* Empresas */
.client-band{border-block:1px solid var(--border);padding:27px 0}
.client-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.client-row p{color:var(--muted);font-size:13px;line-height:1.5}
.client-row ul{display:flex;gap:55px;align-items:center}
.client-row li{font-family:var(--serif);font-size:25px;color:#deded2}
.client-row small{font-size:11px;color:var(--muted);line-height:1.5}

/* Seções */
.section{padding-block:96px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:44px}
h2{font-size:clamp(34px,3.6vw,50px)}
.section-head>p{max-width:380px;color:var(--muted);font-size:15px}

/* Serviços */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--border)}
.service{padding:32px 24px 30px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative}
.service+.service{border-left:1px solid var(--border);padding-left:24px}
.service:before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.service:hover:before{transform:scaleX(1)}
.number{color:var(--gold);font-size:11px;letter-spacing:1.5px}
.service h3{font-family:var(--serif);font-size:27px;font-weight:normal;line-height:1.2;margin:24px 0 16px}
.service p{font-size:14px;color:var(--muted);margin-bottom:26px}
.service a{font-size:13px;color:var(--gold);margin-top:auto;border-bottom:1px solid #d2b77960;padding:6px 0 5px}
.service a:hover{border-color:var(--gold)}

/* Portfólio */
.portfolio{background:var(--cream);color:var(--ink)}
.portfolio .eyebrow{color:var(--gold-ink)}
.portfolio .section-head>p{color:var(--ink-soft)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;position:sticky;top:72px;z-index:5;padding:10px 0;background:var(--cream)}
.filters button{border:1px solid #72745d70;color:#3f4435;background:transparent;padding:9px 20px;font-size:13px;transition:background .2s,color .2s}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.project-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}
.project-heading h3{font:normal 27px var(--serif)}
.project-heading>span{font-size:11px;letter-spacing:1px;color:var(--ink-soft)}
.project-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:20px}
.project-bottom p{font-size:14px;color:var(--ink-soft)}
.image-button{position:relative;background:#d3d1c8;padding:0;border:0;width:100%;display:block;overflow:hidden;cursor:zoom-in}
.image-button img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.image-button:hover img{transform:scale(1.035)}
.image-button:after{content:'⤢';position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;background:#151614cc;color:#fff;font-size:16px;opacity:0;transition:opacity .25s}
.image-button:hover:after,.image-button:focus-visible:after{opacity:1}
.image-label{position:absolute;left:15px;bottom:15px;padding:6px 12px;background:#1b1e18e8;color:#f5f3e9;letter-spacing:1.5px;font-size:11px;font-weight:700}
.image-label.gold{background:var(--gold);color:#20231b}

.comparison img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}

.gallery-project{border-top:1px solid #24271f30;padding-top:48px;margin-top:48px}
.gallery-intro{font-size:15px;color:var(--ink-soft);max-width:650px;margin-bottom:26px}
.media-card{min-width:0}
.media-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#d9d6ca}
.media-card figcaption,.media-card>p{font-size:13px;color:#4f5647;margin-top:10px;line-height:1.45}

.fabrication-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.fabrication-grid .media-card{position:relative}


.commercial-showcase{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center}
.commercial-showcase .media-card img{aspect-ratio:4/3}
.commercial-showcase h3{font:normal 36px/1.15 var(--serif);margin-bottom:22px}
.commercial-showcase>div>p:not(.eyebrow){color:var(--ink-soft);font-size:15px}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.video-cta{border:1px solid #24271f30;padding:32px 28px;display:flex;flex-direction:column;justify-content:center}.video-cta h4{font:normal 30px/1.15 var(--serif);margin:0 0 16px}.video-cta>p:not(.eyebrow){font-size:15px;color:var(--ink-soft)}.video-cta .outline{align-self:flex-start}
.video-grid figure{min-width:0;background:#e2dece;padding:18px}
.video-grid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#10120f;color-scheme:dark}
.video-grid figcaption{padding-top:16px}
.video-grid b{font:normal 23px var(--serif);display:block}
.video-grid figcaption span{display:block;font-size:13px;margin-top:6px;color:var(--ink-soft)}

/* Hospitalar */
.hospital{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;border-top:1px solid #24271f30;margin-top:60px;padding-top:60px;scroll-margin-top:150px}
.hospital-photo{align-self:start}
.hospital-photo img{width:100%;height:520px;object-fit:cover}
.hospital-copy{padding-block:20px}
.hospital h3{font-size:43px;margin-bottom:24px}
.hospital-copy>p:not(.eyebrow){color:var(--ink-soft);font-size:15px}
.check-list{font-size:15px;color:#363b2c;margin-block:22px;display:grid;gap:10px}
.check-list li{padding-left:30px;position:relative;line-height:1.5}
.check-list li:before{content:'';position:absolute;left:2px;top:4px;width:12px;height:7px;border-left:2px solid var(--gold-ink);border-bottom:2px solid var(--gold-ink);transform:rotate(-45deg)}
.note{font-size:13px!important;line-height:1.6!important;color:var(--muted)}
.portfolio .note{color:#666b5a}
.hospital-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:25px}
.hospital-actions .outline{margin-top:0}

/* Sobre */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}
.experience{border:1px solid var(--border);padding:35px;text-align:center;position:relative}
.experience:before{content:'';position:absolute;inset:10px;border:1px solid #d2b77930;pointer-events:none}
.experience>span{font-family:var(--serif);font-size:135px;line-height:1.2;letter-spacing:-6px;color:var(--gold)}
.experience>span>span{font-size:65px;vertical-align:top;position:relative;top:12px}
.experience p{font-size:12px;letter-spacing:2px;color:var(--muted);line-height:2}
.about h2{margin-bottom:25px}
.about>div>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:530px}
.about .text-link{margin-top:25px}

/* Processo */
.process{background:#23251e}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}
.steps li{border-top:1px solid #d2b77960;padding-top:20px}
.steps span{font-family:var(--serif);color:var(--gold);font-size:32px}
.steps h3{font-weight:normal;font-family:var(--serif);font-size:22px;margin:12px 0 10px}
.steps p{font-size:14px;color:var(--muted)}

/* Dúvidas */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.faq>div>p:not(.eyebrow){margin-top:25px;color:var(--muted);font-size:15px}
details{border-bottom:1px solid var(--border)}
summary{cursor:pointer;font-size:16px;list-style:none;padding:20px 40px 20px 0;position:relative;transition:color .2s}
summary:hover{color:var(--gold)}
details:first-child summary{padding-top:4px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:24px;line-height:1;transition:transform .25s}
details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
details p{font-size:15px;color:var(--muted);padding:0 40px 22px 0}

/* Contato */
.contact{background:#e4e0d1;color:var(--ink)}
.contact .eyebrow{color:var(--gold-ink)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact h2{font-size:48px}
.contact-grid>div>p:not(.eyebrow){font-size:15px;color:#4f5446;max-width:420px;margin-top:25px}
.contact-phone{font-family:var(--serif);font-size:32px;display:block;margin-top:25px}
.contact-phone:hover{color:var(--gold-ink)}
.contact .regions{font-size:13px!important;line-height:1.9}
.contact .text-link{margin-top:16px}
.contact .note{color:#5c6252}
.direct-contact{padding:38px;background:#f3f1e8;border:1px solid #83856b4d;align-self:center;box-shadow:0 30px 60px -30px #4a432a55}
.direct-contact h3{font:normal 35px/1.15 var(--serif);margin-bottom:20px}
.checklist-mini{counter-reset:c;display:grid;gap:10px;font-size:15px;color:#3f4435}
.checklist-mini li{counter-increment:c;display:flex;gap:12px;align-items:baseline}
.checklist-mini li:before{content:counter(c);font:normal 13px var(--serif);color:#20231b;background:var(--gold);width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}
.direct-contact .button{margin-top:26px;width:100%}
.direct-contact .note{margin-top:14px}

/* Rodapé */
footer{padding-top:44px;padding-bottom:26px}
.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-top p{font-family:var(--serif);color:var(--muted);font-size:17px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{margin-top:35px;border-top:1px solid var(--border);padding-top:20px;font-size:12px;color:var(--muted)}

/* WhatsApp fixo */
.mobile-cta{display:none}
.float-wa{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;border-radius:40px;padding:14px 20px 14px 16px;font-weight:700;font-size:14px;box-shadow:0 12px 30px #0007;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s}
.float-wa .ico{width:26px;height:26px}
.past-hero .float-wa{opacity:1;transform:none;pointer-events:auto}
.float-wa:hover{background:#1ebe5b}
.no-js .float-wa,html:not(.js) .float-wa{opacity:1;transform:none;pointer-events:auto}

/* Acessibilidade */
.skip{position:fixed;top:-100px;left:16px;background:var(--gold);color:#151614;padding:15px;z-index:100}
.skip:focus{top:10px}
:focus-visible{outline:3px solid #b69b51;outline-offset:4px}

/* Lightbox */
dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:56px 70px 24px;border:0;background:#0b0c0afa;color:var(--cream);overflow:hidden}
dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
dialog::backdrop{background:#000c}
dialog img{max-height:calc(100dvh - 140px);max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px #000a}
dialog p{text-align:center;font-size:14px;margin-top:16px}
.lb-count{color:var(--gold);margin-left:10px;font-size:13px}
.close-dialog{position:absolute;right:16px;top:12px;background:transparent;border:1px solid #ffffff40;color:var(--cream);min-height:40px;padding:6px 14px;font-size:14px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid #ffffff40;background:#15161499;color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;padding:0 0 4px}
.lb-nav:hover,.close-dialog:hover{background:var(--gold);color:#151614;border-color:var(--gold)}
.lb-prev{left:12px}.lb-next{right:12px}
dialog.single .lb-nav{display:none}

/* Animação de entrada */
.reveal.pre{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.pre.in{opacity:1;transform:none}

/* Responsivo */
@media(min-width:1600px){.hero{padding-block:90px}.hero-visual{min-height:560px}}
@media(max-width:1100px){
.wrap{width:calc(100% - 56px)}nav{gap:18px}.hero{gap:32px}.client-row ul{gap:25px}.client-row li{font-size:22px}.client-row small{display:none}
.service{padding-right:15px}.service+.service{padding-left:15px}.service h3{font-size:24px}
.hospital,.about,.faq,.contact-grid{gap:45px}.hospital h3{font-size:38px}.contact h2{font-size:41px}

}
@media(max-width:800px){
html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}
.topline{font-size:11px;line-height:1.8;letter-spacing:.2px}.topline span{padding:0 6px}
.nav{min-height:70px;flex-wrap:wrap;gap:0}header.scrolled .nav{min-height:62px}
.brand b{font-size:28px}.brand small{font-size:8px}.monogram,header.scrolled .monogram{font-size:36px}
.js .menu-toggle{display:inline-flex}
nav{gap:0;flex-direction:column;align-items:stretch;width:100%;padding:6px 0 18px}
.js nav:not(.open){display:none}
nav>a:not(.button){padding:13px 0;border-bottom:1px solid var(--border);font-size:16px}
nav>a:not(.button):after{display:none}
nav .button{margin-top:16px;padding:14px 16px;font-size:15px}
.hero{grid-template-columns:1fr;padding-block:40px;gap:34px}.hero h1{font-size:54px}.hero .intro{max-width:580px}.hero-foot{margin-top:28px}.hero-visual{min-height:420px}
.client-row{align-items:flex-start;flex-direction:column;gap:14px}.client-row p br{display:none}.client-row ul{gap:12px 28px;flex-wrap:wrap}.client-row li{font-size:22px}
.section{padding-block:64px}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:550px;margin-top:20px}
.service-grid{grid-template-columns:1fr 1fr}.service:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--border)}.service:nth-child(4){border-top:1px solid var(--border)}.service h3{font-size:27px}
.filters{top:62px;flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{flex-shrink:0}
.project-heading{align-items:flex-start;flex-direction:column;gap:6px}.project-bottom{align-items:flex-start;flex-direction:column;gap:10px}

.fabrication-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.commercial-showcase{grid-template-columns:1fr;gap:25px}.video-grid{gap:16px;grid-template-columns:1fr 1fr}.video-cta{grid-column:1/-1;padding:26px 22px}.video-grid figure{padding:10px}.video-grid b{font-size:20px}
.hospital{gap:30px;grid-template-columns:1fr 1fr}.hospital-photo img{height:460px}.hospital h3{font-size:33px}
.about,.faq{gap:35px;grid-template-columns:1fr}.about{grid-template-columns:.75fr 1.25fr}.experience{padding:22px}.experience>span{font-size:90px}.experience>span>span{font-size:45px}.experience p{font-size:10px}
.steps{gap:25px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:42px}
.footer-top{flex-wrap:wrap}.footer-top p{font-size:15px}footer{padding-bottom:100px}
.float-wa{display:none}
.mobile-cta{display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--wa);color:#fff;padding:14px 12px calc(14px + env(safe-area-inset-bottom));font-weight:700;font-size:15px;box-shadow:0 -6px 20px #0005;transform:translateY(110%);transition:transform .3s}
.past-hero .mobile-cta,html:not(.js) .mobile-cta{transform:none}
.menu-open .mobile-cta{transform:translateY(110%)}
dialog{padding:56px 12px 20px}.lb-nav{top:auto;bottom:18px;transform:none;width:46px;height:46px}dialog img{max-height:calc(100dvh - 190px)}dialog p{margin-bottom:60px}
}
@media(max-width:520px){
.wrap{width:calc(100% - 36px)}
.topline{font-size:10px}
.hero h1{font-size:44px}.hero .eyebrow{font-size:10px;letter-spacing:1.2px}.intro{font-size:16px}
.actions{align-items:stretch;flex-direction:column;gap:18px}.actions .button{width:100%}.actions .text-link{align-self:flex-start}
.hero-visual{min-height:340px}.hero-visual figcaption{left:18px;right:18px;bottom:18px}.hero-visual figcaption b{font-size:20px}.hero-visual figcaption span{font-size:10px}
.hero-foot{gap:6px 16px;font-size:10px;letter-spacing:.8px}
.client-row li{font-size:20px}.client-row ul{gap:8px 20px}
.section h2{font-size:35px}
.service-grid{grid-template-columns:1fr}.service{padding:26px 0!important;border-left:0!important}.service+.service{border-top:1px solid var(--border)}.service h3{margin:14px 0 10px;font-size:28px}.service h3 br{display:none}.service p{margin-bottom:16px}
.filters{gap:7px;margin-inline:-18px;padding-inline:18px}.filters button{font-size:13px;padding:9px 14px}

.project-heading h3{font-size:24px}.project-heading>span{font-size:10px}
.gallery-project{margin-top:36px;padding-top:36px}.media-card figcaption,.media-card>p{font-size:12px}
.video-grid{grid-template-columns:1fr}.video-grid video{max-height:600px}
.commercial-showcase h3{font-size:30px}
.hospital{grid-template-columns:1fr;margin-top:38px;padding-top:38px}.hospital-photo img{height:380px;object-position:center 55%}.hospital-copy{padding-block:0}.hospital h3{font-size:34px}
.about{grid-template-columns:1fr;gap:30px}.experience{max-width:none;display:flex;align-items:center;justify-content:center;gap:22px}.experience>span{font-size:84px}.experience p{text-align:left;font-size:11px}
.steps{grid-template-columns:1fr;gap:26px;margin-top:30px}
.faq{gap:26px}
.contact h2{font-size:36px}.contact-phone{font-size:29px}
.direct-contact{padding:26px 20px}.direct-contact h3{font-size:29px}
.footer-top{align-items:flex-start;flex-direction:column;gap:20px}.footer-links{flex-direction:column}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(hover:none){.image-button:after{opacity:1;width:30px;height:30px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.pre{opacity:1;transform:none}}

/* v5 — galeria editorial com legendas sobre a foto */
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.comparison figure{min-width:0}
.comparison-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:52px;height:52px;border-radius:50%;background:var(--gold);color:#20231b;display:grid;place-items:center;font-size:22px;box-shadow:0 0 0 6px var(--cream),0 10px 24px #0004;pointer-events:none}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.media-grid .media-card img{aspect-ratio:4/5}
.media-grid .feature{grid-column:span 2;grid-row:span 2}
.media-grid .feature .image-button,.media-grid .feature picture{height:100%}
.media-grid .feature img{height:100%;aspect-ratio:auto}
.fabrication-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fabrication-grid img{aspect-ratio:3/4}
.commercial-showcase .media-card img{aspect-ratio:4/3}
.image-button picture{display:block}
.cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:48px 18px 16px;text-align:left;background:linear-gradient(transparent,#0d0f0bcc 55%,#0d0f0be6);color:#fff;pointer-events:none;display:flex;flex-direction:column;gap:3px}
.cap small{font:700 10px/1.3 var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold)}
.cap b{font:normal 20px/1.2 var(--serif);letter-spacing:-.2px}
.feature .cap{padding:80px 26px 24px}.feature .cap b{font-size:28px}
.commercial-showcase .cap b{font-size:24px}
.project-bottom.end{justify-content:flex-end}
@media(max-width:800px){
.media-grid{grid-template-columns:1fr 1fr;gap:10px}
.media-grid .feature{grid-column:1/-1;grid-row:auto}
.media-grid .feature img{aspect-ratio:4/5;height:auto}
.fabrication-grid{grid-template-columns:1fr 1fr;gap:10px}
.cap{padding:40px 12px 12px}.cap b{font-size:17px}.cap small{font-size:9px;letter-spacing:1.2px}
.feature .cap{padding:60px 18px 18px}.feature .cap b{font-size:24px}
.project-bottom.end{justify-content:flex-start}
}
@media(max-width:520px){
.comparison{grid-template-columns:1fr;gap:10px}
.comparison-arrow{transform:translate(-50%,-50%) rotate(90deg);width:46px;height:46px}
.image-button:after{display:none}
}
.media-grid .feature .image-button{position:relative;height:100%}
.media-grid .feature picture{position:absolute;inset:0}
.media-grid .feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:800px){.media-grid .feature .image-button{height:auto;aspect-ratio:4/5}}
.hospital-photo img{object-position:50% 40%}
.hospital-photo .cap{padding:70px 24px 22px}.hospital-photo .cap b{font-size:24px;max-width:300px}
@media(max-width:800px){.hospital-photo .cap{padding:50px 16px 16px}.hospital-photo .cap b{font-size:20px}}
