: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;
    }
}
