/* Paleta: cinza de cimento e azul da identidade. Branco apenas no texto dos botões. */
:root{--cement:#dedfdb;--ink:#42474d;--muted:#565d65;--blue:#4854c8;--white:#fff;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cement);color:var(--ink);font-family:var(--font);font-size:13px;font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('../assets/cimento-suave.svg');opacity:.03}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.header{display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:36px;padding-block:24px}.brand img{width:72px;height:72px;object-fit:contain}.header nav{display:flex;justify-content:center;gap:27px;font-size:12px}.header-actions{display:flex;align-items:center;gap:22px;font-size:12px}.header-actions>a:first-child{color:var(--blue)}.budget-link{padding:11px 17px;background:var(--blue);color:var(--white)}.menu-toggle{display:none}a:hover{color:var(--blue)}.budget-link:hover,.button:hover{color:var(--white);background:#3d48b4}.hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:62px;align-items:center;padding-block:38px 48px}.small-label{display:block;font-size:11px;color:var(--blue);font-weight:400;letter-spacing:.035em;margin:0 0 16px}h1,h2,h3{margin:0;font-weight:400;line-height:1.35;letter-spacing:.005em}h1{font-size:32px;font-weight:300}h2{font-size:24px;font-weight:300}h3{font-size:16px;font-weight:400}.hero-copy>p:not(.small-label){max-width:350px;margin:20px 0;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:var(--white);padding:12px 20px;min-height:44px;font-size:12px;margin-top:9px}.hero-image{width:100%;height:auto}.section{padding-block:42px;scroll-margin-top:24px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:62px}.about p:not(.small-label){margin:0 0 14px;max-width:610px;color:var(--muted)}.section-heading{margin-bottom:26px}.section-heading p{color:var(--muted);margin:10px 0 0}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.services p{color:var(--muted);margin:12px 0 0}.gallery{columns:3;column-gap:22px}.installation{margin:0 0 22px;min-width:0;break-inside:avoid}.photo-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-button img{width:100%;height:auto;object-fit:contain}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-top:50px}.contact>div>p:not(.small-label){max-width:420px;color:var(--muted);margin:19px 0 14px}.contact-details{display:grid;gap:24px}.contact-details .small-label{margin-bottom:6px}.contact-details a{font-size:16px;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted);padding-block:25px 30px}.footer p{margin:0}.skip-link{position:absolute;top:-90px;left:20px;padding:10px;background:var(--white);z-index:30}.skip-link:focus{top:10px}dialog{width:min(95vw,1100px);max-width:1100px;max-height:94vh;background:var(--cement);color:var(--ink);border:0;padding:15px}dialog::backdrop{background:rgba(66,71,77,.8)}.viewer-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.viewer-close{border:0;background:none;padding:8px 12px;cursor:pointer;color:var(--ink);font-size:12px}.viewer-image{width:100%;height:auto;max-height:calc(94vh - 75px);object-fit:contain}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{gap:22px}.header nav{gap:18px}.header-actions{gap:14px;font-size:11px}.hero,.about{gap:38px}h1{font-size:29px}.services{gap:30px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header{grid-template-columns:66px 1fr;gap:15px;padding-block:18px;position:relative}.brand img{width:62px;height:62px}.menu-toggle{display:block;justify-self:end;padding:10px 0 10px 20px;background:none;border:0;color:var(--ink);font-size:12px}.header nav{display:none;grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;gap:20px;padding:12px 0;font-size:12px}.header nav.is-open{display:flex}.header-actions{grid-column:1/-1;justify-content:space-between;gap:16px;font-size:12px}.budget-link{padding:10px 16px}.hero{grid-template-columns:1fr;gap:26px;padding-block:24px 22px}.hero-copy{max-width:600px}h1{font-size:27px}h2{font-size:22px}h3{font-size:16px}.hero-copy>p:not(.small-label){max-width:none;margin:15px 0}.hero-image{width:100%}.small-label{margin-bottom:12px}.section{padding-block:28px}.about{grid-template-columns:1fr;gap:18px}.about h2 br{display:none}.services{grid-template-columns:1fr;gap:24px}.services p{margin-top:8px}.gallery{columns:2;column-gap:14px}.installation{margin-bottom:14px}.contact{grid-template-columns:1fr;gap:28px;padding-top:32px}.contact-details a{font-size:15px}.footer{padding-block:20px 25px;gap:18px}.footer a{white-space:nowrap}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}h1{font-size:25px}.header-actions{font-size:11px}.budget-link{padding:10px 12px}.gallery{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:480px){.gallery{columns:1}.installation{margin-bottom:18px}}

/* Nova composição: imagens integradas aos serviços, sem galeria isolada. */
.story{padding-block:36px;scroll-margin-top:24px}
.hero{grid-template-columns:1.38fr 1fr;gap:52px;padding-top:28px;padding-bottom:28px}
.hero-visual{min-width:0}.hero-copy{max-width:360px}.hero-copy h1{font-size:31px;font-weight:400;line-height:1.35}.hero-copy>p:not(.small-label){margin:20px 0;max-width:none}
.qualities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding-block:24px 34px}.qualities h2{font-size:16px;font-weight:400}.qualities p{font-size:12px;color:var(--muted);margin:8px 0 0}
.windows{display:grid;grid-template-columns:.82fr 1.35fr;gap:48px;align-items:center}.window-copy>p:not(.small-label),.door-copy>p:not(.small-label),.larger-copy>p:not(.small-label){max-width:340px;color:var(--muted);margin:18px 0 24px}.window-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.detail-photo{max-width:340px;margin-top:28px}.story h2{font-size:25px;font-weight:400;line-height:1.4}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.door-main{max-width:380px;justify-self:center}.door-copy{max-width:390px}.wood-photo{max-width:255px;margin-top:26px}
.larger{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.larger-copy{max-width:340px;justify-self:center}.larger-photo{max-width:355px;justify-self:center}.text-contact{font-size:12px;color:var(--blue);display:inline-block;padding-block:8px}
.references{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.references h2{font-size:22px}.references ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:12px;color:var(--muted)}.contact{padding-block:38px}
@media(max-width:1000px){.hero{gap:35px}.hero-copy h1{font-size:28px}.windows{gap:30px}.doors,.larger{gap:45px}.window-images{gap:14px}.references{gap:30px}}
@media(max-width:800px){.story{padding-block:26px}.hero{grid-template-columns:1fr;gap:22px;padding-top:16px}.hero-copy{max-width:none}.hero-copy h1{font-size:27px}.hero-copy>p:not(.small-label){max-width:520px;margin:15px 0}.hero .button{margin-top:2px}.qualities{gap:22px;padding-block:24px}.qualities h2{font-size:14px}.qualities p{font-size:12px}.windows{grid-template-columns:1fr;gap:22px}.window-copy>p:not(.small-label),.door-copy>p:not(.small-label),.larger-copy>p:not(.small-label){max-width:none;margin:14px 0 18px}.detail-photo{max-width:none;margin-top:22px}.window-images{gap:14px}.story h2{font-size:23px}.doors{grid-template-columns:1fr 1fr;gap:22px;align-items:start}.door-main{max-width:none}.door-copy{max-width:none}.wood-photo{max-width:none;margin-top:20px}.larger{grid-template-columns:1fr 1fr;gap:24px;align-items:center}.larger-copy,.larger-photo{max-width:none}.references{grid-template-columns:1fr;gap:20px}.references ul{gap:10px 20px}.contact{padding-block:28px}}
@media(max-width:560px){.qualities{grid-template-columns:1fr;gap:18px}.qualities p{margin-top:4px}.doors{grid-template-columns:1fr;gap:22px}.door-main{width:76%;justify-self:start}.door-copy .wood-photo{width:76%;margin-left:auto}.larger{grid-template-columns:1fr;gap:22px}.larger-photo{width:85%;justify-self:center}.hero-copy h1{font-size:26px}.references ul{grid-template-columns:1fr;gap:9px}.story h2 br{display:none}}
@media(max-width:360px){.hero-copy h1{font-size:24px}.window-images{grid-template-columns:1fr}.door-main,.door-copy .wood-photo,.larger-photo{width:100%}}

/* Acabamento da estrutura aprovada. */
.brand img{width:82px;height:82px}.header{grid-template-columns:92px 1fr auto}
.hero-copy h1{font-size:29px;font-weight:400;letter-spacing:-.012em}.story h2{font-size:24px;letter-spacing:-.008em}.qualities h2{font-size:16px}.references h2{font-size:22px}
.larger{grid-template-columns:minmax(0,340px) minmax(0,310px);justify-content:center;gap:42px;padding-block:28px}.larger-copy{width:100%;justify-self:end}.larger-photo{width:100%;max-width:310px;justify-self:start}.larger-copy>p:not(.small-label){margin:16px 0}.story{padding-block:30px}
@media(max-width:1000px){.hero-copy h1{font-size:27px}.larger{gap:32px}}
@media(max-width:800px){.header{grid-template-columns:76px 1fr}.brand img{width:72px;height:72px}.hero-copy h1{font-size:26px}.story h2{font-size:22px}.qualities h2{font-size:14px}.story{padding-block:24px}.larger{grid-template-columns:1fr 1fr;gap:24px}.larger-photo{max-width:none}}
@media(max-width:560px){.larger{grid-template-columns:1fr;gap:18px}.larger-photo{width:85%;max-width:310px;justify-self:center}.hero-copy h1{font-size:25px}}
@media(max-width:360px){.hero-copy h1{font-size:24px}.larger-photo{width:100%}}
