/* ============================================================
   NEW WAVE PRODUCTIONS, estúdio de gravação, Almada
   Estúdio analógico, escuro, cinematográfico.
   ============================================================ */

:root{
  color-scheme:dark;
  --bg:#0A0A0A;
  --surface:#141414;
  --surface2:#1B1B1B;
  --cream:#EDEAE4;
  --muted:#9C978E;
  --soft:#6A665F;
  --rec:#8FCBE8;          /* azul bebé, acento principal */
  --rec-d:#6FB6DA;        /* azul bebé saturado, hover/estado ativo */
  --rec-glow:143,203,232; /* componentes RGB do acento p/ rgba() de glow/sombras */
  --line:rgba(237,234,228,.12);
  --line-s:rgba(237,234,228,.06);
  --max:1200px;
  --ease:cubic-bezier(.6,.01,.05,.95);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);color:var(--cream);
  line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;line-height:.92;text-transform:uppercase;letter-spacing:.005em}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Inter',sans-serif;font-size:.74rem;font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;color:var(--rec);
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--rec)}

/* Grão / ruído sobre o fundo */
.grain{
  position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--rec);color:#0A0A0A;padding:12px 18px}
.skip:focus{left:12px;top:12px}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;
  padding:15px 30px;border:1px solid transparent;
  transition:transform .2s var(--ease),background .25s,color .25s,border-color .25s;
  white-space:nowrap;
}
.btn-rec{background:var(--rec);color:#0A0A0A;border-color:var(--rec)}
.btn-rec:hover{background:var(--rec-d);border-color:var(--rec-d);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--cream);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--cream);transform:translateY(-2px)}

/* ---------- HEADER ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .35s,box-shadow .35s,border-color .35s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(10,10,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-s)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:18px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand .logo{height:64px;width:auto;display:block;transition:height .35s var(--ease)}
header.scrolled .brand .logo{height:52px}
@media(max-width:900px){
  .brand .logo{height:52px}
  header.scrolled .brand .logo{height:44px}
}
.navlinks{display:flex;gap:32px;font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.navlinks a{color:var(--muted);position:relative;padding:6px 0;transition:color .2s}
.navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--rec);transition:width .28s var(--ease)}
.navlinks a:hover,.navlinks a.on{color:var(--cream)}
.navlinks a:hover::after,.navlinks a.on::after{width:100%}
.nav .cta{padding:12px 22px}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;background:transparent;border:0;align-items:center;justify-content:center}
.burger span{width:24px;height:2px;background:var(--cream);transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  .nav{height:64px}
  .nav .cta{display:none}
  .burger{display:flex}
  .navlinks{
    position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;
    background:rgba(10,10,10,.98);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    padding:8px 0;
    transform:translateY(-120%);transition:transform .4s var(--ease);
    max-height:calc(100vh - 64px);overflow:auto;
  }
  .navlinks.show{transform:translateY(0)}
  .navlinks a{padding:16px 28px;font-size:1rem;border-bottom:1px solid var(--line-s)}
  .navlinks a::after{display:none}
}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero-bg{
  position:absolute;inset:-4%;z-index:0;
  background:url('../img/hero.jpg') center/cover no-repeat;
  animation:ken 22s ease-in-out infinite alternate;will-change:transform;
}
@keyframes ken{0%{transform:scale(1)}100%{transform:scale(1.08)}}
@media(max-width:768px){
  /* Mobile: sem Ken Burns nem overscan (desfocava o fundo) + imagem vertical dedicada de alta resolução */
  .hero-bg{
    inset:0;
    animation:none;
    transform:none!important;
    background-image:url('../img/hero-mobile-v2@2x.jpg');
    background-image:-webkit-image-set(url('../img/hero-mobile-v2.jpg') 1x,url('../img/hero-mobile-v2@2x.jpg') 2x);
    background-image:image-set(url('../img/hero-mobile-v2.jpg') 1x,url('../img/hero-mobile-v2@2x.jpg') 2x);
    /* 28-09-2026: imagem inteira na largura, ecrã do estúdio centrado e sem cortes */
    background-size:100% auto;background-position:center top;background-color:#0A0A0A;
  }
}
.hero-veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.35) 40%,rgba(10,10,10,.92) 100%),
  radial-gradient(120% 80% at 50% 20%,transparent,rgba(10,10,10,.5))}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:9vh;padding-top:120px;text-align:center}
.hero-sub{justify-content:center}
.hero-cta{justify-content:center}
@media(min-width:901px){.hero-inner{padding-bottom:calc(9vh + 72px)}}
.hero-title{
  font-size:clamp(3.4rem,15vw,12rem);line-height:.86;letter-spacing:-.01em;
  color:var(--cream);text-shadow:0 6px 40px rgba(0,0,0,.5);
}
.hero-title .line{display:block;overflow:hidden}
.hero-title .w{display:inline-block;transform:translateY(110%);opacity:0}
.reveal-ready .hero-title .w{animation:wordUp .9s var(--ease) forwards}
.hero-title .line:nth-child(1) .w:nth-child(1){animation-delay:.15s}
.hero-title .line:nth-child(1) .w:nth-child(2){animation-delay:.28s}
.hero-title .line:nth-child(2) .w:nth-child(1){animation-delay:.41s}
@keyframes wordUp{to{transform:translateY(0);opacity:1}}
.hero-sub{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap;
  opacity:0;transform:translateY(20px)}
.reveal-ready .hero-sub{animation:fadeUp .8s var(--ease) .7s forwards}
.hero-sub p{font-size:clamp(1rem,2vw,1.3rem);color:rgba(237,234,228,.9);font-weight:300;max-width:42ch}
.rec{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.8rem;letter-spacing:.24em;color:var(--cream);flex-shrink:0}
.rec-dot{width:11px;height:11px;border-radius:50%;background:var(--rec);box-shadow:0 0 0 0 rgba(143,203,232,.7);animation:recpulse 1.8s ease-out infinite}
@keyframes recpulse{0%{box-shadow:0 0 0 0 rgba(143,203,232,.6)}70%{box-shadow:0 0 0 12px rgba(143,203,232,0)}100%{box-shadow:0 0 0 0 rgba(143,203,232,0)}}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;opacity:0;transform:translateY(20px)}
.reveal-ready .hero-cta{animation:fadeUp .8s var(--ease) .85s forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.scrollcue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase}
.scrollcue .ln{width:1px;height:40px;background:linear-gradient(var(--rec),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}
@media(max-width:900px){.scrollcue{display:none}}

/* ---------- HEADINGS DE SECÇÃO ---------- */
section{position:relative}
.shead{max-width:760px;padding-top:110px;padding-bottom:12px}
.shead h2{font-size:clamp(2.4rem,6vw,4.6rem);margin-top:18px;color:var(--cream)}
.shead p{color:var(--muted);font-size:1.06rem;margin-top:18px;max-width:56ch}

/* ---------- O ESPAÇO (acordeão) ---------- */
.espaco{padding-bottom:0}
.acc{display:flex;gap:6px;height:78vh;min-height:520px;margin-top:52px;padding:0 6px}
.panel{
  position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:#000;
  transition:flex-grow .6s var(--ease);
}
.panel-media{
  position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;
  filter:grayscale(1) brightness(.4) contrast(1.05);
  transition:filter .6s var(--ease),transform .8s var(--ease);
  transform:scale(1.05);
}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.1),rgba(10,10,10,.75));z-index:1;pointer-events:none}
.panel-toggle{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;background:transparent;border:0;padding:0;
  display:block;text-align:left;color:inherit;
}
.panel-label{
  position:absolute;left:0;bottom:26px;z-index:2;width:100%;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  writing-mode:vertical-rl;transform:rotate(180deg);
  height:auto;
}
.panel-idx{font-family:'Inter',sans-serif;writing-mode:horizontal-tb;font-size:.7rem;font-weight:600;letter-spacing:.2em;color:var(--rec)}
.panel-name{font-family:'Anton',sans-serif;font-size:clamp(1.3rem,2vw,1.9rem);text-transform:uppercase;letter-spacing:.04em;color:var(--cream);white-space:nowrap}
.panel-chev{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:22px;height:22px;z-index:2;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,opacity .4s;transform-origin:center;transform:translateX(-50%) rotate(90deg)}
.panel-body{
  position:absolute;left:0;bottom:0;z-index:3;padding:0 40px 44px;max-width:560px;
  opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease) .1s,transform .5s var(--ease) .1s;
  pointer-events:none;
}
.panel-body h3{font-size:clamp(2rem,3.2vw,3.4rem);color:var(--cream)}
.panel-body p{color:rgba(237,234,228,.82);font-size:1.05rem;font-weight:300;margin-top:14px;max-width:44ch}

/* estado expandido (desktop hover) */
@media(hover:hover) and (min-width:901px){
  .panel:hover{flex-grow:5.2}
  .panel:hover .panel-media{filter:grayscale(0) brightness(.72) contrast(1.02);transform:scale(1)}
  .panel:hover .panel-label{opacity:0}
  .panel:hover .panel-chev{opacity:0}
  .panel:hover .panel-body{opacity:1;transform:translateY(0);pointer-events:auto}
  .panel:hover::after{background:linear-gradient(120deg,rgba(10,10,10,.2),rgba(10,10,10,.85))}
}

/* MOBILE, accordion vertical */
@media(max-width:900px){
  .acc{flex-direction:column;height:auto;min-height:0;gap:8px;margin-top:36px}
  .panel{flex:none;height:92px;transition:height .55s var(--ease)}
  .panel-media{filter:grayscale(1) brightness(.42);transform:scale(1)}
  .panel-label{
    writing-mode:horizontal-tb;transform:none;flex-direction:row;align-items:center;justify-content:flex-start;
    left:0;right:0;top:0;bottom:auto;height:92px;width:auto;padding:0 24px;gap:16px;
  }
  .panel-name{font-size:1.35rem}
  .panel-chev{top:46px;left:auto;right:22px;transform:translateY(-50%);opacity:1}
  .panel-body{top:auto;bottom:0;padding:0 24px 26px;max-width:none;transform:translateY(16px)}
  .panel-body h3{display:none}
  .panel-body p{font-size:1rem}
  .panel.open{height:min(72vh,440px)}
  .panel.open .panel-media{filter:grayscale(0) brightness(.5);transform:scale(1)}
  .panel.open .panel-chev{transform:translateY(-50%) rotate(90deg)}
  .panel.open .panel-body{opacity:1;transform:none;pointer-events:auto}
  .panel.open::after{background:linear-gradient(180deg,rgba(10,10,10,.12),rgba(10,10,10,.82))}
}

/* ---------- EQUIPAMENTO ---------- */
.equip{padding-bottom:110px}
.marquee{margin:60px 0 70px;display:flex;flex-direction:column;gap:14px;user-select:none}
.marquee-row{display:flex;overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;flex-shrink:0;gap:0;padding-right:0;
  animation:mq 32s linear infinite;will-change:transform}
.marquee-row.alt .marquee-track{animation-direction:reverse}
.marquee-track span{font-family:'Anton',sans-serif;font-size:clamp(1.8rem,4.6vw,3.6rem);text-transform:uppercase;letter-spacing:.02em;color:var(--cream);white-space:nowrap;padding:0 .35em}
.marquee-track .sep{color:var(--rec);padding:0 .1em}
.marquee-row.alt .marquee-track span{color:transparent;-webkit-text-stroke:1px rgba(237,234,228,.4)}
.marquee-row.alt .marquee-track .sep{color:var(--rec);-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-100%)}}
.marquee:hover .marquee-track{animation-play-state:paused}
.equip-copy{max-width:720px;display:grid;gap:20px}
.equip-copy p{font-size:1.16rem;color:rgba(237,234,228,.86);font-weight:300}
.equip-copy p:last-child{color:var(--muted);font-size:1rem}

/* ---------- PORTEFÓLIO ---------- */
.portfolio{padding-bottom:120px}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:56px}
@media(max-width:760px){.pf-grid{grid-template-columns:1fr}}
.pf-card{background:var(--surface);border:1px solid var(--line-s);transition:border-color .35s}
.pf-card:hover{border-color:var(--line)}
.pf-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000;border:0;padding:0;line-height:0}
.pf-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.74);transition:transform .7s var(--ease),filter .5s}
.pf-card:hover .pf-thumb img{transform:scale(1.06);filter:grayscale(0) brightness(.92)}
.pf-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.05),rgba(10,10,10,.42));pointer-events:none;transition:opacity .4s}
.pf-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:66px;height:66px;border-radius:50%;background:rgba(10,10,10,.5);border:1.5px solid var(--rec);
  display:grid;place-items:center;transition:background .3s,border-color .3s,transform .3s var(--ease)}
.pf-play svg{width:26px;height:26px;fill:var(--rec);margin-left:4px;transition:fill .3s}
.pf-card:hover .pf-play{background:var(--rec);border-color:var(--rec);transform:translate(-50%,-50%) scale(1.08)}
.pf-card:hover .pf-play svg{fill:#0A0A0A}
.pf-thumb:focus-visible{outline:2px solid var(--rec);outline-offset:3px}
.pf-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.pf-meta{padding:20px 22px 22px}
.pf-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.5rem;color:var(--cream);line-height:1;letter-spacing:.01em}
.pf-artist{color:var(--muted);font-size:.9rem;margin-top:9px}

/* ---------- A EQUIPA ---------- */
.equipa{padding-bottom:120px}
.team-list{display:flex;flex-direction:column;margin-top:56px}
.tm-profile{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line-s)}
.tm-profile:last-child{border-bottom:none;padding-bottom:0}
.tm-profile:first-child{padding-top:0}
.tm-name{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2.8rem,6.4vw,4.8rem);line-height:.94;color:var(--cream)}
.tm-role{color:var(--rec);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-top:20px}
.tm-desc{color:var(--muted);font-size:1.05rem;line-height:1.7;margin-top:14px;max-width:40ch}
.tm-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
.tm-g-main{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--surface)}
.tm-g-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.22),rgba(10,10,10,.12) 40%,rgba(10,10,10,.45));pointer-events:none}
.tm-g-main img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.35) contrast(1.08) brightness(.9);transition:transform .6s var(--ease),filter .6s}
.tm-profile:hover .tm-g-main img{transform:scale(1.04);filter:grayscale(0) contrast(1.08) brightness(.97)}
.tm-g-side{display:flex;flex-direction:column;gap:12px}
.tm-g-slot{position:relative;flex:1;aspect-ratio:1/1;overflow:hidden;background:var(--surface)}
.tm-g-slot img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.1) brightness(.88)}
.tm-g-slot--mirror img{transform:scaleX(-1)}
@media(max-width:900px){
  .tm-profile{grid-template-columns:1fr;gap:28px}
  .tm-gallery{order:-1}
}
@media(max-width:560px){
  .tm-gallery{grid-template-columns:1fr;gap:10px}
  .tm-g-side{flex-direction:row}
}

/* ---------- SERVIÇOS ---------- */
.servicos{background:var(--surface);padding-bottom:120px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
@media(max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}}
.svc{background:var(--bg);border:1px solid var(--line-s);padding:34px 28px 30px;transition:transform .35s var(--ease),border-color .35s,background .35s}
.svc:hover{transform:translateY(-6px);border-color:var(--line);background:var(--surface2)}
.svc-ic{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line);color:var(--rec);margin-bottom:22px;transition:border-color .35s}
.svc:hover .svc-ic{border-color:var(--rec)}
.svc-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc h3{font-size:1.5rem;color:var(--cream);margin-bottom:12px}
.svc p{color:var(--muted);font-size:.95rem;line-height:1.65}

/* ---------- GALERIA (masonry por colunas) ---------- */
.galeria{padding-bottom:120px}
.gal{column-count:3;column-gap:14px;margin-top:52px}
@media(max-width:820px){.gal{column-count:2}}
@media(max-width:480px){.gal{column-count:1}}
.gal-item{display:block;width:100%;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 14px;
  position:relative;overflow:hidden;background:var(--surface);border:0;padding:0;line-height:0}
.gal-item img{width:100%;height:auto;display:block;transition:transform .7s var(--ease),filter .5s;filter:grayscale(.25) brightness(.82)}
.gal-item:hover img{transform:scale(1.06);filter:grayscale(0) brightness(1)}
.gal-item:focus-visible{outline:2px solid var(--rec);outline-offset:3px}

/* ---------- CONTACTOS ---------- */
.contactos{background:var(--surface);padding-bottom:110px}
.cont-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;margin-top:52px}
@media(max-width:860px){.cont-grid{grid-template-columns:1fr;gap:40px}}
.cont-info{display:flex;flex-direction:column;gap:2px}
.ir{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line-s);transition:color .25s}
.ir:hover{color:#fff}
.ir-ic{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);color:var(--rec);transition:border-color .3s}
.ir:hover .ir-ic{border-color:var(--rec)}
.ir-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ir-lab{display:block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--rec);margin-bottom:5px}
.ir-val{display:block;font-weight:500;color:var(--cream);line-height:1.5}

.mapbox{margin-top:26px;aspect-ratio:16/10;background:var(--bg);border:1px solid var(--line-s);position:relative;overflow:hidden}
.map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;
  background-image:linear-gradient(rgba(237,234,228,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(237,234,228,.035) 1px,transparent 1px);
  background-size:34px 34px}
.map-ph svg{width:34px;height:34px;fill:none;stroke:var(--rec);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.map-ph p{color:var(--muted);font-size:.9rem;letter-spacing:.04em}
.map-ph small{color:var(--soft);font-size:.72rem;max-width:32ch;line-height:1.5}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.4) invert(.9) hue-rotate(180deg) contrast(.9)}

.cont-form{background:var(--bg);border:1px solid var(--line-s);padding:36px 32px}
.field{margin-bottom:20px}
.field label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.field input,.field textarea{
  width:100%;background:var(--surface);border:1px solid var(--line);color:var(--cream);
  font-family:inherit;font-size:1rem;padding:14px 16px;transition:border-color .25s,background .25s;resize:vertical;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--rec);background:var(--surface2)}
.field input::placeholder,.field textarea::placeholder{color:var(--soft)}
.cont-form .btn{width:100%;margin-top:4px}
.form-note{font-size:.8rem;color:var(--soft);margin-top:18px;line-height:1.6}
.form-note a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.form-note a:hover{color:var(--cream)}
.form-alt{font-size:.85rem;margin-top:12px;color:var(--muted,#9a9a94);text-align:center}
.form-alt a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.form-status{font-size:.9rem;margin-top:14px;min-height:1.2em;color:var(--rec);font-weight:500}
.form-status.ok{color:#5fbf7a}

/* ---------- RODAPÉ ---------- */
footer{background:var(--bg);border-top:1px solid var(--line-s);padding:52px 0 34px}
.foot-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--line-s)}
.foot-brand{display:flex;align-items:center;gap:13px}
.foot-brand .mk{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--rec);font-family:'Anton',sans-serif;font-size:1rem;color:var(--cream)}
.foot-brand .bt{font-family:'Anton',sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em}
.foot-brand .bs{color:var(--muted)}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.foot-links a{color:var(--muted);transition:color .2s}
.foot-links a:hover{color:var(--cream)}
.foot-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:26px;font-size:.8rem;color:var(--soft)}
.foot-bottom a{color:var(--rec);font-weight:600}
.foot-bottom a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- LIGHTBOX ---------- */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(6,6,6,.96);display:none;align-items:center;justify-content:center;padding:60px 70px;
  opacity:0;transition:opacity .3s}
.lightbox.show{display:flex;opacity:1}
.lb-figure{max-width:min(1100px,92vw);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:14px;margin:0}
.lb-figure img{max-width:100%;max-height:78vh;object-fit:contain;box-shadow:0 30px 90px -30px rgba(0,0,0,.9)}
.lb-figure figcaption{color:var(--muted);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.lb-close,.lb-nav{position:absolute;background:transparent;border:1px solid var(--line);color:var(--cream);width:52px;height:52px;display:grid;place-items:center;transition:border-color .25s,background .25s,transform .2s}
.lb-close:hover,.lb-nav:hover{border-color:var(--rec);background:rgba(143,203,232,.12)}
.lb-close svg,.lb-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lb-close{top:26px;right:26px}
.lb-nav{top:50%;transform:translateY(-50%)}
.lb-prev{left:22px}.lb-next{right:22px}
.lb-nav:hover{transform:translateY(-50%) scale(1.06)}
@media(max-width:640px){
  .lightbox{padding:56px 12px}
  .lb-nav{width:44px;height:44px}.lb-prev{left:8px}.lb-next{right:8px}
  .lb-close{top:14px;right:14px}
}

/* ---------- REVEAL (IntersectionObserver) ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.svc.reveal{transition-delay:calc(var(--i,0)*90ms)}

:focus-visible{outline:2px solid var(--rec);outline-offset:3px}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hero-bg{animation:none}
  .hero-title .w{transform:none;opacity:1}
  .hero-sub,.hero-cta{opacity:1;transform:none}
  .reveal{opacity:1;transform:none}
  .marquee-track{animation:none;transform:none}
  .rec-dot{animation:none}
}


/* ---------- FORMULÁRIO: escolha de serviços (28-09-2026) ---------- */
.field-legend{display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
fieldset.field{border:0;padding:0;margin:0 0 20px;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-block;padding:10px 14px;letter-spacing:.08em!important;font-size:.78rem!important;border:1px solid var(--line);background:var(--surface);color:var(--cream);font-size:.92rem;transition:border-color .2s,background .2s,color .2s;user-select:none}
.chip:hover span{border-color:var(--muted)}
.chip input:checked + span{border-color:var(--rec);background:var(--rec);color:#0A0A0A;font-weight:600}
.chip input:focus-visible + span{outline:2px solid var(--rec);outline-offset:2px}

/* --- Formulário: dois canais de envio (16-10-2026) --- */
.form-how{margin-top:6px}
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-actions .btn{width:100%;margin-top:0;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.form-actions .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.form-actions .btn[disabled]{opacity:.55;cursor:wait;transform:none}
@media(max-width:560px){.form-actions{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status.err{color:var(--rec)}
