/* ============ Derret's Trato ============
   Layout: hero assimétrico (texto à esquerda, foto recortada em diagonal à direita),
   serviços em degraus (preço sobe com o nível), galeria em mosaico, contato com formulário que monta a mensagem. */
:root{
  --bg:#070707;
  --bg-2:#0f0f0f;
  --line:#272727;
  --ink:#f3f3f0;
  --mute:#a6a9af;
  --yellow:#fde304;
  --yellow-dk:#d9c200;
  --f-title:'Barlow Condensed','Arial Narrow','Helvetica Neue Condensed','DejaVu Sans Condensed',Impact,sans-serif;
  --f-body:'Barlow','Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --gut:clamp(16px,5vw,56px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--yellow);color:#000;padding:10px 16px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:var(--gut)}

/* bolhas: atrás do conteúdo, nunca recebem toque */
#foam{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,.foot{position:relative;z-index:1}

/* ---------- botões ---------- */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font-family:var(--f-title);font-weight:800;font-style:italic;font-size:1.2rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border-radius:4px;transform:skewX(-8deg);transition:transform .3s var(--ease),background-color .2s,color .2s,border-color .2s,box-shadow .3s;-webkit-tap-highlight-color:transparent}
.btn>*{transform:skewX(8deg)}
.btn:hover{transform:skewX(-8deg) translateY(-2px)}
.btn:active{transform:skewX(-8deg) scale(.97)}
.btn--sm{min-height:42px;padding:0 18px;font-size:1.05rem}
.btn--lg{min-height:60px;padding:0 30px;font-size:1.3rem}
.btn--block{width:100%}
.btn--yellow{background:var(--yellow);color:#000;box-shadow:0 10px 28px -12px rgba(253,227,4,.55)}
.btn--yellow:hover{background:#fff27a;box-shadow:0 14px 32px -12px rgba(253,227,4,.7)}
.btn--ghost{border:2px solid #4a4a4a;color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--yellow);color:var(--yellow)}
.btn--shine::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-130%);transition:transform .7s var(--ease)}
.btn--shine:hover::after{transform:translateX(130%)}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:100;padding:calc(env(safe-area-inset-top) + 10px) var(--gut) 10px;transition:padding .4s var(--ease),background-color .4s,border-color .4s;border-bottom:1px solid transparent}
.top__in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top__logo{display:block;mix-blend-mode:screen}
.top__logo img{height:62px;width:auto;transition:height .4s var(--ease)}
.top__nav{display:none;gap:34px;font-family:var(--f-title);font-weight:600;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.top__nav a{text-decoration:none;color:var(--mute);padding:6px 0;background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/0 3px no-repeat;transition:color .2s,background-size .35s var(--ease)}
.top__nav a:hover{color:var(--ink);background-size:100% 3px}
.top.sm{padding-top:calc(env(safe-area-inset-top) + 6px);padding-bottom:6px;background:rgba(7,7,7,.78);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.top.sm .top__logo img{height:40px}
@media(min-width:820px){.top__nav{display:flex}}
@media(max-width:480px){.top .btn span{display:none}.top .btn{padding:0 14px}}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(env(safe-area-inset-top) + 84px) 0 44px;overflow-x:clip}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 60% at 80% 55%,rgba(253,227,4,.10),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(255,255,255,.05),transparent 70%)}
.hero__in{position:relative;display:grid;gap:26px;align-items:center}
.hero__in>*{min-width:0}
.hero__eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--f-title);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);font-size:1rem;margin-bottom:14px}
.hero__eyebrow::before{content:"";width:34px;height:4px;background:var(--yellow);transform:skewX(-30deg)}
.hero__title{font-family:var(--f-title);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2.5rem,10.4vw,5.2rem);line-height:.92;letter-spacing:-.005em}
.hero__title .ln{display:block;overflow:hidden;padding:.04em .1em .06em 0;margin-bottom:-.04em}
.hero__title .ln>span{display:block}
.ln--w{color:var(--ink)}
.ln--y{color:var(--yellow)}
.hero__sub{margin-top:20px;max-width:30em;color:var(--mute);font-size:clamp(1.02rem,2.6vw,1.2rem)}
.hero__cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px}
.hero__from{margin-top:20px;color:var(--mute);font-size:.98rem}
.hero__from b{color:var(--yellow);font-weight:600}
/* piloto recortado */
.hero__fig{position:relative;order:-1;width:min(72%,300px);aspect-ratio:1069/1100;margin:4px auto 0;--px:0;--py:0}
.hero__slab{position:absolute;inset:14% 0 6% 10%;background:var(--yellow);clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);opacity:.92;translate:calc(var(--px)*-.5px) calc(var(--py)*-.5px)}
.hero__ring{position:absolute;inset:-2% -4% 4% -6%;border-radius:50%;border:5px dashed rgba(255,255,255,.22);translate:calc(var(--px)*.4px) calc(var(--py)*.4px)}
.hero__rider{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.65));translate:calc(var(--px)*1px) calc(var(--py)*1px);will-change:translate}
@media(min-width:900px){
  .hero{padding:calc(env(safe-area-inset-top) + 112px) 0 70px;min-height:min(800px,100svh)}
  .hero__in{grid-template-columns:1.05fr .95fr;gap:30px}
  .hero__fig{order:0;width:min(100%,560px);margin:0 0 0 auto}
}

/* ---------- seções ---------- */
.sec{padding:76px 0}
.sec__head{max-width:36em;margin-bottom:48px}
.sec__head h2,.care h2,.book h2{font-family:var(--f-title);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.95;letter-spacing:-.005em;text-wrap:balance}
.sec__head p{margin-top:16px;color:var(--mute);max-width:32em}
@media(min-width:900px){.sec{padding:112px 0}}

/* ---------- serviços em carrossel horizontal ---------- */
.sec--svc{padding-bottom:56px}
.sec__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;max-width:none}
.sec__head--row p{margin-top:12px}
.car__arrows{display:none;gap:10px}
.car__btn{width:52px;height:52px;display:grid;place-items:center;border:2px solid #4a4a4a;background:#0c0c0c;transition:background-color .2s,color .2s,border-color .2s,opacity .2s,transform .2s;transform:skewX(-8deg)}
.car__btn svg{transform:skewX(8deg)}
.car__btn:hover:not(:disabled){background:var(--yellow);border-color:var(--yellow);color:#000}
.car__btn:active:not(:disabled){transform:skewX(-8deg) scale(.94)}
.car__btn:disabled{opacity:.3;cursor:default}
.car{--edge:max(var(--gut),calc((100% - 1240px)/2 + var(--gut)))}
.car__track{display:flex;gap:18px;overflow-x:auto;padding:6px var(--edge) 10px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--edge);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.car__track::-webkit-scrollbar{display:none}
.car__track:focus-visible{outline-offset:-3px}
@media(hover:hover) and (pointer:fine){.car__track{cursor:grab}}
.car__track.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.car__track.drag a{pointer-events:none}
.svc__card{flex:0 0 clamp(272px,78vw,410px);scroll-snap-align:start;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease)}
.svc__card:hover{border-color:#555;transform:translateY(-4px)}
.svc__card--top{border-color:var(--yellow)}
.svc__img{overflow:hidden;aspect-ratio:4/3}
.svc__img img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .8s var(--ease)}
.svc__card:hover .svc__img img{transform:scale(1.04)}
.svc__body{display:flex;flex-direction:column;gap:6px;padding:20px 20px 22px;flex:1}
.lvl{display:flex;gap:5px;margin-bottom:4px}
.lvl i{width:26px;height:6px;background:#333;transform:skewX(-20deg)}
.lvl i.on{background:var(--yellow)}
.svc__body h3{font-family:var(--f-title);font-weight:800;font-style:italic;text-transform:uppercase;font-size:1.7rem;line-height:1}
.svc__price{font-family:var(--f-title);font-weight:800;font-style:italic;color:var(--yellow);line-height:.95;font-size:3.4rem}
.svc__price small{font-size:.5em;margin-left:2px}
.svc__desc{color:var(--mute);margin:6px 0 16px;flex:1;font-size:1rem}
.car__foot{display:flex;align-items:center;gap:18px;margin-top:14px}
.car__bar{flex:1;height:4px;background:#222;overflow:hidden;transform:skewX(-30deg)}
.car__bar i{display:block;height:100%;width:34%;background:var(--yellow);transition:margin-left .15s linear,width .2s}
.car__dots{display:flex;gap:7px}
.car__dots i{width:9px;height:9px;background:#333;transform:skewX(-20deg);transition:background-color .2s,width .3s var(--ease)}
.car__dots i.on{background:var(--yellow);width:22px}
.svc__note{margin-top:22px;color:var(--mute);font-size:.95rem;max-width:44em}
@media(min-width:820px){.car__arrows{display:flex}.car__track{gap:22px}}

/* marca de pneu */
.track{display:block;width:100%;height:56px;position:relative;z-index:1;clip-path:inset(0 100% 0 0);transition:clip-path 1.6s var(--ease)}
.track.in{clip-path:inset(0 0 0 0)}
.track path{fill:none;stroke-width:7;stroke-dasharray:3 8}
.track .t1{stroke:var(--yellow);opacity:.85}
.track .t2{stroke:#8a8d93;opacity:.45}

/* ---------- lavagem de carros ---------- */
.cars{padding:56px 0}
.cars__in{display:grid;gap:30px;align-items:center}
.cars__in>*{min-width:0}
.cars__fig{position:relative;width:min(100%,420px);margin:0 auto}
.cars__fig::before{content:"";position:absolute;inset:14px -14px -14px 14px;background:var(--yellow);clip-path:polygon(0 0,100% 0,100% 100%,12% 100%)}
.cars__fig img{position:relative;width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:50% 62%;clip-path:polygon(0 0,100% 0,100% 100%,12% 100%)}
.tag{display:inline-block;background:var(--yellow);color:#000;font-family:var(--f-title);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.05em;padding:3px 14px;font-size:1.05rem;transform:skewX(-8deg);margin-bottom:16px}
.cars h2{font-family:var(--f-title);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.95}
.cars__txt .tag{color:#000;margin-top:0;max-width:none}
.tag--lg{display:block;width:fit-content;max-width:100%;font-size:clamp(1.7rem,6vw,3rem);line-height:1;padding:8px 22px;margin-bottom:26px}
.cars__txt p{margin-top:16px;color:var(--mute);max-width:30em}
.cars__txt .cars__price{font-family:var(--f-title);font-weight:800;font-style:italic;text-transform:uppercase;color:var(--yellow);font-size:1.7rem;line-height:1.05;margin:20px 0 22px}
@media(min-width:820px){.cars{padding:80px 0}.cars__in{grid-template-columns:.8fr 1.2fr;gap:80px}.cars__fig{margin:0}}

/* ---------- faixa automática de fotos ---------- */
.reel{padding:36px 0 56px;overflow:hidden}
.reel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.reel h2{font-family:var(--f-title);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,6vw,3.4rem);line-height:.95}
.reel__pause{min-height:44px;padding:0 18px;border:2px solid #4a4a4a;font-family:var(--f-title);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;transition:border-color .2s,color .2s}
.reel__pause:hover{border-color:var(--yellow);color:var(--yellow)}
.reel__view{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.reel__track{display:flex;width:max-content;animation:reel 70s linear infinite;will-change:transform}
.reel__track li{flex:none;margin-right:14px}
.reel__track img{height:clamp(250px,62vw,380px);width:auto;max-width:none;pointer-events:none;-webkit-user-drag:none;user-select:none}
.reel.paused .reel__track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.reel__view:hover .reel__track{animation-play-state:paused}}
@keyframes reel{to{transform:translateX(-50%)}}

/* ---------- cuidado nos detalhes ---------- */
.care{background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03));padding:64px 0}
.care__in{display:grid;gap:34px;align-items:center}
.care__in>*{min-width:0}
.care h2{font-family:var(--f-title);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,6vw,3.3rem);line-height:.98;text-wrap:balance}
.care__txt p{margin-top:18px;color:var(--mute);max-width:32em}
.care__pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.care__p{overflow:hidden;aspect-ratio:3/5;background:var(--bg-2)}
.care__p img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.care__p:hover img{transform:scale(1.05)}
.care__p--b,.care__p--d{margin-top:18px}
.care__p--a,.care__p--c{margin-bottom:18px}
@media(min-width:820px){.care{padding:90px 0}.care__in{grid-template-columns:.9fr 1.1fr;gap:60px}.care__pics{gap:12px}}

/* ---------- agendar ---------- */
.book__in{display:grid;gap:40px;align-items:start}
.book__in>*{min-width:0}
.book__txt p{margin-top:18px;color:var(--mute);max-width:30em}
.book__links{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px}
.btn[hidden]{display:none}
.book__warn{margin-top:26px;border:1px dashed var(--yellow);padding:12px 14px;color:var(--ink) !important;font-size:.9rem;max-width:34em}
.book__warn code{background:#222;padding:1px 6px}
.book__form{display:grid;gap:20px;background:var(--bg-2);border:1px solid var(--line);padding:clamp(20px,4vw,34px)}
.book__form fieldset{border:0;margin:0;padding:0;min-width:0}
.book__form legend,.field label{display:block;font-family:var(--f-title);font-weight:600;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;padding:0}
.field em{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:.85rem;opacity:.8}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opt{position:relative;cursor:pointer;min-width:0}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;padding:8px 4px;border:2px solid #3a3a3a;font-family:var(--f-title);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(1rem,4.6vw,1.2rem);line-height:1.05;text-align:center;transition:border-color .2s,background-color .2s,color .2s}
.opt small{font-family:var(--f-body);font-style:normal;font-weight:500;text-transform:none;font-size:.82rem;color:var(--mute)}
.opt:hover span{border-color:#777}
.opt input:checked+span{background:var(--yellow);border-color:var(--yellow);color:#000}
.opt input:checked+span small{color:#222}
.opt input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.field input{width:100%;min-height:50px;padding:0 14px;background:#000;border:2px solid #3a3a3a;color:var(--ink);font:inherit;border-radius:0;transition:border-color .2s}
.field input::placeholder{color:#6d7077}
.field input:focus{border-color:var(--yellow);outline:none}
@media(min-width:900px){.book__in{grid-template-columns:.9fr 1.1fr;gap:80px}}

/* ---------- rodapé ---------- */
.foot{padding:56px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:30px}
.foot__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.foot__logo{width:190px;height:auto;mix-blend-mode:screen}
.foot__nav{display:flex;flex-wrap:wrap;gap:6px 26px;font-family:var(--f-title);font-weight:600;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.foot__nav a{text-decoration:none;padding:8px 0;color:var(--mute);background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/0 3px no-repeat;transition:color .2s,background-size .35s var(--ease)}
.foot__nav a:hover{color:var(--ink);background-size:100% 3px}
.foot__nav [hidden]{display:none}
.foot__copy{margin-top:34px;color:#6d7077;font-size:.85rem}

/* ---------- botão flutuante ---------- */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;width:54px;height:54px;display:grid;place-items:center;background:var(--yellow);color:#000;border-radius:50%;box-shadow:0 12px 26px -8px rgba(0,0,0,.8);opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .35s,transform .45s var(--ease),background-color .2s}
.fab.on{opacity:1;transform:none;pointer-events:auto}
.fab:hover{background:#fff27a}

/* ---------- entradas (só com JS) ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .hero__title .ln>span{transform:translateY(110%);animation:rise .9s var(--ease) forwards}
.js .hero__title .ln:nth-child(2)>span{animation-delay:.14s}
@keyframes rise{to{transform:none}}
.js .hero__sub,.js .hero__cta,.js .hero__from{opacity:0;animation:fadeup .8s var(--ease) .5s forwards}
.js .hero__cta{animation-delay:.62s}.js .hero__from{animation-delay:.74s}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.js .hero__rider{animation:rider 1.1s var(--ease) .15s backwards}
.js .hero__slab{animation:slab 1s var(--ease) .05s backwards}
.js .hero__ring{animation:ring 1.3s var(--ease) .3s backwards}
@keyframes rider{from{opacity:0;transform:translateX(60px) scale(.94)}to{opacity:1;transform:none}}
@keyframes slab{from{opacity:0;transform:translateX(80px)}to{opacity:.92;transform:none}}
@keyframes ring{from{opacity:0;transform:scale(.9) rotate(-20deg)}to{opacity:1;transform:none}}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .js .rv,.js .hero__sub,.js .hero__cta,.js .hero__from,.js .hero__title .ln>span{opacity:1;transform:none}
  .track{clip-path:none}
  .reel__track{animation:none;width:auto;overflow-x:auto}
  .reel__view{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .reel .dup,.reel__pause{display:none}
  .car__track{scroll-behavior:auto}
  #foam{display:none}
}

@media(max-width:420px){.opt span{font-size:.84rem;letter-spacing:0;padding:8px 2px}.btn--lg{padding:0 20px;font-size:1.15rem}}
