:root {
  --background:#101212;
  --surface:#181a1a;
  --ink:#f0efeb;
  --muted:#b0b2af;
  --accent:#c9ba99;
  --line:#ffffff29;
  --gutter:clamp(24px,5.6vw,88px);
  font-family:'Inter',Arial,sans-serif;
  color:var(--ink);
  background:var(--background);
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,p,figure{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{min-width:280px}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.container{width:min(100%,1600px);padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:clamp(80px,8.4vw,132px)}
h1,h2,h3{font-weight:450;letter-spacing:-.055em}
h2{font-size:clamp(2.25rem,4.1vw,4rem);line-height:1.1}
p{font-size:1.0625rem;line-height:1.65}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:#111;padding:14px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.navbar{position:absolute;inset:0 0 auto;z-index:5}
.nav-container{min-height:104px;display:flex;align-items:center;gap:32px;justify-content:space-between}
.brand{position:relative;display:block;width:70px;height:56px;flex-shrink:0;overflow:hidden}
.brand-logo-img{position:absolute;max-width:none;width:100px;height:auto;left:-15px;top:-38px}
.nav-links{display:flex;gap:30px;margin-left:auto;margin-right:32px}
.nav-links a,.nav-cta{font-size:0.875rem;min-height:44px;display:inline-flex;align-items:center}
.nav-links a{color:#c7c9c6}
.nav-links a:hover,.text-link:hover{color:var(--accent)}
.nav-cta{gap:20px;white-space:nowrap}
.nav-cta span{color:var(--accent);font-size:1.3125rem}
.hero{position:relative;isolation:isolate;min-height:min(900px,100svh);background:#080909}
.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080a0be6 0%,#080a0b59 58%,#080a0b1a),linear-gradient(0deg,#101212 0%,transparent 22%);z-index:-1}
.hero-container{padding-top:clamp(160px,15vw,240px);padding-bottom:50px;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto 1fr;column-gap:0;min-height:min(900px,100svh);align-content:center}
.hero-copy{position:relative;z-index:1;align-self:end}
h1{font-size:clamp(2.625rem,4.45vw,4.375rem);line-height:1.08;max-width:900px}
h1 span{color:#b8bbb7}
.hero-description{font-size:1.25rem;line-height:1.5;margin-top:26px;color:#d5d7d2}
.hero-graphic{grid-column:2;grid-row:1/3;align-self:center;margin-left:-10%;width:110%;pointer-events:none}
.metal-emblem{width:100%;filter:drop-shadow(0 24px 28px #0009)}
.hero-actions{display:flex;gap:30px;align-items:center;margin-top:38px;align-self:start}
.button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:#eceae3;color:#171918;padding:17px 24px;font-size:0.9375rem;font-weight:500;line-height:1.5}
.button:hover{background:var(--accent)}
.button span{font-size:1.375rem;line-height:1}
.text-link{display:inline-flex;gap:30px;align-items:center;min-height:44px;font-size:0.9375rem}
.secondary-link{color:#c6c7c2}
.hero-caption{grid-column:1/-1;align-self:end;padding-top:74px;color:#aaaead;font-size:0.875rem}
.section-label{text-transform:uppercase;font-size:0.8125rem;letter-spacing:.16em;line-height:1.5;margin-bottom:28px;color:var(--muted)}
.services-container{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr);grid-template-rows:auto 1fr;column-gap:7%;row-gap:64px}
.services-heading h2{font-size:clamp(2rem,3.35vw,3.25rem)}
.services-image-showcase{grid-column:2;grid-row:1/3;min-width:0;align-self:stretch;background:#080909;display:flex;align-items:center;justify-content:center}
.services-image-showcase img{width:100%;height:100%;max-height:660px;aspect-ratio:1/1;object-fit:contain}
.services-detail-block{align-self:end;padding-bottom:5px;min-width:0}
.services-detail-block h3{font-size:clamp(1.75rem,2.8vw,2.75rem);margin-bottom:16px}
.services-detail-block p{color:var(--muted);font-size:1rem;line-height:1.55;max-width:36ch;min-height:5em}
.service-controls{display:flex;align-items:center;justify-content:space-between;margin-top:35px}
.service-count{font-size:0.875rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.count-total{color:#929995}
.service-arrows{display:flex;gap:8px}
.service-arrows button{background:transparent;border:0;width:48px;height:48px;font-size:1.625rem}
.service-arrows button:hover{background:#ffffff0c;color:var(--accent)}
.service-progress{height:2px;background:#ffffff24;margin-top:10px;position:relative}
.service-progress span{display:block;width:16.6667%;height:100%;background:var(--accent)}
.comparison-section{padding-top:36px;background:var(--background)}
.comparison-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px}
.comparison-heading p{font-size:0.875rem;color:var(--muted);padding-bottom:6px}
.comparison{position:relative;aspect-ratio:2/1;background:#090a0a;isolation:isolate;overflow:hidden;--reveal:50%}
.comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.comparison-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.comparison-label{position:absolute;top:24px;z-index:2;font-size:0.8125rem;line-height:1.4;background:#080909a6;padding:6px 10px;pointer-events:none}
.before-label{left:24px}.after-label{right:24px}
.comparison-divider{position:absolute;left:var(--reveal);top:0;bottom:0;width:1px;background:#f5f3e9;pointer-events:none;z-index:3;transform:translateX(-50%)}
.comparison-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#efede6;color:#252826;display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:1.5rem;box-shadow:0 1px 12px #0004}
.comparison-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.comparison:focus-within{outline:2px solid var(--accent);outline-offset:6px}
.comparison-figure figcaption{font-size:0.75rem;color:#969e98;margin-top:16px}
.differences-section{background:#e5e5df;color:#222624;padding-block:86px}
.differences-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.differences-container article{padding-inline:13%;border-left:1px solid #20272030}
.differences-container article:first-child{padding-left:0;border-left:0}
.differences-container article:last-child{padding-right:0}
.difference-number{font-size:0.875rem;color:#646a63;display:block;margin-bottom:42px}
.differences-container h2{font-size:1.375rem;letter-spacing:.015em;text-transform:uppercase;font-weight:500;margin-bottom:18px}
.differences-container p{font-size:1rem;color:#525a54;max-width:29ch;line-height:1.6}
.about-container{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:10%}
.about-image{aspect-ratio:1.15;overflow:hidden}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:68% center}
.about-copy h2{margin-bottom:28px}
.about-copy p{color:var(--muted);max-width:35ch}
.location-section{padding-top:20px}
.location-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}
.location-heading h2{max-width:650px}
.location-heading p,.location-heading a{font-size:0.9375rem;color:var(--muted);line-height:1.8}
.location-heading a{display:inline-flex;align-items:center;min-height:44px}
.location-map{width:100%;height:430px;border:0;display:block;background:#dddeda;color-scheme:normal}
.route-link{display:flex;justify-content:flex-end;margin-top:18px;gap:42px}
.final-cta{position:relative;isolation:isolate;padding-block:120px}
.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 55%;z-index:-2}
.final-cta::after{content:'';position:absolute;inset:0;background:#080b0cc7;z-index:-1}
.final-cta h2{max-width:1000px;font-size:clamp(2.625rem,5.15vw,4.875rem);line-height:1.09}
.final-cta h2 span{color:#9da59e}
.final-cta .button{margin-top:44px}
.footer{padding-block:36px;background:#0a0d0c}
.footer-container{display:flex;gap:26px;align-items:center}
.footer p{font-size:0.8125rem;color:#9ea59f}
.footer nav{display:flex;gap:24px;margin-left:auto;font-size:0.8125rem;color:#afb5b0}
.footer a:not(.brand){display:inline-flex;min-height:44px;align-items:center}
.footer-phone{font-size:0.8125rem;color:#afb5b0;margin-left:24px}
@media(min-width:1600px){.hero-container{min-height:900px}}
@media(max-width:1100px){
  .nav-links{gap:18px;margin-right:8px}.nav-container{gap:22px}
  .hero-actions{gap:18px}.hero-container{grid-template-columns:1.3fr .7fr}.hero-graphic{width:115%;margin-left:-15%}
  .services-container{column-gap:6%;row-gap:40px}.services-detail-block p{min-height:6.2em}
  .footer-container{flex-wrap:wrap}.footer-phone{margin-left:0}
}
@media(max-width:800px){
  :root{--gutter:24px}
  .section{padding-block:72px}
  .nav-container{min-height:84px;gap:20px}.nav-links{display:none}.nav-cta{margin-left:auto;font-size:0.8125rem;gap:14px}
  .brand{width:58px;height:48px}.brand-logo-img{width:84px;left:-13px;top:-32px}
  .hero{min-height:auto}.hero-background{object-position:66% center}
  .hero::after{background:linear-gradient(180deg,#080b0c55,#080b0c33 50%,#101212 100%)}
  .hero-container{min-height:0;padding-top:136px;padding-bottom:40px;display:flex;flex-direction:column;align-items:stretch}
  .hero-copy{align-self:auto}h1{font-size:clamp(2.1875rem,6.4vw,3.375rem);line-height:1.1;max-width:620px}.desktop-break{display:none}
  .hero-description{font-size:1.125rem;margin-top:22px}
  .hero-graphic{margin:12px auto 4px;width:min(68%,350px);align-self:center}
  .hero-actions{margin-top:0;display:flex;flex-wrap:wrap;gap:12px 24px;width:100%;align-self:auto}
  .hero-caption{padding-top:30px;align-self:auto;font-size:0.8125rem;max-width:32ch}
  .button{font-size:0.875rem;min-height:56px;gap:30px;padding:16px 20px}
  .secondary-link{font-size:0.875rem}
  .services-container{display:grid;grid-template-columns:1fr;gap:0}
  .services-heading{margin-bottom:30px}.section-label{font-size:0.75rem;margin-bottom:18px}
  .services-heading h2{font-size:clamp(1.875rem,5.5vw,2.625rem);max-width:570px}
  .services-image-showcase{grid-column:1;grid-row:auto;margin-inline:-12px;aspect-ratio:1.12}
  .services-image-showcase img{height:100%;width:100%;max-height:none;aspect-ratio:auto}
  .services-detail-block{margin-top:26px;padding:0}
  .services-detail-block h3{font-size:1.875rem;margin-bottom:10px}
  .services-detail-block p{font-size:1rem;line-height:1.5;max-width:45ch;min-height:4.5em}
  .service-controls{margin-top:14px}.service-progress{margin-top:4px}
  .comparison-section{padding-top:0}
  .comparison-heading{margin-bottom:28px;gap:20px}.comparison-heading h2{font-size:2.25rem}.comparison-heading p{font-size:0.75rem}
  .comparison{aspect-ratio:4/5;margin-inline:-12px}
  .comparison-image{object-fit:cover;object-position:center}
  .comparison-label{top:14px;font-size:0.75rem}.before-label{left:14px}.after-label{right:14px}
  .comparison-divider>span{width:48px;height:48px;padding-inline:11px}
  .comparison-figure figcaption{font-size:0.75rem;line-height:1.5;max-width:30ch;margin-top:14px}
  .differences-section{padding-block:24px}
  .differences-container{display:block}
  .differences-container article,.differences-container article:first-child,.differences-container article:last-child{padding:30px 0;border-left:0;border-top:1px solid #20272030;display:grid;grid-template-columns:40px 1fr;column-gap:12px}
  .differences-container article:first-child{border-top:0}
  .difference-number{grid-column:1;grid-row:1/3;margin:3px 0 0;font-size:0.8125rem}
  .differences-container h2{grid-column:2;font-size:1.25rem;margin-bottom:12px}
  .differences-container p{grid-column:2;font-size:1rem;max-width:42ch}
  .about-container{grid-template-columns:1fr;gap:32px}.about-image{aspect-ratio:1.2}.about-copy h2{margin-bottom:18px}.about-copy p{font-size:1rem;max-width:45ch}
  .location-section{padding-top:0}.location-heading{display:block;margin-bottom:26px}.location-heading h2{font-size:2.25rem;max-width:380px;margin-bottom:18px}.location-heading p{font-size:0.875rem}
  .location-map{height:330px}.route-link{justify-content:space-between;margin-top:12px}
  .final-cta{padding-block:80px}.final-cta h2{font-size:clamp(2.25rem,6vw,3.25rem)}.final-cta .button{margin-top:32px}
  .footer{padding-block:28px}.footer-container{display:grid;grid-template-columns:58px 1fr;gap:16px 20px}.footer p{font-size:0.75rem}.footer nav{grid-column:1/-1;margin:0;gap:24px;flex-wrap:wrap}.footer-phone{grid-column:1/-1;margin:0;font-size:0.875rem}
}
@media(max-width:420px){
  .hero-container{padding-top:124px}
  h1{font-size:2.25rem;max-width:350px}
  .hero-description{font-size:1.0625rem;margin-top:18px}
  .hero-graphic{width:70%;margin-block:6px 2px}
  .hero-actions .button{width:100%}.secondary-link{display:none}
  .hero-caption{padding-top:23px;max-width:100%;font-size:0.75rem}
  .services-heading h2{font-size:2rem}
  .comparison-heading p{max-width:6ch;line-height:1.5}
}
@media(max-width:350px){
  :root{--gutter:20px}h1{font-size:1.9375rem}.nav-cta{font-size:0.75rem;gap:10px}
  .services-heading h2{font-size:1.75rem}.services-detail-block p{min-height:6em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

h1,h2,h3{overflow-wrap:anywhere}
.nav-cta{white-space:normal;min-width:0}
@media(min-width:600px) and (max-width:800px){.services-image-showcase{aspect-ratio:1.5}.services-image-showcase img{max-height:440px}}
/* Portrait supplied during the redesign: intentional editorial framing. */
.about-image{aspect-ratio:4/5;max-width:520px;width:100%}
.about-image img{object-position:50% 35%}
@media(max-width:800px){.about-image{max-width:none}}

/* Refinement: stronger photography, precise controls and integrated portrait. */
h1,h2,h3{letter-spacing:-.045em}
.nav-links a{position:relative}
.nav-links a::after{content:'';position:absolute;inset:auto 0 5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.button{padding:8px 8px 8px 24px;gap:36px;min-height:60px;letter-spacing:-.012em;transition:background .18s ease}
.button>span{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;border-left:1px solid #17191830;font-size:1.5rem;flex-shrink:0}
.hero-actions{gap:34px}
.hero-caption{color:#b5bab4;letter-spacing:.01em}
.services-heading h2{line-height:1.13;max-width:12ch}
.services-container{grid-template-columns:minmax(0,.9fr) minmax(0,1.55fr);column-gap:8%}
.services-image-showcase{position:relative;background:transparent;align-items:stretch;overflow:hidden;min-height:600px}
.services-image-showcase img{object-fit:cover;object-position:50% 58%;max-height:660px;aspect-ratio:1/1}
.services-detail-block h3{font-weight:500}
.service-arrows{gap:10px}
.service-arrows button{border:1px solid #ffffff2e;font-size:1.35rem;transition:border-color .18s ease,background .18s ease}
.service-arrows button:hover{background:#f0efeb;color:#171918;border-color:#f0efeb}
.service-progress{margin-top:18px;background:#ffffff1a}
.service-progress span{transition:width .18s ease}
.comparison-heading{margin-bottom:42px}
.comparison-label{background:#1012127a;letter-spacing:.06em;padding:8px 12px}
.comparison-divider>span{box-shadow:0 2px 18px #0005}
.differences-container h2{letter-spacing:.025em;font-size:1.375rem}
.about-container{position:relative;grid-template-columns:1.15fr .85fr;gap:7%}
.about-image{position:relative;max-width:590px;aspect-ratio:4/5;isolation:isolate}
.about-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101212 0%,#10121285 12%,transparent 38%),linear-gradient(90deg,#10121226,transparent 14%,transparent 72%,#101212 100%)}
.about-image img{object-position:50% 30%;filter:saturate(.82)}
.about-copy h2{font-size:clamp(2.5rem,4.6vw,4.25rem);margin-bottom:30px}
.about-copy p{font-size:1.125rem;line-height:1.7;max-width:34ch}
.about-signature{display:flex;flex-direction:column;gap:8px;margin-top:38px;padding-top:22px;border-top:1px solid #ffffff23;max-width:310px}
.about-signature span:first-child{font-size:1.0625rem;font-weight:500;color:#eceee9;letter-spacing:-.02em}
.about-signature span:last-child{font-size:.8125rem;color:#9fa79f}
.location-map{background:#d9dfd9}
.route-link{border-bottom:1px solid #ffffff29;padding-block:10px;min-height:60px}
.footer{padding-block:42px}
.footer-container{row-gap:20px}
@media(max-width:800px){
  .hero-actions{gap:18px}
  .button{font-size:.9375rem;min-height:58px;padding-left:20px}
  .services-container{grid-template-columns:1fr;gap:0}
  .services-heading{margin-bottom:30px}
  .services-heading h2{max-width:20ch;font-size:clamp(1.875rem,5.5vw,2.625rem)}
  .services-image-showcase{min-height:0;aspect-ratio:1/1;margin-inline:-12px}
  .services-image-showcase img{height:100%;max-height:none;object-position:50% 65%;aspect-ratio:auto}
  .services-detail-block{margin-top:24px}
  .service-progress{margin-top:13px}
  .comparison-heading{margin-bottom:30px}
  .differences-container h2{font-size:1.125rem;letter-spacing:.04em}
  .about-container{grid-template-columns:1fr;gap:0}
  .about-image{aspect-ratio:4/5;max-width:none;margin-inline:-12px;width:calc(100% + 24px)}
  .about-image::after{background:linear-gradient(0deg,#101212 0%,#101212c9 9%,transparent 40%),linear-gradient(90deg,#10121255,transparent 18%,transparent 82%,#10121255)}
  .about-copy{position:relative;margin-top:-12px}
  .about-copy h2{font-size:2.375rem;margin-bottom:20px}
  .about-copy p{font-size:1rem;line-height:1.65}
  .about-signature{margin-top:26px;padding-top:18px;max-width:100%}
  .location-heading h2{font-size:2.125rem}
}
@media(min-width:600px) and (max-width:800px){.services-image-showcase{aspect-ratio:1.5}.services-image-showcase img{max-height:none}}
@media(prefers-reduced-motion:reduce){.button,.nav-links a::after,.service-progress span,.service-arrows button{transition:none}}
/* Same frame, with focal positions suited to the supplied real photographs. */
.comparison>.comparison-image{object-position:50% 59%}
.comparison-before .comparison-image{object-position:50% 64%}
@media(max-width:800px){
  .comparison>.comparison-image{object-position:50% 0%}
  .comparison-before .comparison-image{object-position:50% 58%}
}

.mobile-whatsapp{display:none}
@media(max-width:800px){
  .mobile-whatsapp{position:fixed;z-index:40;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#218b52;color:#fff;box-shadow:0 5px 20px #0005;border:1px solid #ffffff30}
  .mobile-whatsapp svg{width:29px;height:29px}
  .mobile-whatsapp:hover{background:#1a7444}
  .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}

/* ===== Antes e depois: moldura no formato real das fotos (3:4), sem cortes ===== */
.comparison-container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:center}
.comparison-heading{display:block;margin-bottom:0}
.comparison-heading .comparison-hint{font-size:1rem;line-height:1.6;color:var(--muted);max-width:32ch;margin-top:26px;padding:0}
.comparison-figure{width:100%;max-width:min(600px,calc((100svh - 80px) * .75));justify-self:end}
.comparison{aspect-ratio:1086/1448;border-radius:18px;border:1px solid #ffffff1f;box-shadow:0 30px 70px #0008;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.comparison .comparison-image,.comparison>.comparison-image,.comparison-before .comparison-image{object-fit:cover;object-position:50% 50%;pointer-events:none}
.comparison-range{pointer-events:none}
.comparison:focus-within{outline:none}
.comparison:has(.comparison-range:focus-visible){outline:2px solid var(--accent);outline-offset:6px}
.comparison-label{border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff2a;background:#0c0e0e80;text-transform:uppercase;font-size:.75rem}
.comparison-divider{width:2px;background:linear-gradient(180deg,transparent,#f3e6c6 12%,#f3e6c6 88%,transparent);box-shadow:0 0 12px #e8d3a0,0 0 26px #e8d3a080}
.comparison-divider>span{width:58px;height:58px;padding:0 14px;color:#fff;font-size:1.6rem;background:linear-gradient(135deg,#ffffff38,#ffffff0d 60%);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid #f3e6c6b3;box-shadow:inset 0 1px 0 #ffffff80,inset 0 -8px 16px #0003,0 0 16px #e8d3a0aa,0 0 38px #e8d3a055,0 6px 20px #0006;text-shadow:0 0 8px #f3e6c6;transition:transform .2s ease}
.comparison.is-dragging .comparison-divider>span{transform:translate(-50%,-50%) scale(1.08)}
@media(max-width:800px){
  .comparison-container{display:block}
  .comparison-heading{margin-bottom:28px}
  .comparison-heading .comparison-hint{font-size:.9375rem;margin-top:16px;max-width:40ch}
  .comparison-figure{max-width:none}
  .comparison{aspect-ratio:1086/1448;margin-inline:0;border-radius:14px}
  .comparison>.comparison-image,.comparison-before .comparison-image{object-position:50% 50%}
  .comparison-divider>span{width:52px;height:52px;padding-inline:12px}
}
@media(max-width:420px){.comparison-heading p{max-width:none}}

/* ===== Serviços: troca com transição suave ===== */
#service-img,#service-copy{transition:opacity .18s ease,transform .18s ease}
#service-img.is-changing{opacity:0;transform:scale(1.015)}
#service-copy.is-changing{opacity:0;transform:translateY(6px)}
.services-image-showcase{border-radius:18px}

/* ===== Botões: vidro + neon, com reflexo de vidro ===== */
:root{--neon:#e8d3a0;--neon-soft:#e8d3a066;--glass:#ffffff14}
.button,.nav-cta,.service-arrows button,.secondary-link,.route-link,.mobile-whatsapp{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(135deg,#ffffff2b 0%,#ffffff0a 45%,#ffffff05 55%,#ffffff17 100%);
  backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%);
  border:1px solid #f1e2bd99;border-radius:14px;color:#f7f3ea;
  box-shadow:inset 0 1px 0 #ffffff73,inset 0 -10px 20px #00000026,inset 0 0 12px #e8d3a026,0 0 14px var(--neon-soft),0 0 34px #e8d3a02e,0 10px 26px #0005;
  text-shadow:0 0 10px #e8d3a066;
  transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease,background .25s ease,color .25s ease}
/* reflexo fixo na metade superior */
.button::after,.nav-cta::after,.service-arrows button::after,.secondary-link::after,.route-link::after,.mobile-whatsapp::after{
  content:'';position:absolute;inset:1px 1px 52% 1px;border-radius:13px 13px 40% 40%/13px 13px 14px 14px;
  background:linear-gradient(180deg,#ffffff40,#ffffff08);pointer-events:none;z-index:-1}
/* brilho que atravessa o vidro */
.button::before,.nav-cta::before,.service-arrows button::before,.secondary-link::before,.route-link::before,.mobile-whatsapp::before{
  content:'';position:absolute;top:-50%;bottom:-50%;left:-80%;width:45%;pointer-events:none;z-index:1;
  background:linear-gradient(100deg,transparent,#ffffff17 30%,#ffffff8c 50%,#ffffff17 70%,transparent);
  transform:skewX(-20deg);animation:glass-sheen 5.5s ease-in-out infinite}
.nav-cta::before,.secondary-link::before,.route-link::before{animation-delay:1.2s}
.service-arrows button::before{animation:none}
@keyframes glass-sheen{0%,62%{left:-80%}88%,100%{left:140%}}
.button:hover,.nav-cta:hover,.service-arrows button:hover,.secondary-link:hover,.route-link:hover,.button:focus-visible,.nav-cta:focus-visible,.service-arrows button:focus-visible{
  border-color:#fff3d4;color:#fff;background:linear-gradient(135deg,#ffffff3d 0%,#ffffff12 45%,#ffffff0a 55%,#ffffff24 100%);
  box-shadow:inset 0 1px 0 #ffffffa6,inset 0 -10px 20px #00000026,inset 0 0 18px #e8d3a04d,0 0 18px var(--neon),0 0 48px #e8d3a080,0 0 90px #e8d3a033,0 12px 30px #0006;
  transform:translateY(-2px)}
.button:hover::before,.nav-cta:hover::before,.service-arrows button:hover::before,.secondary-link:hover::before,.route-link:hover::before{animation:glass-sheen-fast .8s ease-out}
@keyframes glass-sheen-fast{from{left:-80%}to{left:140%}}
.button:active,.nav-cta:active,.service-arrows button:active,.secondary-link:active,.route-link:active{transform:translateY(0) scale(.98)}

.button{padding:8px 8px 8px 26px;font-weight:550}
.button>span{border-left:1px solid #f1e2bd59;color:var(--neon);text-shadow:0 0 10px var(--neon)}
.nav-cta{padding:0 18px;min-height:46px;gap:14px}
.nav-cta span{color:var(--neon);text-shadow:0 0 10px var(--neon)}
.secondary-link{padding:0 20px;min-height:52px;gap:18px;color:#ecebe5;border-color:#ffffff40;box-shadow:inset 0 1px 0 #ffffff59,0 0 12px #e8d3a02e,0 8px 22px #0004}
.service-arrows button{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem}
.service-arrows button::after{border-radius:50% 50% 45% 45%/60% 60% 30% 30%}
.service-arrows button:hover{background:linear-gradient(135deg,#ffffff3d,#ffffff12);color:#fff;border-color:#fff3d4}
.route-link{display:inline-flex;justify-content:space-between;min-height:54px;padding:0 20px;margin-top:22px;border-bottom:1px solid #f1e2bd99;float:right}
.route-link span{color:var(--neon)}
.location-section .container::after{content:'';display:block;clear:both}
.mobile-whatsapp{position:fixed;border-radius:50%;background:linear-gradient(135deg,#3be08a 0%,#1f9d5a 55%,#177a45 100%);border-color:#8dffc0b3;
  box-shadow:inset 0 1px 0 #ffffff8c,inset 0 -8px 16px #0003,0 0 16px #2ee88099,0 0 38px #2ee88055,0 6px 20px #0006}
.mobile-whatsapp::after{border-radius:50% 50% 45% 45%/60% 60% 30% 30%}
.mobile-whatsapp:hover{background:linear-gradient(135deg,#46ec96,#22a862 55%,#1a8049)}
@media(max-width:800px){
  .route-link{float:none;display:flex;width:100%}
  .nav-cta{padding:0 14px;min-height:44px}
}
@media(max-width:420px){.hero-actions .button{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){
  .button::before,.nav-cta::before,.secondary-link::before,.route-link::before,.mobile-whatsapp::before{animation:none;display:none}
  #service-img,#service-copy,.comparison-divider>span{transition:none}
}
