/* V13 — camada editorial. Conteúdo, marca e rotas da V12 permanecem na base. */
:root { --r:6px; --r-lg:8px; --paper:#f8f8f5; --sand:#eeefeb; --line:#d9ddd9; --max:1440px; --bezel:none; --bezel-hover:none; --lift:none; }
body { background:var(--paper); }
[hidden] { display:none!important; }
html { scroll-padding-top:105px; }
h1,h2,h3 { font-weight:500; text-wrap:balance; }
.wrap { padding-inline:clamp(22px,5vw,76px); }
.topbar { background:var(--gr-950); background-image:none; }
.topbar-inner { min-height:32px; font-size:12px; gap:12px; }
.topbar-inner svg { width:14px; }
.site-header { padding:0; background:rgba(248,248,245,.98); border-bottom:1px solid var(--line); }
.header-inner { height:90px; max-width:var(--max); padding:0 clamp(22px,5vw,76px); width:100%; border-radius:0; box-shadow:none; background:transparent; backdrop-filter:none; }
.brand img { height:60px; width:auto; }
.nav { gap:2px; }
.nav a { font-size:13px; padding:12px 11px; }
.nav a.nav-cta { border-radius:3px; padding-inline:22px; }
.btn { border-radius:3px; min-height:50px; font-size:14px; box-shadow:none; }
.btn-primary:not(.btn-sm),.btn-brass:not(.btn-sm) { padding:12px 20px; gap:8px; }
.btn-primary:not(.btn-sm)::after,.btn-brass:not(.btn-sm)::after { content:'↗'; background:none; width:auto; height:auto; margin-left:18px; font-size:20px; border-radius:0; }
.eyebrow,.team-eyebrow { padding:0; box-shadow:none; background:none; border-radius:0; gap:0; color:var(--muted); letter-spacing:.14em; font-size:11px; font-weight:500; }
.eyebrow::before,.team-eyebrow::before { display:none; }
.section-head h2,.team-head h2,.about-text h2,.reviews-intro h2 { font-size:clamp(34px,4.3vw,62px); font-weight:500; line-height:1.07; letter-spacing:-.045em; }
.section-head.split { grid-template-columns:1.2fr 1fr; gap:clamp(32px,7vw,100px); align-items:end; }
.section-head p { max-width:45ch; font-size:16px; }
.section-head { margin-bottom:48px; }
.services,.projects,.process,.about,.team,.faq { padding:clamp(64px,8vw,118px) 0; }

/* Abertura: o texto existe no HTML; o vídeo é apenas uma camada visual. */
.hero { padding:0; background:var(--paper); }
.cinema { position:relative; min-height:clamp(690px,calc(100svh - 123px),920px); overflow:hidden; isolation:isolate; background:var(--gr-950); color:#fff; }
.cinema-media { position:absolute; inset:0; z-index:-2; }
.cinema-cover,.cinema-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.cinema-video { opacity:0; transition:opacity .7s; }
.cinema-video.is-ready { opacity:1; }
.cinema::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(18,28,33,.76),rgba(18,28,33,.36) 58%,rgba(18,28,33,.08)),linear-gradient(0deg,rgba(18,28,33,.5),transparent 50%); }
.cinema-content { min-height:inherit; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:66px 98px; position:relative; }
.cinema-label { font-size:11px; letter-spacing:.17em; text-transform:uppercase; margin-bottom:30px; color:#fff; }
.cinema-title { margin:0 0 26px; font-size:clamp(50px,6.4vw,92px); letter-spacing:-.055em; line-height:1.0; font-weight:400; max-width:18ch; text-wrap:balance; }
.cinema .hero-top { display:block; margin:0; max-width:650px; }
.cinema h1 { color:white; font-size:clamp(18px,1.8vw,24px); font-weight:500; letter-spacing:-.02em; line-height:1.35; max-width:39ch; margin:0 0 12px; }
.cinema .hero-side { max-width:570px; }
.cinema .lead { color:#fff; font-size:16px; max-width:44ch; margin:0 0 22px; line-height:1.6; }
.cinema .hero-cta { gap:12px; margin-bottom:22px; }
.cinema .btn-primary { background:#fff; color:var(--ink); border-color:#fff; }
.cinema .btn-primary:hover { background:var(--sand); }
.cinema .btn-line { color:#fff; border-color:rgba(255,255,255,.65); box-shadow:none; background:transparent; }
.cinema .btn-line:hover { color:var(--ink); background:#fff; }
.cinema .signature { margin:0 0 10px; color:white; background:rgba(18,28,33,.42); border-color:rgba(255,255,255,.45); }
.cinema .signature strong,.cinema .signature span span { color:white; }
.cinema .signature img { border:1px solid rgba(255,255,255,.5); width:42px; height:42px; }
.cinema .cta-note { color:#eee; max-width:45ch; font-size:12px; line-height:1.5; }
.cinema-foot { position:absolute; bottom:26px; left:clamp(22px,5vw,76px); right:clamp(22px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.38); padding-top:18px; font-size:12px; }
.cinema-foot a { text-decoration:none; }
.video-control { color:#fff; background:rgba(18,28,33,.65); border:1px solid rgba(255,255,255,.5); border-radius:3px; min-height:44px; padding:8px 14px; font:inherit; font-size:12px; cursor:pointer; }
.credentials { background:var(--paper); color:var(--ink); background-image:none; border-bottom:1px solid var(--line); }
.cred-row { padding-block:24px; }
.cred-row strong { color:var(--ink); font-size:14px; }
.cred-row span { color:var(--muted); font-size:12px; }
.cred-row p { border-color:var(--line); }

/* O portfólio ganha espaço para mostrar arquitetura, materiais e luz. */
.projects { background:var(--paper); border:0; }
body.home .proj-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:30px; row-gap:46px; }
body.home .proj { grid-column:span 4; grid-row:auto; border:0; background:transparent; border-radius:0; box-shadow:none; display:block; }
body.home .proj:first-child,body.home .proj:nth-child(2) { grid-column:span 6; }
body.home .proj:nth-child(6),body.home .proj:nth-child(7) { grid-column:span 6; }
body.home .proj img,body.home .proj-wide img { height:auto; min-height:0; width:100%; aspect-ratio:1.5; object-fit:cover; border-radius:3px; flex:none; }
body.home .proj figcaption { padding:16px 0 0; flex-direction:row; align-items:baseline; justify-content:space-between; gap:12px; }
body.home .proj figcaption strong { font-size:18px; font-weight:500; }
body.home .proj figcaption span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.project-detail-link { display:inline-block; margin-top:10px; font-size:12px; font-weight:500; text-decoration:underline; text-underline-offset:5px; }
.more { margin-top:42px; text-align:left; }
.services { background:var(--sand); border-block:1px solid var(--line); }
.svc-grid { display:block; counter-reset:service; }
.svc { display:grid; grid-template-columns:210px minmax(0,1fr); column-gap:clamp(30px,5vw,70px); align-items:center; padding:28px 0; border:0; border-top:1px solid #c7cdc8; border-radius:0; background:transparent; overflow:visible; box-shadow:none; }
.svc:last-child { border-bottom:1px solid #c7cdc8; }
.svc:hover { box-shadow:none; }
.svc img,.svc-feature img { width:210px; height:150px; min-height:0; aspect-ratio:1.4; object-fit:cover; border-radius:3px; }
.svc-body { position:relative; padding:0 48px 0 62px; }
.svc-body::before { counter-increment:service; content:counter(service,decimal-leading-zero); position:absolute; left:0; top:3px; font-size:13px; color:var(--muted); }
.svc h3 { font-size:clamp(24px,2.7vw,38px); font-weight:500; letter-spacing:-.035em; }
.svc p { max-width:60ch; font-size:16px; margin-top:13px; }
.svc-more { border:0; font-size:12px; margin-top:16px; }
.svc-more::after { content:' ↗'; }
.svc:hover img { transform:scale(1.015); }
.stretched::after { z-index:2; }

.process { background:var(--paper); }
.steps { display:block; }
.steps li { min-height:0; padding:24px 0 24px 54px; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; position:relative; }
.steps li:last-child { border-bottom:1px solid var(--line); }
.steps li::after,.steps-4 li:not(:last-child)::after { display:none; }
.steps li::before { position:absolute; left:0; top:24px; border-radius:0; background:none; color:var(--muted); font-size:13px; width:auto; height:auto; }
.steps li:last-child::before { background:none; color:var(--muted); border:0; }
.steps h3 { font-weight:500; font-size:25px; }
.obra img { border-radius:3px; box-shadow:none; max-height:600px; }
.about { background:var(--sand); border:0; }
.about-main { border-radius:3px; box-shadow:none; filter:none; object-fit:contain; background:#e2e5e1; }
.about-badge { right:0; bottom:0; border-radius:0; box-shadow:none; padding:18px 28px; }
.about-text h2 { max-width:20ch; }
.about-text p { font-size:16px; }
.team { background:var(--paper); border:0; }
.team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.member { display:flex; flex-direction:column; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.member-photo,.member:nth-child(even) .member-photo { order:-1; height:auto; width:100%; aspect-ratio:1/1; object-fit:contain; object-position:center; border-radius:3px; }
.member-body { padding:23px 0 0; display:block; }
.member-body h3 { font-size:23px; font-weight:500; }
.member-role { line-height:1.55; font-size:10px; letter-spacing:.09em; margin-block:10px; }
.member-body p:last-child { font-size:14px; line-height:1.65; }
.team-lead { font-size:16px; }
.reviews { background-image:none; }
.reviews-score,.review-card { border-radius:4px; box-shadow:none; }
.reviews .eyebrow,.contact-panel .eyebrow { background:none; box-shadow:none; padding:0; }
.reviews .eyebrow::before,.contact-panel .eyebrow::before { display:none; }
.faq-list { gap:0; }
.faq-list details,.faq-list details[open] { background:transparent; border:0; border-radius:0; box-shadow:none; border-bottom:1px solid var(--line); }
.faq-list summary { padding:24px 36px 24px 0; font-weight:500; font-size:18px; }
.faq-list details p { padding:0 32px 24px 0; }
.contact-panel { border-radius:6px; box-shadow:none; background-image:none; }
.contact-intro h2 { font-weight:500; letter-spacing:-.045em; }
.form input,.form select,.form textarea { border-radius:3px; }
.guides-related { background:var(--sand); border-top:1px solid var(--line); }
.guide-links a { background:transparent; border:0; border-top:1px solid #c7cdc8; border-radius:0; padding:22px 0; box-shadow:none; }
.guide-links a:hover { box-shadow:none; transform:none; }
.site-footer { background-image:none; }
.footer-title { font-weight:500; }
.consent { border-radius:4px; box-shadow:0 10px 35px rgba(0,0,0,.15); }
.wa-float { border-radius:4px; }

/* Comparação original preservada em uma seção própria. */
.drawing-section { padding:clamp(56px,7vw,96px) 0; background:var(--gr-950); color:white; }
.drawing-section h2 { color:white; }
.drawing-section .eyebrow,.drawing-section .section-head p { color:#d2dde4; }
.drawing-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:40px; align-items:center; }
.drawing-section .hero-stage { padding:0; min-width:0; }
.drawing-section .hero-photo { border-radius:3px; aspect-ratio:4/3; box-shadow:none; }
.drawing-section .wordmark { position:static; margin:14px 0 0; line-height:1; font-size:clamp(36px,5vw,64px); color:#fff; text-align:left; }
.drawing-section .quickbar { position:static; transform:none; inset:auto; width:auto; max-width:none; margin:0; display:flex; flex-direction:column; gap:22px; padding:32px; background:var(--paper); color:var(--ink); box-shadow:none; border-radius:3px; }
.drawing-section .quickbar label { border:0; padding:0; width:100%; }
.drawing-section .quickbar select { width:100%; border-bottom:1px solid var(--line); padding:10px 0; }
.drawing-section .quickbar .btn { width:100%; }

/* Páginas existentes: novos acabamentos, mesma estrutura e conteúdo. */
.page-hero { padding:clamp(44px,6vw,88px) 0 32px; }
.page-hero h1,.page-hero .narrow h1,.svc-hero h1 { font-weight:500; letter-spacing:-.045em; line-height:1.08; }
.svc-cover img { border-radius:3px; box-shadow:none; }
.svc-aside { border-radius:3px; box-shadow:none; }
.gallery-masonry .proj { border:0; border-radius:3px; box-shadow:none; background:white; }
.gallery-masonry .project-detail-link { margin:0 18px 20px; }
.guide-cards>* { border-radius:3px; box-shadow:none; }
.project-story { padding-bottom:80px; }
.project-story .project-intro { max-width:72ch; margin:0 0 38px; font-size:18px; }
.project-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px 0; border-block:1px solid var(--line); margin:24px 0 48px; }
.project-facts dt { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.project-facts dd { margin:8px 0 0; font-size:15px; }
.project-images { display:grid; gap:38px; }
.project-images figure { margin:0; }
.project-images img { width:100%; height:auto; border-radius:3px; }
.project-images figcaption { margin-top:12px; color:var(--muted); font-size:14px; }
.project-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:40px; }
.cinema :focus-visible { outline-color:#fff; }

@media (max-width:1180px) {
 .nav a { font-size:12px; padding-inline:8px; }
 .header-inner { gap:16px; }
}
@media (max-width:1080px) {
 .header-inner { width:100%; padding-inline:clamp(22px,5vw,76px); }
 .nav { top:100%; left:0; right:0; background:var(--paper); border-radius:0; box-shadow:0 16px 20px rgba(40,53,61,.08); padding:16px 22px 22px; }
 .nav a { font-size:15px; }
 .menu-toggle { border:1px solid var(--line); background:transparent; border-radius:3px; }
 .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 26px; }
 body.home .proj { grid-column:span 6; }
}
@media (max-width:760px) {
 html { scroll-padding-top:82px; }
 .header-inner { height:76px; }
 .brand img { height:52px; }
 .topbar-inner { min-height:32px; font-size:11px; gap:8px; }
 .cinema { min-height:790px; }
 .cinema-content { padding-top:48px; padding-bottom:110px; justify-content:center; }
 .cinema-title { font-size:clamp(44px,10.5vw,74px); max-width:18ch; margin-bottom:24px; }
 .cinema-label { font-size:9px; margin-bottom:25px; }
 .cinema h1 { font-size:19px; max-width:28ch; }
 .cinema .lead { font-size:14px; max-width:38ch; }
 .cinema .hero-cta { flex-direction:row; width:100%; }
 .cinema .btn { font-size:12px; padding-inline:14px; min-height:46px; }
 .cinema .btn-primary::after { margin-left:6px; }
 .cinema .signature strong { font-size:12px; }
 .cinema .signature span span { font-size:11px; }
 .cinema::after { background:linear-gradient(90deg,rgba(18,28,33,.78),rgba(18,28,33,.55)),linear-gradient(0deg,rgba(18,28,33,.65),transparent); }
 .cinema-foot { gap:10px; font-size:10px; bottom:20px; }
 .video-control { padding:8px 10px; font-size:10px; }
 .cred-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .cred-row p { border:0; padding:0; }
 .section-head.split { grid-template-columns:1fr; gap:22px; }
 .section-head h2,.team-head h2,.about-text h2 { font-size:39px; }
 body.home .proj-grid { display:grid; grid-template-columns:1fr; gap:32px; }
 body.home .proj,body.home .proj:first-child,body.home .proj:nth-child(2),body.home .proj:nth-child(6),body.home .proj:nth-child(7) { grid-column:1; }
 body.home .proj figcaption { flex-wrap:wrap; }
 body.home .proj figcaption strong { font-size:17px; }
 .svc { grid-template-columns:96px minmax(0,1fr); gap:18px; align-items:start; padding:24px 0; }
 .svc img,.svc-feature img { width:96px; height:108px; min-height:0; }
 .svc-body { padding:23px 0 0; }
 .svc-body::before { top:0; font-size:10px; }
 .svc h3 { font-size:23px; }
 .svc p { font-size:14px; line-height:1.6; }
 .team-grid { gap:32px 18px; }
 .member-photo,.member:nth-child(even) .member-photo { aspect-ratio:1/1; height:auto; }
 .member-body { padding:16px 0 0; }
 .member-body h3 { font-size:20px; }
 .member-body p:last-child { font-size:13px; }
 .member-role { font-size:9px; }
 .about-grid { grid-template-columns:1fr; gap:36px; }
 .about-main { max-height:540px; aspect-ratio:auto; }
 .about-badge { font-size:14px; }
 .drawing-grid { grid-template-columns:1fr; gap:30px; }
 .drawing-section .hero-photo { aspect-ratio:4/3; }
 .drawing-section .quickbar { padding:25px; }
 .project-facts { grid-template-columns:1fr; gap:20px; }
 .project-story .project-intro { font-size:16px; }
 .project-images { gap:26px; }
 .reviews-score { padding:20px; }
 .contact-panel { border-radius:3px; }
 .wa-float { right:14px; }
}
@media (max-width:380px) {
 .team-grid { grid-template-columns:1fr; }
 .cinema-title { font-size:46px; }
 .cinema .btn { font-size:11px; }
 .cinema-foot>span { max-width:17ch; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .cinema-video { transition:none; }
 .svc img,.proj img,.btn,.btn::after { transition:none!important; transform:none!important; }
}
@media print {
 .cinema { min-height:auto; background:white; color:black; }
 .cinema-media,.cinema::after,.cinema-foot { display:none; }
 .cinema-content { padding:20px 0; }
 .cinema h1,.cinema-title,.cinema .lead,.cinema .signature strong,.cinema .signature span span { color:black; }
 .cinema .hero-cta,.cinema .cta-note { display:none; }
}
