:root {
  --black: #0c0c0d;
  --black-2: #151516;
  --gold: #c99417;
  --gold-light: #f2c955;
  --gold-deep: #8f6507;
  --text: #181818;
  --muted: #696969;
  --line: #e8e3d8;
  --soft: #f7f5f0;
  --white: #ffffff;
  --radius: 26px;
  --shadow: 0 24px 60px rgba(0, 0, 0, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(20,20,20,.08);
  backdrop-filter: blur(14px);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: 180px; flex: 0 0 auto; overflow: hidden; }
.brand img { width: 100%; height: 56px; object-fit: contain; object-position: left center; }
.nav { display: flex; align-items: center; gap: 28px; font-size: .94rem; font-weight: 700; }
.nav a { position: relative; padding: 8px 0; }
.nav a::after { content:""; position:absolute; left:0; bottom:2px; width:0; height:2px; background:linear-gradient(90deg,var(--gold-deep),var(--gold-light)); transition:.25s ease; }
.nav a:hover::after { width:100%; }
.menu-toggle { display:none; width:44px; height:44px; border:0; background:transparent; cursor:pointer; padding:10px; }
.menu-toggle span { display:block; height:2px; background:#111; margin:5px 0; transition:.25s ease; }

.section-dark { background: var(--black); color: var(--white); }
.hero { min-height: 740px; display:flex; align-items:center; position:relative; isolation:isolate; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,#080808 0%,#121212 58%,#0b0b0b 100%); z-index:-3; }
.hero::after { content:""; position:absolute; width:56vw; height:56vw; border:1px solid rgba(235,190,70,.12); border-radius:50%; right:-25vw; top:-26vw; z-index:-2; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(2px); opacity:.55; z-index:-1; }
.hero-glow-one { width:360px; height:360px; background:radial-gradient(circle,rgba(221,164,32,.18),transparent 68%); right:5%; top:14%; }
.hero-glow-two { width:280px; height:280px; background:radial-gradient(circle,rgba(255,255,255,.06),transparent 68%); left:10%; bottom:0; }
.hero-grid { display:grid; grid-template-columns: 1.08fr .92fr; gap:70px; align-items:center; padding:100px 0; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--gold-light); font-size:.76rem; font-weight:900; letter-spacing:.19em; margin-bottom:18px; }
.eyebrow::before { content:""; width:34px; height:1px; background:currentColor; }
.eyebrow.dark { color:var(--gold-deep); }
.hero h1 { margin:0; font-size:clamp(3.7rem,8vw,7.1rem); line-height:.88; letter-spacing:-.055em; max-width:780px; }
.hero h1 span { display:block; background:linear-gradient(120deg,#b37c05,#ffe080 50%,#9e6c06); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lead { font-size:clamp(1.15rem,2vw,1.45rem); color:#d3d3d3; max-width:610px; margin:28px 0; }
.hero-pills { display:flex; gap:10px; flex-wrap:wrap; }
.hero-pills span { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.055); border-radius:999px; padding:9px 15px; font-size:.88rem; color:#efefef; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.btn { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 24px; border-radius:999px; font-weight:900; font-size:.92rem; transition:.25s ease; border:1px solid transparent; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { color:#111; background:linear-gradient(110deg,#b67e07,#f4cf63 55%,#bd860b); box-shadow:0 12px 30px rgba(202,145,21,.26); }
.btn-outline { color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.03); }
.logo-card { position:relative; background:linear-gradient(145deg,#fff,#f8f7f2); padding:42px 30px 24px; border-radius:32px; box-shadow:0 30px 80px rgba(0,0,0,.35); transform:rotate(-2deg); overflow:hidden; }
.logo-card::before { content:""; position:absolute; inset:1px; border:1px solid rgba(190,136,10,.22); border-radius:31px; pointer-events:none; }
.logo-card-shine { position:absolute; width:170px; height:220%; top:-60%; left:-60px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent); transform:rotate(22deg); animation:shine 5.5s ease-in-out infinite; }
.logo-card img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.logo-caption { margin-top:14px; text-align:center; color:#272727; font-size:.78rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
@keyframes shine { 0%,55%{transform:translateX(-240px) rotate(22deg)} 78%,100%{transform:translateX(720px) rotate(22deg)} }

.section { padding:110px 0; }
.section-soft { background:var(--soft); }
.section-heading { max-width:790px; margin-bottom:48px; }
.section-heading.centered { text-align:center; margin-left:auto; margin-right:auto; }
.section-heading.centered .eyebrow { justify-content:center; }
.section-heading h2, .schedule-copy h2, .cta-card h2 { margin:0; font-size:clamp(2.25rem,5vw,4.2rem); line-height:1.02; letter-spacing:-.04em; }
.section-heading p { color:var(--muted); font-size:1.1rem; margin:18px 0 0; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { min-height:320px; padding:32px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; position:relative; overflow:hidden; transition:.3s ease; }
.feature-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.feature-card::after { content:""; position:absolute; width:140px; height:140px; border:1px solid rgba(196,145,24,.2); border-radius:50%; right:-70px; bottom:-70px; }
.feature-card-dark { background:var(--black); color:#fff; border-color:#252525; }
.feature-card-dark p { color:#cfcfcf !important; }
.feature-icon { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#f2ead8; color:#7f5906; font-weight:900; margin-bottom:58px; }
.feature-card-dark .feature-icon { background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#111; }
.feature-card h3 { margin:0 0 12px; font-size:1.55rem; }
.feature-card p { color:var(--muted); margin:0; }

.mode-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:980px; margin:auto; }
.mode-card { display:flex; align-items:center; gap:26px; padding:34px; border-radius:var(--radius); background:#fff; border:1px solid var(--line); box-shadow:0 16px 45px rgba(33,29,20,.06); transition:.3s ease; }
.mode-card:hover { transform:translateY(-5px); border-color:#d8c391; }
.mode-icon { width:78px; height:78px; border-radius:22px; flex:0 0 auto; display:grid; place-items:center; background:linear-gradient(145deg,#151515,#2c2b28); box-shadow:inset 0 0 0 1px rgba(255,255,255,.07); }
.mode-icon svg { width:36px; fill:none; stroke:var(--gold-light); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.mode-label { font-size:.73rem; font-weight:900; color:var(--gold-deep); text-transform:uppercase; letter-spacing:.15em; }
.mode-card h3 { margin:5px 0 7px; font-size:1.6rem; }
.mode-card p { margin:0; color:var(--muted); }

.schedule-section { background:linear-gradient(120deg,#0b0b0c,#171718); color:#fff; padding:110px 0; position:relative; overflow:hidden; }
.schedule-section::after { content:""; position:absolute; width:420px; height:420px; right:-100px; bottom:-180px; border-radius:50%; background:radial-gradient(circle,rgba(224,168,37,.18),transparent 70%); }
.schedule-grid { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:80px; position:relative; z-index:1; }
.schedule-copy p { color:#cfcfcf; font-size:1.12rem; }
.saturday-card { margin-top:36px; padding:22px; display:flex; align-items:center; gap:18px; border:1px solid rgba(238,196,82,.25); background:rgba(255,255,255,.04); border-radius:18px; max-width:470px; }
.saturday-badge { background:linear-gradient(120deg,var(--gold),var(--gold-light)); color:#111; font-size:.72rem; font-weight:1000; letter-spacing:.12em; padding:8px 10px; border-radius:8px; }
.calendar-card { background:#fff; color:#111; border-radius:28px; box-shadow:0 28px 70px rgba(0,0,0,.35); overflow:hidden; transform:rotate(2deg); }
.calendar-top { height:42px; background:#111; display:flex; align-items:center; gap:8px; padding:0 18px; }
.calendar-top span { width:9px; height:9px; border-radius:50%; background:#4b4b4b; }
.calendar-body { padding:34px; }
.calendar-title { font-size:1.45rem; font-weight:1000; letter-spacing:.06em; margin-bottom:26px; }
.calendar-lines { display:grid; gap:14px; }
.calendar-lines span { height:14px; border-radius:999px; background:#ece9e1; }
.calendar-lines span:nth-child(2){ width:80%; }
.calendar-lines span:nth-child(3){ width:92%; }
.calendar-lines span:nth-child(4){ width:65%; }
.calendar-gold-block { margin-top:28px; background:linear-gradient(120deg,#b77f06,#f4cf63); border-radius:14px; padding:20px; font-size:.8rem; font-weight:1000; letter-spacing:.12em; }

.summary-section { padding-top:80px; padding-bottom:80px; }
.summary-strip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.summary-strip > div { padding:30px; min-height:180px; display:flex; flex-direction:column; justify-content:center; }
.summary-strip > div + div { border-left:1px solid var(--line); }
.summary-strip span { color:var(--gold-deep); font-weight:1000; font-size:.78rem; letter-spacing:.15em; }
.summary-strip strong { font-size:1.25rem; margin-top:10px; }
.summary-strip small { color:var(--muted); font-size:.92rem; margin-top:6px; }

.cta-section { padding:0 0 110px; }
.cta-card { background:linear-gradient(120deg,#0b0b0c,#1b1a17); color:#fff; padding:52px; border-radius:32px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:60px; position:relative; overflow:hidden; }
.cta-card::after { content:""; width:280px; height:280px; position:absolute; right:-90px; top:-120px; border-radius:50%; border:1px solid rgba(245,207,100,.25); }
.cta-card p { max-width:640px; color:#cfcfcf; }
.cta-contact { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.cta-contact > span { color:#cfcfcf; font-size:.8rem; }
.phone { font-size:clamp(1.45rem,3vw,2rem); font-weight:1000; margin-bottom:8px; }

.footer { background:#f4f1e9; border-top:1px solid #e5decf; padding:36px 0; }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-brand { width:150px; }
.footer-brand img { height:62px; width:100%; object-fit:contain; object-position:left center; }
.footer-grid > div:last-child { display:flex; gap:18px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.footer-grid a { color:#6d4c04; font-weight:800; }

.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:90; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#111; box-shadow:0 12px 30px rgba(0,0,0,.24); border:1px solid rgba(239,198,83,.5); transition:.25s ease; }
.whatsapp-float:hover { transform:translateY(-4px) scale(1.03); }
.whatsapp-float svg { width:31px; fill:var(--gold-light); }

.reveal { opacity:1; transform:none; transition:opacity .7s ease, transform .7s ease; }
.reveal.reveal-ready { opacity:0; transform:translateY(24px); }
.reveal.reveal-ready.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }
.delay-2 { transition-delay:.24s; }

@media (max-width: 900px) {
  .hero { min-height:auto; }
  .hero-grid, .schedule-grid, .cta-card { grid-template-columns:1fr; }
  .hero-grid { gap:44px; padding:84px 0; }
  .hero-visual { max-width:640px; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-card { min-height:auto; }
  .feature-icon { margin-bottom:30px; }
  .mode-grid { grid-template-columns:1fr; }
  .schedule-grid { gap:48px; }
  .summary-strip { grid-template-columns:1fr; }
  .summary-strip > div + div { border-left:0; border-top:1px solid var(--line); }
  .cta-card { gap:34px; }
}

@media (max-width: 720px) {
  .container { width:min(100% - 28px,1160px); }
  .nav-wrap { min-height:70px; }
  .brand { width:145px; }
  .brand img { height:50px; }
  .menu-toggle { display:block; }
  .nav { position:absolute; top:70px; left:14px; right:14px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px; background:#fff; border:1px solid #e7e1d5; border-radius:18px; box-shadow:0 18px 50px rgba(0,0,0,.12); }
  .nav.open { display:flex; }
  .nav a { padding:13px 12px; border-radius:12px; }
  .nav a:hover { background:#f7f4ed; }
  .menu-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2){ opacity:0; }
  .menu-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .hero-grid { padding:62px 0 70px; }
  .hero h1 { font-size:clamp(3.2rem,18vw,5.6rem); }
  .hero-actions .btn { width:100%; }
  .logo-card { padding:26px 18px 18px; border-radius:22px; transform:none; }
  .section, .schedule-section { padding:78px 0; }
  .section-heading { margin-bottom:34px; }
  .mode-card { align-items:flex-start; padding:26px; }
  .mode-icon { width:62px; height:62px; border-radius:18px; }
  .mode-icon svg { width:30px; }
  .saturday-card { align-items:flex-start; flex-direction:column; }
  .calendar-card { transform:none; }
  .cta-section { padding-bottom:78px; }
  .cta-card { padding:34px 24px; border-radius:24px; }
  .cta-contact .btn { width:100%; }
  .footer-grid { flex-direction:column; align-items:flex-start; }
  .footer-grid > div:last-child { justify-content:flex-start; flex-direction:column; align-items:flex-start; gap:5px; }
  .whatsapp-float { width:54px; height:54px; right:16px; bottom:16px; }
}

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