:root{
  --black:#050505;
  --black-2:#0b0b0b;
  --panel:#111111;
  --silver:#d7d7d7;
  --muted:#8c8c8c;
  --orange:#ff7900;
  --orange-2:#ff9a2f;
  --line:rgba(255,255,255,.11);
  --max:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:#fff;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 70% 20%,rgba(255,121,0,.08),transparent 30%),radial-gradient(circle at 10% 80%,rgba(255,121,0,.04),transparent 28%);z-index:-2}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,121,0,.12),transparent 65%);pointer-events:none;transform:translate(-50%,-50%);z-index:-1;filter:blur(4px)}
a{text-decoration:none;color:inherit}
.header{position:fixed;top:0;left:0;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;z-index:15;background:linear-gradient(180deg,rgba(5,5,5,.96),rgba(5,5,5,.25));backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}
.brand img{width:112px;height:62px;object-fit:contain}
.nav{display:flex;gap:34px;margin-left:auto;margin-right:36px}
.nav a{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#aaa;transition:.3s}
.nav a:hover{color:var(--orange)}
.header-cta{font-size:11px;text-transform:uppercase;letter-spacing:.11em;border:1px solid #3a3a3a;padding:13px 18px;transition:.3s}
.header-cta:hover{border-color:var(--orange);color:var(--orange)}
.header-cta span,.btn span{color:var(--orange);margin-left:10px}
.menu-btn{display:none;background:none;border:0}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:130px 7vw 70px;overflow:hidden}
.hero-grid,.contact-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(90deg,black,transparent 85%)}
.hero:after{content:"";position:absolute;right:-15vw;top:12%;width:65vw;height:65vw;border:1px solid rgba(255,121,0,.16);border-radius:50%;box-shadow:0 0 100px rgba(255,121,0,.05),inset 0 0 100px rgba(255,121,0,.025);animation:spin 35s linear infinite}
.hero-content{position:relative;z-index:2;max-width:800px}
.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#aaa;display:flex;align-items:center;gap:12px;margin-bottom:25px}
.eyebrow span{display:inline-block;width:34px;height:2px;background:var(--orange)}
h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase}
h1{font-size:clamp(66px,9.2vw,150px);line-height:.82;letter-spacing:-.035em;font-weight:700}
h1 em,h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--orange)}
.hero-text{max-width:600px;color:#aaa;line-height:1.8;margin:34px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.15em;transition:.35s;cursor:pointer}
.btn-primary{background:var(--orange);color:#080808;border:1px solid var(--orange)}
.btn-primary:hover{background:var(--orange-2);transform:translateY(-3px);box-shadow:0 14px 40px rgba(255,121,0,.18)}
.btn-ghost{border:1px solid #333;color:#ddd}.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}
.hero-mark{position:absolute;right:11vw;top:27%;width:330px;height:330px;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:grid;place-items:center;opacity:.75}
.ring{position:absolute;border-radius:50%;border:1px solid rgba(255,121,0,.4)}
.ring-a{inset:26px;border-left-color:transparent;border-bottom-color:transparent;animation:spin 9s linear infinite}
.ring-b{inset:65px;border-right-color:transparent;border-top-color:transparent;animation:spinReverse 6s linear infinite}
.crosshair{font:500 70px/1 "Barlow Condensed";color:var(--orange);opacity:.8}
.coord{position:absolute;font:10px monospace;letter-spacing:.15em;color:#777;background:var(--black);padding:3px 8px}
.coord-a{top:28px;right:20px}.coord-b{bottom:45px;left:-25px}
.scroll-indicator{position:absolute;bottom:28px;left:7vw;color:#666;text-transform:uppercase;font-size:9px;letter-spacing:.2em;display:flex;align-items:center;gap:12px}
.scroll-indicator span{width:1px;height:30px;background:var(--orange);display:inline-block}
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;white-space:nowrap}
.ticker-track{display:inline-flex;align-items:center;gap:35px;animation:ticker 24s linear infinite;font:700 16px "Barlow Condensed";letter-spacing:.13em}
.ticker b{color:var(--orange);font-size:13px}
.section{max-width:var(--max);margin:auto;padding:145px 7vw;position:relative}
.section-number{position:absolute;left:7vw;top:80px;font:600 12px monospace;color:#555}
.section-title h2,.section-heading h2,.works-heading h2,.contact-copy h2{font-size:clamp(52px,7vw,105px);line-height:.85;letter-spacing:-.02em}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:70px 10%;padding-left:15vw}
.about-copy{align-self:end;color:#aaa;line-height:1.9;font-size:14px;max-width:550px}
.about-copy p+p{margin-top:18px}
.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:45px;padding-top:30px}
.stats div{display:flex;gap:18px;align-items:center;border-right:1px solid var(--line);padding-right:20px}
.stats div:last-child{border-right:0}.stats strong{font:700 52px "Barlow Condensed";color:var(--orange)}.stats span{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#777}
.services{border-top:1px solid var(--line)}
.section-heading{margin-bottom:70px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{background:var(--black);min-height:310px;padding:34px;position:relative;overflow:hidden;transition:.4s}
.service-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-100px;bottom:-100px;border:1px solid rgba(255,121,0,.2);transition:.5s}
.service-card:hover{background:#0d0d0d}.service-card:hover:after{transform:scale(2.2)}
.service-index{position:absolute;right:28px;top:25px;color:#555;font:11px monospace}
.service-icon{font-size:40px;color:var(--orange);margin-bottom:50px}
.service-card h3{font-size:30px;letter-spacing:.01em;margin-bottom:15px}
.service-card p{color:#777;font-size:12px;line-height:1.7;max-width:300px}
.service-line{position:absolute;bottom:30px;left:34px;width:50px;height:2px;background:var(--orange)}
.works{padding-right:0;max-width:none;padding-left:7vw}
.works-heading{display:flex;justify-content:space-between;align-items:end;padding-right:7vw;margin-bottom:55px;gap:40px}
.works-heading>p{max-width:390px;color:#777;font-size:12px;line-height:1.8}
.works-carousel{display:flex;gap:18px;overflow-x:auto;padding-right:7vw;padding-bottom:25px;scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--orange) #1a1a1a}
.works-carousel:active{cursor:grabbing}
.work-card{flex:0 0 min(420px,78vw);scroll-snap-align:start}
.work-image{height:430px;background:#111;border:1px solid #252525;position:relative;display:block;overflow:hidden}
.work-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.32));pointer-events:none}
.work-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease,filter .55s ease}
.work-card:hover .work-image img{transform:scale(1.035);filter:brightness(1.05)}
.work-info{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.work-info span{font:10px monospace;color:var(--orange)}.work-info strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.drag-hint{margin-top:8px;color:#555;font-size:9px;text-transform:uppercase;letter-spacing:.2em}
.contact{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:150px 12vw 130px;border-top:1px solid var(--line);overflow:hidden}
.contact-grid{opacity:.65;mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent)}
.contact-copy{position:relative;z-index:1}
.contact-copy>p:not(.eyebrow){max-width:480px;color:#888;line-height:1.8;font-size:13px;margin:35px 0}
.contact-line{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;max-width:500px}
.contact-line span{font-size:9px;letter-spacing:.2em;color:#666}.contact-line strong{font-size:13px;color:#ddd}
.quote-form{position:relative;z-index:1;background:rgba(10,10,10,.8);border:1px solid #252525;padding:35px;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.field{margin-bottom:22px}
.field label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.17em;color:#777;margin-bottom:9px}
.field small{color:#444}
.field input,.field select,.field textarea{width:100%;border:1px solid #292929;background:#0a0a0a;color:#eee;padding:15px 14px;outline:0;font:12px Inter;transition:.3s;border-radius:0}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 1px rgba(255,121,0,.12)}
.field select{appearance:none}
.form-btn{width:100%;margin-top:4px}
.form-note{color:#555;font-size:9px;text-align:center;margin-top:14px;line-height:1.5}
.footer{border-top:1px solid var(--line);min-height:110px;padding:25px 7vw;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer img{width:95px;height:50px;object-fit:contain}.footer p{font:11px "Barlow Condensed";letter-spacing:.16em;color:#666}.footer a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#777}.footer a:hover{color:var(--orange)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:900px){
  .nav,.header-cta{display:none}.menu-btn{display:flex;flex-direction:column;gap:5px}.menu-btn span{width:25px;height:1px;background:#fff}
  .hero{padding-left:6vw}.hero-mark{right:-80px;opacity:.35;width:300px;height:300px}.hero-content{max-width:90vw}
  .section{padding:110px 6vw}.section-number{left:6vw}.about{grid-template-columns:1fr;padding-left:6vw;gap:40px}.stats{grid-template-columns:1fr;gap:18px}.stats div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}.stats div:last-child{border-bottom:0}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:270px}
  .works{padding-left:6vw}.works-heading{padding-right:6vw;display:block}.works-heading>p{margin-top:25px}.contact{grid-template-columns:1fr;padding:110px 6vw;gap:60px}.footer{padding:20px 6vw}
}
@media(max-width:520px){
  .header{height:72px}.brand img{width:92px}.hero{min-height:850px}.hero:after{width:100vw;height:100vw;right:-50vw;top:35%}.hero-mark{top:56%;right:-70px}
  h1{font-size:70px}.hero-text{font-size:12px}.section-title h2,.section-heading h2,.works-heading h2,.contact-copy h2{font-size:57px}
  .work-placeholder{height:350px}.quote-form{padding:23px}.contact-line{display:block}.contact-line strong{display:block;margin-top:8px}.footer{flex-wrap:wrap}
}

/* Grade ampliada para os 7 serviços reais da J.M.A */
.service-grid-wide{grid-template-columns:repeat(4,1fr)}
.service-grid-wide .service-card{min-height:320px}
@media(max-width:1100px){.service-grid-wide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.service-grid-wide{grid-template-columns:1fr}}

.location-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:145px 12vw;border-top:1px solid var(--line);overflow:hidden;background:#080808}
.location-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,black,transparent 90%)}
.location-copy,.map-card{position:relative;z-index:1}
.location-copy>p:not(.eyebrow){max-width:480px;color:#888;line-height:1.8;font-size:13px;margin:35px 0}
.map-card{min-height:430px;border:1px solid #292929;background:radial-gradient(circle at 50% 48%,rgba(255,121,0,.12),transparent 22%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),#0b0b0b;background-size:auto,55px 55px,55px 55px;overflow:hidden}
.map-card:before,.map-card:after{content:"";position:absolute;inset:35px;border:1px solid rgba(255,121,0,.12);border-radius:50%}
.map-card:after{inset:105px;border-color:rgba(255,255,255,.07)}
.map-scan{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.7;animation:scan 3.5s ease-in-out infinite}
.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;color:var(--orange);text-shadow:0 0 35px rgba(255,121,0,.8);animation:pulse 1.8s ease-in-out infinite}
.map-label{position:absolute;left:50%;top:calc(50% + 30px);transform:translateX(-50%);text-align:center;font:700 24px "Barlow Condensed";letter-spacing:.08em;white-space:nowrap}
.map-label small{font:9px Inter;letter-spacing:.2em;color:#777}
.map-coords{position:absolute;left:25px;top:25px;font:9px monospace;line-height:1.7;letter-spacing:.12em;color:#666}
.map-open{position:absolute;right:22px;bottom:20px;font-size:9px;letter-spacing:.16em;color:var(--orange);border-bottom:1px solid rgba(255,121,0,.4);padding-bottom:4px}
@keyframes scan{0%,100%{transform:translateY(-170px);opacity:0}50%{transform:translateY(170px);opacity:.8}}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}}
@media(max-width:900px){.location-section{grid-template-columns:1fr;padding:110px 6vw;gap:55px}.map-card{min-height:380px}}

/* Mapa real do Google Maps */
.map-card.map-real {
  position: relative;
  overflow: hidden;
  padding: 0;
  min-height: 430px;
  background: #111;
  border: 1px solid rgba(255,255,255,.12);
}
.map-card.map-real iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  filter: saturate(.9) contrast(1.02);
}
.map-card.map-real .map-open {
  z-index: 5;
}
@media (max-width: 800px) {
  .map-card.map-real,
  .map-card.map-real iframe {
    min-height: 360px;
  }
}

.location-address{margin:24px 0 26px;padding:18px 20px;border-left:3px solid var(--orange);background:rgba(255,121,0,.06);font-size:17px;line-height:1.5;font-weight:700;letter-spacing:.01em}.location-address span{font-size:14px;color:#aaa;font-weight:500}.map-card.map-real iframe{min-height:430px}

/* Endereço também visível sobre a imagem do mapa */
.map-card.map-real .map-address-overlay {
  position: absolute;
  z-index: 6;
  top: 18px;
  left: 18px;
  right: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 390px;
  padding: 14px 16px;
  color: #f7f7f7;
  background: rgba(15, 17, 19, .93);
  border: 1px solid rgba(255, 121, 0, .7);
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0,0,0,.32);
  pointer-events: none;
  font-size: 12px;
  line-height: 1.55;
}
.map-card.map-real .map-address-overlay strong {
  color: var(--orange);
  font-size: 11px;
  letter-spacing: .12em;
}
.map-card.map-real .map-address-overlay span:not(.map-address-pin) {
  color: #c5c5c5;
}
.map-card.map-real .map-address-overlay .map-address-pin {
  color: var(--orange);
  font-size: 25px;
  line-height: 1;
}
@media(max-width: 520px) {
  .map-card.map-real .map-address-overlay { top: 12px; left: 12px; right: 12px; padding: 11px 12px; font-size: 11px; }
}
