:root{--ink:#242a24;--muted:#707569;--cream:#f5f3ed;--sand:#eae6dc;--olive:#283b30;--gold:#a97d51;--white:#fff;--line:#dddcd3;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent} :focus-visible{outline:2px solid #bf8156;outline-offset:3px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:99;top:-70px;left:15px;background:#fff;padding:13px}.skip-link:focus{top:10px}
.header{position:sticky;top:0;z-index:30;background:rgba(245,243,237,.97);backdrop-filter:blur(15px);border-bottom:1px solid #e8e6df}.header-inner{height:80px;display:flex;align-items:center;gap:30px}.logo{display:flex;align-items:center;gap:12px;min-width:205px}.logo-symbol{font:800 40px/.9 var(--display);letter-spacing:-.11em}.logo-symbol span,.footer-brand>span{color:var(--gold)}.logo-caption{font-size:8px;line-height:1.4;font-weight:800;letter-spacing:.18em;color:#5b6259}.nav{display:flex;align-items:center;gap:36px;margin:auto}.nav a{font-size:12px;font-weight:700;transition:color .2s}.nav a:hover,.nav a.is-current{color:#ab7c4a}.header-action{background:var(--olive);color:white;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-size:12px;font-weight:700}.header-action:hover,.button-dark:hover{background:#45584a}.menu-button{display:none}
.hero{min-height:min(720px,calc(100svh - 80px));display:grid;grid-template-columns:51% 49%;background:var(--cream)}.hero-content{padding:clamp(68px,7.5vw,125px) 7% 27px max(48px,calc((100vw - 1200px)/2));display:flex;flex-direction:column;justify-content:space-between;gap:50px}.hero-text{max-width:590px}.overline,.section-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800;color:#8d785b}.overline{display:flex;align-items:center;gap:12px;margin:0 0 32px}.overline span{height:1px;width:30px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font:800 clamp(45px,5.1vw,78px)/1.13 var(--display);letter-spacing:-.077em;margin:0 0 24px}.hero h1 em,.section-top h2 em,.contact h2 em{color:var(--gold);font-style:normal}.hero-description{color:#77796f;font-size:15px;line-height:1.85;max-width:370px;margin-bottom:30px}.hero-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{appearance:none;border:none;display:inline-flex;justify-content:space-between;align-items:center;gap:26px;padding:17px 21px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-dark{color:white;background:var(--olive)}.button-link{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:6px;display:inline-flex;gap:12px}.hero-bottom{font-size:9px;letter-spacing:.18em;font-weight:700;color:#8b8d84;margin:0}.hero-bottom span{padding:0 4px}.hero-photo{position:relative;min-height:100%;overflow:hidden;background:#83745d}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 56%;animation:photo-arrive 1.3s ease-out both}@keyframes photo-arrive{from{opacity:.4;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
.projects{background:#fff;padding:104px 0 110px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-eyebrow{margin:0 0 20px}.section-top h2,.contact h2{font:800 clamp(34px,4vw,56px)/1.14 var(--display);letter-spacing:-.065em;margin:0}.section-top>p{color:var(--muted);font-size:13px;margin:0 0 7px;line-height:1.7}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-card{position:relative;display:block;border:0;padding:0;aspect-ratio:1.13;overflow:hidden;text-align:left;background:#d3c9b9;color:#fff}.gallery-card[hidden]{display:none}.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:transform .65s ease,filter .3s ease}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.055);filter:brightness(.8)}.gallery-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:30px 17px 15px;background:linear-gradient(transparent,rgba(0,0,0,.66));font-size:13px;font-weight:700}.gallery-caption span{font-size:18px;font-weight:400}.gallery-actions{text-align:center;margin-top:31px}.button-outline{background:transparent;border:1px solid #b9bcb1;color:var(--ink)}.button-outline:hover{background:var(--olive);border-color:var(--olive);color:white}
.contact{background:var(--sand);padding:95px 0}.contact-layout{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(50px,8vw,135px);align-items:start}.contact-copy{padding-top:26px}.contact-copy>p:not(.section-eyebrow){margin:23px 0 0;color:var(--muted);font-size:15px;line-height:1.75}.address{margin-top:72px;border-top:1px solid #d2d0c6;padding-top:25px}.address strong{display:block;font-size:13px}.address p{font-size:13px;color:var(--muted);line-height:1.8;margin:10px 0 15px}.address a{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:5px}.quote-form{background:#fdfcf8;padding:38px 44px 40px;box-shadow:0 16px 50px rgba(37,40,28,.045)}.quote-form h3{font:800 22px/1.2 var(--display);letter-spacing:-.045em;margin:0 0 8px}.form-intro{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 25px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field label{font-size:12px;font-weight:700}.field label span{color:#a96a4a}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #dcded5;border-radius:0;outline:0;background:#faf9f5;font-size:13px;color:var(--ink);transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#9d8b73;box-shadow:0 0 0 3px #dac7ad55}.field textarea{resize:vertical;min-height:88px}.field input::placeholder,.field textarea::placeholder{color:#9a9c94}.submit-button{width:100%;margin-top:4px}.form-status{color:#356344;font-size:12px;line-height:1.6;margin:12px 0 0}.form-status:empty{display:none}.form-status.error{color:#9c4f3a}
.footer{background:#24382d;color:#cbd3ca}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:84px}.footer-brand{font:800 26px/1 var(--display);letter-spacing:-.075em;color:#fff;display:flex;align-items:center;gap:12px}.footer-brand small{font:700 8px/1.4 var(--font);letter-spacing:.14em}.footer-inner>span:nth-child(2),.footer-inner>a{font-size:11px}.footer-inner a:hover{color:#fff}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center}.lightbox-shade{position:absolute;inset:0;background:#101613ed}.lightbox-inner{position:relative;display:flex;align-items:center;justify-content:center;width:min(96vw,1050px);height:min(94svh,900px)}.lightbox img{max-width:100%;max-height:calc(94svh - 78px);object-fit:contain;box-shadow:0 20px 70px #0006}.lightbox-close,.lightbox-arrow{z-index:2;border:1px solid #ffffff66;background:#1e2d23b8;color:white;display:grid;place-items:center}.lightbox-close{position:absolute;top:0;right:0;width:44px;height:44px;font-size:32px}.lightbox-arrow{position:absolute;width:45px;height:55px;top:50%;transform:translateY(-50%);font-size:36px}.lightbox-prev{left:3px}.lightbox-next{right:3px}.lightbox-info{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:#fff;font-size:12px;padding:12px 5px}.js .fade-in{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.js .fade-in.visible{opacity:1;transform:none}
@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.header-inner{height:72px}.hero{min-height:640px;grid-template-columns:48% 52%}.hero-content{padding:75px 34px 28px 30px}.hero h1{font-size:clamp(41px,5vw,57px)}.contact-layout{gap:45px}.contact h2{font-size:42px}} 
@media(max-width:760px){html{scroll-padding-top:68px}.wrap{width:calc(100% - 40px)}.header-inner{height:68px}.logo{min-width:0}.logo-symbol{font-size:35px}.logo-caption{font-size:7px}.header-action{margin-left:auto;padding:11px 13px;font-size:11px;gap:10px}.menu-button{width:37px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:0;background:transparent}.menu-button span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .25s}.menu-button[aria-expanded='true'] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded='true'] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;left:0;right:0;top:68px;z-index:29;background:var(--cream);padding:15px 20px 22px;border-bottom:1px solid var(--line);box-shadow:0 14px 18px #1d2e2420;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:14px 5px;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:unset}.hero-content{padding:68px 25px 24px;min-height:425px;gap:44px}.hero h1{font-size:clamp(42px,10vw,63px)}.hero-description{font-size:14px;max-width:400px;margin-bottom:25px}.overline{font-size:9px;margin-bottom:22px}.hero-bottom{font-size:8px}.hero-photo{height:390px}.projects{padding:72px 0 78px}.section-top{align-items:start;flex-direction:column;gap:12px}.section-top h2,.contact h2{font-size:clamp(34px,7vw,47px)}.section-top>p{margin:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-card{aspect-ratio:.92}.gallery-caption{font-size:11px;padding:25px 10px 11px}.contact{padding:72px 0}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-copy{padding-top:0}.contact-copy>p:not(.section-eyebrow){margin-top:18px}.address{margin-top:32px}.quote-form{padding:28px 24px}.footer-inner{min-height:100px;flex-wrap:wrap;justify-content:space-between;padding:20px 0}.footer-inner>span:nth-child(2){order:3;flex-basis:100%}}
@media(max-width:410px){.logo-caption{display:none}.hero-photo{height:320px}.hero-content{min-height:400px;padding-top:56px}.hero h1{font-size:44px}.hero-buttons{gap:17px}.gallery-caption{font-size:10px}.gallery-card{aspect-ratio:.86}.footer-brand small{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .fade-in{opacity:1;transform:none}}


/* 3 seções: a identidade acompanha o mesmo verde-oliva, areia e madeira. */
:root{--ink:#28352e;--muted:#6d736c;--cream:#f6f4ee;--sand:#eeece4;--olive:#293e32;--gold:#af8056;--line:#d8d9cf}
/* Destaques dos titulos em verde, coerentes com a identidade BS */
:root{--title-accent:#315b43}
.hero h1 em,.section-top h2 em,.contact h2 em{color:var(--title-accent)}
.header-action,.button-dark,.footer{background:var(--olive)}
.quote-form{background:#fcfbf7}

/* Mapa REAL do Google, recolorizado por filtro e enquadrado na identidade da BS.
   A consulta ao endereço e a interação do iframe continuam sendo do Google Maps. */
.map-frame{position:relative;isolation:isolate;width:100%;max-width:510px;aspect-ratio:1.56;overflow:hidden;margin:19px 0 18px;border:1px solid #d7d5c8;background:#e4e2d5;box-shadow:0 20px 38px #293e3210}
.map-background{position:absolute;inset:0;z-index:-1;background-color:#e6e6da;background-image:linear-gradient(32deg,transparent 44%,#f8f7ed 45%,#f8f7ed 49%,transparent 50%),linear-gradient(132deg,transparent 48%,#f8f7ed 49%,#f8f7ed 52%,transparent 53%),repeating-linear-gradient(92deg,transparent 0 46px,#f3f1e7 47px 55px,transparent 56px 110px);background-size:240px 230px,250px 280px,100% 100%}
.map-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.82) sepia(.4) saturate(.63) contrast(.90) brightness(1.04);transition:filter .4s ease}
.map-frame:hover iframe,.map-frame:focus-within iframe{filter:grayscale(.65) sepia(.24) saturate(.79) contrast(.95) brightness(1.04)}
.map-top-label{position:absolute;left:16px;top:16px;display:flex;align-items:center;gap:11px;z-index:2;padding:11px 14px;background:#fcfbf7f2;box-shadow:0 6px 22px #263d281e;pointer-events:none;color:var(--olive);font-size:9px;font-weight:600;letter-spacing:.1em;line-height:1.65;border:1px solid #e4e2d8}
.map-top-label strong{font-size:10px;letter-spacing:.11em}
.map-brand-mark{font:800 25px/.95 var(--display);letter-spacing:-.11em}
.map-brand-mark span{color:var(--gold)}
.map-route-overlay{position:absolute;right:14px;bottom:17px;z-index:2;display:inline-flex;align-items:center;gap:16px;background:var(--olive);color:#fff;text-decoration:none!important;padding:12px 15px;font-weight:700;font-size:11px;box-shadow:0 5px 14px #1c3a2640;transition:background .2s,transform .2s}
.map-route-overlay:hover,.map-route-overlay:focus-visible{background:#43634e;transform:translateY(-2px)}
.map-link{display:inline-flex;gap:8px;align-items:center;color:var(--olive);text-decoration:none!important;border-bottom:1px solid var(--gold);padding-bottom:5px}
.map-link:hover{color:#86603e}

/* Contato flutuante discreto: tema da BS (não verde neon). */
.whatsapp-float{position:fixed;right:24px;bottom:25px;z-index:55;display:flex;align-items:center;gap:10px;border:1px solid #4a594a;background:var(--olive);color:#fff;border-radius:999px;box-shadow:0 10px 30px #213b2c35;padding:14px 19px 14px 15px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:background .2s,transform .2s,box-shadow .2s}
.whatsapp-float svg{display:block;width:22px;height:22px}
.whatsapp-float:hover,.whatsapp-float:focus-visible{transform:translateY(-3px);background:#3e5a47;box-shadow:0 14px 34px #213b2c50}
@media(max-width:760px){.map-frame{max-width:none;aspect-ratio:1.45;margin-top:18px}.map-top-label{left:11px;top:11px;padding:10px 11px}.map-route-overlay{right:10px;bottom:10px}.whatsapp-float{right:16px;bottom:18px;padding:14px;width:54px;height:54px;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float svg{width:26px;height:26px}}
@media(max-width:410px){.map-frame{aspect-ratio:1.26}.map-top-label{font-size:8px}.map-top-label strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}
