:root{--ink:#202020;--paper:#f1eee8;--gold:#caa23a;--muted:#a8a49b;--line:rgba(32,32,32,.17);--pad:clamp(24px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:15;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad);transition:.4s}.site-header.scrolled{background:rgba(32,32,32,.93);padding-top:15px;padding-bottom:15px;backdrop-filter:blur(12px)}.brand img{width:180px}.nav{display:flex;align-items:center;gap:34px;color:white;font-size:13px}.nav>a:not(.nav-cta){opacity:.76;transition:.2s}.nav>a:hover{opacity:1;color:var(--gold)}.nav-cta,.button{display:inline-flex;gap:28px;justify-content:space-between;align-items:center;padding:15px 20px;border:1px solid rgba(255,255,255,.35);font-weight:500;transition:.3s}.nav-cta:hover{background:var(--gold);color:var(--ink)!important;border-color:var(--gold)}.menu-toggle{display:none}.hero{min-height:100svh;position:relative;color:#fff;display:flex;align-items:flex-end;padding:150px var(--pad) 90px;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:-8% 0}.hero-media{background:url('../img/fachada.png') center/cover no-repeat;transform:scale(1.04)}.hero-shade{background:linear-gradient(90deg,rgba(13,13,13,.92) 0%,rgba(17,17,17,.65) 48%,rgba(17,17,17,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.hero-content{position:relative;z-index:1;width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:500;color:var(--gold);margin:0 0 26px}.hero h1,.section h2,.focus h2,.team h2,.contact h2{font-size:clamp(50px,7.2vw,110px);line-height:.94;letter-spacing:-.055em;font-weight:400;margin:0}.hero h1{max-width:1050px}.hero h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--gold)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:48px;border-top:1px solid rgba(255,255,255,.28);padding-top:24px}.hero-bottom p{max-width:540px;line-height:1.7;color:rgba(255,255,255,.72);font-size:15px}.button-gold{background:var(--gold);color:var(--ink);border-color:var(--gold);min-width:280px}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.16)}.scroll-cue{position:absolute;right:var(--pad);top:46%;z-index:2;writing-mode:vertical-rl;text-transform:uppercase;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.6)}.scroll-cue span{display:block;width:1px;height:60px;background:var(--gold);margin:0 auto 14px}.section{padding:130px var(--pad)}.section-index{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}.section-index span{color:#777}.section-index:after{content:'';height:1px;background:var(--line);flex:1}.section-index.light span{color:#aaa}.section-index.light:after{background:rgba(255,255,255,.16)}.manifesto{display:grid;grid-template-columns:24% 1fr}.manifesto-copy{padding-top:80px}.kicker{font-size:14px;line-height:1.6;color:#777;margin-bottom:50px}.manifesto h2{font-size:clamp(48px,6vw,90px);max-width:1050px}.copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:70px 0 0 24%;max-width:750px}.copy-grid p{font-size:16px;line-height:1.8;color:#5e5b55}.focus,.team{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:var(--ink);color:#fff}.focus-image,.team-visual{overflow:hidden}.focus-image img,.team-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform 1s}.focus:hover img,.team:hover img{transform:scale(1.025)}.focus-panel,.team-content{padding:70px var(--pad);display:flex;flex-direction:column;justify-content:center}.focus-panel .section-index,.team-content .section-index{margin-bottom:auto}.focus h2,.team h2{font-size:clamp(58px,6vw,95px);margin-bottom:40px}.focus-panel>p:not(.eyebrow){max-width:490px;color:#bbb;line-height:1.8}.text-link{margin-top:40px;padding-bottom:12px;border-bottom:1px solid #555;display:flex;justify-content:space-between;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.areas{background:#e8e4dc}.areas-heading{display:flex;align-items:end;justify-content:space-between;margin:85px 0}.areas h2{font-size:clamp(50px,6vw,90px)}.areas-heading>p{width:270px;line-height:1.7;color:#6a6760}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:28px 8px;transition:.3s}.service-row span{font-size:10px;color:#888}.service-row h3{margin:0;font-size:clamp(20px,2.2vw,33px);font-weight:300}.service-row i{font-style:normal;color:var(--gold);font-size:22px;opacity:0;transform:translate(-15px,15px);transition:.3s}.service-row:hover{padding-left:22px;background:rgba(202,162,58,.08)}.service-row:hover i{opacity:1;transform:none}.team{grid-template-columns:.95fr 1.05fr}.team-content>p:not(.eyebrow){color:#aaa;line-height:1.8;max-width:600px}.team blockquote{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:var(--gold);border-left:1px solid var(--gold);padding-left:24px;margin:36px 0 0}.contact{text-align:center;background:var(--gold)}.contact .eyebrow{color:var(--ink)}.contact h2{font-size:clamp(48px,6vw,88px)}.contact h2 em{color:#fff}.contact-form{max-width:920px;margin:80px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;text-align:left}.contact-form label{display:flex;flex-direction:column;gap:12px}.contact-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid rgba(32,32,32,.45);background:transparent;padding:12px 0;font:300 16px 'DM Sans';outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:#fff}.contact-form .full{grid-column:1/-1}.button-dark{border:0;background:var(--ink);color:#fff;cursor:pointer;font:500 13px 'DM Sans';margin-top:20px}.form-note{font-size:11px;align-self:center;color:rgba(32,32,32,.65)}.field-error{border-color:#9e2626!important}footer{background:#151515;color:#aaa;padding:60px var(--pad);display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:50px;align-items:end;font-size:12px}footer img{width:190px}footer p{margin:5px 0}footer div:nth-child(3){display:flex;flex-direction:column;gap:9px}footer a:hover{color:var(--gold)}.floating-contact{display:none}.reveal{opacity:0;transform:translateY(35px);filter:blur(6px);transition:opacity .85s,transform .85s,filter .85s}.reveal.visible{opacity:1;transform:none;filter:blur(0)}
@media(max-width:900px){.nav{position:fixed;inset:0;background:#202020;flex-direction:column;justify-content:center;font-size:23px;transform:translateX(100%);transition:.4s}.nav.open{transform:none}.menu-toggle{display:block;position:relative;z-index:2;width:40px;height:40px;background:none;border:0}.menu-toggle span{display:block;width:25px;height:1px;background:white;margin:7px;transition:.3s}.menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{padding-bottom:55px}.hero-bottom{display:block}.hero-bottom p{margin-bottom:28px}.scroll-cue{display:none}.manifesto{grid-template-columns:1fr}.manifesto-copy{padding-top:60px}.copy-grid{margin-left:0}.focus,.team{grid-template-columns:1fr}.focus-image,.team-visual{height:55vw;min-height:390px}.focus-panel,.team-content{min-height:660px}.team-visual{order:2}.team-content{order:1}footer{grid-template-columns:1fr 1fr}.floating-contact{display:block;position:fixed;bottom:16px;right:16px;z-index:12;background:var(--gold);padding:14px 18px;font-size:12px;font-weight:600;box-shadow:0 10px 30px #0005}}
@media(max-width:600px){:root{--pad:22px}.site-header{padding-top:18px}.brand img{width:145px}.hero{min-height:760px}.hero h1{font-size:51px}.hero-bottom{margin-top:40px}.button-gold{min-width:0;width:100%}.section{padding-top:90px;padding-bottom:90px}.manifesto-copy{padding-top:50px}.copy-grid{grid-template-columns:1fr;gap:14px;margin-top:45px}.focus-image,.team-visual{height:390px}.focus-panel,.team-content{padding-top:45px;padding-bottom:50px;min-height:620px}.areas-heading{display:block;margin:60px 0 40px}.areas-heading>p{width:auto;margin-top:30px}.service-row{grid-template-columns:38px 1fr auto;padding:22px 2px}.contact-form{grid-template-columns:1fr;gap:30px;margin-top:55px}.contact-form .full{grid-column:auto}.form-note{margin:0}.contact .button-dark{width:100%}footer{grid-template-columns:1fr;gap:24px;padding-bottom:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;filter:none;transition:none}*{animation:none!important;transition-duration:.01ms!important}}
.hero-media{background-image:url('../img/fotos/fachada.webp')}
footer .footer-address{line-height:1.55}footer .footer-address p:first-child{color:#fff;margin-bottom:10px}footer .footer-legal{max-width:370px;line-height:1.55}
.footer-contact{display:flex;flex-direction:column;gap:16px}.social-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.social-links a{display:inline-flex;align-items:center;gap:9px}.social-icon{width:17px;height:17px;display:inline-grid;place-items:center;color:#aaa;flex:0 0 auto}.icon-instagram{border:1.5px solid currentColor;border-radius:5px;position:relative}.icon-instagram:before{content:'';width:5px;height:5px;border:1.5px solid currentColor;border-radius:50%}.icon-instagram:after{content:'';position:absolute;width:2px;height:2px;border-radius:50%;background:currentColor;right:2.5px;top:2.5px}.icon-x{font-size:12px;font-weight:500}.icon-facebook{font-family:Arial,sans-serif;font-size:18px;font-weight:bold;align-items:end}.social-links a:hover .social-icon{color:var(--gold)}
.whatsapp-icon{width:21px;height:21px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.whatsapp-icon path+path{stroke-width:1.25}.floating-contact .whatsapp-icon{vertical-align:middle;margin-right:3px}
input,textarea,select,button{font-family:'DM Sans',Arial,sans-serif}
/* Tipografia dos controles e nova composição do rodapé */
.button,.contact-form input,.contact-form textarea,.contact-form input::placeholder,.contact-form textarea::placeholder{font-family:"DM Sans",Arial,sans-serif}
footer{grid-template-columns:minmax(260px,1.2fr) minmax(280px,1fr);gap:clamp(50px,9vw,150px);align-items:start}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
footer .footer-brand .footer-legal{margin:0;max-width:460px;line-height:1.65}
.footer-contact{gap:16px}
footer .footer-address{margin-top:8px}
@media(max-width:600px){footer{grid-template-columns:1fr;gap:30px}.footer-brand{gap:18px}}
/* Ícones Bootstrap Icons carregados localmente */
.whatsapp-icon,.contact-icon,.social-icon{display:inline-flex;width:1.15em;height:1.15em;align-items:center;justify-content:center;font-size:18px;line-height:1;color:currentColor;transform:none;border:0;background:none}
.footer-contact .contact-icon{color:var(--gold);margin-top:1px}
.social-links .social-icon{color:var(--gold);font-size:17px}
.social-links a:hover .social-icon{color:var(--gold)}
@media(max-width:900px){.floating-contact{display:flex;width:54px;height:54px;padding:0;border-radius:50%;align-items:center;justify-content:center}.floating-contact .whatsapp-icon{width:auto;height:auto;margin:0;font-size:23px}}
.nav-cta,.button-gold,.contact-form .button-dark{border-radius:0 10px}
.footer-info-link{display:inline-flex;align-items:flex-start;gap:10px;line-height:1.55}.contact-icon{width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 auto;color:var(--gold)}.icon-phone{font:700 14px Arial,sans-serif;transform:rotate(-18deg)}.icon-location{position:relative;width:14px;height:17px;border:1.5px solid currentColor;border-radius:9px 9px 9px 0;transform:rotate(-45deg);margin:1px 3px 0 1px}.icon-location:after{content:'';position:absolute;width:4px;height:4px;border:1px solid currentColor;border-radius:50%;top:4px;left:4px}.footer-info-link:hover{color:#fff}
