/* ===== JEAN TATTOO ESTÚDIO / REDESIGN ===== */
:root{
  --bg:#070707;
  --bg-soft:#0d0d0e;
  --panel:#111112;
  --panel-2:#171719;
  --text:#f4f1eb;
  --muted:#aba59d;
  --line:rgba(255,255,255,.1);
  --line-2:rgba(255,255,255,.16);
  --accent:#d0a27a;
  --accent-2:#f0c39a;
  --radius:28px;
  --radius-lg:36px;
  --shadow:0 24px 70px rgba(0,0,0,.35);
  --max:1440px;
  --display:"Syne", sans-serif;
  --body:"Inter", sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  color:var(--text);
  font-family:var(--body);
  background:
    radial-gradient(circle at 20% 10%, rgba(208,162,122,.09), transparent 28rem),
    radial-gradient(circle at 90% 0%, rgba(255,255,255,.03), transparent 26rem),
    var(--bg);
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--accent);color:#090909}

@media (pointer:fine){
  html,body,a,button,summary,[role="button"],iframe{cursor:none!important}
}

.noise{
  position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.045;
  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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")
}
.gradient-orb{
  position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0;opacity:.45
}
.orb-1{width:320px;height:320px;left:-100px;top:120px;background:rgba(208,162,122,.18)}
.orb-2{width:360px;height:360px;right:-120px;bottom:120px;background:rgba(255,255,255,.06)}

.preloader{
  position:fixed;inset:0;background:#050505;z-index:999;display:grid;place-content:center;gap:26px;
  transition:opacity .7s ease,visibility .7s ease
}
.preloader.is-hidden{opacity:0;visibility:hidden}
.preloader img{
  width:150px;height:150px;border-radius:50%;object-fit:cover;filter:grayscale(1);
  animation:preloaderPulse 1.5s ease-in-out infinite alternate
}
.preloader-line{width:150px;height:2px;overflow:hidden;background:rgba(255,255,255,.12);border-radius:99px}
.preloader-line span{display:block;width:55%;height:100%;background:var(--accent);animation:loadingLine 1.1s ease-in-out infinite}
@keyframes loadingLine{from{transform:translateX(-120%)}to{transform:translateX(220%)}}
@keyframes preloaderPulse{from{opacity:.55;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

.cursor-dot,.cursor-ring{
  position:fixed;left:0;top:0;pointer-events:none;z-index:1000;mix-blend-mode:difference;will-change:transform
}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff}
.cursor-ring{
  width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.72);transition:width .22s,height .22s,margin .22s,background .22s,border-color .22s
}
.cursor-ring span{font-size:0;font-weight:800;letter-spacing:.18em}
.cursor-ring.is-hover{width:74px;height:74px;margin:-37px 0 0 -37px;background:#fff;border-color:#fff}
.cursor-ring.is-view{width:90px;height:90px;margin:-45px 0 0 -45px;background:#fff;border-color:#fff}
.cursor-ring.is-view span{font-size:9px;color:#000}
@media (pointer:coarse){.cursor-dot,.cursor-ring{display:none}}

.site-header{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px), 1580px);height:84px;
  padding:0 clamp(16px,3vw,28px);display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:100;
  background:rgba(8,8,8,.68);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.22);transition:background .35s,border-color .35s,backdrop-filter .35s,height .35s, top .35s
}
.site-header.scrolled{
  top:10px;height:74px;background:rgba(8,8,8,.84);border-color:rgba(255,255,255,.1)
}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}
.brand img{width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.12);object-fit:cover;box-shadow:0 12px 30px rgba(0,0,0,.24)}
.brand strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.brand span{display:block;font-size:10px;color:var(--muted);margin-top:3px}

.nav{display:flex;align-items:center;gap:clamp(16px,2vw,28px);margin-left:auto}
.nav a{position:relative;font-size:13px;color:rgba(255,255,255,.76);font-weight:500}
.nav a::after{
  content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s
}
.nav a:hover{color:#fff}.nav a:hover::after{transform:scaleX(1)}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.icon-btn{
  width:44px;height:44px;display:grid;place-items:center;border-radius:14px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);transition:.3s;
  box-shadow:0 10px 24px rgba(0,0,0,.18)
}
.icon-btn:hover{background:#fff;color:#090909;border-color:#fff;transform:translateY(-2px)}
.icon-btn img{width:18px;height:18px;filter:invert(1);opacity:.94}
.icon-btn:hover img{filter:invert(0)}
.header-cta{
  min-height:44px;padding:0 16px;border-radius:14px;background:#fff;color:#090909;font-weight:700;font-size:11px;
  letter-spacing:.03em;border:1px solid #fff;transition:.3s;white-space:nowrap;display:inline-flex;align-items:center;gap:9px
}
.header-cta img{width:16px;height:16px;filter:invert(0)}
.header-cta:hover{transform:translateY(-2px);background:var(--accent-2);border-color:var(--accent-2)}

.menu-toggle{display:none;width:44px;height:44px;background:transparent;border:0;padding:10px}
.menu-toggle span{display:block;width:100%;height:2px;border-radius:99px;background:#fff;margin:7px 0;transition:.3s}

.hero{
  position:relative;min-height:100svh;padding:150px clamp(18px,5vw,56px) 40px;
  display:grid;grid-template-columns:minmax(0,1.25fr) 320px;align-items:end;gap:22px;isolation:isolate;overflow:hidden
}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media img{
  width:100%;height:110%;object-fit:cover;object-position:55% 28%;
  filter:saturate(.82) contrast(1.08) brightness(.55)
}
.hero-shade{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.56) 42%, rgba(0,0,0,.2) 74%),
    linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.1) 55%)
}
.glass-card{
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);box-shadow:var(--shadow)
}
.hero-content{
  max-width:760px;padding:clamp(22px,2.3vw,30px);border-radius:var(--radius-lg)
}
.hero-topline{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;color:#d7d1ca;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase
}
.hero-topline span:nth-child(2n){color:var(--accent)}
.eyebrow{
  margin:0 0 18px;color:var(--accent-2);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700
}
.hero h1,.section h2{
  margin:0;font-family:var(--display);font-weight:800;line-height:.97;letter-spacing:-.05em
}
.hero h1{font-size:clamp(34px,4.5vw,64px);max-width:700px}
.hero h1 span{color:var(--accent-2)}
.hero-copy{max-width:610px;margin:22px 0 0;color:rgba(255,255,255,.74);line-height:1.75;font-size:15px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{
  min-height:52px;padding:0 22px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:700;letter-spacing:.05em;transition:.3s
}
.btn img{width:18px;height:18px}
.btn-primary{background:var(--accent);color:#090909;border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-3px)}
.btn-ghost{background:rgba(255,255,255,.04)}
.btn-ghost:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.45);transform:translateY(-3px)}

.hero-meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px
}
.hero-chip{
  padding:16px 16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)
}
.hero-chip strong{display:block;font-size:18px;font-weight:800}
.hero-chip span{display:block;margin-top:6px;font-size:12px;color:var(--muted)}

.hero-side{display:flex;justify-content:flex-end}
.hero-stats{
  width:100%;padding:18px;border-radius:26px;background:rgba(8,8,8,.7);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)
}
.hero-stats>div{padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.08)}
.hero-stats>div:last-child{border-bottom:0}
.mini-label{display:block;font-size:10px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.hero-stats strong,.hero-stats a{font-size:15px;color:#fff;font-weight:600}

.ticker{
  overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#0c0c0d
}
.ticker-track{
  display:flex;gap:18px;white-space:nowrap;padding:14px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#d8d1c9;
  animation:tickerMove 30s linear infinite
}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.section{
  width:min(100%,var(--max));margin-inline:auto;padding:clamp(88px,9vw,150px) clamp(18px,4vw,54px)
}
.section-label{
  display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;text-transform:uppercase;
  letter-spacing:.2em;font-weight:700;margin-bottom:34px
}
.section-label::after{content:"";width:66px;height:1px;background:var(--line)}
.section-label span{color:var(--accent-2)}
.section h2{font-size:clamp(30px,3.4vw,52px)}

.intro{border-bottom:1px solid var(--line)}
.intro-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(32px,7vw,90px)}
.intro-copy{color:var(--muted);line-height:1.85;font-size:15px}
.intro-copy p:first-child{color:#ddd7cf;margin-top:0}
.mini-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px
}
.mini-stats div{
  padding:18px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)
}
.mini-stats strong{display:block;font-size:30px;font-family:var(--display);font-weight:800;color:var(--accent-2)}
.mini-stats span{display:block;margin-top:6px;font-size:11px;color:var(--muted)}

.services{max-width:none;background:linear-gradient(180deg,#0b0b0c,#101011)}
.services>*{max-width:var(--max);margin-inline:auto}
.section-heading{margin-bottom:48px}
.heading-row{display:grid;grid-template-columns:1.2fr .7fr;gap:clamp(30px,6vw,80px);align-items:end}
.heading-row p{margin:0;color:var(--muted);line-height:1.8;font-size:14px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{
  min-height:260px;padding:26px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);transition:.35s;box-shadow:0 14px 34px rgba(0,0,0,.14)
}
.service-card:hover{transform:translateY(-8px);border-color:rgba(208,162,122,.35);background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03))}
.service-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-number{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em}
.service-tag{
  padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:10px;color:var(--muted)
}
.service-card h3{margin:30px 0 14px;font-size:34px;font-family:var(--display);font-weight:700;letter-spacing:-.04em}
.service-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}

.portfolio{max-width:none;padding-inline:0}
.portfolio .section-heading{
  max-width:var(--max);margin-inline:auto;padding-inline:clamp(18px,4vw,54px)
}
.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.filter{
  padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:var(--muted);
  font-size:12px;transition:.3s
}
.filter:hover,.filter.active{background:#fff;color:#090909;border-color:#fff}
.portfolio-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:320px;grid-auto-flow:dense;gap:2px
}
.work{position:relative;border:0;background:#151515;overflow:hidden;padding:0;text-align:left}
.work[hidden]{display:none}
.work.work-tall{grid-row:span 2}
.work.work-wide{grid-column:span 2}
.work img{
  width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;
  filter:saturate(.88) contrast(1.02)
}
.work::after{
  content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.88), transparent 58%);opacity:.56;transition:.4s
}
.work span{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}
.work b{display:block;font-size:26px;font-family:var(--display);font-weight:700;letter-spacing:-.04em}
.work small{display:block;margin-top:7px;color:rgba(255,255,255,.7);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.work:hover img{transform:scale(1.055);filter:saturate(1) contrast(1.05)}
.work:hover::after{opacity:.86}

.process{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,100px)}
.process-intro{position:sticky;top:120px;align-self:start}
.process-intro p:last-child{color:var(--muted);line-height:1.8;max-width:450px}
.process-list{display:grid;gap:14px}
.process-item{
  display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px;border-radius:26px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)
}
.process-item>span{font-size:24px;font-family:var(--display);font-weight:800;color:var(--accent)}
.process-item h3{margin:0 0 8px;font-size:28px;font-family:var(--display);letter-spacing:-.04em}
.process-item p{margin:0;color:var(--muted);line-height:1.8;font-size:14px}

.reviews{max-width:none;background:#0c0c0d}
.reviews>*{max-width:var(--max);margin-inline:auto}
.review-score{display:grid;grid-template-columns:auto auto;gap:0 12px;align-items:center;justify-content:end}
.review-score strong{grid-row:span 2;font-size:64px;font-family:var(--display);color:var(--accent-2);line-height:1}
.review-score span{color:var(--accent-2);letter-spacing:.12em;font-size:12px}
.review-score small{color:var(--muted)}
.reviews-track{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{
  min-height:280px;padding:28px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);transition:.35s
}
.review-card:hover{transform:translateY(-6px);border-color:rgba(208,162,122,.3)}
.quote{font-size:70px;font-family:var(--display);font-weight:800;color:var(--accent)}
.review-card p{margin:18px 0 28px;font-size:25px;line-height:1.35;font-family:var(--display);font-weight:700;letter-spacing:-.03em}
.review-card footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}
.review-card footer strong{color:#fff}
.review-card footer span{color:var(--accent-2)}

.faq{border-bottom:1px solid var(--line)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,100px)}
.accordion{display:grid;gap:12px}
.accordion details{
  border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.03);padding:0 22px
}
.accordion summary{
  list-style:none;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:22px;font-family:var(--display);font-weight:700;letter-spacing:-.04em
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary span{font-size:26px;color:var(--accent)}
.accordion details p{margin:-4px 0 24px;color:var(--muted);line-height:1.8;font-size:14px}

.contact{max-width:none;padding-bottom:0}
.contact-panel{
  max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr .82fr;min-height:620px;overflow:hidden;
  border-radius:34px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02))
}
.contact-content{padding:clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:center}
.contact-content p:not(.eyebrow){color:var(--muted);max-width:560px;line-height:1.8;margin:20px 0 0}
.contact-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.contact-btns .btn{min-width:200px}
.contact-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform 1s}
.contact-panel:hover .contact-image img{transform:scale(1.04)}

.location-grid{
  max-width:var(--max);margin:clamp(70px,8vw,120px) auto 0;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(30px,7vw,90px)
}
.location-info{padding:14px 0 60px}
.location-info h3{margin:0 0 20px;font-size:32px;font-family:var(--display);letter-spacing:-.04em}
.location-info>a{
  display:flex;align-items:flex-start;gap:12px;color:#d5d0c8;line-height:1.75;margin-bottom:16px
}
.location-info>a img,.social-links img{width:18px;height:18px;filter:invert(1)}
.location-info p{margin:24px 0;color:var(--muted);line-height:1.8}
.social-links{display:flex;gap:10px;flex-wrap:wrap}
.social-links a{
  min-height:42px;padding:0 15px;border-radius:14px;border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.03);transition:.3s;font-size:12px;font-weight:600
}
.social-links a img{filter:invert(1);opacity:.94}
.social-links a:hover{background:#fff;color:#090909;border-color:#fff}
.social-links a:hover img{filter:invert(0)}
.map{position:relative;min-height:470px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.88)}
.map>a{
  position:absolute;right:16px;bottom:16px;background:#fff;color:#090909;padding:14px 18px;border-radius:16px;font-size:12px;font-weight:700
}

.footer{
  max-width:var(--max);margin:0 auto;padding:36px clamp(18px,4vw,54px) 100px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;gap:28px
}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:62px;height:62px;border-radius:18px;object-fit:cover}
.footer-brand strong{display:block;font-size:12px;letter-spacing:.14em}
.footer-brand span{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.footer-meta{display:flex;gap:20px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

.floating-whatsapp{
  position:fixed;right:18px;bottom:18px;z-index:80;min-height:54px;padding:0 16px;border-radius:16px;background:#fff;color:#090909;
  display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.04em;box-shadow:0 20px 60px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.75)
}
.floating-whatsapp img{width:20px;height:20px;filter:invert(0)}
.floating-whatsapp:hover{transform:translateY(-3px)}
.icon-btn[href*='wa.me'] img,
.header-cta img,
.social-links a[href*='wa.me'] img,
.floating-whatsapp img,
a[href*='wa.me'].btn img,
a[href*='wa.me'] img[src*='whatsapp']{
  filter:none !important;
  opacity:1 !important;
}
.icon-btn[href*='instagram.com'] img,
.social-links a[href*='instagram.com'] img{
  filter:invert(1);
}


.lightbox{
  position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.92);backdrop-filter:blur(14px);display:grid;place-items:center;
  padding:60px 16px;opacity:0;visibility:hidden;transition:.35s
}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;box-shadow:0 35px 90px rgba(0,0,0,.55)}
.lightbox p{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);margin:0;text-align:center;font-size:20px;font-family:var(--display);font-weight:700
}
.lightbox-close{
  position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  background:transparent;font-size:30px;font-weight:200
}

.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1100px){
  .nav{display:none}
  .menu-toggle{display:block;margin-left:auto}
  .header-actions{gap:8px}
  .site-header.menu-open .nav{
    display:flex;position:fixed;inset:0;background:rgba(7,7,7,.97);z-index:-1;flex-direction:column;justify-content:center;gap:24px
  }
  .site-header.menu-open .nav a{font-size:36px;font-family:var(--display);color:#fff}
  .site-header.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
  .site-header.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}

  .hero{grid-template-columns:1fr;padding-bottom:32px}
  .hero-side{justify-content:flex-start}
  .hero-stats{max-width:480px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-grid{grid-template-columns:repeat(3,1fr)}
  .process-layout,.faq-layout,.location-grid,.contact-panel{grid-template-columns:1fr}
  .process-intro{position:static}
  .reviews-track{grid-template-columns:1fr}
}

@media (max-width:760px){
  .site-header{top:10px;width:calc(100% - 16px);height:70px;padding-inline:14px;border-radius:18px}
  .site-header.scrolled{height:66px;top:8px}
  .brand img{width:40px;height:40px;border-radius:13px}
  .brand strong{font-size:11px}
  .brand span{font-size:9px}
  .header-actions .icon-btn{display:none}
  .header-cta{display:none}

  .hero{min-height:860px;padding:96px 16px 24px}
  .hero-media img{height:100%;object-position:57% center}
  .hero-content{padding:22px;border-radius:24px}
  .hero h1{font-size:clamp(30px,8.5vw,42px)}
  .hero-copy{font-size:14px;line-height:1.75}
  .hero-actions{gap:12px}
  .hero-actions .btn{width:100%}
  .hero-meta{grid-template-columns:1fr}
  .hero-stats{max-width:none}

  .ticker-track{font-size:11px;gap:14px}
  .section{padding:76px 16px}
  .section h2{font-size:clamp(27px,7vw,40px)}
  .intro-layout,.heading-row,.faq-layout,.contact-panel{grid-template-columns:1fr;gap:28px}
  .mini-stats{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .portfolio-filters{justify-content:flex-start}
  .portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}
  .portfolio-grid .work-wide{grid-column:span 2}
  .portfolio-grid .work-tall{grid-row:span 2}
  .process-item{grid-template-columns:50px 1fr;padding:22px}
  .process-item h3{font-size:24px}
  .review-score{justify-content:start;margin-top:20px}
  .review-card p{font-size:22px}
  .accordion summary{font-size:20px;min-height:74px}
  .contact-content{padding:28px}
  .contact-image{min-height:420px}
  .map{min-height:380px}
  .footer{padding:32px 16px 96px;flex-direction:column;align-items:flex-start}
}

@media (max-width:480px){
  .portfolio-grid{grid-template-columns:1fr;grid-auto-rows:400px}
  .portfolio-grid .work-wide,.portfolio-grid .work-tall{grid-column:span 1;grid-row:span 1}
  .floating-whatsapp span{display:none}
  .floating-whatsapp{width:54px;height:54px;padding:0;justify-content:center;border-radius:16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important
  }
}


/* Correção final do alinhamento dos botões do cabeçalho */
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  height: 44px;
}

.header-actions > a {
  margin: 0;
  align-self: center;
  box-sizing: border-box;
  transform: none !important;
}

.header-actions .icon-btn {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex: 0 0 44px;
}

.header-actions .icon-btn img {
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
  margin: 0;
  filter: none !important;
  opacity: 1 !important;
}

.header-actions .header-cta {
  height: 44px;
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  line-height: 1;
  flex: 0 0 auto;
}

.header-actions .header-cta img {
  width: 18px;
  height: 18px;
  display: block;
  flex: 0 0 18px;
  object-fit: contain;
  margin: 0;
  filter: none !important;
  opacity: 1 !important;
}

.floating-whatsapp {
  transform: none !important;
}

.floating-whatsapp img {
  display: block;
  object-fit: contain;
  margin: 0;
  filter: none !important;
  opacity: 1 !important;
}


/* Correção do ícone do Instagram na seção de localização */
.location-info .social-links a[href*="instagram.com"] img {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

.location-info .social-links a[href*="instagram.com"]:hover img {
  filter: brightness(0) invert(0) !important;
}


/* Alinhamento dos nomes e estrelas nas avaliações */
.review-card{
  display:flex;
  flex-direction:column;
}

.review-card p{
  flex:1;
  display:flex;
  align-items:center;
}

.review-card footer{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.review-card footer strong{
  display:block;
  line-height:1.2;
}

.review-card footer span{
  display:block;
  margin-left:auto;
  line-height:1;
  white-space:nowrap;
  flex-shrink:0;
}


/* ===== Rodapé completo ===== */
.footer{
  max-width:var(--max);
  margin:0 auto;
  padding:72px clamp(18px,4vw,54px) 26px;
  border-top:1px solid rgba(255,255,255,.09);
  display:block;
}

.footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(160px,.45fr) minmax(220px,.65fr);
  gap:clamp(36px,7vw,100px);
  padding-bottom:54px;
}

.footer-about{
  max-width:520px;
}

.footer-logo{
  display:inline-flex;
  align-items:center;
  gap:15px;
}

.footer-logo img{
  width:66px;
  height:66px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.1);
}

.footer-logo strong{
  display:block;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  letter-spacing:-.03em;
}

.footer-logo span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.footer-about>p{
  max-width:470px;
  margin:24px 0;
  color:var(--muted);
  line-height:1.8;
  font-size:14px;
}

.footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.footer-social a{
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03);
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:600;
  transition:.3s;
}

.footer-social a:hover{
  background:#fff;
  color:#090909;
  border-color:#fff;
}

.footer-social img{
  width:17px;
  height:17px;
  display:block;
  object-fit:contain;
}

.footer-social a[href*="instagram.com"] img{
  filter:brightness(0) invert(1);
}

.footer-social a[href*="instagram.com"]:hover img{
  filter:brightness(0) invert(0);
}

.footer-social a[href*="wa.me"] img{
  filter:none!important;
}

.footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}

.footer-column h3{
  margin:0 0 8px;
  font-family:var(--display);
  font-size:15px;
  letter-spacing:-.02em;
}

.footer-column a,
.footer-column span{
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
  transition:.3s;
}

.footer-column a:hover{
  color:#fff;
}

.footer-bottom{
  min-height:68px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.footer-bottom a{
  color:#ded8cf;
}

/* ===== Cabeçalho responsivo corrigido ===== */
@media (max-width:980px){
  .site-header{
    width:calc(100% - 20px);
    padding-inline:16px;
  }

  .header-actions{
    display:none!important;
  }

  .menu-toggle{
    display:block;
    margin-left:auto;
    flex:0 0 44px;
  }
}

@media (max-width:760px){
  .site-header{
    width:calc(100% - 14px);
    height:66px;
    top:7px;
    padding:0 12px;
    border-radius:17px;
  }

  .site-header.scrolled{
    height:62px;
    top:6px;
  }

  .brand{
    min-width:0;
    gap:10px;
  }

  .brand img{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }

  .brand div{
    min-width:0;
  }

  .brand strong{
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:150px;
  }

  .brand span{
    display:none;
  }

  .menu-toggle{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .site-header.menu-open .nav{
    padding:90px 20px 40px;
  }

  .site-header.menu-open .nav a{
    font-size:30px;
  }
}

@media (max-width:820px){
  .footer{
    padding:58px 18px 24px;
  }

  .footer-main{
    grid-template-columns:1fr;
    gap:42px;
    padding-bottom:42px;
  }

  .footer-about{
    max-width:none;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    min-height:auto;
    padding-top:24px;
  }
}

@media (max-width:480px){
  .footer-logo img{
    width:56px;
    height:56px;
  }

  .footer-logo strong{
    font-size:16px;
  }

  .footer-social a{
    flex:1 1 calc(50% - 5px);
    justify-content:center;
  }
}


/* Remoção do botão extra do WhatsApp no cabeçalho */
.header-actions{
  gap:12px;
}

@media (min-width:981px){
  .header-actions{
    justify-content:flex-end;
  }
}


/* Garantia final: header com apenas Instagram + CTA */
.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.header-actions .icon-btn{
  flex:0 0 58px;
}

.header-actions .header-cta{
  flex:0 0 auto;
}


/* ==================================================
   MENU MOBILE / ANDROID — CORREÇÃO DEFINITIVA
   ================================================== */
@media (max-width: 980px) {
  body.menu-is-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .site-header.menu-open {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh;
    padding: 0 16px !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      radial-gradient(circle at 85% 10%, rgba(208,162,122,.18), transparent 260px),
      rgba(5,5,6,.98) !important;
    backdrop-filter: blur(22px) !important;
    box-shadow: none !important;
    overflow: hidden;
    align-items: flex-start;
  }

  .site-header.menu-open::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent);
  }

  .site-header.menu-open .brand {
    position: relative;
    z-index: 4;
    height: 76px;
    display: flex;
    align-items: center;
  }

  .site-header.menu-open .menu-toggle {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 11px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 15px;
    background: rgba(255,255,255,.055);
  }

  .site-header.menu-open .menu-toggle span {
    position: absolute;
    width: 22px;
    margin: 0;
  }

  .site-header.menu-open .menu-toggle span:first-child {
    transform: rotate(45deg) !important;
  }

  .site-header.menu-open .menu-toggle span:last-child {
    transform: rotate(-45deg) !important;
  }

  .site-header.menu-open .nav {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    height: 100dvh !important;
    padding: 104px 18px 32px !important;
    margin: 0 !important;
    background: transparent !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .site-header.menu-open .nav::before {
    content: "NAVEGAÇÃO";
    display: block;
    width: min(100%, 440px);
    margin: 0 auto 10px;
    color: var(--accent-2);
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .2em;
  }

  .site-header.menu-open .nav a {
    position: relative;
    width: min(100%, 440px);
    min-height: 60px;
    margin: 0 auto;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 17px;
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    box-shadow: 0 14px 36px rgba(0,0,0,.18);
    color: #fff !important;
    font-family: var(--display) !important;
    font-size: 20px !important;
    line-height: 1.1;
    font-weight: 650;
    letter-spacing: -.025em;
    text-align: left;
  }

  .site-header.menu-open .nav a::before {
    content: "↗";
    order: 2;
    color: var(--accent-2);
    font-family: var(--body);
    font-size: 17px;
    font-weight: 400;
  }

  .site-header.menu-open .nav a::after {
    display: none !important;
  }

  .site-header.menu-open .nav a:active {
    transform: scale(.985);
    background: rgba(255,255,255,.11);
    border-color: rgba(208,162,122,.38);
  }
}

@media (max-width: 420px) {
  .site-header.menu-open .nav {
    justify-content: flex-start !important;
    padding-top: 102px !important;
  }

  .site-header.menu-open .nav a {
    min-height: 56px;
    border-radius: 15px;
    font-size: 18px !important;
  }
}

@supports not (height: 100dvh) {
  @media (max-width: 980px) {
    .site-header.menu-open,
    .site-header.menu-open .nav {
      height: 100vh !important;
      min-height: 100vh;
    }
  }
}
