:root {
    --bg: #050507;
    --bg-2: #0a0a0e;
    --panel: #0e0e13;
    --panel-2: #14141b;
    --text: #f2f0eb;
    --muted: #a9a8b0;
    --silver: #d8d5cf;
    --red: #ea111d;
    --red-dark: #8c0710;
    --purple: #7357ff;
    --purple-2: #a58cff;
    --green: #25d366;
    --line: rgba(255,255,255,.1);
    --line-strong: rgba(255,255,255,.18);
    --shadow: 0 30px 80px rgba(0,0,0,.55);
    --container: min(1180px, calc(100% - 40px));
    --heading: 'Bebas Neue', Impact, sans-serif;
    --body: 'Inter', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--body);
    line-height: 1.6;
    overflow-x: hidden;
}
body::selection { background: var(--red); color: #fff; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: var(--container); margin-inline: auto; }

.page-noise {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 100;
    opacity: .045;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' 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='.7'/%3E%3C/svg%3E");
}
.cursor-glow {
    position: fixed;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(115,87,255,.11), rgba(234,17,29,.035) 38%, transparent 72%);
    filter: blur(8px);
    transition: opacity .3s;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    border-bottom: 1px solid transparent;
    transition: background .3s, border-color .3s, backdrop-filter .3s;
}
.site-header.scrolled,
.site-header.is-solid {
    background: rgba(5,5,7,.88);
    backdrop-filter: blur(18px);
    border-color: var(--line);
}
.nav-wrap {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
}
.brand {
    position: relative;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    cursor: pointer;
    user-select: none;
}
.brand img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 0 10px rgba(115,87,255,.28));
    transition: filter .3s ease;
}
.brand:hover img,
.brand:focus-visible img {
    transform: none;
    filter: drop-shadow(0 0 8px rgba(151,108,255,.75)) drop-shadow(0 0 18px rgba(115,87,255,.48));
}
.brand span { white-space: nowrap; }
.main-nav { display: flex; align-items: center; gap: 26px; }
.main-nav a {
    position: relative;
    color: #cccbd1;
    font-size: .86rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
    transition: color .25s;
}
.main-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -9px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple));
    transition: right .25s;
}
.main-nav a:hover { color: white; }
.main-nav a:hover::after { right: 0; }
.menu-toggle { display: none; background: transparent; border: 0; padding: 10px; }
.menu-toggle span { display: block; width: 27px; height: 2px; margin: 5px 0; background: white; }

.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-weight: 800;
    font-size: .83rem;
    text-transform: uppercase;
    letter-spacing: .075em;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s, border-color .25s, background .25s;
}
.btn::before {
    content: '';
    position: absolute;
    inset: 0;
    transform: translateX(-110%) skewX(-22deg);
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.2), transparent);
    transition: transform .55s;
}
.btn:hover { transform: translateY(-3px); }
.btn:hover::before { transform: translateX(110%) skewX(-22deg); }
.btn-red {
    background: linear-gradient(135deg, #f51b27, #920711);
    color: #fff;
    border-color: rgba(255,75,86,.45);
    box-shadow: 0 0 28px rgba(234,17,29,.32), inset 0 1px rgba(255,255,255,.15);
}
.btn-red:hover { box-shadow: 0 0 46px rgba(234,17,29,.5), 0 14px 35px rgba(0,0,0,.35); }
.btn-neon {
    color: #fff;
    background: linear-gradient(135deg, rgba(115,87,255,.15), rgba(115,87,255,.04));
    border-color: var(--purple);
    box-shadow: 0 0 24px rgba(115,87,255,.22), inset 0 0 20px rgba(115,87,255,.06);
}
.btn-neon:hover { box-shadow: 0 0 45px rgba(115,87,255,.46), inset 0 0 25px rgba(115,87,255,.11); }
.btn-ghost { border-color: var(--line-strong); background: rgba(255,255,255,.025); color: var(--silver); }
.btn-ghost:hover { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.06); }
.btn-large { min-height: 60px; padding-inline: 32px; }
.btn-icon { font-size: 1.1rem; }

.hero {
    position: relative;
    min-height: 100vh;
    display: grid;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 72% 40%, rgba(115,87,255,.18), transparent 26%),
        radial-gradient(circle at 88% 62%, rgba(234,17,29,.13), transparent 24%),
        linear-gradient(115deg, #030305 0%, #07070b 48%, #0b0911 72%, #050507 100%);
}
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.04), transparent 65%, var(--bg));
    z-index: -1;
}
.hero::after {
    content: '';
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -18px;
    height: 70px;
    background: repeating-linear-gradient(90deg, transparent 0 42px, rgba(115,87,255,.6) 42px 44px, transparent 44px 80px, rgba(234,17,29,.45) 80px 82px);
    filter: blur(10px);
    opacity: .25;
    transform: skewY(-1deg);
}
#hero-particles { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: .7; }
.hero-lines {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(90deg, black, transparent 80%);
}
.hero-grid {
    padding-top: 120px;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 60px;
}
.hero-copy { max-width: 690px; }
.eyebrow,
.kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #d7d4d0;
    font-size: .74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .26em;
}
.eyebrow span { width: 42px; height: 2px; background: linear-gradient(90deg, var(--red), var(--purple)); box-shadow: 0 0 12px var(--red); }
.hero h1,
.section-heading h2,
.experience h2,
.final-cta h2,
.article-main h1 {
    font-family: var(--heading);
    font-weight: 400;
    text-transform: uppercase;
    line-height: .94;
    letter-spacing: .015em;
}
.hero h1 {
    margin: 24px 0 20px;
    max-width: 760px;
    font-size: clamp(4.2rem, 7vw, 7.8rem);
    background: linear-gradient(180deg, #fff, #bdb9b3 74%, #717078);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 8px 28px rgba(0,0,0,.45);
}
.hero h1::first-line { color: white; }
.hero-copy > p { max-width: 610px; color: #c3c1c7; font-size: 1.03rem; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 30px; color: #a8a6ad; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-points span { position: relative; padding-left: 14px; }
.hero-points span::before { content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px var(--red); }
.hero-emblem { position: relative; min-height: 630px; display: grid; place-items: center; }
.hero-emblem > img {
    width: min(550px, 92%);
    max-height: 550px;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 0 22px rgba(115,87,255,.45)) drop-shadow(0 0 62px rgba(234,17,29,.18));
    animation: emblemFloat 5.5s ease-in-out infinite;
}
@keyframes emblemFloat { 0%,100%{transform:translateY(0) rotate(-.6deg)} 50%{transform:translateY(-15px) rotate(.5deg)} }
.vinyl-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); box-shadow: inset 0 0 50px rgba(115,87,255,.06); }
.ring-one { width: 590px; height: 590px; animation: spinSlow 22s linear infinite; border-style: dashed; }
.ring-two { width: 660px; height: 660px; border-color: rgba(234,17,29,.12); animation: spinReverse 28s linear infinite; }
@keyframes spinSlow { to{transform:rotate(360deg)} }
@keyframes spinReverse { to{transform:rotate(-360deg)} }
.equalizer { position: absolute; bottom: 38px; display: flex; gap: 7px; height: 60px; align-items: end; opacity: .6; }
.equalizer i { width: 5px; height: 20px; background: linear-gradient(var(--purple), var(--red)); box-shadow: 0 0 10px var(--purple); animation: eq 1.1s ease-in-out infinite alternate; }
.equalizer i:nth-child(2n){animation-delay:.15s}.equalizer i:nth-child(3n){animation-delay:.28s}.equalizer i:nth-child(4n){animation-delay:.43s}
@keyframes eq { from{height:10px;opacity:.45} to{height:58px;opacity:1} }
.guitar-string { position: absolute; right: -55px; top: 100px; width: 1px; height: 490px; background: linear-gradient(transparent, rgba(255,255,255,.22), var(--red), transparent); transform: rotate(9deg); box-shadow: 0 0 10px var(--red); }
.string-2 { right: -35px; opacity: .7; }
.string-3 { right: -15px; opacity: .4; }
.scroll-hint { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; color: #8d8b92; font-size: .63rem; letter-spacing: .2em; }
.scroll-hint span { width: 30px; height: 1px; background: var(--red); animation: scrollPulse 1.4s infinite; }
@keyframes scrollPulse { 50%{width:54px;box-shadow:0 0 12px var(--red)} }

.announcement-zone { position: relative; z-index: 2; padding: 22px 0 0; }
.announcement {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 28px 32px;
    border: 1px solid rgba(115,87,255,.32);
    background: linear-gradient(100deg, rgba(115,87,255,.11), rgba(14,14,19,.98) 42%, rgba(234,17,29,.09));
    box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.04);
    border-radius: 12px;
}
.announcement + .announcement { margin-top: 14px; }
.announcement-media { position:relative;z-index:2;flex:0 0 210px;width:210px;aspect-ratio:16/10;overflow:hidden;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:#09090d; }
.announcement-media img { width:100%;height:100%;object-fit:cover; }
.announcement-content { position:relative;z-index:2;flex:1;min-width:0; }
.announcement-action { position:relative;z-index:2;flex:0 0 auto; }
.announcement.has-image { padding:18px; }
.announcement h2 { margin: 6px 0 4px; font-family: var(--heading); font-size: 2rem; line-height: 1; letter-spacing: .04em; font-weight: 400; }
.announcement p { margin: 0; color: var(--muted); }
.announcement-badge { color: var(--purple-2); font-size: .69rem; font-weight: 800; letter-spacing: .16em; }
.announcement-light { position: absolute; width: 240px; height: 240px; left: -90px; top: -90px; border-radius: 50%; background: rgba(115,87,255,.16); filter: blur(35px); }

.section { padding: 120px 0; position: relative; }
.section-heading { max-width: 720px; margin-bottom: 52px; }
.section-heading h2 { font-size: clamp(3.5rem, 6vw, 6rem); margin: 12px 0 14px; }
.section-heading p { color: var(--muted); max-width: 650px; }
.kicker { color: var(--red); }
.heading-row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.text-link { color: var(--purple-2); font-weight: 700; font-size: .85rem; letter-spacing: .03em; }
.text-link:hover { color: white; text-shadow: 0 0 15px var(--purple); }

.services-section { background: radial-gradient(circle at 10% 20%, rgba(115,87,255,.08), transparent 28%), var(--bg); }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.service-card {
    position: relative;
    min-height: 360px;
    padding: 28px 22px 24px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    overflow: hidden;
    transition: transform .35s, border-color .35s, box-shadow .35s;
}
.service-card::before {
    content: '';
    position: absolute;
    inset: auto -50% -70% -50%;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(115,87,255,.22), transparent 65%);
    transition: transform .45s;
}
.service-card::after { content: ''; position: absolute; left: 0; top: 0; width: 0; height: 2px; background: linear-gradient(90deg,var(--red),var(--purple)); transition: width .35s; }
.service-card:hover { transform: translateY(-10px); border-color: rgba(115,87,255,.42); box-shadow: 0 25px 55px rgba(0,0,0,.45), 0 0 30px rgba(115,87,255,.08); }
.service-card:hover::after { width: 100%; }
.service-card:hover::before { transform: translateY(-35px); }
.service-number { position: absolute; right: 16px; top: 8px; font-family: var(--heading); font-size: 4.8rem; color: rgba(255,255,255,.035); }
.service-eyebrow {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 30px;
    margin-bottom: 38px;
}
.service-eyebrow span {
    width: 46px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 12px rgba(115,87,255,.5);
}
.service-eyebrow small {
    color: var(--purple-2);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
}
.service-card:hover .service-eyebrow span {
    width: 72px;
    box-shadow: 0 0 18px rgba(115,87,255,.78);
}
.service-card h3 { margin: 0 0 10px; font-family: var(--heading); font-weight: 400; font-size: 2rem; letter-spacing: .05em; }
.service-card p { margin: 0; color: #9e9ca4; font-size: .88rem; }
.service-meta { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; color: var(--silver); }
.service-meta span { color: var(--red); font-weight: 800; }
.service-meta small { color: var(--muted); }
.service-card-bottom { position:relative;z-index:1;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;color:#a7a4ad;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.service-card-bottom b { color:var(--purple-2);font-size:1rem;text-shadow:0 0 12px var(--purple); }
.services-cta { margin-top:24px;padding:24px 26px;border:1px solid var(--line);background:linear-gradient(100deg,rgba(115,87,255,.09),rgba(255,255,255,.018),rgba(234,17,29,.06));display:flex;align-items:center;justify-content:space-between;gap:24px; }
.services-cta div { display:grid;gap:4px; }
.services-cta span { color:var(--red);font-size:.65rem;font-weight:800;letter-spacing:.18em; }
.services-cta strong { font-size:.9rem;color:#d5d2d9; }

.experience { position: relative; padding: 125px 0; overflow: hidden; background: #08080b; }
.experience::before { content: 'LUX\'S BARBER'; position: absolute; left: -30px; bottom: -76px; font-family: var(--heading); font-size: 15vw; line-height: 1; color: rgba(255,255,255,.018); white-space: nowrap; }
.experience-backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 78% 40%, rgba(115,87,255,.13), transparent 25%), radial-gradient(circle at 85% 72%, rgba(234,17,29,.1), transparent 26%), repeating-linear-gradient(135deg, transparent 0 70px, rgba(255,255,255,.012) 70px 71px); }
.experience-grid { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: 75px; align-items: center; }
.experience h2 { margin: 14px 0 24px; font-size: clamp(4rem, 6.3vw, 7rem); }
.experience-copy > p { color: var(--muted); max-width: 560px; font-size: 1rem; }
.experience-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 36px; }
.experience-features div { border-top: 1px solid var(--line-strong); padding-top: 17px; display: flex; gap: 12px; align-items: start; }
.experience-features strong { font-family: var(--heading); font-size: 1.55rem; color: var(--red); font-weight: 400; }
.experience-features span { color: #c6c3c9; font-size: .75rem; font-weight: 700; text-transform: uppercase; line-height: 1.45; letter-spacing: .05em; }
.experience-stage { display: grid; grid-template-columns: 1.55fr .8fr; grid-template-rows: 1fr 1fr; gap: 14px; min-height: 580px; }
.stage-card { position: relative; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(145deg,#0b0b10,#17131c); box-shadow: var(--shadow); }
.stage-main { grid-row: 1 / span 2; display: grid; place-items: center; background: radial-gradient(circle at 50% 25%, rgba(115,87,255,.18), transparent 38%), linear-gradient(150deg,#08080b,#15111b); }
.stage-main::before { content: ''; position: absolute; inset: 0; 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: 35px 35px; }
.stage-label { position: absolute; left: 20px; top: 20px; color: #7d7a83; font-size: .62rem; letter-spacing: .18em; }
.neon-sign { position: absolute; top: 65px; right: 28px; text-align: right; font-family: var(--heading); line-height: .83; font-size: 3rem; color: #bcaeff; text-shadow: 0 0 7px #7357ff,0 0 22px #7357ff,0 0 50px rgba(115,87,255,.75); transform: rotate(-2deg); }
.barber-chair { position: absolute; left: 50%; bottom: 45px; transform: translateX(-50%); width: 230px; height: 350px; filter: drop-shadow(0 28px 28px rgba(0,0,0,.75)); }
.chair-head { position: absolute; width: 100px; height: 68px; left: 65px; top: 0; border: 5px solid #3a3740; border-radius: 18px; background: linear-gradient(145deg,#1c1b20,#070708); }
.chair-back { position: absolute; width: 180px; height: 180px; left: 25px; top: 58px; border: 6px solid #39363f; border-radius: 28px 28px 20px 20px; background: repeating-linear-gradient(90deg,#141318 0 18px,#0b0a0d 18px 36px); box-shadow: inset 0 0 28px rgba(255,255,255,.05); }
.chair-seat { position: absolute; width: 215px; height: 72px; left: 7px; top: 220px; border: 6px solid #39363f; border-radius: 18px; background: linear-gradient(#16151a,#09090b); }
.chair-base { position: absolute; width: 150px; height: 20px; left: 40px; bottom: 5px; border-radius: 50%; background:#222027; box-shadow: 0 0 0 5px #0a0a0c,0 -45px 0 -66px transparent; }
.chair-base::before { content:''; position:absolute; left:67px; bottom:12px; width:16px; height:72px; background:linear-gradient(90deg,#16151a,#5e5965,#16151a); }
.stage-tools { padding: 28px; display: flex; align-items: end; background: radial-gradient(circle at 80% 20%,rgba(234,17,29,.2),transparent 40%),#0c0b0e; }
.stage-tools span { position: relative; z-index: 2; font-family: var(--heading); font-size: 2rem; line-height: 1; }
.tool-lines { position:absolute; right:-20px; top:28px; width:180px; height:180px; border:2px solid rgba(234,17,29,.25); transform:rotate(45deg); box-shadow:0 0 35px rgba(234,17,29,.15); }
.tool-lines::before,.tool-lines::after{content:'';position:absolute;inset:25px;border:1px solid rgba(255,255,255,.12)}.tool-lines::after{inset:50px;border-color:rgba(115,87,255,.35)}
.stage-vinyl { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; }
.stage-vinyl span { font-size:.67rem; letter-spacing:.2em; color:#98959e; }
.mini-vinyl { width:145px;height:145px;border-radius:50%;background:repeating-radial-gradient(circle,#0b0b0e 0 7px,#202027 8px 9px,#08080a 10px 17px);border:1px solid rgba(255,255,255,.12);box-shadow:0 0 35px rgba(115,87,255,.18);animation:spinSlow 9s linear infinite; }
.mini-vinyl::after { content:'';display:block;width:35px;height:35px;border-radius:50%;background:var(--red);margin:54px auto 0;box-shadow:0 0 0 8px #111116; }

.ritual-stage { display:grid;grid-template-columns:1.45fr .72fr;gap:14px;min-height:570px; }
.ritual-console,.ritual-badge,.ritual-note { position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#0a0a0e,#15131b);box-shadow:var(--shadow); }
.ritual-console { padding:30px;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 12%,rgba(115,87,255,.17),transparent 30%),linear-gradient(145deg,#0a0a0e,#121018); }
.ritual-console::before { content:'';position:absolute;inset:0;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:32px 32px;mask-image:linear-gradient(black,transparent 90%); }
.ritual-console-head { position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line); }
.ritual-console-head span { color:#9f8fff;font-size:.64rem;font-weight:800;letter-spacing:.18em; }
.ritual-console-head b { color:#77747e;font-size:.58rem;letter-spacing:.13em; }
.ritual-steps { position:relative;z-index:1;display:grid;gap:12px;margin:24px 0; }
.ritual-steps article { display:grid;grid-template-columns:58px 1fr;gap:17px;align-items:center;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.018);transition:transform .25s,border-color .25s,background .25s; }
.ritual-steps article:hover { transform:translateX(7px);border-color:rgba(115,87,255,.42);background:rgba(115,87,255,.055); }
.ritual-steps article>span { font-family:var(--heading);font-size:2.6rem;line-height:1;color:var(--red);text-shadow:0 0 20px rgba(234,17,29,.28); }
.ritual-steps small { display:block;color:var(--purple-2);font-size:.59rem;font-weight:800;letter-spacing:.16em;margin-bottom:5px; }
.ritual-steps strong { display:block;color:#d7d4da;font-size:.78rem;line-height:1.55; }
.ritual-wave { position:relative;z-index:1;margin-top:auto;height:80px;display:flex;align-items:end;justify-content:center;gap:8px;padding:0 12px;border-top:1px solid var(--line); }
.ritual-wave i { width:6px;min-height:12px;background:linear-gradient(var(--purple),var(--red));box-shadow:0 0 13px rgba(115,87,255,.45);animation:eq 1.25s ease-in-out infinite alternate; }
.ritual-wave i:nth-child(2n){height:44px;animation-delay:.12s}.ritual-wave i:nth-child(3n){height:62px;animation-delay:.25s}.ritual-wave i:nth-child(4n){height:30px;animation-delay:.38s}
.ritual-side { display:grid;grid-template-rows:1fr 1fr;gap:14px; }
.ritual-badge { padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 80% 18%,rgba(234,17,29,.2),transparent 40%),linear-gradient(145deg,#0a0a0d,#171016); }
.ritual-badge::before,.ritual-badge::after { content:'';position:absolute;width:190px;height:190px;border:1px solid rgba(234,17,29,.23);right:-70px;top:-76px;transform:rotate(45deg); }
.ritual-badge::after { width:125px;height:125px;right:-38px;top:-43px;border-color:rgba(115,87,255,.34); }
.ritual-badge span { position:relative;z-index:1;color:#ff6d76;font-size:.6rem;font-weight:800;letter-spacing:.15em;margin-bottom:12px; }
.ritual-badge strong { position:relative;z-index:1;font-family:var(--heading);font-size:2.35rem;line-height:.94;font-weight:400; }
.ritual-badge i { position:absolute;right:22px;bottom:18px;color:var(--purple-2);font-style:normal;font-size:1.4rem;text-shadow:0 0 18px var(--purple); }
.ritual-note { padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:radial-gradient(circle at 70% 50%,rgba(115,87,255,.18),transparent 45%),#0c0c11; }
.ritual-note small { color:#a4a1aa;font-size:.62rem;font-weight:800;line-height:1.6;letter-spacing:.13em; }
.ritual-record { flex:0 0 118px;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#09090b 0 7px,#202027 8px 9px,#08080a 10px 16px);border:1px solid var(--line-strong);box-shadow:0 0 30px rgba(115,87,255,.2);animation:spinSlow 12s linear infinite; }
.ritual-record span { width:30px;height:30px;border-radius:50%;background:var(--red);box-shadow:0 0 0 8px #121218,0 0 22px rgba(234,17,29,.35); }

.news-section { background: linear-gradient(180deg,#050507,#08080b); }
.news-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.news-card { border:1px solid var(--line);background:var(--panel);transition:transform .3s,border-color .3s; }
.news-card:hover { transform:translateY(-8px);border-color:rgba(115,87,255,.4); }
.news-image { position:relative;display:block;aspect-ratio:16/9;overflow:hidden; }
.news-image::after { content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.45)); }
.news-image img { width:100%;height:100%;object-fit:cover;transition:transform .55s; }
.news-card:hover .news-image img { transform:scale(1.055); }
.news-image span { position:absolute;z-index:2;left:18px;bottom:16px;background:rgba(5,5,7,.84);border:1px solid var(--line);padding:7px 10px;font-size:.67rem;font-weight:800;letter-spacing:.08em; }
.news-body { padding:24px; }
.news-body h3 { margin:0 0 12px;font-size:1.08rem;line-height:1.35; }
.news-body p { margin:0 0 20px;color:var(--muted);font-size:.86rem; }
.empty-news { min-height:180px;border:1px dashed var(--line-strong);display:flex;align-items:center;justify-content:center;gap:18px;color:var(--muted); }
.empty-news span { font-size:2rem;color:var(--purple); }

.location-section { overflow:hidden; }
.location-section::before { content:'';position:absolute;left:-200px;bottom:-200px;width:600px;height:600px;border-radius:50%;background:rgba(115,87,255,.07);filter:blur(40px); }
.location-grid { display:grid;grid-template-columns:.78fr 1.22fr;gap:18px; }
.location-info,.map-frame { border:1px solid var(--line);background:linear-gradient(145deg,#101016,#08080b); }
.location-info { padding:38px; }
.location-pin { width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--purple);border-radius:50%;font-size:1.7rem;color:var(--purple-2);box-shadow:0 0 25px rgba(115,87,255,.2); }
.location-info h3 { font-family:var(--heading);font-size:2.5rem;font-weight:400;margin:24px 0 8px; }
.location-info > p { color:#d0ced3;max-width:340px; }
.hours-card { margin:28px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.hours-card span { font-size:.69rem;color:var(--red);letter-spacing:.14em;font-weight:800; }
.hours-card p { margin:7px 0 0;color:var(--muted);font-size:.85rem; }
.location-actions { display:flex;gap:10px;flex-wrap:wrap; }
.map-frame { position:relative;min-height:500px;overflow:hidden; }
.map-frame iframe { width:100%;height:100%;min-height:500px;border:0;filter:grayscale(1) invert(.91) contrast(.92) hue-rotate(180deg) saturate(.35); }
.map-frame::after { content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(5,5,7,.8); }
.map-overlay { position:absolute;z-index:3;left:24px;bottom:24px;padding:14px 18px;background:rgba(5,5,7,.86);backdrop-filter:blur(12px);border:1px solid rgba(115,87,255,.35);font-size:.78rem;font-weight:700;box-shadow:0 0 28px rgba(115,87,255,.17); }

.social-section { padding:110px 0;background:#08080b;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.social-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px; }
.social-card { min-height:125px;padding:24px 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;border:1px solid var(--line);background:rgba(255,255,255,.018);transition:transform .3s,border-color .3s,box-shadow .3s; }
.social-card:hover { transform:translateY(-6px); }
.social-card .social-icon { width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 0 1px rgba(0,0,0,.18); }
.social-card .social-icon svg { width:28px;height:28px;display:block;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:drop-shadow(0 0 10px currentColor); }
.social-card .social-icon svg .svg-fill { fill:currentColor; stroke:none; filter:drop-shadow(0 0 10px currentColor); }
.social-card .social-meta { min-width:0; }
.social-card small { display:block;color:#89868f;font-size:.61rem;font-weight:800;letter-spacing:.16em;margin-bottom:6px; }
.social-card strong { display:block;font-family:var(--heading);font-size:1.8rem;font-weight:400;letter-spacing:.03em;line-height:1.05; }
.social-card .social-arrow { width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;font-weight:400;color:#fbfbfd;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);transition:transform .3s, border-color .3s, color .3s, box-shadow .3s; }
.social-card:hover .social-arrow { transform:translate(2px,-2px); }
.social-card.instagram:hover { border-color:#8d5cff;box-shadow:0 18px 50px rgba(103,62,255,.12); }
.instagram .social-icon,.instagram .social-arrow{color:#b494ff;box-shadow:inset 0 0 22px rgba(115,87,255,.08),0 0 26px rgba(115,87,255,.08)}
.social-card.youtube:hover { border-color:var(--red);box-shadow:0 18px 50px rgba(234,17,29,.12); }
.youtube .social-icon,.youtube .social-arrow{color:#ff4c57;box-shadow:inset 0 0 22px rgba(234,17,29,.08),0 0 26px rgba(234,17,29,.08)}
.social-card.google:hover { border-color:#d9d5ce;box-shadow:0 18px 50px rgba(217,213,206,.08); }
.google .social-icon,.google .social-arrow{color:#f0eee9;box-shadow:inset 0 0 22px rgba(255,255,255,.06),0 0 26px rgba(255,255,255,.05)}
.social-card.booking:hover { border-color:var(--purple);box-shadow:0 18px 50px rgba(115,87,255,.12); }
.booking .social-icon,.booking .social-arrow{color:var(--purple-2);box-shadow:inset 0 0 22px rgba(115,87,255,.08),0 0 26px rgba(115,87,255,.08)}

.final-cta { padding:90px 0;background:radial-gradient(circle at 10% 50%,rgba(234,17,29,.15),transparent 32%),radial-gradient(circle at 85% 40%,rgba(115,87,255,.16),transparent 34%),#07070a; }
.final-cta-inner { display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--line-strong);padding:45px 48px;background:rgba(255,255,255,.02);box-shadow:var(--shadow); }
.final-cta span { color:var(--purple-2);font-size:.68rem;letter-spacing:.2em;font-weight:800; }
.final-cta h2 { margin:8px 0 0;font-size:clamp(3rem,5vw,5rem); }

.site-footer { padding:70px 0 22px;background:#030304;border-top:1px solid var(--line); }
.footer-grid { display:grid;grid-template-columns:1.35fr .7fr .85fr 1fr;gap:55px; }
.footer-brand img { width:125px;height:125px;object-fit:contain;border-radius:0;margin-bottom:18px;filter:drop-shadow(0 0 24px rgba(115,87,255,.22)); }
.footer-brand p,.footer-grid p { color:#8f8d95;font-size:.84rem;max-width:250px; }
.footer-grid h3 { margin:0 0 18px;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#c6c3c9; }
.footer-grid > div:not(:first-child) a { display:block;margin:9px 0;color:#918f97;font-size:.83rem; }
.footer-grid a:hover { color:white; }
.footer-bottom { margin-top:45px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#66646c;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em; }

.admin-access-link {
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:38px;
    padding:0 15px;
    border:1px solid rgba(151,108,255,.28);
    border-radius:999px;
    color:#aaa6b2;
    background:rgba(255,255,255,.025);
    transition:border-color .25s,color .25s,background .25s;
}
.admin-access-link:hover {
    color:#fff;
    border-color:rgba(151,108,255,.7);
    background:rgba(115,87,255,.1);
}

.whatsapp-float {
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:60;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:8px 18px 8px 10px;
    color:white;
    border:1px solid rgba(77,255,142,.75);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(20,112,54,.97),rgba(6,40,18,.98));
    box-shadow:0 0 0 4px rgba(37,211,102,.07),0 0 34px rgba(37,211,102,.42),0 16px 35px rgba(0,0,0,.42);
    transition:transform .25s,box-shadow .25s;
}
.whatsapp-float:hover { transform:translateY(-5px) scale(1.02);box-shadow:0 0 0 6px rgba(37,211,102,.09),0 0 55px rgba(37,211,102,.58),0 18px 38px rgba(0,0,0,.5); }
.wa-icon { flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),0 0 18px rgba(37,211,102,.35); }
.wa-icon svg { width:28px;height:28px;display:block;fill:white;transform:none; }
.wa-copy { font-weight:800;font-size:.88rem;line-height:1.15; }
.whatsapp-float small { display:block;font-size:.56rem;letter-spacing:.12em;color:#bfffd4;margin-bottom:3px; }
.whatsapp-float::before { content:'';position:absolute;inset:-7px;border:1px solid rgba(37,211,102,.25);border-radius:inherit;animation:waPulse 2s infinite; }
@keyframes waPulse { 50%{inset:-13px;opacity:0} }

.reveal { opacity:1;transform:none; }
.js .reveal { opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease;transition-delay:var(--delay,0ms); }
.js .reveal.visible { opacity:1;transform:translateY(0); }
.reveal-delay { --delay: 120ms; }

.article-page { background:radial-gradient(circle at 80% 10%,rgba(115,87,255,.08),transparent 30%),var(--bg); }
.article-main { min-height:100vh;padding:160px 0 100px; }
.article-container { max-width:920px; }
.back-link { color:var(--purple-2);font-size:.8rem;font-weight:700; }
.article-kicker { margin-top:50px;color:var(--red);font-size:.7rem;font-weight:800;letter-spacing:.16em; }
.article-main h1 { font-size:clamp(4rem,8vw,7rem);margin:15px 0 20px; }
.article-lead { color:#c3c0c7;font-size:1.15rem;max-width:760px; }
.article-cover { width:100%;margin:42px 0;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow); }
.article-content { color:#c0bdc4;font-size:1rem;line-height:1.9; }
.article-not-found { text-align:center;padding:80px 0; }
.article-not-found > span { font-family:var(--heading);font-size:8rem;color:rgba(255,255,255,.08); }
.article-not-found h1 { margin:0; }
.article-not-found p { color:var(--muted); }

@media (max-width: 1100px) {
    .main-nav { display:none; }
    .hero-grid { grid-template-columns:1fr 1fr; gap:20px; }
    .hero-emblem { min-height:520px; }
    .ring-one{width:470px;height:470px}.ring-two{width:530px;height:530px}
    .services-grid { grid-template-columns:repeat(2,1fr); }
    .ritual-stage { min-height:520px; }
    .experience-grid { grid-template-columns:1fr; }
    .experience-stage { max-width:760px;width:100%; }
}

@media (max-width: 800px) {
    :root { --container:min(100% - 28px, 1180px); }
    .nav-wrap { min-height:74px; }
    .brand img { width:49px;height:49px; }
    .brand span { display:none; }
    .nav-cta { display:none; }
    .menu-toggle { display:block;margin-left:auto; }
    .main-nav {
        position:absolute;
        top:74px;
        left:14px;
        right:14px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:12px;
        background:rgba(7,7,10,.98);
        border:1px solid var(--line);
        transform:translateY(-14px);
        opacity:0;
        pointer-events:none;
        transition:.25s;
    }
    .main-nav.open { transform:translateY(0);opacity:1;pointer-events:auto; }
    .main-nav a { padding:15px 12px;border-bottom:1px solid var(--line); }
    .hero { min-height:auto;padding:120px 0 70px; }
    .hero-grid { grid-template-columns:1fr; }
    .hero-copy { position:relative;z-index:2; }
    .hero h1 { font-size:clamp(4rem,16vw,6rem); }
    .hero-emblem { min-height:420px;opacity:.83; }
    .hero-emblem > img { width:390px; }
    .ring-one{width:380px;height:380px}.ring-two{width:430px;height:430px}
    .guitar-string { display:none; }
    .scroll-hint { display:none; }
    .announcement { align-items:flex-start;flex-direction:column;padding:24px; }
    .section { padding:85px 0; }
    .section-heading h2 { font-size:4.2rem; }
    .heading-row { align-items:flex-start;flex-direction:column; }
    .services-grid { grid-template-columns:repeat(2,1fr); }
    .experience { padding:90px 0; }
    .experience-stage { min-height:500px; }
    .ritual-stage { grid-template-columns:1fr;min-height:auto; }
    .ritual-side { grid-template-columns:1fr 1fr;grid-template-rows:none; }
    .news-grid { grid-template-columns:1fr; }
    .location-grid { grid-template-columns:1fr; }
    .map-frame,.map-frame iframe { min-height:410px; }
    .social-grid { grid-template-columns:1fr; }
    .final-cta-inner { flex-direction:column;align-items:flex-start;padding:34px 26px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
    .btn { width:100%; }
    .hero-actions { flex-direction:column; }
    .hero-points { flex-direction:column;gap:10px; }
    .hero-emblem { min-height:340px; }
    .hero-emblem > img { width:320px; }
    .ring-one{width:310px;height:310px}.ring-two{width:345px;height:345px}
    .equalizer { bottom:0; }
    .services-grid { grid-template-columns:1fr; }
    .service-card { min-height:310px; }
    .services-cta { flex-direction:column;align-items:flex-start; }
    .ritual-side { grid-template-columns:1fr; }
    .ritual-console { padding:20px; }
    .ritual-steps article { grid-template-columns:48px 1fr;padding:15px; }
    .ritual-record { width:96px;height:96px;flex-basis:96px; }
    .experience-features { grid-template-columns:1fr; }
    .experience-stage { grid-template-columns:1fr;grid-template-rows:360px 200px 200px; }
    .stage-main { grid-row:auto; }
    .neon-sign { font-size:2.3rem; }
    .barber-chair { transform:translateX(-50%) scale(.8);transform-origin:bottom;bottom:15px; }
    .location-info { padding:28px 22px; }
    .location-actions { flex-direction:column; }
    .social-card { padding:20px 18px;gap:14px; }
    .social-card strong { font-size:1.45rem; }
    .social-card .social-icon { width:50px;height:50px;border-radius:14px; }
    .social-card .social-icon svg { width:24px;height:24px; }
    .social-card .social-arrow { width:38px;height:38px;font-size:1.15rem; }
    .footer-grid { grid-template-columns:1fr;gap:32px; }
    .footer-bottom { flex-direction:column; }
    .whatsapp-float { right:14px;bottom:14px;padding-right:12px; }
    .whatsapp-float .wa-copy { display:none; }
    .whatsapp-float { padding:8px; }
    .article-main { padding-top:125px; }
}

@media (max-width: 760px) {
    .site-footer { padding-bottom:105px; }
    .footer-bottom { align-items:flex-start; }
    .admin-access-link {
        align-self:flex-start;
        margin-top:4px;
        margin-right:82px;
    }
}

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

@media (max-width: 760px) {
    .announcement { align-items:flex-start;flex-direction:column;padding:22px; }
    .announcement-media { width:100%;flex-basis:auto; }
    .announcement-action { width:100%; }
}


/* Avaliações Google — carrossel */
.reviews-section { overflow:hidden; background:linear-gradient(180deg,#07070a 0%,#0b0911 52%,#060608 100%); }
.reviews-section::before { content:'';position:absolute;inset:0;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:64px 64px;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent); }
.reviews-glow { position:absolute;width:620px;height:620px;right:-180px;top:30px;border-radius:50%;background:radial-gradient(circle,rgba(115,87,255,.17),rgba(234,17,29,.05) 45%,transparent 70%);filter:blur(14px);pointer-events:none; }
.reviews-google-link { flex:0 0 auto; }
.reviews-shell { position:relative;padding:0 58px 38px; }
.reviews-viewport { overflow:hidden; }
.reviews-track { display:flex;transition:transform .65s cubic-bezier(.22,.8,.25,1);will-change:transform; }
.review-card { min-width:calc((100% - 36px)/3);margin-right:18px;min-height:330px;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(10,10,14,.88));box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05); }
.review-card:hover { border-color:rgba(151,108,255,.48);box-shadow:0 0 32px rgba(115,87,255,.13),0 28px 75px rgba(0,0,0,.38); }
.review-card-top { display:flex;align-items:center;gap:13px; }
.review-avatar { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.05rem;background:linear-gradient(135deg,var(--purple),#3b237f);box-shadow:0 0 22px rgba(115,87,255,.35); }
.review-card-top>div:nth-child(2){display:grid;gap:3px;flex:1}.review-card-top strong{font-size:.94rem}.review-card-top span{color:var(--muted);font-size:.69rem}.google-mark{font-size:1.2rem;font-weight:900;color:#fff;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.review-stars { color:#f7c948;letter-spacing:.16em;font-size:1rem;text-shadow:0 0 14px rgba(247,201,72,.24);margin:24px 0 16px; }
.review-card blockquote { margin:0;color:#eceaf0;font-size:1rem;line-height:1.72; }
.review-card time { display:block;margin-top:20px;color:#77747d;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em; }
.reviews-arrow { position:absolute;z-index:3;top:42%;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(151,108,255,.5);background:rgba(8,8,12,.88);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 22px rgba(115,87,255,.18);transition:transform .25s,background .25s,box-shadow .25s;line-height:1; }
.reviews-arrow svg { width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round; }
.reviews-arrow:hover { transform:scale(1.08);background:rgba(115,87,255,.22);box-shadow:0 0 30px rgba(115,87,255,.42); }.reviews-arrow.prev{left:0}.reviews-arrow.next{right:0}
.reviews-dots { display:flex;justify-content:center;gap:9px;margin-top:28px; }.reviews-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#3b3942;cursor:pointer;transition:.25s}.reviews-dots button.active{width:28px;border-radius:8px;background:linear-gradient(90deg,var(--purple),var(--red));box-shadow:0 0 14px rgba(115,87,255,.4)}
.reviews-empty { text-align:center;max-width:760px;margin:0 auto;padding:52px 34px;border:1px dashed rgba(151,108,255,.35);border-radius:14px;background:rgba(255,255,255,.025); }.reviews-empty .review-stars{font-size:1.35rem}.reviews-empty h3{font-family:var(--heading);font-size:2.4rem;margin:10px 0}.reviews-empty p{color:var(--muted);margin:0 auto 25px;max-width:620px}
@media(max-width:980px){.review-card{min-width:calc((100% - 18px)/2)}}
@media(max-width:680px){.reviews-shell{padding:0 0 54px}.review-card{min-width:100%;margin-right:14px}.reviews-arrow{top:auto;bottom:0}.reviews-arrow.prev{left:calc(50% - 54px)}.reviews-arrow.next{right:calc(50% - 54px)}.reviews-dots{margin-top:20px}.reviews-google-link{width:100%}}

/* Player da playlist — LUX'S BARBER */
.music-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(115,87,255,.05) 1px, transparent 1px),
        linear-gradient(rgba(115,87,255,.05) 1px, transparent 1px),
        radial-gradient(circle at 75% 45%, rgba(115,87,255,.12), transparent 36%),
        linear-gradient(180deg, #07070a, #0a0810 55%, #060608);
    background-size: 58px 58px, 58px 58px, auto, auto;
}
.music-section::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0 63%, rgba(234,17,29,.055) 63.2% 63.5%, transparent 63.7% 100%);
}
.music-glow { position:absolute;border-radius:50%;filter:blur(28px);pointer-events:none; }
.music-glow-one { width:430px;height:430px;right:-110px;top:10%;background:rgba(115,87,255,.13); }
.music-glow-two { width:320px;height:320px;left:-120px;bottom:-80px;background:rgba(234,17,29,.07); }
.music-grid { position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:74px;align-items:center; }
.music-copy h2 { margin:10px 0 20px;font-family:var(--heading);font-size:clamp(3.7rem,6vw,6.3rem);line-height:.9;letter-spacing:.015em;max-width:640px; }
.music-copy>p { color:var(--muted);max-width:600px;font-size:1rem;margin:0 0 30px; }
.music-now { display:flex;align-items:center;gap:20px;padding:18px 20px;margin:0 0 24px;border:1px solid rgba(151,108,255,.23);background:linear-gradient(135deg,rgba(115,87,255,.09),rgba(255,255,255,.018)); }
.music-now>div:last-child { display:grid;gap:2px; }
.music-now small { color:var(--purple-2);font-weight:800;letter-spacing:.13em;font-size:.7rem; }
.music-now strong { font-size:1.03rem; }
.music-now span { color:var(--muted);font-size:.76rem; }
.music-vinyl { width:68px;height:68px;flex:0 0 68px;border-radius:50%;position:relative;background:repeating-radial-gradient(circle,#17171d 0 4px,#08080b 5px 8px);box-shadow:0 0 24px rgba(115,87,255,.28);animation:musicSpin 8s linear infinite; }
.music-vinyl::before { content:'';position:absolute;inset:22px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--purple)); }
.music-vinyl span { position:absolute;inset:31px;border-radius:50%;background:#050507;z-index:2; }
.music-actions { display:flex;align-items:center;gap:22px;flex-wrap:wrap; }
.music-status { display:inline-flex;align-items:center;gap:9px;color:#b8b6bf;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700; }
.music-status i { width:8px;height:8px;border-radius:50%;background:#42e77c;box-shadow:0 0 12px #42e77c;animation:musicPulse 1.4s ease-in-out infinite; }
.music-player { position:relative;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;background:linear-gradient(145deg,rgba(25,23,35,.94),rgba(5,5,8,.98));box-shadow:0 34px 100px rgba(0,0,0,.55),0 0 58px rgba(115,87,255,.13),inset 0 1px rgba(255,255,255,.06); }
.music-player::before { content:'';position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(151,108,255,.75),transparent 35%,rgba(234,17,29,.48));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none; }
.music-player-top,.music-player-bottom { min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 8px;color:#9f9ca8;font-size:.68rem;font-weight:800;letter-spacing:.15em; }
.player-lights { display:flex;gap:7px; }.player-lights i{width:8px;height:8px;border-radius:50%;background:#35323d}.player-lights i:nth-child(1){background:#ea111d;box-shadow:0 0 10px rgba(234,17,29,.7)}.player-lights i:nth-child(2){background:#7357ff;box-shadow:0 0 10px rgba(115,87,255,.7)}.player-lights i:nth-child(3){background:#44414c}
.player-eq,.player-wave { display:flex;align-items:flex-end;gap:3px;height:20px; }.player-eq i,.player-wave i{width:3px;border-radius:3px;background:linear-gradient(var(--purple-2),var(--red));animation:musicBars 1s ease-in-out infinite alternate}.player-eq i:nth-child(1),.player-wave i:nth-child(1){height:7px}.player-eq i:nth-child(2),.player-wave i:nth-child(2){height:15px;animation-delay:.15s}.player-eq i:nth-child(3),.player-wave i:nth-child(3){height:10px;animation-delay:.3s}.player-eq i:nth-child(4),.player-wave i:nth-child(4){height:18px;animation-delay:.45s}.player-eq i:nth-child(5),.player-wave i:nth-child(5){height:12px;animation-delay:.6s}.player-wave i:nth-child(6){height:17px;animation-delay:.2s}.player-wave i:nth-child(7){height:9px;animation-delay:.4s}.player-wave i:nth-child(8){height:14px;animation-delay:.1s}.player-wave i:nth-child(9){height:6px;animation-delay:.55s}.player-wave i:nth-child(10){height:18px;animation-delay:.35s}
.music-screen { position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:11px;background:#000;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 45px rgba(115,87,255,.12); }
.music-screen iframe { width:100%;height:100%;border:0;display:block; }
.music-fallback { height:100%;display:grid;place-content:center;text-align:center;padding:30px;background:radial-gradient(circle,rgba(115,87,255,.17),transparent 65%); }.music-fallback strong{font-family:var(--heading);font-size:2.4rem}.music-fallback p{color:var(--muted)}
.music-player-bottom { padding-top:8px; }
@keyframes musicSpin { to { transform:rotate(360deg); } }
@keyframes musicPulse { 50% { opacity:.45;transform:scale(.78); } }
@keyframes musicBars { to { height:5px;opacity:.55; } }
@media(max-width:980px){.music-grid{grid-template-columns:1fr;gap:42px}.music-copy h2{max-width:760px}.music-player{max-width:820px;width:100%;margin-inline:auto}}
@media(max-width:560px){.music-player{padding:10px;border-radius:13px}.music-player-top,.music-player-bottom{min-height:36px}.music-now{padding:15px}.music-vinyl{width:58px;height:58px;flex-basis:58px}.music-vinyl::before{inset:19px}.music-vinyl span{inset:27px}.music-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.music-vinyl,.music-status i,.player-eq i,.player-wave i{animation:none!important}}

/* Header refinado — v10 */
.nav-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 24px;
}
.brand,
.nav-cta { flex-shrink: 0; }
.main-nav {
    min-width: 0;
    justify-content: center;
    gap: clamp(14px, 1.55vw, 24px);
}
.main-nav a {
    white-space: nowrap;
    font-size: clamp(.72rem, .72vw, .84rem);
}
.nav-cta {
    white-space: nowrap;
    padding-inline: 20px;
}

@media (min-width: 1101px) and (max-width: 1320px) {
    :root { --container: min(1240px, calc(100% - 28px)); }
    .nav-wrap { column-gap: 16px; }
    .brand { gap: 9px; font-size: .88rem; }
    .brand img { width: 52px; height: 52px; }
    .main-nav { gap: 15px; }
    .main-nav a { font-size: .72rem; letter-spacing: .065em; }
    .nav-cta { min-height: 48px; padding-inline: 17px; font-size: .76rem; }
}

/* Menu funcional também em notebooks e tablets */
@media (max-width: 1100px) {
    .nav-wrap {
        display: flex;
        min-height: 76px;
    }
    .brand { margin-right: auto; }
    .nav-cta { display: none; }
    .menu-toggle { display: block; margin-left: auto; }
    .main-nav {
        position: absolute;
        top: 76px;
        left: max(14px, calc((100vw - 1180px) / 2));
        right: max(14px, calc((100vw - 1180px) / 2));
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        background: rgba(7,7,10,.98);
        border: 1px solid var(--line);
        box-shadow: 0 24px 60px rgba(0,0,0,.55);
        transform: translateY(-14px);
        opacity: 0;
        pointer-events: none;
        transition: .25s;
    }
    .main-nav.open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    .main-nav a {
        padding: 14px 12px;
        border-bottom: 1px solid var(--line);
        font-size: .8rem;
    }
}

/* Controles reais do player YouTube — v12 */
.youtube-api-player,
.youtube-api-player iframe { width:100%;height:100%;display:block;border:0; }
.lux-player-controls { margin-top:12px;padding:15px 16px 14px;border:1px solid rgba(151,108,255,.22);border-radius:12px;background:linear-gradient(135deg,rgba(115,87,255,.09),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.04); }
.lux-track-row { display:flex;align-items:baseline;gap:12px;min-width:0;margin-bottom:10px; }
.lux-now-label { flex:0 0 auto;color:var(--purple-2);font-size:.62rem;font-weight:900;letter-spacing:.14em; }
.lux-track-title { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;color:#f4f2f7; }
.lux-progress-row { display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:9px;color:#aaa6b1;font-size:.68rem;font-variant-numeric:tabular-nums;margin-bottom:12px; }
.lux-progress,.lux-volume { appearance:none;-webkit-appearance:none;height:5px;border-radius:10px;background:linear-gradient(90deg,var(--purple) var(--range-value,0%),rgba(255,255,255,.16) var(--range-value,0%));outline:none;cursor:pointer; }
.lux-progress::-webkit-slider-thumb,.lux-volume::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--purple);box-shadow:0 0 13px rgba(151,108,255,.85); }
.lux-progress::-moz-range-thumb,.lux-volume::-moz-range-thumb { width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid var(--purple);box-shadow:0 0 13px rgba(151,108,255,.85); }
.lux-control-row { display:flex;align-items:center;justify-content:center;gap:10px; }
.lux-control-btn { width:42px;height:42px;flex:0 0 42px;padding:0;display:grid;place-items:center;border:1px solid rgba(151,108,255,.38);border-radius:50%;background:#0c0b11;color:#fff;cursor:pointer;transition:.22s ease; }
.lux-control-btn:hover { transform:translateY(-2px);border-color:var(--purple-2);background:rgba(115,87,255,.18);box-shadow:0 0 22px rgba(115,87,255,.38); }
.lux-control-btn svg { width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.lux-play-btn { width:52px;height:52px;flex-basis:52px;background:linear-gradient(135deg,var(--purple),var(--red));border-color:transparent;box-shadow:0 0 22px rgba(115,87,255,.42); }
.lux-play-btn .icon-pause,.lux-control-btn .icon-muted { display:none; }
.lux-play-btn.is-playing .icon-play { display:none; }
.lux-play-btn.is-playing .icon-pause { display:block; }
.lux-control-btn.is-muted .icon-volume { display:none; }
.lux-control-btn.is-muted .icon-muted { display:block; }
.lux-volume { width:120px;--range-value:70%; }
.lux-volume-value { width:36px;color:#aaa6b1;font-size:.68rem;font-variant-numeric:tabular-nums; }
@media(max-width:560px){.lux-player-controls{padding:13px 11px}.lux-track-row{display:block}.lux-now-label{display:block;margin-bottom:4px}.lux-control-row{gap:7px}.lux-control-btn{width:38px;height:38px;flex-basis:38px}.lux-play-btn{width:48px;height:48px;flex-basis:48px}.lux-volume{width:76px}.lux-volume-value{display:none}.lux-progress-row{grid-template-columns:34px 1fr 34px}}

/* Refinamento do botão principal do player — v13 */
.lux-control-row { overflow:visible; }
.lux-play-btn {
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    min-width:56px;
    flex:0 0 56px;
    padding:0;
    overflow:visible;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:linear-gradient(145deg,#7357ff 0%,#9b3ee8 46%,#ea111d 100%);
    box-shadow:0 0 0 1px rgba(151,108,255,.18),0 0 18px rgba(115,87,255,.52),0 0 34px rgba(234,17,29,.22),inset 0 1px 0 rgba(255,255,255,.22);
    transform:none;
}
.lux-play-btn::before {
    content:'';
    position:absolute;
    inset:-7px;
    z-index:-1;
    border-radius:inherit;
    background:radial-gradient(circle,rgba(151,108,255,.28) 0%,rgba(115,87,255,.10) 48%,transparent 72%);
    pointer-events:none;
}
.lux-play-btn:hover {
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.28);
    background:linear-gradient(145deg,#8268ff 0%,#aa43ec 46%,#f21d2a 100%);
    box-shadow:0 0 0 1px rgba(151,108,255,.25),0 0 22px rgba(115,87,255,.62),0 0 38px rgba(234,17,29,.28),inset 0 1px 0 rgba(255,255,255,.28);
}
.lux-play-btn:active { transform:scale(.96); }
.lux-play-btn svg {
    display:block;
    width:22px;
    height:22px;
    fill:#fff;
    stroke:none;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));
}
.lux-play-btn .icon-play { transform:translateX(1.5px); }
.lux-play-btn .icon-pause { transform:none; }
.lux-play-btn:focus-visible { outline:2px solid #fff;outline-offset:4px; }
@media(max-width:560px){
    .lux-play-btn{width:52px;height:52px;min-width:52px;flex-basis:52px}
    .lux-play-btn svg{width:20px;height:20px}
}

/* Ajustes finais do cabeçalho e botão principal do player — v14 */
@media (min-width: 1101px) {
    .nav-wrap {
        grid-template-columns: max-content minmax(0, 1fr) max-content;
        column-gap: clamp(28px, 2.4vw, 44px);
    }
    .brand {
        margin-right: 10px;
    }
    .main-nav {
        justify-content: center;
        gap: clamp(15px, 1.35vw, 23px);
        padding-left: clamp(8px, 1vw, 16px);
    }
    .nav-cta {
        min-height: 44px;
        padding: 11px 17px;
        font-size: .74rem;
        letter-spacing: .065em;
        border-radius: 8px;
    }
    .nav-cta .btn-icon {
        font-size: .92rem;
    }
}

@media (min-width: 1101px) and (max-width: 1320px) {
    .nav-wrap { column-gap: 25px; }
    .brand { margin-right: 8px; }
    .main-nav {
        gap: 14px;
        padding-left: 8px;
    }
    .main-nav a {
        font-size: .70rem;
        letter-spacing: .055em;
    }
    .nav-cta {
        min-height: 42px;
        padding-inline: 14px;
        font-size: .71rem;
    }
}

/* Botão play/pause realmente circular, sem qualquer moldura quadrada */
.lux-play-btn,
.lux-play-btn:hover,
.lux-play-btn:active,
.lux-play-btn:focus,
.lux-play-btn:focus-visible {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    border-radius: 50% !important;
    clip-path: circle(50% at 50% 50%);
    overflow: hidden !important;
    outline: 0 !important;
    background-clip: padding-box;
}
.lux-play-btn::before,
.lux-play-btn::after {
    content: none !important;
    display: none !important;
}
.lux-play-btn {
    width: 56px;
    height: 56px;
    min-width: 56px;
    flex: 0 0 56px;
    border: 1px solid rgba(255,255,255,.24) !important;
    background: radial-gradient(circle at 32% 24%, #a98cff 0%, #7a55f4 35%, #c12cac 68%, #ec1726 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32), inset 0 -6px 12px rgba(0,0,0,.16) !important;
    filter: drop-shadow(0 0 8px rgba(151,108,255,.70)) drop-shadow(0 0 16px rgba(234,17,29,.28));
}
.lux-play-btn:hover {
    transform: translateY(-1px) scale(1.025);
    filter: drop-shadow(0 0 10px rgba(171,137,255,.88)) drop-shadow(0 0 20px rgba(234,17,29,.35));
}
.lux-play-btn:active {
    transform: scale(.96);
}
.lux-play-btn:focus-visible {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 3px rgba(151,108,255,.28) !important;
}
.lux-play-btn svg {
    position: relative;
    z-index: 1;
}
@media (max-width: 560px) {
    .lux-play-btn {
        width: 52px;
        height: 52px;
        min-width: 52px;
        flex-basis: 52px;
    }
}


/* Correção definitiva do botão play/pause — círculo puro, sem artefato quadrado */
.lux-control-row .lux-play-btn,
.lux-control-row .lux-play-btn:hover,
.lux-control-row .lux-play-btn:active,
.lux-control-row .lux-play-btn:focus,
.lux-control-row .lux-play-btn:focus-visible {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    flex: 0 0 56px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    outline: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
    background: linear-gradient(145deg,#9b75ff 0%,#7651ed 42%,#d52b9c 72%,#ef2533 100%) !important;
    background-clip: border-box !important;
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.40),
        inset 0 -7px 13px rgba(29,8,44,.22),
        0 0 0 1px rgba(183,151,255,.58),
        0 0 13px rgba(137,91,255,.68),
        0 0 27px rgba(211,36,118,.32) !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    isolation: isolate;
    transform: none;
}
.lux-control-row .lux-play-btn::before,
.lux-control-row .lux-play-btn::after {
    content: none !important;
    display: none !important;
}
.lux-control-row .lux-play-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.46),
        inset 0 -7px 13px rgba(29,8,44,.18),
        0 0 0 1px rgba(205,183,255,.75),
        0 0 17px rgba(151,108,255,.85),
        0 0 32px rgba(234,17,91,.40) !important;
}
.lux-control-row .lux-play-btn:active { transform: scale(.96) !important; }
.lux-control-row .lux-play-btn:focus-visible {
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.42),
        0 0 0 3px #08080c,
        0 0 0 5px rgba(171,137,255,.92),
        0 0 24px rgba(151,108,255,.72) !important;
}
.lux-control-row .lux-play-btn svg {
    position: static !important;
    width: 21px !important;
    height: 21px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    fill: #fff !important;
    stroke: none !important;
    filter: none !important;
}
.lux-control-row .lux-play-btn .icon-play { transform: translateX(1px) !important; }
.lux-control-row .lux-play-btn .icon-pause { transform: none !important; }
@media (max-width:560px) {
    .lux-control-row .lux-play-btn,
    .lux-control-row .lux-play-btn:hover,
    .lux-control-row .lux-play-btn:active,
    .lux-control-row .lux-play-btn:focus,
    .lux-control-row .lux-play-btn:focus-visible {
        width:52px !important;height:52px !important;min-width:52px !important;min-height:52px !important;max-width:52px !important;max-height:52px !important;flex-basis:52px !important;
    }
}

/* Diretrizes e alertas contra fraudes */
.footer-utility-links {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}
.security-access-link {
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:38px;
    padding:0 15px;
    border:1px solid rgba(234,17,29,.28);
    border-radius:999px;
    color:#aaa6b2;
    background:rgba(255,255,255,.025);
    transition:border-color .25s,color .25s,background .25s,box-shadow .25s;
}
.security-access-link::before {
    content:'';
    width:7px;
    height:7px;
    margin-right:9px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 12px rgba(234,17,29,.8);
}
.security-access-link:hover,
.security-access-link.is-current {
    color:#fff;
    border-color:rgba(234,17,29,.72);
    background:rgba(234,17,29,.09);
    box-shadow:0 0 24px rgba(234,17,29,.1);
}

.security-page {
    background:#050507;
    color:#f5f3f7;
}
.security-page .site-header.is-solid {
    background:rgba(5,5,7,.95);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
}
.security-header-actions {
    display:flex;
    align-items:center;
    gap:20px;
    margin-left:auto;
}
.security-back-link {
    color:#aaa6b2;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:color .25s;
}
.security-back-link:hover { color:#fff; }
.security-main { overflow:hidden; }
.security-hero {
    position:relative;
    min-height:760px;
    padding:185px 0 120px;
    display:flex;
    align-items:center;
    background:
        radial-gradient(circle at 78% 32%,rgba(115,87,255,.2),transparent 28%),
        radial-gradient(circle at 12% 70%,rgba(234,17,29,.14),transparent 30%),
        linear-gradient(145deg,#050507 0%,#080711 54%,#050507 100%);
    border-bottom:1px solid var(--line);
}
.security-grid-pattern {
    position:absolute;
    inset:0;
    opacity:.48;
    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:62px 62px;
    mask-image:linear-gradient(180deg,transparent 2%,#000 18%,#000 78%,transparent 100%);
}
.security-orbit {
    position:absolute;
    right:7%;
    top:50%;
    border-radius:50%;
    border:1px solid rgba(151,108,255,.16);
    transform:translateY(-50%);
    pointer-events:none;
}
.security-orbit-one { width:520px;height:520px; }
.security-orbit-two { width:640px;height:640px;border-color:rgba(234,17,29,.1); }
.security-hero-grid {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:center;
    gap:80px;
}
.security-kicker {
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#ff3b45;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.22em;
}
.security-kicker::before {
    content:'';
    width:42px;
    height:2px;
    background:linear-gradient(90deg,var(--red),var(--purple-2));
    box-shadow:0 0 14px rgba(234,17,29,.4);
}
.security-hero h1 {
    max-width:790px;
    margin:22px 0 24px;
    font-size:clamp(4.8rem,8.5vw,8.8rem);
    line-height:.86;
    letter-spacing:.015em;
}
.security-hero-copy > p {
    max-width:690px;
    margin:0;
    color:#bbb7c1;
    font-size:1.08rem;
    line-height:1.85;
}
.security-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:35px;
}
.security-status-row {
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:34px;
    color:#87838d;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.security-status-row span { display:flex;align-items:center;gap:8px; }
.security-status-row i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#27e981;
    box-shadow:0 0 14px rgba(39,233,129,.75);
}
.security-shield-card {
    position:relative;
    min-height:470px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(151,108,255,.25);
    background:linear-gradient(155deg,rgba(255,255,255,.04),rgba(8,8,14,.78));
    box-shadow:0 35px 100px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.05);
    overflow:hidden;
}
.security-shield-card::before,
.security-shield-card::after {
    content:'';
    position:absolute;
    width:140px;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--purple-2),transparent);
}
.security-shield-card::before { top:32px;left:28px; }
.security-shield-card::after { bottom:32px;right:28px;background:linear-gradient(90deg,transparent,var(--red),transparent); }
.security-shield-glow {
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(115,87,255,.24),rgba(234,17,29,.07) 48%,transparent 72%);
    filter:blur(12px);
}
.security-shield {
    position:relative;
    width:210px;
    height:250px;
    display:grid;
    place-items:center;
}
.security-shield svg {
    width:100%;
    height:100%;
    stroke:#fff;
    stroke-width:7;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 12px rgba(151,108,255,.75)) drop-shadow(0 0 30px rgba(234,17,29,.18));
}
.security-shield-label { position:relative;text-align:center;margin-top:15px; }
.security-shield-label small { display:block;color:var(--purple-2);font-size:.62rem;font-weight:800;letter-spacing:.18em;margin-bottom:7px; }
.security-shield-label strong { font-family:var(--heading);font-size:2rem;font-weight:400;letter-spacing:.04em; }

.security-alert-strip {
    position:relative;
    z-index:3;
    background:#08080b;
    border-bottom:1px solid var(--line);
}
.security-alert-inner {
    min-height:132px;
    display:flex;
    align-items:center;
    gap:24px;
    padding:25px 0;
}
.security-alert-icon {
    flex:0 0 58px;
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    font-family:var(--heading);
    font-size:2rem;
    background:linear-gradient(145deg,#ff2634,#7b1021);
    box-shadow:0 0 0 6px rgba(234,17,29,.08),0 0 32px rgba(234,17,29,.35);
}
.security-alert-inner strong { display:block;font-size:1rem;margin-bottom:5px; }
.security-alert-inner p { margin:0;color:#918e97;font-size:.88rem; }

.security-section {
    position:relative;
    padding:115px 0;
    background:#07070a;
}
.security-section-dark {
    background:
        radial-gradient(circle at 90% 10%,rgba(115,87,255,.08),transparent 28%),
        linear-gradient(180deg,#060608,#09090d);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.security-section .section-heading { max-width:920px;margin-bottom:48px; }
.security-section .section-heading h2 { margin-bottom:12px; }
.security-section-lead { max-width:730px;margin:0;color:#96929c;font-size:.96rem;line-height:1.75; }
.security-channel-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.security-channel-card {
    position:relative;
    min-height:330px;
    padding:32px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    border:1px solid var(--line);
    background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(7,7,11,.9));
    overflow:hidden;
    transition:transform .3s,border-color .3s,box-shadow .3s;
}
.security-channel-card::before {
    content:'';
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,var(--red),var(--purple-2),transparent 78%);
    opacity:.7;
}
.security-channel-card:hover {
    transform:translateY(-8px);
    border-color:rgba(151,108,255,.48);
    box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 34px rgba(115,87,255,.1);
}
.security-channel-icon {
    width:66px;
    height:66px;
    margin-bottom:34px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:#b598ff;
    border:1px solid rgba(151,108,255,.25);
    background:rgba(115,87,255,.08);
    box-shadow:inset 0 0 24px rgba(115,87,255,.08),0 0 24px rgba(115,87,255,.08);
}
.security-channel-icon svg {
    width:31px;
    height:31px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
}
.security-channel-card:nth-child(2) .security-channel-icon { color:#50ed8d;border-color:rgba(37,211,102,.25);background:rgba(37,211,102,.08); }
.security-channel-card:nth-child(2) .security-channel-icon svg { fill:currentColor;stroke:none; }
.security-channel-card:nth-child(3) .security-channel-icon { color:#ff4b58;border-color:rgba(234,17,29,.25);background:rgba(234,17,29,.08); }
.security-channel-card small { color:#77737e;font-size:.62rem;font-weight:800;letter-spacing:.18em;margin-bottom:8px; }
.security-channel-card strong { font-family:var(--heading);font-size:2rem;font-weight:400;letter-spacing:.03em; }
.security-channel-card p { margin:16px 0 0;color:#99959f;font-size:.86rem;line-height:1.7; }
.security-card-arrow {
    position:absolute;
    right:24px;
    bottom:22px;
    width:40px;
    height:40px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    border:1px solid var(--line);
    background:rgba(255,255,255,.025);
}
.security-warning-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.security-warning-card {
    position:relative;
    min-height:250px;
    padding:35px 35px 32px 108px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.02);
}
.security-warning-card > span {
    position:absolute;
    left:30px;
    top:32px;
    color:var(--red);
    font-family:var(--heading);
    font-size:3rem;
    line-height:1;
    text-shadow:0 0 20px rgba(234,17,29,.3);
}
.security-warning-card h3 { margin:0 0 13px;font-size:2rem; }
.security-warning-card p { margin:0;color:#99959f;font-size:.88rem;line-height:1.8; }
.security-protocol-section {
    background:
        radial-gradient(circle at 18% 50%,rgba(234,17,29,.12),transparent 30%),
        radial-gradient(circle at 88% 32%,rgba(115,87,255,.12),transparent 30%),
        #07070a;
}
.security-protocol-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
    align-items:start;
}
.security-protocol-copy { position:sticky;top:135px; }
.security-protocol-copy h2 { margin:12px 0 18px;font-size:clamp(4rem,6vw,6.4rem); }
.security-protocol-copy p { color:#99959f;line-height:1.8;max-width:450px;margin:0 0 28px; }
.security-steps { display:grid;gap:14px; }
.security-steps article {
    min-height:132px;
    display:grid;
    grid-template-columns:64px 1fr;
    align-items:center;
    gap:20px;
    padding:25px 28px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.025);
}
.security-steps b {
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    font-family:var(--heading);
    font-size:1.6rem;
    border:1px solid rgba(151,108,255,.42);
    background:rgba(115,87,255,.09);
    box-shadow:0 0 22px rgba(115,87,255,.09);
}
.security-steps strong { display:block;font-size:1rem;margin-bottom:5px; }
.security-steps p { margin:0;color:#918e97;font-size:.84rem;line-height:1.65; }
.security-final-cta { padding:95px 0;background:#050507;border-top:1px solid var(--line); }
.security-final-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:48px;
    padding:50px 54px;
    border:1px solid rgba(151,108,255,.28);
    background:
        radial-gradient(circle at 12% 100%,rgba(234,17,29,.13),transparent 34%),
        radial-gradient(circle at 88% 0%,rgba(115,87,255,.16),transparent 34%),
        rgba(255,255,255,.02);
    box-shadow:0 35px 100px rgba(0,0,0,.35);
}
.security-final-card span { color:var(--purple-2);font-size:.65rem;font-weight:800;letter-spacing:.18em; }
.security-final-card h2 { margin:8px 0 8px;font-size:clamp(3.6rem,5vw,5.6rem); }
.security-final-card p { margin:0;color:#99959f; }
.security-final-actions { display:flex;flex-direction:column;gap:12px;min-width:270px; }
.security-footer { padding-bottom:22px; }

@media (max-width: 980px) {
    .security-hero-grid { grid-template-columns:1fr;gap:55px; }
    .security-orbit { right:-25%;top:68%; }
    .security-shield-card { max-width:620px;width:100%;min-height:410px; }
    .security-channel-grid { grid-template-columns:1fr; }
    .security-channel-card { min-height:260px; }
    .security-protocol-grid { grid-template-columns:1fr;gap:45px; }
    .security-protocol-copy { position:static; }
    .security-final-card { flex-direction:column;align-items:flex-start; }
    .security-final-actions { width:100%; }
}

@media (max-width: 760px) {
    .footer-utility-links { justify-content:flex-start; }
    .security-access-link,
    .admin-access-link { margin-right:82px; }
    .security-header-actions .security-back-link { display:none; }
    .security-header-actions .btn { width:auto;min-height:42px;padding:0 16px;font-size:.68rem; }
    .security-hero { min-height:auto;padding:130px 0 80px; }
    .security-hero h1 { font-size:clamp(4rem,16vw,6.2rem); }
    .security-hero-actions { flex-direction:column; }
    .security-hero-actions .btn { width:100%; }
    .security-status-row { flex-direction:column;gap:10px; }
    .security-shield-card { min-height:350px; }
    .security-shield { width:155px;height:190px; }
    .security-alert-inner { align-items:flex-start; }
    .security-warning-grid { grid-template-columns:1fr; }
    .security-warning-card { padding:95px 25px 28px; }
    .security-warning-card > span { left:25px;top:25px; }
    .security-section { padding:85px 0; }
    .security-section .section-heading h2 { font-size:clamp(3.8rem,15vw,5rem); }
    .security-final-card { padding:36px 25px; }
}

@media (max-width: 520px) {
    .security-page .brand span { display:none; }
    .security-header-actions .btn { padding:0 13px; }
    .security-shield-label strong { font-size:1.6rem; }
    .security-alert-inner { gap:18px; }
    .security-alert-icon { flex-basis:48px;width:48px;height:48px;font-size:1.65rem; }
    .security-channel-card { padding:26px 24px; }
    .security-warning-card h3 { font-size:1.7rem; }
    .security-steps article { grid-template-columns:50px 1fr;padding:21px 18px;gap:14px; }
    .security-steps b { width:46px;height:46px; }
}

@media (max-width: 760px) {
    .footer-utility-links {
        width:100%;
        padding-right:82px;
        flex-direction:column;
        align-items:flex-start;
    }
    .footer-utility-links .security-access-link,
    .footer-utility-links .admin-access-link {
        margin-right:0;
        max-width:100%;
        text-align:left;
    }
}

/* v20 — ajuste dos ícones da página de segurança */
.security-channel-icon {
    width:68px;
    height:68px;
    flex:0 0 68px;
    padding:17px;
    box-sizing:border-box;
    overflow:visible;
}
.security-channel-icon svg {
    width:100%;
    height:100%;
    max-width:34px;
    max-height:34px;
    display:block;
    overflow:visible;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.security-channel-icon svg * { vector-effect:non-scaling-stroke; }
.security-channel-card:nth-child(2) .security-channel-icon svg {
    fill:none;
    stroke:currentColor;
}

/* Dificulta cópia casual sem prejudicar links, acessibilidade ou SEO. */
[data-protected-image] {
    -webkit-user-drag:none;
    -webkit-touch-callout:none;
    user-select:none;
}

/* Estado ativo das rotas amigáveis do menu principal. */
.main-nav a.active,
.main-nav a[aria-current="page"] { color: #fff; }
.main-nav a.active::after,
.main-nav a[aria-current="page"]::after { right: 0; }

/* Wide facade banner */
.facade-wide-banner {
    position: relative;
    min-height: clamp(320px, 48vw, 560px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    border-top: 1px solid rgba(255,255,255,.035);
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: #050507;
}
.facade-wide-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(4,5,9,.08) 0%, rgba(4,5,9,.55) 58%, rgba(4,5,9,.84) 100%),
        radial-gradient(circle at 85% 15%, rgba(234,17,29,.18), transparent 24%),
        radial-gradient(circle at 18% 24%, rgba(115,87,255,.16), transparent 26%);
    z-index: 1;
    pointer-events: none;
}
.facade-wide-banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 88px 88px;
    opacity: .12;
    mix-blend-mode: screen;
    z-index: 1;
    pointer-events: none;
}
.facade-wide-media {
    position: absolute;
    inset: -7% 0 -7% 0;
    will-change: transform;
    transform: translate3d(0, 0, 0) scale(1.08);
    z-index: 0;
}
.facade-wide-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 44%;
    filter: saturate(1.08) contrast(1.04) brightness(.88);
}
.facade-wide-overlay {
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, rgba(5,5,7,0) 0%, rgba(5,5,7,.55) 52%, rgba(5,5,7,.96) 100%);
    z-index: 1;
    pointer-events: none;
}
.facade-wide-shell {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: clamp(150px, 18vw, 220px) 0 44px;
}
.facade-wide-copy {
    max-width: 540px;
}
.facade-wide-copy .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: var(--purple-2);
    text-shadow: 0 0 14px rgba(115,87,255,.48);
}
.facade-wide-copy .kicker::before {
    content: '';
    width: 54px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 12px rgba(115,87,255,.5);
}
.facade-wide-copy h2 {
    margin: 0;
    font-size: clamp(3rem, 9vw, 7rem);
    line-height: .92;
    text-transform: uppercase;
    text-shadow: 0 8px 30px rgba(0,0,0,.45), 0 0 25px rgba(255,255,255,.08);
}

.service-card-bottom {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    color: #a7a4ad;
    font-size: .69rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.service-meta {
    flex: 1 1 100%;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 18px;
    margin-top: 0;
    color: var(--silver);
}
.service-meta span {
    justify-self: start;
    color: var(--red);
    font-weight: 800;
}
.service-meta small {
    justify-self: end;
    text-align: right;
    color: var(--muted);
    white-space: nowrap;
}
.service-card-bottom b {
    margin-left: auto;
    color: var(--purple-2);
    font-size: 1rem;
    text-shadow: 0 0 12px var(--purple);
}

@media (max-width: 980px) {
    .facade-wide-shell {
        padding-top: clamp(132px, 22vw, 180px);
        padding-bottom: 34px;
    }
}

@media (max-width: 680px) {
    .facade-wide-banner {
        min-height: 280px;
    }
    .facade-wide-media img {
        object-position: center 38%;
    }
    .facade-wide-shell {
        padding-top: 120px;
        padding-bottom: 28px;
    }
    .facade-wide-copy .kicker {
        font-size: .68rem;
        letter-spacing: .16em;
    }
    .service-meta {
        column-gap: 10px;
    }
    .service-meta span,
    .service-meta small {
        font-size: .72rem;
    }
}

/* Modern facade banner override */
.facade-wide-banner--modern {
    min-height: auto;
    display: block;
    padding: 26px 0 8px;
    border: 0;
    background: transparent;
    overflow: visible;
}
.facade-wide-banner--modern::before,
.facade-wide-banner--modern::after,
.facade-wide-banner--modern .facade-wide-overlay,
.facade-wide-banner--modern .facade-wide-shell,
.facade-wide-banner--modern .facade-wide-copy,
.facade-wide-banner--modern .facade-wide-media { display: none !important; }

.facade-banner-card {
    position: relative;
    min-height: clamp(340px, 44vw, 520px);
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(145deg, rgba(9,10,18,.96), rgba(6,7,12,.88)),
        radial-gradient(circle at top left, rgba(115,87,255,.12), transparent 34%),
        radial-gradient(circle at right center, rgba(234,17,29,.11), transparent 32%);
    box-shadow:
        0 25px 90px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.04);
    isolation: isolate;
}
.facade-banner-card::before {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.06);
    pointer-events: none;
    z-index: 3;
}
.facade-banner-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 92px 92px;
    opacity: .08;
    mix-blend-mode: screen;
    z-index: 1;
    pointer-events: none;
}
.facade-banner-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 16%, rgba(255,160,88,.24), transparent 26%),
        radial-gradient(circle at 12% 18%, rgba(115,87,255,.20), transparent 24%),
        linear-gradient(90deg, rgba(5,6,10,.92) 0%, rgba(5,6,10,.72) 34%, rgba(5,6,10,.2) 58%, rgba(5,6,10,.38) 100%);
    z-index: 0;
}
.facade-banner-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    will-change: transform;
    transform: translate3d(0, 0, 0) scale(1.06);
}
.facade-banner-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 46%;
    filter: saturate(1.04) contrast(1.03) brightness(.92);
}
.facade-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(5,6,10,.92) 0%, rgba(5,6,10,.78) 28%, rgba(5,6,10,.34) 54%, rgba(5,6,10,.22) 72%, rgba(5,6,10,.50) 100%),
        linear-gradient(180deg, rgba(5,6,10,.20) 0%, rgba(5,6,10,0) 35%, rgba(5,6,10,.84) 100%);
}
.facade-banner-content {
    position: relative;
    z-index: 3;
    max-width: min(48%, 520px);
    padding: clamp(34px, 5vw, 58px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.facade-banner-content .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(8,9,15,.48);
    backdrop-filter: blur(10px);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #d8d2ff;
    text-shadow: 0 0 14px rgba(115,87,255,.38);
}
.facade-banner-content .kicker::before {
    content: '';
    width: 42px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 12px rgba(115,87,255,.45);
}
.facade-banner-content h2 {
    margin: 0;
    font-size: clamp(3rem, 6.8vw, 6rem);
    line-height: .92;
    text-transform: uppercase;
    text-shadow: 0 10px 34px rgba(0,0,0,.42);
}
.facade-banner-content p {
    max-width: 38ch;
    margin: 0;
    font-size: clamp(1rem, 1.7vw, 1.15rem);
    line-height: 1.7;
    color: #d0ced6;
    text-wrap: balance;
}
.facade-banner-visual {
    position: absolute;
    right: 26px;
    top: 26px;
    z-index: 3;
    display: flex;
    gap: 8px;
}
.facade-banner-visual span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,.32);
    box-shadow: 0 0 14px rgba(255,255,255,.08);
}
.facade-banner-visual span:nth-child(1) { background: var(--red); box-shadow: 0 0 16px rgba(234,17,29,.55); }
.facade-banner-visual span:nth-child(2) { background: var(--purple-2); box-shadow: 0 0 16px rgba(115,87,255,.55); }
.facade-banner-visual span:nth-child(3) { background: #f6c15f; box-shadow: 0 0 16px rgba(246,193,95,.45); }

@media (max-width: 980px) {
    .facade-wide-banner--modern {
        padding-top: 18px;
    }
    .facade-banner-card {
        min-height: 420px;
    }
    .facade-banner-content {
        max-width: min(64%, 520px);
        padding: 28px;
    }
}

@media (max-width: 760px) {
    .facade-banner-card {
        min-height: 400px;
        border-radius: 24px;
    }
    .facade-banner-card::before {
        inset: 10px;
        border-radius: 18px;
    }
    .facade-banner-media img {
        object-position: center 42%;
    }
    .facade-banner-overlay {
        background:
            linear-gradient(180deg, rgba(5,6,10,.24) 0%, rgba(5,6,10,.20) 20%, rgba(5,6,10,.56) 56%, rgba(5,6,10,.92) 100%),
            linear-gradient(90deg, rgba(5,6,10,.50) 0%, rgba(5,6,10,.18) 100%);
    }
    .facade-banner-content {
        max-width: 100%;
        padding: 24px 22px 26px;
        justify-content: flex-end;
        min-height: 100%;
    }
    .facade-banner-content .kicker {
        font-size: .68rem;
        letter-spacing: .15em;
        padding: 10px 14px;
    }
    .facade-banner-content p {
        max-width: 100%;
        font-size: .95rem;
        line-height: 1.55;
    }
    .facade-banner-visual {
        right: 18px;
        top: 18px;
    }
}

/* Full-photo facade banner version */
.facade-wide-banner--fullphoto {
    min-height: auto;
    display: block;
    padding: 24px 0 10px;
    border: 0;
    background: transparent;
    overflow: visible;
}
.facade-wide-banner--fullphoto::before,
.facade-wide-banner--fullphoto::after,
.facade-wide-banner--fullphoto .facade-wide-overlay,
.facade-wide-banner--fullphoto .facade-wide-shell,
.facade-wide-banner--fullphoto .facade-wide-copy,
.facade-wide-banner--fullphoto .facade-wide-media { display: none !important; }

.facade-photo-banner {
    position: relative;
    min-height: clamp(410px, 52vw, 620px);
    display: grid;
    grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(18px, 2.2vw, 28px);
    padding: clamp(20px, 2.4vw, 28px);
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.08);
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(145deg, rgba(8,9,15,.96), rgba(5,6,10,.92));
    box-shadow: 0 24px 90px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.04);
}
.facade-photo-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 92px 92px;
    opacity: .08;
    mix-blend-mode: screen;
    z-index: 1;
    pointer-events: none;
}
.facade-photo-banner::after {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.06);
    z-index: 1;
    pointer-events: none;
}
.facade-photo-ambient {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 85% 14%, rgba(255,167,94,.20), transparent 24%),
        radial-gradient(circle at 16% 18%, rgba(115,87,255,.14), transparent 24%),
        linear-gradient(90deg, rgba(5,6,10,.96) 0%, rgba(5,6,10,.82) 28%, rgba(5,6,10,.52) 50%, rgba(5,6,10,.82) 100%);
}
.facade-photo-copy {
    position: relative;
    z-index: 3;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: clamp(12px, 2vw, 20px) clamp(6px, 1vw, 10px) clamp(12px, 2vw, 20px) clamp(6px, 1vw, 10px);
}
.facade-photo-copy .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(8,9,15,.52);
    backdrop-filter: blur(10px);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #d8d2ff;
    text-shadow: 0 0 14px rgba(115,87,255,.38);
}
.facade-photo-copy .kicker::before {
    content: '';
    width: 42px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 12px rgba(115,87,255,.45);
}
.facade-photo-copy h2 {
    margin: 0;
    font-size: clamp(3rem, 6vw, 5.6rem);
    line-height: .92;
    text-transform: uppercase;
    text-shadow: 0 10px 34px rgba(0,0,0,.42);
}
.facade-photo-copy p {
    max-width: 34ch;
    margin: 0;
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    line-height: 1.7;
    color: #d0ced6;
}
.facade-photo-stage {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(360px, 46vw, 560px);
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.facade-photo-stage-glow {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center, rgba(255,255,255,.06), transparent 56%),
        radial-gradient(circle at 80% 15%, rgba(234,17,29,.16), transparent 24%),
        radial-gradient(circle at 20% 18%, rgba(115,87,255,.18), transparent 24%);
    z-index: 0;
    pointer-events: none;
}
.facade-photo-media {
    position: relative;
    z-index: 1;
    width: calc(100% - 28px);
    height: calc(100% - 28px);
    min-height: clamp(330px, 42vw, 520px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(7,8,14,.92), rgba(9,10,18,.86));
    box-shadow:
        0 0 0 1px rgba(255,255,255,.05),
        0 24px 60px rgba(0,0,0,.24);
    will-change: transform;
    transform: translate3d(0, 0, 0) scale(1.02);
}
.facade-photo-media::before {
    content: '';
    position: absolute;
    inset: -4%;
    background: url('../images/fachada-banner-full.jpg') center center / cover no-repeat;
    filter: blur(26px) saturate(1.05) brightness(.68);
    transform: scale(1.08);
    opacity: .48;
}
.facade-photo-media img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
    filter: saturate(1.05) contrast(1.03);
}

@media (max-width: 1100px) {
    .facade-photo-banner {
        grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    }
    .facade-photo-copy h2 {
        font-size: clamp(2.8rem, 5vw, 4.6rem);
    }
}
@media (max-width: 860px) {
    .facade-wide-banner--fullphoto {
        padding-top: 18px;
    }
    .facade-photo-banner {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 18px;
        padding: 18px;
    }
    .facade-photo-copy {
        order: 2;
        padding: 6px 4px 4px;
    }
    .facade-photo-stage {
        order: 1;
        min-height: 360px;
    }
    .facade-photo-copy p {
        max-width: 100%;
    }
}
@media (max-width: 640px) {
    .facade-photo-banner {
        border-radius: 24px;
        padding: 14px;
    }
    .facade-photo-banner::after {
        inset: 10px;
        border-radius: 18px;
    }
    .facade-photo-copy .kicker {
        font-size: .66rem;
        letter-spacing: .14em;
        padding: 10px 13px;
    }
    .facade-photo-copy h2 {
        font-size: clamp(2.4rem, 13vw, 3.6rem);
    }
    .facade-photo-copy p {
        font-size: .95rem;
        line-height: 1.55;
    }
    .facade-photo-stage {
        min-height: 300px;
        border-radius: 20px;
    }
    .facade-photo-media {
        width: calc(100% - 18px);
        height: calc(100% - 18px);
        min-height: 270px;
        border-radius: 16px;
    }
}

/* 3rd variation: facade showcase banner */
.facade-wide-banner--showcase {
    min-height: auto;
    display: block;
    padding: 24px 0 10px;
    border: 0;
    background: transparent;
    overflow: visible;
}
.facade-wide-banner--showcase::before,
.facade-wide-banner--showcase::after,
.facade-wide-banner--showcase .facade-wide-overlay,
.facade-wide-banner--showcase .facade-wide-shell,
.facade-wide-banner--showcase .facade-wide-copy,
.facade-wide-banner--showcase .facade-wide-media { display: none !important; }

.facade-showcase-banner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 400px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(20px, 2.4vw, 34px);
    min-height: clamp(430px, 54vw, 640px);
    padding: clamp(18px, 2.2vw, 28px);
    overflow: hidden;
    isolation: isolate;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(145deg, rgba(8,9,15,.96), rgba(5,6,10,.92)),
        radial-gradient(circle at 15% 15%, rgba(115,87,255,.12), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(234,17,29,.12), transparent 24%);
    box-shadow: 0 24px 90px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.04);
}
.facade-showcase-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 92px 92px;
    opacity: .08;
    mix-blend-mode: screen;
    z-index: 1;
    pointer-events: none;
}
.facade-showcase-banner::after {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.06);
    z-index: 1;
    pointer-events: none;
}
.facade-showcase-ambient {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(5,6,10,.92) 0%, rgba(5,6,10,.72) 34%, rgba(5,6,10,.34) 58%, rgba(5,6,10,.76) 100%),
        radial-gradient(circle at 84% 10%, rgba(255,165,91,.18), transparent 24%);
}
.facade-showcase-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: clamp(8px, 1vw, 12px) clamp(4px, .8vw, 8px);
}
.facade-showcase-copy .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(8,9,15,.52);
    backdrop-filter: blur(10px);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #d8d2ff;
    text-shadow: 0 0 14px rgba(115,87,255,.38);
}
.facade-showcase-copy .kicker::before {
    content: '';
    width: 42px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 12px rgba(115,87,255,.45);
}
.facade-showcase-copy h2 {
    margin: 0;
    font-size: clamp(3rem, 6vw, 5.8rem);
    line-height: .92;
    text-transform: uppercase;
    text-shadow: 0 10px 34px rgba(0,0,0,.42);
}
.facade-showcase-copy p {
    max-width: 36ch;
    margin: 0;
    font-size: clamp(1rem, 1.45vw, 1.08rem);
    line-height: 1.72;
    color: #d0ced6;
}
.facade-showcase-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.facade-showcase-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
    color: #efeff3;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.facade-showcase-stage {
    position: relative;
    z-index: 2;
    min-height: clamp(380px, 48vw, 590px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.facade-showcase-frame {
    position: relative;
    width: 100%;
    height: clamp(360px, 46vw, 560px);
    padding: 14px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.03),
        0 22px 60px rgba(0,0,0,.26);
    overflow: hidden;
    will-change: transform;
    transform: translate3d(0,0,0) scale(1.02);
}
.facade-showcase-glow {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 14%, rgba(115,87,255,.20), transparent 24%),
        radial-gradient(circle at 84% 16%, rgba(234,17,29,.16), transparent 24%),
        radial-gradient(circle at center, rgba(255,255,255,.05), transparent 58%);
    pointer-events: none;
}
.facade-showcase-frame img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(7,8,14,.92), rgba(9,10,18,.86));
    box-shadow: 0 0 0 1px rgba(255,255,255,.05);
    filter: saturate(1.05) contrast(1.03);
}

@media (max-width: 1080px) {
    .facade-showcase-banner {
        grid-template-columns: minmax(260px, 360px) minmax(0,1fr);
    }
    .facade-showcase-copy h2 {
        font-size: clamp(2.8rem, 5vw, 4.8rem);
    }
}
@media (max-width: 860px) {
    .facade-wide-banner--showcase {
        padding-top: 18px;
    }
    .facade-showcase-banner {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 18px;
        padding: 18px;
    }
    .facade-showcase-copy {
        order: 2;
        padding: 4px;
    }
    .facade-showcase-stage {
        order: 1;
        min-height: 340px;
    }
    .facade-showcase-copy p {
        max-width: 100%;
    }
}
@media (max-width: 640px) {
    .facade-showcase-banner {
        border-radius: 24px;
        padding: 14px;
    }
    .facade-showcase-banner::after {
        inset: 10px;
        border-radius: 18px;
    }
    .facade-showcase-copy .kicker {
        font-size: .66rem;
        letter-spacing: .14em;
        padding: 10px 13px;
    }
    .facade-showcase-copy h2 {
        font-size: clamp(2.35rem, 13vw, 3.8rem);
    }
    .facade-showcase-copy p {
        font-size: .95rem;
        line-height: 1.56;
    }
    .facade-showcase-tags span {
        min-height: 34px;
        padding: 0 12px;
        font-size: .72rem;
    }
    .facade-showcase-frame {
        height: 320px;
        padding: 10px;
        border-radius: 20px;
    }
    .facade-showcase-frame img {
        border-radius: 14px;
    }
}

/* 4th variation: premium banner */
.facade-wide-banner--premium {
    min-height: auto;
    display: block;
    padding: 38px 0 10px;
    border: 0;
    background: transparent;
    overflow: visible;
}
.facade-wide-banner--premium::before,
.facade-wide-banner--premium::after,
.facade-wide-banner--premium .facade-wide-overlay,
.facade-wide-banner--premium .facade-wide-shell,
.facade-wide-banner--premium .facade-wide-copy,
.facade-wide-banner--premium .facade-wide-media { display: none !important; }

.facade-premium-banner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 370px) minmax(0, 1fr);
    gap: clamp(24px, 2.5vw, 36px);
    align-items: center;
    min-height: clamp(430px, 54vw, 640px);
    padding: clamp(20px, 2.3vw, 30px);
    border-radius: 32px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,.09);
    background:
        linear-gradient(145deg, rgba(8,9,14,.97), rgba(11,12,18,.92));
    box-shadow:
        0 26px 90px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.04),
        inset 0 -1px 0 rgba(255,255,255,.02);
}
.facade-premium-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
    background-size: 94px 94px;
    opacity: .08;
    z-index: 1;
    pointer-events: none;
}
.facade-premium-banner::after {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.06);
    z-index: 1;
    pointer-events: none;
}
.facade-premium-ambient {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 12% 16%, rgba(115,87,255,.14), transparent 25%),
        radial-gradient(circle at 87% 11%, rgba(236,74,88,.14), transparent 22%),
        radial-gradient(circle at 72% 58%, rgba(255,177,110,.10), transparent 24%),
        linear-gradient(90deg, rgba(5,6,10,.95) 0%, rgba(5,6,10,.80) 35%, rgba(5,6,10,.44) 56%, rgba(5,6,10,.76) 100%);
}
.facade-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 6px;
}
.facade-premium-copy .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.03);
    backdrop-filter: blur(10px);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
    color: #e6d8ff;
    text-shadow: 0 0 14px rgba(115,87,255,.35);
}
.facade-premium-copy .kicker::before {
    content: '';
    width: 42px;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--purple-2));
    box-shadow: 0 0 10px rgba(115,87,255,.5);
}
.facade-premium-copy h2 {
    margin: 0;
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: .92;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 12px 34px rgba(0,0,0,.4);
}
.facade-premium-copy p {
    margin: 0;
    max-width: 28ch;
    font-size: clamp(1rem, 1.35vw, 1.08rem);
    line-height: 1.65;
    color: #dedce6;
}
.facade-premium-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}
.facade-premium-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    color: #f1f1f3;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.facade-premium-stage {
    position: relative;
    z-index: 2;
    min-height: clamp(385px, 48vw, 595px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.facade-premium-frame {
    position: relative;
    width: 100%;
    height: clamp(360px, 46vw, 560px);
    padding: 14px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.03),
        0 22px 60px rgba(0,0,0,.28);
    overflow: hidden;
    will-change: transform;
    transform: translate3d(0,0,0) scale(1.02);
}
.facade-premium-glow {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 16%, rgba(115,87,255,.18), transparent 24%),
        radial-gradient(circle at 84% 16%, rgba(234,17,29,.14), transparent 24%),
        radial-gradient(circle at center, rgba(255,255,255,.05), transparent 58%);
    pointer-events: none;
}
.facade-premium-frame img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(7,8,14,.92), rgba(9,10,18,.86));
    box-shadow: 0 0 0 1px rgba(255,255,255,.05);
    filter: saturate(1.06) contrast(1.04);
}

@media (max-width: 1080px) {
    .facade-premium-banner {
        grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    }
    .facade-premium-copy h2 {
        font-size: clamp(2.8rem, 5vw, 5rem);
    }
}
@media (max-width: 860px) {
    .facade-wide-banner--premium {
        padding-top: 30px;
    }
    .facade-premium-banner {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 18px;
        padding: 18px;
    }
    .facade-premium-copy {
        order: 2;
        padding: 4px;
    }
    .facade-premium-stage {
        order: 1;
        min-height: 340px;
    }
    .facade-premium-copy p {
        max-width: 100%;
    }
}
@media (max-width: 640px) {
    .facade-premium-banner {
        border-radius: 24px;
        padding: 14px;
    }
    .facade-premium-banner::after {
        inset: 10px;
        border-radius: 18px;
    }
    .facade-premium-copy .kicker {
        font-size: .66rem;
        letter-spacing: .14em;
        padding: 10px 13px;
    }
    .facade-premium-copy h2 {
        font-size: clamp(2.4rem, 13vw, 4rem);
    }
    .facade-premium-copy p {
        font-size: .95rem;
        line-height: 1.56;
    }
    .facade-premium-tags span {
        min-height: 34px;
        padding: 0 12px;
        font-size: .72rem;
    }
    .facade-premium-frame {
        height: 320px;
        padding: 10px;
        border-radius: 20px;
    }
    .facade-premium-frame img {
        border-radius: 14px;
    }
}


/* v32 — refinements requested: premium banner spacing/border cleanup */
.facade-wide-banner--premium {
    padding-top: 118px;
    padding-bottom: 14px;
}
.facade-premium-banner {
    border: 0;
    box-shadow:
        0 28px 90px rgba(0,0,0,.44),
        0 0 55px rgba(115,87,255,.035),
        0 0 42px rgba(234,17,29,.025);
}
.facade-premium-banner::after {
    display: none;
}
.facade-premium-frame {
    border: 0;
    background:
        radial-gradient(circle at 16% 16%, rgba(115,87,255,.08), transparent 28%),
        radial-gradient(circle at 86% 14%, rgba(234,17,29,.07), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    box-shadow:
        0 24px 66px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.025);
}
.facade-premium-frame img {
    box-shadow: none;
}
.facade-premium-stage::before {
    content: '';
    position: absolute;
    inset: 9% 5%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 24% 25%, rgba(115,87,255,.16), transparent 34%),
        radial-gradient(circle at 82% 28%, rgba(234,17,29,.11), transparent 33%);
    filter: blur(36px);
    opacity: .7;
    pointer-events: none;
}

/* Keep section headings comfortably below the fixed header when navigated. */
#servicos,
#experiencia,
#playlist,
#avaliacoes,
#novidades,
#localizacao,
#contato {
    scroll-margin-top: 118px;
}

@media (max-width: 860px) {
    .facade-wide-banner--premium {
        padding-top: 104px;
    }
    #servicos,
    #experiencia,
    #playlist,
    #avaliacoes,
    #novidades,
    #localizacao,
    #contato {
        scroll-margin-top: 96px;
    }
}

@media (max-width: 640px) {
    .facade-wide-banner--premium {
        padding-top: 96px;
    }
}

/* =========================================================
   GALERIA — preview na home + arquivo completo
   ========================================================= */
.gallery-preview-section {
    background:
        radial-gradient(circle at 12% 16%, rgba(115,87,255,.11), transparent 27%),
        radial-gradient(circle at 86% 82%, rgba(234,17,29,.08), transparent 24%),
        #07070a;
    overflow: hidden;
}
.gallery-preview-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}
.gallery-preview-heading { margin-bottom: 0; }
.gallery-open-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 15px 18px 15px 22px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.025);
    color: #f4f2f7;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    transition: transform .3s, border-color .3s, background .3s, box-shadow .3s;
}
.gallery-open-link b {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--red), var(--purple));
    box-shadow: 0 0 22px rgba(115,87,255,.25);
}
.gallery-open-link:hover {
    transform: translateY(-3px);
    border-color: rgba(115,87,255,.34);
    background: rgba(115,87,255,.06);
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.gallery-preview-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 215px;
    gap: 14px;
}
.gallery-preview-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 22px;
    background: #0d0d12;
    box-shadow: 0 20px 48px rgba(0,0,0,.26);
    isolation: isolate;
    transition: transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s, filter .42s;
}
.gallery-preview-card--1 { grid-column: span 6; grid-row: span 2; }
.gallery-preview-card--2 { grid-column: span 3; }
.gallery-preview-card--3 { grid-column: span 3; }
.gallery-preview-card--4 { grid-column: span 3; }
.gallery-preview-card--5 { grid-column: span 3; }
.gallery-preview-card > img,
.gallery-preview-compare,
.gallery-preview-compare img {
    width: 100%;
    height: 100%;
}
.gallery-preview-card > img,
.gallery-preview-compare img {
    display: block;
    object-fit: cover;
    transition: transform .72s cubic-bezier(.2,.8,.2,1), filter .5s;
}
.gallery-preview-card--1 > img { object-position: center 46%; }
.gallery-preview-card:hover { transform: translateY(-6px); box-shadow: 0 28px 64px rgba(0,0,0,.38); }
.gallery-preview-card:hover > img,
.gallery-preview-card:hover .gallery-preview-compare img { transform: scale(1.055); filter: saturate(1.06) contrast(1.03); }
.gallery-preview-shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(6,7,11,.05) 36%, rgba(6,7,11,.20) 58%, rgba(6,7,11,.92) 100%),
        linear-gradient(90deg, rgba(115,87,255,.06), transparent 34%, rgba(234,17,29,.04));
    pointer-events: none;
}
.gallery-preview-meta {
    position: absolute;
    left: 22px;
    right: 62px;
    bottom: 20px;
    z-index: 3;
    display: grid;
    gap: 5px;
}
.gallery-preview-meta small {
    color: #b5a8ff;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.gallery-preview-meta strong {
    font-family: var(--heading);
    font-size: clamp(1.5rem, 2.5vw, 2.15rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .035em;
}
.gallery-preview-icon {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 4;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(8,8,13,.68);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
    transition: background .3s, transform .3s;
}
.gallery-preview-card:hover .gallery-preview-icon { background: var(--red); transform: rotate(8deg); }
.gallery-preview-compare {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
}
.gallery-preview-compare img { min-width: 0; }
.gallery-preview-compare span {
    position: absolute;
    top: 14px;
    z-index: 3;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(5,5,8,.72);
    border: 1px solid rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .14em;
}
.gallery-preview-compare span:first-of-type { left: 14px; }
.gallery-preview-compare span:last-of-type { right: 14px; }
.gallery-preview-mobile-cta { display: none; }

/* Galeria completa */
.gallery-main { padding-top: 0; }
.gallery-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    padding: 170px 0 74px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(5,5,7,.93), rgba(7,7,11,.98)),
        url('../images/hero-bg.webp') center / cover no-repeat;
}
.gallery-hero::before {
    content: '';
    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: 84px 84px;
    opacity: .12;
}
.gallery-hero-orb { position: absolute; border-radius: 50%; filter: blur(56px); opacity: .28; }
.gallery-hero-orb--one { width: 330px; height: 330px; left: -80px; top: 80px; background: var(--purple); }
.gallery-hero-orb--two { width: 280px; height: 280px; right: 2%; top: 56px; background: var(--red); opacity: .18; }
.gallery-hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}
.gallery-hero-copy { max-width: 760px; }
.gallery-hero-copy h1 {
    margin: 12px 0 14px;
    font-family: var(--heading);
    font-size: clamp(5rem, 12vw, 10rem);
    font-weight: 400;
    line-height: .8;
    text-transform: uppercase;
    letter-spacing: .01em;
}
.gallery-hero-copy p { margin: 0; max-width: 590px; color: #aaa8b1; font-size: 1.02rem; line-height: 1.7; }
.gallery-hero-counter {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    border-radius: 20px;
    background: rgba(255,255,255,.028);
    border: 1px solid rgba(255,255,255,.07);
    backdrop-filter: blur(12px);
}
.gallery-hero-counter strong { font-family: var(--heading); font-size: 4rem; font-weight: 400; line-height: .8; color: #fff; }
.gallery-hero-counter span { color: #9f9ca9; font-size: .64rem; font-weight: 800; line-height: 1.45; letter-spacing: .15em; }
.gallery-archive-section { padding: 72px 0 110px; background: #07070a; }
.gallery-filterbar {
    position: sticky;
    top: 92px;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 38px;
    padding: 8px;
    border-radius: 999px;
    background: rgba(9,9,14,.78);
    border: 1px solid rgba(255,255,255,.07);
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 40px rgba(0,0,0,.20);
}
.gallery-filterbar button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: 11px 16px;
    background: transparent;
    color: #9d9aa5;
    font: inherit;
    font-size: .75rem;
    font-weight: 700;
    cursor: pointer;
    transition: color .25s, background .25s, box-shadow .25s;
}
.gallery-filterbar button:hover { color: #fff; }
.gallery-filterbar button.active {
    color: #fff;
    background: linear-gradient(110deg, rgba(234,17,29,.88), rgba(115,87,255,.88));
    box-shadow: 0 6px 20px rgba(115,87,255,.15);
}
.gallery-archive-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 18px;
    align-items: start;
}
.gallery-archive-card {
    grid-column: span 4;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    box-shadow: 0 18px 52px rgba(0,0,0,.22);
    transition: transform .35s, opacity .35s, box-shadow .35s;
}
.gallery-archive-card:nth-child(5n+1) { grid-column: span 7; }
.gallery-archive-card:nth-child(5n+2) { grid-column: span 5; }
.gallery-archive-card:nth-child(5n+3) { grid-column: span 4; }
.gallery-archive-card:nth-child(5n+4) { grid-column: span 4; }
.gallery-archive-card:nth-child(5n+5) { grid-column: span 4; }
.gallery-archive-card--compare { grid-column: span 7 !important; }
.gallery-archive-card.is-filtered-out { display: none; }
.gallery-photo-button {
    position: relative;
    display: block;
    width: 100%;
    height: clamp(290px, 34vw, 460px);
    padding: 0;
    border: 0;
    overflow: hidden;
    background: #0b0b10;
    cursor: zoom-in;
}
.gallery-archive-card:nth-child(5n+2) .gallery-photo-button { height: clamp(290px, 34vw, 460px); }
.gallery-archive-card:nth-child(5n+3) .gallery-photo-button,
.gallery-archive-card:nth-child(5n+4) .gallery-photo-button,
.gallery-archive-card:nth-child(5n+5) .gallery-photo-button { height: clamp(300px, 30vw, 410px); }
.gallery-photo-button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .45s;
}
.gallery-photo-button::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 58%, rgba(6,6,10,.48));
    opacity: .55;
    transition: opacity .35s;
}
.gallery-photo-button:hover img { transform: scale(1.045); filter: saturate(1.08) contrast(1.02); }
.gallery-photo-button:hover::after { opacity: .25; }
.gallery-photo-zoom {
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(7,7,12,.58);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
    font-size: 1.2rem;
    transition: transform .3s, background .3s;
}
.gallery-photo-button:hover .gallery-photo-zoom { transform: rotate(90deg); background: rgba(234,17,29,.85); }
.gallery-archive-meta { padding: 20px 22px 22px; }
.gallery-archive-meta small { color: #a99cff; font-size: .62rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.gallery-archive-meta h2 { margin: 6px 0 0; font-family: var(--heading); font-size: 2rem; font-weight: 400; letter-spacing: .035em; }
.gallery-archive-meta p { margin: 12px 0 0; color: #918f99; font-size: .84rem; line-height: 1.62; }

/* Before & After */
.ba-comparison {
    position: relative;
    height: clamp(340px, 38vw, 500px);
    overflow: hidden;
    background: #0a0a0e;
    user-select: none;
    touch-action: pan-y;
}
.ba-before,
.ba-after {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}
.ba-after-wrap {
    position: absolute;
    inset: 0 auto 0 0;
    width: 50%;
    overflow: hidden;
}
.ba-after {
    width: calc(100vw);
    max-width: none;
}
.ba-comparison input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
    z-index: 5;
}
.ba-divider {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    z-index: 4;
    width: 2px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 0 18px rgba(255,255,255,.28);
    transform: translateX(-1px);
    pointer-events: none;
}
.ba-divider span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--red), var(--purple));
    border: 3px solid rgba(255,255,255,.9);
    box-shadow: 0 8px 30px rgba(0,0,0,.32);
}
.ba-label {
    position: absolute;
    top: 18px;
    z-index: 3;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(5,5,8,.68);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(9px);
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ba-label--before { right: 18px; }
.ba-label--after { left: 18px; }

.gallery-cta-section { padding: 0 0 110px; background: #07070a; }
.gallery-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 34px 38px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 12% 40%, rgba(115,87,255,.12), transparent 28%),
        radial-gradient(circle at 88% 40%, rgba(234,17,29,.09), transparent 24%),
        rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.07);
}
.gallery-cta-card span { color: var(--red); font-size: .65rem; font-weight: 800; letter-spacing: .18em; }
.gallery-cta-card h2 { margin: 8px 0 0; font-family: var(--heading); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 400; line-height: .95; }
.gallery-footer { margin-top: 0; }

/* Lightbox */
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 34px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s, visibility .25s;
}
.gallery-lightbox.is-open { visibility: visible; opacity: 1; }
.gallery-lightbox-backdrop { position: absolute; inset: 0; background: rgba(3,3,6,.92); backdrop-filter: blur(18px); }
.gallery-lightbox-content {
    position: relative;
    z-index: 2;
    max-width: min(1180px, 92vw);
    max-height: 88vh;
    margin: 0;
    display: grid;
    gap: 14px;
}
.gallery-lightbox-content img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 76vh;
    object-fit: contain;
    margin: auto;
    border-radius: 18px;
    box-shadow: 0 32px 100px rgba(0,0,0,.52);
}
.gallery-lightbox-content figcaption { display: grid; gap: 4px; text-align: center; }
.gallery-lightbox-content figcaption strong { font-family: var(--heading); font-size: 1.7rem; font-weight: 400; }
.gallery-lightbox-content figcaption span { color: #97949f; font-size: .85rem; }
.gallery-lightbox-close {
    position: absolute;
    right: 26px;
    top: 22px;
    z-index: 4;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    color: #fff;
    background: rgba(255,255,255,.06);
    font-size: 1.7rem;
    cursor: pointer;
    transition: background .25s, transform .25s;
}
.gallery-lightbox-close:hover { background: var(--red); transform: rotate(6deg); }
body.gallery-modal-open { overflow: hidden; }

@media (max-width: 980px) {
    .gallery-preview-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 230px; }
    .gallery-preview-card--1 { grid-column: span 2; grid-row: span 2; }
    .gallery-preview-card--2,
    .gallery-preview-card--3,
    .gallery-preview-card--4,
    .gallery-preview-card--5 { grid-column: span 1; }
    .gallery-hero { padding-top: 150px; }
    .gallery-archive-card,
    .gallery-archive-card:nth-child(n),
    .gallery-archive-card--compare { grid-column: span 6 !important; }
    .gallery-hero-inner { align-items: flex-start; }
}

@media (max-width: 680px) {
    .gallery-preview-head { align-items: flex-start; margin-bottom: 24px; }
    .gallery-open-link { display: none; }
    .gallery-preview-grid { grid-template-columns: 1fr; grid-auto-rows: 250px; }
    .gallery-preview-card--1,
    .gallery-preview-card--2,
    .gallery-preview-card--3,
    .gallery-preview-card--4,
    .gallery-preview-card--5 { grid-column: span 1; grid-row: span 1; }
    .gallery-preview-card--1 { min-height: 330px; }
    .gallery-preview-mobile-cta { display: block; margin-top: 22px; }
    .gallery-hero { min-height: 430px; padding: 136px 0 52px; }
    .gallery-hero-inner { display: grid; }
    .gallery-hero-copy h1 { font-size: clamp(4.6rem, 24vw, 7.2rem); }
    .gallery-hero-counter { width: fit-content; padding: 14px 17px; }
    .gallery-hero-counter strong { font-size: 3.2rem; }
    .gallery-archive-section { padding: 52px 0 82px; }
    .gallery-filterbar {
        position: relative;
        top: auto;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        border-radius: 18px;
        scrollbar-width: none;
    }
    .gallery-filterbar::-webkit-scrollbar { display: none; }
    .gallery-filterbar button { white-space: nowrap; }
    .gallery-archive-grid { display: grid; grid-template-columns: 1fr; }
    .gallery-archive-card,
    .gallery-archive-card:nth-child(n),
    .gallery-archive-card--compare { grid-column: 1 !important; }
    .gallery-photo-button { height: 330px !important; }
    .ba-comparison { height: 390px; }
    .gallery-cta-card { display: grid; padding: 26px 22px; }
    .gallery-lightbox { padding: 20px; }
    .gallery-lightbox-close { right: 14px; top: 14px; }
}
.gallery-empty-state {
    grid-column: 1 / -1;
    min-height: 320px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    padding: 42px;
    border-radius: 24px;
    background: radial-gradient(circle at center, rgba(115,87,255,.08), transparent 42%), rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
}
.gallery-empty-state span { color: var(--red); font-size: .65rem; font-weight: 800; letter-spacing: .18em; }
.gallery-empty-state h2 { margin: 10px 0 8px; font-family: var(--heading); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; }
.gallery-empty-state p { margin: 0; max-width: 560px; color: #96939e; line-height: 1.65; }

/* v36 — feed social de clientes na galeria completa */
.clients-social-section {
    position: relative;
    padding: 108px 0 118px;
    background:
        radial-gradient(circle at 12% 12%, rgba(115,87,255,.09), transparent 26%),
        radial-gradient(circle at 88% 18%, rgba(234,17,29,.07), transparent 24%),
        #07070a;
    overflow: hidden;
}
.clients-social-section::before {
    content: '';
    position: absolute;
    inset: 0;
    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: 84px 84px;
    opacity: .25;
    pointer-events: none;
}
.clients-social-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 38px;
}
.clients-social-head > div:first-child { max-width: 760px; }
.clients-social-head h2 {
    margin: 9px 0 10px;
    font-family: var(--heading);
    font-size: clamp(3.4rem, 6vw, 6rem);
    font-weight: 400;
    line-height: .94;
}
.clients-social-head p {
    margin: 0;
    max-width: 650px;
    color: #9c99a4;
    line-height: 1.68;
}
.clients-social-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.07);
    color: #c7c4cf;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .13em;
    white-space: nowrap;
}
.clients-social-badge span {
    color: #39e477;
    font-size: .72rem;
    text-shadow: 0 0 12px rgba(57,228,119,.7);
}
.clients-social-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 22px;
}
.social-gallery-post {
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(19,19,25,.96), rgba(11,11,15,.98));
    border: 1px solid rgba(255,255,255,.075);
    box-shadow: 0 22px 62px rgba(0,0,0,.24);
    transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.social-gallery-post:hover {
    transform: translateY(-6px);
    border-color: rgba(115,87,255,.22);
    box-shadow: 0 30px 76px rgba(0,0,0,.34), 0 0 28px rgba(115,87,255,.055);
}
.social-post-head {
    min-height: 68px;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 12px 14px;
}
.social-post-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    padding: 3px;
    background: linear-gradient(135deg, var(--red), var(--purple));
}
.social-post-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 50%;
    background: #08080c;
}
.social-post-head strong,
.social-post-head span { display: block; }
.social-post-head strong { font-size: .79rem; }
.social-post-head > div:nth-child(2) span {
    margin-top: 2px;
    color: #7f7c87;
    font-size: .66rem;
}
.social-post-dots {
    color: #88848e;
    font-weight: 800;
    letter-spacing: .08em;
}
.social-post-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #08080b;
}
.social-post-media .gallery-photo-button,
.social-post-media .ba-comparison {
    width: 100%;
    height: 100% !important;
    min-height: 0;
}
.social-post-media .gallery-photo-button img,
.social-post-media .ba-before,
.social-post-media .ba-after { object-fit: cover; }
.social-post-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 50px;
    padding: 8px 14px 4px;
    color: #f1eff4;
    font-size: 1.35rem;
}
.social-post-actions span { line-height: 1; }
.social-post-save { margin-left: auto; }
.social-post-copy {
    padding: 7px 14px 17px;
}
.social-post-copy strong { font-size: .86rem; }
.social-post-copy p {
    margin: 6px 0 0;
    color: #aaa7b1;
    font-size: .78rem;
    line-height: 1.52;
}
.social-post-copy small {
    display: block;
    margin-top: 8px;
    color: #6f6c76;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.clients-social-empty {
    position: relative;
    z-index: 1;
    min-height: 330px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    padding: 40px;
    border-radius: 24px;
    border: 1px dashed rgba(255,255,255,.10);
    background: rgba(255,255,255,.018);
}
.clients-social-empty-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(234,17,29,.18), rgba(115,87,255,.2));
    border: 1px solid rgba(255,255,255,.08);
    color: #fff;
    font-size: 1.8rem;
}
.clients-social-empty > span { color: var(--purple-2); font-size: .65rem; font-weight: 800; letter-spacing: .18em; }
.clients-social-empty h3 { margin: 10px 0 8px; font-family: var(--heading); font-size: clamp(2.2rem,4vw,3.7rem); font-weight: 400; }
.clients-social-empty p { margin: 0; max-width: 590px; color: #8e8b95; line-height: 1.6; }

/* A seção Galeria agora também é destino da navegação da home. */
#galeria { scroll-margin-top: 104px; }

/* Com oito links no cabeçalho, mantém o desktop arejado sem quebrar linha. */
@media (min-width:1101px) and (max-width:1450px) {
    .main-nav { gap: clamp(10px, .9vw, 16px); }
    .main-nav a { font-size: clamp(.66rem, .63vw, .75rem); letter-spacing: .05em; }
    .nav-wrap { column-gap: clamp(17px, 1.7vw, 28px); }
}
@media (max-width:980px) {
    .clients-social-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .clients-social-head { align-items: flex-start; }
}
@media (max-width:680px) {
    .clients-social-section { padding: 76px 0 86px; }
    .clients-social-head { display: grid; gap: 18px; margin-bottom: 26px; }
    .clients-social-badge { width: fit-content; }
    .clients-social-grid { grid-template-columns: 1fr; gap: 18px; }
    .social-gallery-post { border-radius: 18px; }
    .clients-social-empty { padding: 30px 22px; min-height: 290px; }
    #galeria { scroll-margin-top: 90px; }
}
.gallery-preview-grid.is-empty { display: block; }
.gallery-preview-empty {
    min-height: 270px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    padding: 36px;
    border-radius: 24px;
    border: 1px dashed rgba(255,255,255,.09);
    background: radial-gradient(circle at center, rgba(115,87,255,.07), transparent 46%), rgba(255,255,255,.016);
}
.gallery-preview-empty span { color: var(--red); font-size: .64rem; font-weight: 800; letter-spacing: .18em; }
.gallery-preview-empty strong { margin-top: 8px; font-family: var(--heading); font-size: clamp(2.3rem,4vw,4rem); font-weight: 400; }
.gallery-preview-empty p { margin: 7px 0 0; max-width: 560px; color: #8f8c96; line-height: 1.6; }

/* v37 — ajustes de galeria, cabeçalho e navegação */
body.gallery-page {
    background:
        radial-gradient(circle at 14% 24%, rgba(115,87,255,.14), transparent 24%),
        radial-gradient(circle at 88% 14%, rgba(234,17,29,.12), transparent 20%),
        #050507;
}
.gallery-hero {
    background:
        linear-gradient(180deg, rgba(5,5,7,.96), rgba(7,7,11,.98));
}
.gallery-hero::before {
    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: 76px 76px;
    opacity: .14;
}
.gallery-hero::after {
    content: '';
    position: absolute;
    top: 44px;
    right: clamp(18px, 5vw, 72px);
    bottom: 20px;
    width: min(760px, 48vw);
    background: url('../images/logo-transparent.png') center / contain no-repeat;
    opacity: .115;
    filter: grayscale(1) brightness(1.18) contrast(1.02);
    pointer-events: none;
}
.gallery-hero-inner,
.gallery-hero-copy,
.gallery-hero-counter {
    position: relative;
    z-index: 2;
}
.gallery-archive-section {
    background:
        linear-gradient(180deg, rgba(7,7,10,0) 0, rgba(7,7,10,.72) 80px, #07070a 210px),
        #07070a;
}

/* Mantém todos os links do cabeçalho acomodados com conforto em larguras desktop */
.nav-wrap {
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: clamp(12px, 1.15vw, 22px);
}
.brand {
    gap: 10px;
    min-width: 0;
}
.brand span {
    font-size: clamp(.82rem, .92vw, 1rem);
    letter-spacing: .055em;
}
.main-nav {
    justify-content: center;
    gap: clamp(8px, .92vw, 16px);
}
.main-nav a {
    white-space: nowrap;
    font-size: clamp(.64rem, .68vw, .8rem);
    letter-spacing: .05em;
}
.nav-cta {
    min-height: 48px;
    padding-inline: clamp(13px, 1.05vw, 18px);
    font-size: clamp(.7rem, .72vw, .82rem);
}
@media (min-width:1101px) and (max-width:1550px) {
    .nav-wrap { column-gap: 14px; }
    .brand img { width: 50px; height: 50px; }
    .brand span { font-size: .85rem; }
    .main-nav { gap: clamp(6px, .75vw, 12px); }
    .main-nav a { font-size: clamp(.6rem, .62vw, .74rem); letter-spacing: .04em; }
    .nav-cta { padding-inline: 14px; }
}

@media (max-width: 980px) {
    .gallery-hero::after {
        top: auto;
        right: 50%;
        bottom: 16px;
        transform: translateX(50%);
        width: min(430px, 76vw);
        opacity: .09;
    }
}

/* v38 — background da página Galeria com referência direta da logo enviada */
body.gallery-page {
    background:
        radial-gradient(circle at 14% 22%, rgba(115,87,255,.16), transparent 24%),
        radial-gradient(circle at 89% 14%, rgba(234,17,29,.14), transparent 22%),
        linear-gradient(180deg, #040406 0%, #06060a 38%, #050507 100%);
}
.gallery-hero {
    background:
        linear-gradient(90deg, rgba(4,4,6,.96) 0%, rgba(5,5,8,.92) 48%, rgba(8,8,12,.88) 100%);
    overflow: hidden;
}
.gallery-hero::before {
    background-image:
        linear-gradient(rgba(255,255,255,.034) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.034) 1px, transparent 1px),
        radial-gradient(circle at 18% 18%, rgba(115,87,255,.20), transparent 20%),
        radial-gradient(circle at 86% 16%, rgba(255,59,71,.16), transparent 18%);
    background-size: 76px 76px, 76px 76px, auto, auto;
    opacity: .22;
}
.gallery-hero::after {
    content: '';
    position: absolute;
    top: 22px;
    right: clamp(10px, 4.5vw, 58px);
    bottom: 18px;
    width: min(720px, 46vw);
    background:
        radial-gradient(circle at 45% 50%, rgba(103,76,255,.16), transparent 38%),
        radial-gradient(circle at 52% 48%, rgba(255,44,57,.10), transparent 32%),
        url('../images/gallery-logo-reference.png') center / contain no-repeat;
    opacity: .16;
    filter: grayscale(.2) brightness(1.02) contrast(1.02);
    mix-blend-mode: screen;
    pointer-events: none;
}
.gallery-hero-inner,
.gallery-hero-copy,
.gallery-hero-counter {
    position: relative;
    z-index: 2;
}
@media (max-width: 980px) {
    .gallery-hero::after {
        right: 50%;
        top: auto;
        bottom: 14px;
        transform: translateX(50%);
        width: min(420px, 78vw);
        opacity: .11;
    }
}

/* v39 — vídeos/Reels na galeria pública */
.gallery-archive-card--reel {
    grid-column: span 4;
}
.gallery-reel-media,
.social-reel-wrap {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 22%, rgba(115,87,255,.14), transparent 36%),
        #07070b;
}
.gallery-reel-media {
    height: clamp(360px, 42vw, 560px);
    display: grid;
    place-items: center;
}
.gallery-reel-media video,
.social-reel-wrap video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #050507;
}
.gallery-reel-label,
.social-reel-badge {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 3;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(7,7,11,.72);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(10px);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .12em;
    pointer-events: none;
}
.social-reel-wrap {
    aspect-ratio: 9 / 16;
    max-height: 640px;
}
.social-reel-wrap video {
    object-fit: cover;
}
.gallery-preview-card > video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.gallery-preview-card.is-reel .gallery-preview-icon {
    transform: none;
}
@media (max-width: 680px) {
    .gallery-reel-media { height: 520px; }
    .gallery-archive-card--reel { grid-column: 1 !important; }
}
.social-post-media.is-reel { aspect-ratio: 9 / 16; max-height: 620px; }
.social-post-media.is-reel .social-reel-wrap { width: 100%; height: 100%; aspect-ratio: auto; max-height: none; }

/* v40 — Reels sempre exibidos em 9:16, sem recorte */
/* Home / portfólio */
.gallery-preview-card.is-reel {
    grid-column: span 3 !important;
    grid-row: span 2 !important;
    background:
        radial-gradient(circle at 50% 20%, rgba(115,87,255,.13), transparent 34%),
        #050507;
}
.gallery-preview-card.is-reel > video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    background: #050507;
}

/* Galeria completa */
.gallery-archive-card--reel,
.gallery-archive-card--reel:nth-child(n) {
    grid-column: span 4 !important;
}
.gallery-reel-media {
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    display: grid;
    place-items: center;
    background: #050507;
}
.gallery-reel-media video {
    width: 100%;
    height: 100%;
    aspect-ratio: 9 / 16;
    object-fit: contain;
    object-position: center;
    background: #050507;
}

/* Feed de clientes / estilo Instagram */
.social-post-media.is-reel {
    aspect-ratio: 9 / 16;
    max-height: none;
    background: #050507;
}
.social-post-media.is-reel .social-reel-wrap {
    width: 100%;
    height: 100%;
    aspect-ratio: 9 / 16;
    max-height: none;
    background: #050507;
}
.social-post-media.is-reel .social-reel-wrap video {
    width: 100%;
    height: 100%;
    aspect-ratio: 9 / 16;
    object-fit: contain;
    object-position: center;
    background: #050507;
}

@media (max-width: 980px) {
    .gallery-archive-card--reel,
    .gallery-archive-card--reel:nth-child(n) {
        grid-column: span 6 !important;
    }
}

@media (max-width: 680px) {
    .gallery-preview-card.is-reel {
        grid-column: 1 !important;
        grid-row: span 2 !important;
        min-height: 520px;
    }
    .gallery-archive-card--reel,
    .gallery-archive-card--reel:nth-child(n) {
        grid-column: 1 !important;
    }
    .gallery-reel-media {
        height: auto;
        aspect-ratio: 9 / 16;
    }
}

/* v42 — centralização precisa do controle Antes & Depois */
.ba-divider {
    width: 2px;
    transform: translateX(-50%);
}
.ba-divider span {
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 0;
    transform: translate(-50%, -50%);
}
.ba-divider span::before {
    content: '↔';
    display: block;
    margin: 0;
    font-size: 19px;
    line-height: 1;
    font-weight: 800;
    transform: translateY(-1px);
}
.social-ba .ba-divider,
.social-post-media .ba-divider {
    top: 0;
    bottom: 0;
    margin: 0;
}
.social-ba .ba-divider span,
.social-post-media .ba-divider span {
    top: 50%;
}
