:root {
  --black: #050505;
  --black-secondary: #0c0c0c;
  --graphite: #171717;
  --graphite-light: #242424;
  --gold-dark: #8b611c;
  --gold: #c9972e;
  --gold-light: #edcf7b;
  --white: #f5f5f5;
  --gray: #b5b5b5;
  --gold-gradient: linear-gradient(90deg, #8b611c 0%, #c9972e 45%, #edcf7b 100%);
  --container: min(1280px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--gold) var(--black); }
body { margin: 0; overflow-x: hidden; background: var(--black); color: var(--white); font-family: Manrope, sans-serif; }
body.menu-open { overflow: hidden; }
body::selection { background: var(--gold); color: var(--black); }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: var(--container); margin-inline: auto; }
.section { position: relative; padding-block: clamp(96px, 10vw, 150px); scroll-margin-top: 75px; }
.section::after { position: absolute; right: max(32px, calc((100vw - 1280px) / 2)); top: 36px; content: attr(data-section); color: rgba(255,255,255,.045); font: 118px/1 'Barlow Condensed', sans-serif; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 92px; border-bottom: 1px solid transparent; transition: height .35s, background .35s, border-color .35s, backdrop-filter .35s; }
.site-header.scrolled { height: 72px; border-color: rgba(255,255,255,.09); background: rgba(5,5,5,.88); backdrop-filter: blur(15px); }
.header-inner { width: min(1380px, calc(100% - 48px)); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.logo-link { position: relative; z-index: 2; width: 74px; height: 74px; flex: 0 0 auto; transition: width .3s, height .3s; }
.site-header.scrolled .logo-link { width: 58px; height: 58px; }
.logo-link img, .mobile-menu-top img, .footer-logo img { width: 100%; height: 100%; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 36px); }
.desktop-nav a { position: relative; padding: 10px 0; color: #e0e0e0; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: color .25s, transform .25s; }
.desktop-nav a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; content: ''; background: var(--gold-gradient); transform: scaleX(0); transform-origin: right; transition: transform .3s; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--gold); background: var(--gold-gradient); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; transform: translateY(-2px); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.social-icons { display: flex; align-items: center; gap: 6px; }
.social-icon { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); transition: border-color .25s, background .25s, transform .25s; }
.social-icon svg { width: 18px; height: 18px; fill: none; stroke: var(--gold); stroke-width: 1.7; }
.social-icon svg .fill { fill: var(--gold); stroke: none; }
.social-icon:hover { border-color: var(--gold); background: rgba(201,151,46,.1); transform: translateY(-3px); }
.social-icon::after { position: absolute; top: calc(100% + 8px); left: 50%; z-index: 2; padding: 5px 7px; content: attr(data-tooltip); color: var(--white); background: var(--graphite-light); font-size: 9px; letter-spacing: .05em; transform: translate(-50%, -4px); opacity: 0; pointer-events: none; transition: .2s; }
.social-icon:hover::after { opacity: 1; transform: translate(-50%, 0); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.2); background: transparent; place-items: center; cursor: pointer; }
.menu-toggle svg { width: 23px; height: 23px; fill: none; stroke: var(--gold); stroke-width: 1.6; }
.mobile-menu { position: fixed; inset: 0; z-index: 45; padding: 92px 28px 34px; display: flex; flex-direction: column; background: var(--black); clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .45s cubic-bezier(.7,0,.2,1), visibility .45s; }
.mobile-menu.open { clip-path: inset(0); visibility: visible; }
.mobile-menu::before { position: absolute; inset: 0; content: ''; opacity: .08; background: repeating-linear-gradient(115deg, transparent 0 70px, var(--gold) 71px, transparent 72px 140px); pointer-events: none; }
.mobile-menu-top { position: relative; display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.13); }
.mobile-menu-top img { width: 76px; height: 76px; }
.mobile-menu-top span { color: var(--gray); font-size: 9px; letter-spacing: .15em; }
.mobile-menu nav { position: relative; display: flex; flex-direction: column; margin: auto 0; }
.mobile-menu nav a { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.09); font: clamp(36px, 11vw, 56px)/1 'Barlow Condensed', sans-serif; letter-spacing: .02em; transform: translateY(-15px); opacity: 0; transition: opacity .3s, transform .3s, color .2s; }
.mobile-menu.open nav a { transform: none; opacity: 1; }
.mobile-menu.open nav a:nth-child(2) { transition-delay: .04s; }.mobile-menu.open nav a:nth-child(3) { transition-delay: .08s; }.mobile-menu.open nav a:nth-child(4) { transition-delay: .12s; }.mobile-menu.open nav a:nth-child(5) { transition-delay: .16s; }.mobile-menu.open nav a:nth-child(6) { transition-delay: .2s; }
.mobile-menu nav a span { display: inline-block; width: 34px; color: var(--gold); font: 9px Manrope, sans-serif; vertical-align: middle; }
.mobile-menu > .social-icons { position: relative; }

.hero { position: relative; min-height: 760px; height: 100svh; overflow: hidden; display: grid; align-items: center; background: radial-gradient(circle at 72% 52%, #211a0f 0, #0c0c0c 27%, #050505 65%); }
.hero-noise { position: absolute; inset: 0; opacity: .16; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.hero::before { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.055) 50%, transparent 50.1%); }
.hero-outline { position: absolute; right: -2vw; bottom: -2vw; color: transparent; font: clamp(180px, 29vw, 480px)/.65 'Barlow Condensed'; -webkit-text-stroke: 1px rgba(201,151,46,.09); white-space: nowrap; }
.hero-orbit { position: absolute; right: 6vw; top: 14%; width: min(35vw, 500px); aspect-ratio: 1; border: 1px solid rgba(201,151,46,.2); transform: rotate(13deg); animation: float-geometry 8s ease-in-out infinite; }
.hero-orbit::before, .hero-orbit::after { position: absolute; content: ''; background: var(--gold); }
.hero-orbit::before { width: 22px; height: 22px; top: -11px; right: 16%; }.hero-orbit::after { width: 1px; height: 80px; left: 14%; bottom: -40px; }
.hero-logo-cloud { display: none; }
.hero-cut-showcase { display: none; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; padding-top: 70px; }
.kicker, .section-label { margin: 0 0 22px; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.kicker::before, .section-label::before { display: inline-block; width: 34px; height: 1px; margin-right: 12px; content: ''; background: var(--gold); vertical-align: middle; }
.title-mask { overflow: hidden; padding-bottom: .08em; }
h1, h2, h3 { margin: 0; font-family: 'Barlow Condensed', Impact, sans-serif; font-weight: 800; }
h1 { max-width: 860px; font-size: clamp(80px, 8.4vw, 136px); line-height: .83; letter-spacing: -.015em; }
h2 { font-size: clamp(60px, 6vw, 94px); line-height: .88; letter-spacing: -.01em; }
h1 em, h2 em { color: var(--gold); font-style: normal; background: var(--gold-gradient); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.title-mask h1, .title-mask h2 { transform: translateY(110%); transition: transform .85s cubic-bezier(.2,.7,.2,1); }
.title-mask.visible h1, .title-mask.visible h2 { transform: none; }
.hero-text { max-width: 590px; margin: 27px 0 17px; color: #d1d1d1; font-size: clamp(14px, 1.2vw, 17px); line-height: 1.7; }
.hours-inline { display: flex; align-items: center; gap: 10px; color: var(--gray); font-size: 12px; }
.hours-inline svg { width: 18px; height: 18px; fill: none; stroke: var(--gold); stroke-width: 1.5; }
.hours-inline b { padding: 0 5px; color: var(--gold); }
.hero-buttons { display: flex; gap: 12px; margin-top: 28px; }
.button { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 23px; border: 1px solid var(--gold); color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: color .25s, background .25s, transform .25s, box-shadow .25s; }
.button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .25s; }
.button:hover { transform: translateY(-3px); }.button:hover svg { transform: translateX(4px); }
.button-gold { border-color: transparent; background: var(--gold-gradient); color: var(--black); }
.button-gold:hover { box-shadow: 0 12px 35px rgba(201,151,46,.25); }
.button-line:hover { background: var(--gold); color: var(--black); }
.hero-poster { position: relative; min-height: 420px; padding: 38px 30px; border: 1px solid rgba(201,151,46,.4); background: rgba(5,5,5,.5); backdrop-filter: blur(3px); transform: rotate(2deg); }
.hero-poster::after { position: absolute; inset: 10px -11px -11px 10px; z-index: -1; content: ''; border-right: 1px solid rgba(201,151,46,.28); border-bottom: 1px solid rgba(201,151,46,.28); }
.poster-mark { color: var(--gold); font: 160px/.8 'Barlow Condensed'; letter-spacing: -.08em; }
.poster-rule { width: 100%; height: 6px; margin: 32px 0 24px; background: var(--gold-gradient); transform-origin: left; animation: line-breathe 5s ease-in-out infinite; }
.hero-poster p { margin: 0; font: 48px/.85 'Barlow Condensed'; }.hero-poster > span { position: absolute; right: 26px; bottom: 28px; color: var(--gray); font-size: 9px; letter-spacing: .16em; writing-mode: vertical-rl; }.hero-poster small { position: absolute; left: 30px; bottom: 25px; color: var(--gold); letter-spacing: .14em; }
.scroll-note { position: absolute; left: 50%; bottom: 25px; z-index: 2; display: flex; align-items: center; gap: 12px; color: #777; font-size: 8px; letter-spacing: .18em; transform: translateX(-50%); }.scroll-note i { display: block; width: 55px; height: 1px; background: #777; }
.ticker { position: relative; z-index: 3; overflow: hidden; border-block: 1px solid var(--gold); background: var(--gold); color: var(--black); }
.ticker-track { width: max-content; display: flex; align-items: center; animation: ticker 30s linear infinite; will-change: transform; }
.ticker-group { flex: 0 0 auto; min-width: max(100vw, 1120px); display: flex; align-items: center; justify-content: space-around; padding-block: 11px; }
.ticker span { font: 24px/1 'Barlow Condensed'; letter-spacing: .06em; }.ticker i { margin: 0 22px; font-style: normal; font-size: 13px; }

.about { background: var(--black-secondary); }
.about-grid { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(460px, 1.15fr); gap: clamp(65px, 8vw, 125px); align-items: center; }
.about-visual { position: relative; padding: 0 25px 28px 0; }
.image-frame { position: relative; height: min(680px, 58vw); min-height: 540px; overflow: hidden; clip-path: polygon(0 0, 91% 0, 100% 8%, 100% 100%, 0 100%); }
.image-frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(5,5,5,.45), transparent 40%); }
.image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; filter: saturate(.75) contrast(1.04); transition: transform 1.2s; }
.about-visual.visible .image-frame img { transform: scale(1.025); }
.about-visual::before { position: absolute; right: 0; bottom: 0; width: 88%; height: 90%; content: ''; border: 1px solid var(--gold); }
.since-tag { position: absolute; top: 30px; right: -8px; z-index: 2; padding: 10px 15px; background: var(--gold); color: var(--black); font-size: 9px; font-weight: 700; letter-spacing: .13em; transform: rotate(90deg) translateX(100%); transform-origin: right top; }
.about-visual > p { position: absolute; left: 18px; bottom: 45px; z-index: 2; margin: 0; padding: 12px 16px; border-left: 3px solid var(--gold); background: rgba(5,5,5,.9); font: 31px/.85 'Barlow Condensed', sans-serif; letter-spacing: .04em; writing-mode: horizontal-tb; transform: none; }
.gold-line { width: 100%; height: 1px; margin: 30px 0; background: var(--gold-gradient); transform: scaleX(0); transform-origin: left; transition: transform .9s .1s; }.gold-line.visible { transform: none; }
.about-body { max-width: 660px; }.about-body p { margin: 0 0 17px; color: var(--gray); font-size: 13px; line-height: 1.78; }.about-body mark { padding: 1px 3px; background: transparent; color: var(--gold-light); font-weight: 600; }.about-body .signature { margin-top: 28px; color: var(--white); font: 25px 'Barlow Condensed'; letter-spacing: .03em; }.signature span { color: var(--gold); font-size: 17px; }

.services { background: var(--black); }
.section-heading { position: relative; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.heading-note { max-width: 285px; margin: 0 0 6px; color: var(--gray); font-size: 12px; line-height: 1.7; }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 48px; border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); }
.service-card { position: relative; min-height: 235px; padding: 30px 25px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); background: var(--black-secondary); }
.service-card::before { position: absolute; inset: 0 auto 0 0; width: 2px; content: ''; background: var(--gold-gradient); }
.service-card::after { position: absolute; right: -30px; bottom: -55px; width: 120px; height: 120px; content: ''; border: 1px solid rgba(201,151,46,.12); transform: rotate(45deg); }
.service-card:hover { background: var(--black-secondary); transform: none; box-shadow: none; }
.service-card > span { color: var(--gold); font-size: 9px; letter-spacing: .12em; }
.service-card h3 { margin: 72px 0 12px; font-size: clamp(27px, 2.2vw, 35px); line-height: .95; text-transform: uppercase; }
.service-card p { margin: 0; color: #979797; font-size: 11px; line-height: 1.65; }

.work { overflow: hidden; background: var(--graphite); }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 55px; }
.gallery-item { position: relative; padding: 0; overflow: hidden; border: 0; background: var(--black); text-align: left; clip-path: polygon(0 0, calc(100% - 17px) 0, 100% 17px, 100% 100%, 0 100%); }
.gallery-cut-one, .gallery-cut-two, .gallery-beard { height: 560px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.gallery-cut-one img { object-position: 48% center; }.gallery-cut-two img { object-position: center 34%; }.gallery-beard img { object-position: 55% 38%; transform: translate(-7%, -7%) rotate(90deg) scale(1.85); transform-origin: center; }
.gallery-item::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(0,0,0,.86), transparent 48%); transition: background .35s; }
.gallery-item > span { position: absolute; right: 24px; bottom: 20px; left: 24px; z-index: 2; display: flex; align-items: baseline; gap: 12px; font: 31px 'Barlow Condensed'; letter-spacing: .03em; }.gallery-item > span b { color: var(--gold); font: 9px Manrope; }.gallery-item > span small { margin-left: auto; color: var(--gold); font: 8px Manrope; letter-spacing: .12em; transform: translateY(8px); opacity: 0; transition: .3s; }.gallery-item:hover > span small { transform: none; opacity: 1; }
.gallery-more { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.gallery-more figure { position: relative; aspect-ratio: 1; margin: 0; overflow: hidden; background: var(--black); }
.gallery-more figure::after { position: absolute; inset: 0; content: ''; border: 1px solid rgba(255,255,255,.08); pointer-events: none; }
.gallery-more img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.04); }
.gallery-more figure:nth-child(1) img, .gallery-more figure:nth-child(3) img { object-position: center 42%; }

.booking { position: relative; min-height: 570px; display: grid; place-items: center; overflow: hidden; text-align: center; background: radial-gradient(circle at center, #2a200f 0, var(--black) 62%); }
.booking::before, .booking::after { position: absolute; content: ''; width: 1px; height: 160%; top: -30%; background: rgba(201,151,46,.2); transform: rotate(30deg); }.booking::before { left: 21%; }.booking::after { right: 21%; }
.booking-word { position: absolute; color: transparent; font: min(28vw, 430px)/1 'Barlow Condensed'; -webkit-text-stroke: 1px rgba(201,151,46,.09); }
.booking-logo { position: relative; width: 118px; aspect-ratio: 1; margin: 28px auto 0; object-fit: contain; clip-path: circle(46%); opacity: 1; animation: logo-spin 18s linear infinite; }
.booking-inner { position: relative; z-index: 2; }.booking-inner .section-label::before { display: none; }.booking-inner p:not(.section-label) { margin: 20px 0 28px; color: var(--gray); font-size: 13px; }.booking-inner .button { margin-inline: auto; }

.location { background: var(--black-secondary); }
.location-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 130px); align-items: center; }
.location address, .schedule { display: flex; gap: 17px; margin: 0 0 26px; font-style: normal; }.location address svg, .schedule svg { flex: 0 0 25px; width: 25px; height: 25px; fill: none; stroke: var(--gold); stroke-width: 1.4; }.location address strong, .schedule strong { display: block; margin-bottom: 7px; font-size: 14px; }.location address span, .schedule span { color: var(--gray); font-size: 12px; line-height: 1.7; }
.location .button { margin-top: 12px; }
.map-poster { position: relative; min-height: 540px; overflow: hidden; border: 1px solid rgba(201,151,46,.34); background: #111; cursor: pointer; }
.map-grid { position: absolute; inset: 0; opacity: .3; background: linear-gradient(30deg, transparent 0 47%, rgba(201,151,46,.35) 47.5% 48%, transparent 48.5%), linear-gradient(-20deg, transparent 0 38%, rgba(255,255,255,.13) 38.5% 39%, transparent 39.5%), repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.08) 80px), repeating-linear-gradient(0deg, transparent 0 79px, rgba(255,255,255,.08) 80px); transition: transform .7s; }.map-poster:hover .map-grid { transform: scale(1.06); }
.map-pin { position: absolute; top: 42%; left: 58%; width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--gold); background: var(--gold); color: var(--black); transform: rotate(45deg); box-shadow: 0 0 0 13px rgba(201,151,46,.1); }.map-pin svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; transform: rotate(-45deg); }
.map-poster strong { position: absolute; top: 30px; left: 30px; font: 61px/.83 'Barlow Condensed'; }.map-poster small { position: absolute; right: 26px; bottom: 26px; color: var(--gray); font-size: 9px; line-height: 1.6; letter-spacing: .14em; text-align: right; }.map-poster i { position: absolute; left: 30px; bottom: 27px; color: var(--gold); font-style: normal; font-size: 8px; letter-spacing: .13em; }
.map-embed { position: relative; min-height: 540px; overflow: hidden; border: 1px solid rgba(201,151,46,.45); background: var(--graphite); }
.map-embed iframe { width: 100%; height: 540px; display: block; border: 0; filter: grayscale(1) contrast(1.08); }
.map-embed > a { position: absolute; right: 18px; bottom: 18px; padding: 15px 18px; border: 1px solid var(--gold); background: rgba(5,5,5,.94); color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .25s, color .25s; }
.map-embed > a:hover { background: var(--gold); color: var(--black); }
.map-embed > a span { margin-left: 12px; }

.contact { background: var(--black); }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 9vw, 130px); align-items: start; }
.contact-note { max-width: 370px; margin-top: 28px; color: var(--gray); font-size: 12px; line-height: 1.75; }
.contact-links { border-top: 1px solid rgba(255,255,255,.14); }
.contact-links > a { min-height: 105px; padding: 18px 5px; display: flex; align-items: center; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.14); transition: padding .25s, background .25s; }.contact-links > a:hover { padding-inline: 17px; background: rgba(201,151,46,.06); }
.contact-links svg { width: 28px; height: 28px; fill: none; stroke: var(--gold); stroke-width: 1.5; }.contact-links svg .fill { fill: var(--gold); stroke: none; }.contact-links span { display: flex; flex-direction: column; gap: 6px; }.contact-links small { color: var(--gold); font-size: 8px; letter-spacing: .15em; }.contact-links strong { font-size: 15px; font-weight: 500; }.contact-links b { margin-left: auto; color: var(--gold); font-size: 19px; transition: transform .25s; }.contact-links a:hover b { transform: translate(3px,-3px); }

.footer { border-top: 1px solid rgba(255,255,255,.12); background: var(--black-secondary); }
.footer-grid { min-height: 150px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 24px; }.footer-logo { width: 84px; height: 84px; }.footer-grid > div:nth-child(2) { display: flex; flex-direction: column; gap: 7px; }.footer-grid > div strong { font: 25px 'Barlow Condensed'; }.footer-grid > div span { color: #777; font-size: 10px; }.footer-grid > p { grid-column: 1 / -1; margin: -25px 0 20px; color: #666; font-size: 9px; text-align: center; }.developer-credit { margin-left: 10px; color: #555; }
.whatsapp-float { position: fixed; right: 23px; bottom: 23px; z-index: 30; min-height: 50px; padding: 0 18px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--gold); background: var(--black); color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .04em; box-shadow: 0 10px 35px rgba(0,0,0,.55); animation: whatsapp-pulse 7s ease-in-out infinite; }.whatsapp-float svg { width: 23px; height: 23px; fill: none; stroke: var(--gold); stroke-width: 1.7; }
.back-to-top { position: fixed; right: 25px; bottom: 86px; z-index: 29; width: 42px; height: 42px; border: 1px solid rgba(201,151,46,.6); background: var(--black); color: var(--gold); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .3s; }.back-to-top.show { opacity: 1; visibility: visible; transform: none; }

:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.reveal-fade { opacity: 0; transform: translateY(18px); transition: opacity .7s, transform .7s; }.reveal-fade.visible { opacity: 1; transform: none; }
.reveal-image { clip-path: inset(0); opacity: .72; transform: translateY(16px); transition: opacity .8s, transform .8s; }.reveal-image.visible { opacity: 1; transform: none; }
.reveal-card { opacity: 0; transform: translateY(24px); transition: opacity .55s, transform .55s, background .35s, box-shadow .35s; }.reveal-card.visible { opacity: 1; transform: none; }

@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes float-geometry { 0%,100% { transform: rotate(13deg) translateY(0); } 50% { transform: rotate(13deg) translateY(12px); } }
@keyframes line-breathe { 0%,100% { transform: scaleX(.72); } 50% { transform: scaleX(1); } }
@keyframes whatsapp-pulse { 0%,82%,100% { box-shadow: 0 10px 35px rgba(0,0,0,.55); } 88% { box-shadow: 0 0 0 9px rgba(201,151,46,0), 0 10px 35px rgba(0,0,0,.55); } }
@keyframes logo-spin { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
  :root { --container: calc(100% - 48px); }
  .desktop-nav { gap: 17px; }.desktop-nav a { font-size: 9px; }.header-actions .social-icons { display: none; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); }.hero-poster { display: none; }
  .about-grid { grid-template-columns: .8fr 1.2fr; gap: 65px; }.about-body p { font-size: 12px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }.service-card { min-height: 210px; }.service-card h3 { margin-top: 45px; }
  .gallery-cut-one, .gallery-cut-two, .gallery-beard { height: 500px; }
}

@media (max-width: 800px) {
  :root { --container: calc(100% - 40px); }
  .section { padding-block: 90px; }.section::after { right: 20px; top: 24px; font-size: 75px; }
  .site-header, .site-header.scrolled { height: 72px; background: rgba(5,5,5,.72); backdrop-filter: blur(10px); }.header-inner { width: calc(100% - 32px); }.logo-link, .site-header.scrolled .logo-link { width: 62px; height: 62px; }.desktop-nav { display: none; }.menu-toggle { display: grid; }.header-actions > .social-icons { display: none; }
  .hero { min-height: 720px; height: 100svh; }.hero::before { display: none; }.hero-grid { grid-template-columns: 1fr; padding-top: 65px; }.hero-copy { max-width: 690px; }.hero-poster { display: none; }.hero-outline { right: -15vw; bottom: 1%; }.hero-orbit { right: -17vw; top: 18%; width: 64vw; }.scroll-note { display: none; }
  h1 { font-size: clamp(66px, 15vw, 100px); }.hero-text { max-width: 530px; }.hero-buttons { flex-wrap: wrap; }
  .about-grid { grid-template-columns: 1fr; gap: 65px; }.about-visual { width: min(600px, 92%); margin-inline: auto; }.image-frame { height: min(700px, 105vw); min-height: 500px; }.about-copy { max-width: 660px; }
  .section-heading { align-items: start; flex-direction: column; }.heading-note { max-width: 440px; }
  .gallery { grid-template-columns: 1fr 1fr; }.gallery-cut-one, .gallery-cut-two { height: 500px; }.gallery-beard { grid-column: 1 / 3; height: 330px; }.gallery-beard img { transform: translate(-6%, -6%) rotate(90deg) scale(2.2); }
  .gallery-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-grid, .contact-grid { grid-template-columns: 1fr; gap: 65px; }.map-poster, .map-embed { min-height: 430px; }.map-embed iframe { height: 430px; }.contact-note { max-width: 500px; }
  .footer-grid { grid-template-columns: 85px 1fr auto; }
}

@media (max-width: 520px) {
  :root { --container: calc(100% - 32px); }
  .section { padding-block: 76px; }
  h1 { font-size: clamp(58px, 17vw, 78px); }.hero { min-height: 730px; }.hero-grid { padding-top: 78px; }.hero-text { margin-top: 22px; font-size: 14px; }.hours-inline { align-items: flex-start; line-height: 1.5; }.hero-buttons { display: grid; grid-template-columns: 1fr; }.button { width: 100%; }
  .ticker span { font-size: 20px; }.ticker i { margin-inline: 15px; }
  h2 { font-size: clamp(52px, 14vw, 72px); }.about-visual { width: calc(100% - 12px); padding-right: 16px; }.image-frame { height: 128vw; min-height: 480px; }.about-visual > p { left: -12px; }.since-tag { right: -11px; }.about-body p { font-size: 12px; line-height: 1.72; }
  .services-grid { grid-template-columns: 1fr; }.service-card { min-height: 180px; }.service-card h3 { margin-top: 34px; font-size: 32px; }
  .gallery { display: flex; flex-direction: column; gap: 13px; }.gallery-item { width: 100%; height: 116vw; max-height: 560px; }.gallery-beard { height: 90vw; }.gallery-beard img { transform: translate(-7%, -7%) rotate(90deg) scale(1.55); }.gallery-item > span { font-size: 27px; }
  .gallery-more { gap: 8px; margin-top: 8px; }
  .booking { min-height: 620px; padding-block: 70px; }.booking-logo { width: 96px; }.booking-inner .button { width: auto; }
  .map-poster, .map-embed { min-height: 390px; }.map-embed iframe { height: 390px; }.map-poster strong { font-size: 51px; }.map-pin { left: 60%; }
  .contact-links > a { min-height: 92px; }.contact-links strong { font-size: 13px; }
  .footer-grid { grid-template-columns: 76px 1fr; padding-block: 28px; }.footer-logo { width: 70px; height: 70px; }.footer-grid > .social-icons { grid-column: 1 / -1; }.footer-grid > p { margin: 0; }
  .whatsapp-float { right: 15px; bottom: 15px; width: 52px; height: 52px; min-height: 0; padding: 0; justify-content: center; }.whatsapp-float span { display: none; }.back-to-top { right: 20px; bottom: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .title-mask h1, .title-mask h2, .reveal-fade, .reveal-card { opacity: 1; transform: none; }
  .reveal-image { clip-path: none; }.gold-line { transform: none; }
}

@media (min-width: 801px) {
  .hero-orbit::before { display: none; }
  .hero-copy { max-width: min(740px, 52vw); }
  .hero-cut-showcase { position: absolute; top: 15%; right: 5vw; bottom: 9%; z-index: 1; width: min(37vw, 535px); display: block; pointer-events: none; }
  .hero-cut-showcase::before { position: absolute; inset: 22px -18px -18px 22px; content: ''; border: 1px solid rgba(201,151,46,.42); transform: rotate(2deg); }
  .hero-cut-showcase::after { position: absolute; left: -42px; bottom: 13%; width: 84px; height: 2px; content: ''; background: var(--gold-gradient); transform: rotate(-72deg); }
  .hero-cut-frame { position: absolute; inset: 0 0 56px; overflow: hidden; background: var(--graphite); clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); transform: rotate(1.2deg); }
  .hero-cut-frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(5,5,5,.78), transparent 48%), linear-gradient(90deg, rgba(5,5,5,.22), transparent 45%); }
  .hero-cut-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; filter: saturate(.78) contrast(1.1); transform: scale(1.035); }
  .hero-cut-frame > span { position: absolute; left: 22px; bottom: 20px; z-index: 2; padding-left: 29px; color: var(--white); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
  .hero-cut-frame > span::before { position: absolute; left: 0; top: 50%; width: 19px; height: 1px; content: ''; background: var(--gold); }
  .hero-cut-caption { position: absolute; right: -10px; bottom: 0; left: 28px; z-index: 2; min-height: 82px; padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; border-left: 3px solid var(--gold); background: rgba(5,5,5,.96); }
  .hero-cut-caption strong { font: 800 clamp(25px, 2.2vw, 35px)/1 'Barlow Condensed', sans-serif; letter-spacing: .025em; }
  .hero-cut-caption small { color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
  .hero-cut-stamp { position: absolute; top: 30px; right: -25px; z-index: 3; width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid var(--gold); background: var(--black); color: var(--gold-light); font: 700 17px/.85 'Barlow Condensed', sans-serif; letter-spacing: .08em; text-align: center; transform: rotate(5deg); }
  .gallery-beard img { object-position: 52% 32%; transform: translate(-11%, -10%) rotate(90deg) scale(2.05); }
}

@media (max-width: 800px) {
  .hero { height: auto; min-height: 0; padding: 100px 0 78px; }
  .hero-grid { padding-top: 0; }
  .hero-cut-showcase { position: relative; z-index: 2; width: calc(100% - 40px); height: clamp(440px, 118vw, 560px); margin: 52px auto 0; display: block; pointer-events: none; }
  .hero-cut-showcase::before { position: absolute; inset: 15px -8px -11px 15px; content: ''; border: 1px solid rgba(201,151,46,.42); transform: rotate(1.5deg); }
  .hero-cut-showcase::after { position: absolute; left: -16px; bottom: 17%; width: 54px; height: 2px; content: ''; background: var(--gold-gradient); transform: rotate(-72deg); }
  .hero-cut-frame { position: absolute; inset: 0 0 52px; overflow: hidden; background: var(--graphite); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); }
  .hero-cut-frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(5,5,5,.72), transparent 48%); }
  .hero-cut-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(.8) contrast(1.08); }
  .hero-cut-caption { position: absolute; right: -4px; bottom: 0; left: 18px; z-index: 2; min-height: 76px; padding: 14px 17px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-left: 3px solid var(--gold); background: rgba(5,5,5,.97); }
  .hero-cut-caption strong { font: 800 clamp(23px, 7vw, 31px)/.95 'Barlow Condensed', sans-serif; letter-spacing: .02em; }
  .hero-cut-caption small { flex: 0 0 auto; color: var(--gold); font-size: 7px; font-weight: 700; letter-spacing: .12em; }
  .hero-cut-stamp { position: absolute; top: 20px; right: -8px; z-index: 3; width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--gold); background: var(--black); color: var(--gold-light); font: 700 14px/.85 'Barlow Condensed', sans-serif; letter-spacing: .06em; text-align: center; transform: rotate(4deg); }
}
