:root{--whatsapp:#25d366;--whatsapp-ink:#073b20}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Make the primary actions visible throughout the visit. */
.header{position:fixed;background:#171b19f2;backdrop-filter:blur(14px);box-shadow:0 3px 20px #0001}
.header .header-cta{background:#dfbf8e;border:1px solid #dfbf8e;color:#171b19;font-size:14px;font-weight:750;min-height:50px;padding:11px 21px;gap:22px;border-radius:6px;box-shadow:0 4px 20px #c6a47424}
.header .header-cta:hover,.quote-primary:hover{background:#f2d5a8;border-color:#f2d5a8;box-shadow:0 7px 25px #c6a47440;transform:translateY(-2px)}
.header .header-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.hero-actions .quote-primary{background:#dfbf8e;color:#171b19;border:1px solid #dfbf8e;font-weight:700;border-radius:6px;font-size:15px;min-height:56px;padding:15px 23px;transition:background .2s,transform .2s}
.hero-actions>.text-button{color:white;font-size:14px;margin:0;white-space:nowrap}
.floating-contact{width:auto;min-width:192px;height:72px;padding:0 23px 0 18px;display:flex;gap:12px;align-items:center;justify-content:center;right:24px;bottom:24px;border:2px solid #ffffffc9;border-radius:44px;background:var(--whatsapp);color:var(--whatsapp-ink);box-shadow:0 7px 28px #073b2038;transition:background .2s,transform .2s}
.floating-contact:hover{background:#43e47d;color:var(--whatsapp-ink);transform:translateY(-3px)}
.floating-contact svg{width:38px;height:38px;flex:none;color:#fff}
.floating-contact>span{font-size:17px;font-weight:750;line-height:1.3;text-align:left}
.floating-contact small{display:block;font-size:11px;font-weight:600;letter-spacing:.2px;margin-top:3px}
.floating-contact:focus-visible{outline:3px solid #171b19;outline-offset:4px}
/* A form panel with boxed fields, explicit labels and a clear submit action. */
.quote-section{grid-template-columns:.85fr 1.25fr;gap:7%;align-items:start}
.quote-intro{padding-top:15px}
.quote-form{background:#fff;color:var(--ink);border:1px solid #dedfd6;border-radius:14px;padding:34px;box-shadow:0 22px 55px #0003;position:relative}
.quote-form .form-heading{padding-bottom:17px;border-bottom:1px solid #e0e4dc;color:#536448;font-size:10px;letter-spacing:1.3px;display:flex;justify-content:space-between;gap:12px;margin-bottom:25px}
.quote-form .form-heading span:last-child{background:#e8f5e7;color:#245c32;padding:4px 9px;border-radius:4px;letter-spacing:.6px;align-self:center}
.quote-form h3{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 12px;font-weight:650}
.form-description{color:#5d655a;font-size:14px;line-height:1.6;margin-bottom:12px}
.required-note{font-size:11px;color:#6d746a;margin-bottom:24px}
.quote-form label{display:flex;flex-direction:column;color:#273025;font-size:13px;font-weight:650;gap:8px}
.quote-form input,.quote-form textarea,.quote-form select{border:1px solid #bfc8b8;border-radius:6px;background:#f8faf6;color:#202821;padding:14px 13px;margin-bottom:22px;min-height:51px;font-size:16px;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#71796b;opacity:1}
.quote-form select option{color:#202821;background:#fff}
.quote-form textarea{min-height:130px;margin-bottom:16px;line-height:1.6}
.quote-form :is(input,select,textarea):focus-visible{border-color:#476c45;outline:2px solid #476c45;outline-offset:2px;box-shadow:0 0 0 5px #476c4510}
.quote-form .form-row{gap:18px}
.quote-form .form-note{color:#626b5c;font-size:12px;line-height:1.7;margin:0 0 18px}
.quote-form>.whatsapp-submit{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:var(--whatsapp);color:var(--whatsapp-ink);border:1px solid #1cbd57;border-radius:6px;min-height:60px;padding:14px 17px;font-size:15px;font-weight:750;box-shadow:0 4px 12px #25d36620}
.quote-form>.whatsapp-submit:hover{background:#43e47d;transform:translateY(-1px)}
.quote-form .privacy-link{display:block;color:#626b5c;font-size:11px;margin-top:18px;text-decoration:underline;text-underline-offset:3px}
.quote-form .form-status{margin:18px 0 0;padding:14px;background:#e6f8e9;border:1px solid #bad8bf;border-radius:6px;color:#23512e;font-size:13px;line-height:1.7}
.quote-form .form-status a{display:block;font-weight:700;text-decoration:underline;color:#174525}
/* One photograph at a time, with touch, keyboard and explicit motion controls. */
.photo-carousel{position:relative;width:100%;height:100%;min-height:0;color:white;background:#202821;isolation:isolate}
.photo-viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y}
.photo-track{display:flex;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,.68,.24,1);will-change:transform}
.photo-slide{flex:0 0 100%;min-width:0;height:100%;position:relative}
.photo-slide>button{display:block;padding:0;background:#202821;width:100%;height:100%;text-align:left}
.photo-slide img,.project-photo .photo-slide img,.service-visual .photo-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:none;transform:none;transition:none;user-select:none}
.photo-open{position:absolute;right:14px;top:14px;display:block;padding:7px 11px;background:#171b19ce;color:#fff;border:1px solid #ffffff4d;font-size:10px;font-weight:500;letter-spacing:.2px;border-radius:4px;pointer-events:none}
.project-photo .photo-open{top:56px}
.project-photo .image-count{pointer-events:none}
.photo-slide>button:focus-visible{outline:3px solid #dfbf8e;outline-offset:-7px}
.photo-controls{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(0deg,#111c16f2,#111c16b8);z-index:2}
.photo-controls button{background:#ffffff15;border:1px solid #ffffff50;border-radius:5px;color:#fff;min-width:42px;height:42px;padding:0 10px;font-size:22px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}
.photo-controls button:hover{background:#ffffff32}
.photo-controls button:focus-visible{outline:2px solid #dfbf8e;outline-offset:2px}
.photo-controls .photo-count{font-size:11px;letter-spacing:1px;text-align:center;min-width:56px;font-variant-numeric:tabular-nums}
.photo-controls .photo-pause{margin-left:auto;font-size:18px;min-width:100px}
.photo-pause span{font-size:11px}
.photo-controls button:disabled{opacity:.55;cursor:default}
.photo-carousel:has(.photo-controls) .photo-slide img{padding-bottom:0}
.project-meta:focus-visible{outline-offset:7px}
.service-visual.service-gallery:after{display:none}
.project-cover>.photo-carousel{height:100%}
.projects .project{min-width:0}
.projects .project .project-photo{overflow:hidden}
.project:hover .photo-slide img{transform:none;filter:none}
/* Reveal the original before/after photos without altering their contents. */
.before-after{margin:0}
.comparison-stage{position:relative;isolation:isolate;overflow:hidden;width:100%;height:610px;max-height:75svh;border:1px solid #b4bea9;border-radius:8px;background:#273126;--reveal:50%}
.comparison-after,.comparison-before{position:absolute;inset:0;pointer-events:none}
.comparison-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);z-index:1}
.comparison-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;user-select:none;pointer-events:none}
.comparison-after img{object-position:50% 78%}
.compare-badge{position:absolute;top:18px;z-index:3;background:#171b19de;backdrop-filter:blur(5px);border:1px solid #ffffff40;padding:10px 15px;color:#fff;font-size:17px;font-weight:600;pointer-events:none;border-radius:5px;transition:opacity .15s}
.compare-badge small{display:block;font-size:10px;font-weight:400;color:#e5e9de;margin-top:3px}
.compare-before-label{left:18px}.compare-after-label{right:18px}
.comparison-stage[data-edge=after] .compare-before-label,.comparison-stage[data-edge=before] .compare-after-label{opacity:0}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:3px;background:#fff;z-index:4;pointer-events:none;transform:translateX(-50%);box-shadow:0 0 12px #0005}
.comparison-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:7px;width:68px;height:68px;border:3px solid #fff;border-radius:50%;background:#22372ced;color:#fff;box-shadow:0 3px 20px #0005;font-size:25px}
.comparison-divider i{font-style:normal;font-size:20px;color:#dfbf8e}
.comparison-range{position:absolute;inset:0;z-index:5;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;touch-action:pan-y}
.comparison-stage:has(.comparison-range:focus-visible){outline:3px solid #476c45;outline-offset:5px}
.before-after figcaption{display:flex;gap:25px;justify-content:space-between;align-items:start;margin-top:20px;font-size:12px;line-height:1.7;color:#606a57}
.before-after figcaption strong{color:#293625;font-weight:650;white-space:nowrap;font-size:14px}
.before-after figcaption>span{max-width:510px}
.comparison-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.comparison-actions button{font-size:12px;font-weight:600;min-height:43px;min-width:110px;padding:10px 18px;border:1px solid #99a58d;border-radius:5px;background:#f7f9f2;color:#253321}
.comparison-actions button:hover{background:#d2dbc5}
.comparison-actions button:focus-visible{outline:2px solid #476c45}
@media(max-width:1150px){.header .header-cta{font-size:12px;padding:10px 15px;gap:12px}.quote-section{gap:5%;grid-template-columns:.85fr 1.2fr}.quote-form{padding:27px}.quote-form h3{font-size:25px}}
@media(max-width:960px){.quote-section{grid-template-columns:1fr;gap:38px}.quote-form{max-width:760px;width:100%}.header .header-cta{font-size:13px;min-height:48px;padding:10px 18px}.hero-actions{gap:16px}.comparison-stage{height:540px}.floating-contact{min-width:180px;height:68px;padding-inline:16px 20px}.floating-contact svg{width:35px;height:35px}}
@media(max-width:600px){.header{gap:12px}.header .header-cta{font-size:12px;min-height:46px;gap:12px;padding:10px 14px}.header .header-cta span{font-size:21px}.hero-actions{gap:20px}.hero-actions .quote-primary{font-size:14px;width:100%;max-width:340px;padding:14px 18px;min-height:56px}.hero-actions>.text-button{font-size:13px}.floating-contact{right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-width:0;width:68px;height:68px;padding:0;border-width:2px}.floating-contact svg{width:38px;height:38px}.floating-contact>span{display:none}.quote-intro{padding-top:0}.quote-form{padding:24px 20px;border-radius:10px}.quote-form h3{font-size:25px;line-height:1.25;max-width:270px}.quote-form .form-heading{font-size:9px;letter-spacing:.7px;gap:8px}.form-description{font-size:14px}.quote-form .form-row{grid-template-columns:1fr;gap:0}.quote-form label{font-size:13px}.quote-form input,.quote-form textarea,.quote-form select{padding:14px 12px;font-size:16px}.quote-form>.whatsapp-submit{font-size:14px;min-height:62px;padding:13px;gap:10px;line-height:1.4}.quote-form .form-note{font-size:11px}.quote-form .privacy-link{font-size:11px;line-height:1.7}.photo-controls{padding:10px;gap:5px}.photo-controls button{min-width:44px;height:44px}.photo-controls .photo-count{min-width:50px;font-size:10px}.photo-controls .photo-pause{min-width:92px;padding-inline:9px}.photo-pause span{font-size:10px}.photo-open{font-size:9px;top:12px;right:12px;padding:6px 8px}.project-photo .photo-open{top:50px}.service-gallery .photo-open{max-width:180px}.comparison-stage{height:480px;max-height:70svh;border-radius:6px}.comparison-stage img{object-position:50% 61%}.comparison-after img{object-position:50% 75%}.compare-badge{top:12px;font-size:15px;padding:8px 10px}.compare-before-label{left:12px}.compare-after-label{right:12px}.compare-badge small{font-size:9px}.comparison-divider>span{width:58px;height:58px;gap:5px;font-size:22px}.before-after figcaption{display:block;margin-top:17px}.before-after figcaption>span{display:block;font-size:11px;margin-top:8px}.comparison-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.comparison-actions button{padding:9px 5px;min-width:0;font-size:11px;min-height:44px}.footer-bottom{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){.photo-track,.header .header-cta,.quote-primary,.floating-contact,.compare-badge{transition:none}}
.motion-paused .photo-track{transition:none}
.header .locale{display:inline-flex;align-items:center;gap:.35em;color:#fff;white-space:nowrap;font:600 12px/1.5 system-ui;flex:none}.header .locale a{color:inherit;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.reference-home .hero-padrao{height:auto;min-height: min(760px,95svh);padding:clamp(140px,18vh,190px) 8% 68px;display:flex;align-items:center}.reference-home .hero-content{position:relative;inset:auto;width:100%;transform:none!important}.reference-home .hero-topline{display:none}.reference-home .hero-padrao h1,.reference-home .hero-padrao h1>span{font-size:clamp(49px,6.2vw,100px);font-weight:750;line-height:1.02;letter-spacing:-.055em}.reference-home .hero-padrao h1>span{display:inline;margin:0}.reference-home .hero-actions{display:flex;gap:12px;flex-wrap:wrap}.reference-home .hero-actions .text-button{border:1px solid #e9ddc7;border-radius:50px;padding:11px 20px}.reference-home .section-pad{padding-block:clamp(40px,6vw,83px)}.reference-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(165px,20vw,300px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 12px}.reference-tile{scroll-snap-align:start;position:relative;isolation:isolate;overflow:hidden;display:block;aspect-ratio:3/4;border-radius:12px;background:#232a23;color:white}.reference-tile img{width:100%;height:100%;object-fit:cover}.reference-tile strong{position:absolute;inset:auto 0 0;padding:45px 12px 14px;background:linear-gradient(transparent,#10150fe6);font-size:15px}.reference-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.reference-controls button{border:1px solid currentColor;border-radius:50%;width:40px;height:40px}.reference-controls a{margin-left:auto}.reference-home .team-image{height:clamp(290px,38vw,540px)}.reference-home .section-heading{margin-bottom:30px}.reference-home .before-after{max-width:900px;margin-inline:auto}.reference-home .film-card{height:clamp(245px,29vw,400px)}
@media(max-width:760px){.reference-home .hero-padrao{min-height:82svh;padding:110px 6% 50px}.reference-home .hero-padrao h1,.reference-home .hero-padrao h1>span{font-size:clamp(40px,10vw,62px)}.reference-home .hero-actions{align-items:flex-start;flex-direction:column}.reference-home .section-pad{padding-block:38px}.reference-home .hero-padrao .eyebrow{border:1px solid #d4bb8e99;border-radius:30px;padding:6px 12px}.reference-home .team-copy{padding:30px 6%}.reference-home .intro-grid{gap:16px}.reference-rail{grid-auto-columns:58%}}
.reference-home .hero-bottom{bottom:18px}.reference-home .hero-bottom .scroll-link,.reference-home .hero-bottom .hero-caption{visibility:hidden}.reference-home .reference-controls button{color:var(--ink);background:var(--paper)}.reference-home .film-track{scroll-snap-type:x mandatory}.reference-home .film-card{scroll-snap-align:start}
