/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
:root {
  --bg-dark: #1E1C18;
  --bg-light: #FBFAF6;
  --bg-warm: #F3ECDD;
  --gold: #C6A664;
  --gold-dark: #8A6E3A;
  --gold-muted: #B39A6A;
  --text-dark: #1E1C18;
  --text-body: #5A5348;
  --text-muted: #7A7264;
  --border-light: #E6DECD;
  --cream: #E7D7AE;
  --off-white: #F3EEE4;
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Jost', sans-serif;
  --font-mono: 'Space Mono', monospace;
  --font-display: 'Marcellus', serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg-light);
  color: var(--text-dark);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: var(--gold-dark); text-decoration: none; transition: color .3s ease; }
a:hover { color: var(--gold); }
::selection { background: var(--bg-dark); color: var(--bg-light); }
img { max-width: 100%; display: block; }
ul { list-style: none; }

/* ===== ANIMATIONS ===== */
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes heroUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ===== NAVBAR ===== */
.navbar {
  position: absolute; top:0; left:0; right:0; z-index:50;
  padding: 22px 6vw;
  transition: background .3s ease, backdrop-filter .3s ease;
}
.navbar.scrolled {
  position: fixed;
  background: rgba(20,18,14,0.92);
  backdrop-filter: blur(12px);
}
.nav-row { display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; flex-direction:column; line-height:1; }
.nav-logo-the { font-family:var(--font-heading); font-style:italic; font-size:14px; letter-spacing:0.04em; color:var(--cream); margin-bottom:3px; }
.nav-logo-name { font-family:var(--font-display); font-size:24px; letter-spacing:0.2em; text-transform:uppercase; color:var(--bg-light); }
.nav-logo-location { font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.32em; text-transform:uppercase; color:rgba(243,238,228,0.6); margin-top:5px; }
.nav-links { display:flex; gap:30px; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; }
.nav-links a { color:var(--off-white); padding-bottom:4px; background-image:linear-gradient(var(--gold),var(--gold)); background-repeat:no-repeat; background-position:0 100%; background-size:0% 1.5px; transition:background-size .35s ease, color .35s ease; }
.nav-links a:hover { color:var(--gold); background-size:100% 1.5px; }
.nav-instagram { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-body); font-size:12px; letter-spacing:0.06em; color:var(--bg-light); border:1px solid rgba(251,250,246,0.4); padding:9px 16px; border-radius:100px; transition:all .35s ease; }
.nav-instagram:hover { background:var(--gold); border-color:var(--gold); color:var(--bg-dark); transform:translateY(-2px); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; z-index:100; background:none; border:none; }
.hamburger .bar-w { width:22px; height:2px; background:var(--bg-light); display:block; border-radius:1px; transition:all .3s ease; }
.hamburger .bar-g { width:16px; height:2px; background:var(--gold); display:block; border-radius:1px; transition:all .3s ease; }
.nav-dropdown { display:none; }

/* ===== HERO ===== */
.hero { position:relative; height:100vh; min-height:600px; max-height:900px; background:var(--bg-dark) center/cover no-repeat; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,14,0.58) 0%,rgba(20,18,14,0.12) 42%,rgba(20,18,14,0.62) 100%); z-index:1; pointer-events:none; }
.hero-content { position:absolute; left:0; right:0; bottom:60px; z-index:2; text-align:center; padding:0 6vw; animation:heroUp 1s cubic-bezier(.2,.7,.2,1) both; }
.hero-title { font-family:var(--font-heading); font-weight:500; font-size:clamp(36px,5.5vw,74px); line-height:1.05; color:var(--bg-light); text-shadow:0 2px 24px rgba(0,0,0,0.45); }
.hero-title em { font-style:italic; color:var(--cream); }
.hero-subtitle { font-family:var(--font-body); font-weight:300; font-size:clamp(14px,1.2vw,16px); color:#EDE6D8; max-width:540px; margin:16px auto 0; text-shadow:0 1px 12px rgba(0,0,0,0.4); }
.hero-subtitle-desktop { display: inline; }
.hero-subtitle-mobile { display: none; }

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float { position:fixed; right:28px; bottom:26px; z-index:60; display:flex; align-items:center; gap:9px; background:var(--bg-dark); color:var(--bg-light); padding:13px 20px; border-radius:100px; font-family:var(--font-body); font-size:13px; box-shadow:0 10px 28px rgba(0,0,0,0.4); animation:floaty 3.5s ease-in-out infinite; transition:all .35s ease; }
.whatsapp-float:hover { background:#25A566; color:#fff; transform:scale(1.05); }

/* ===== SECTION COMMON ===== */
.section-label { font-family:var(--font-mono); font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-muted); }
.section-title { font-family:var(--font-heading); font-weight:500; font-size:clamp(32px,3.5vw,46px); margin:12px 0 0; line-height:1.1; }

/* ===== ABOUT ===== */
.about { max-width:1200px; margin:0 auto; padding:44px 6vw 36px; display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:center; }
.about-media { position:relative; width:100%; max-width:380px; aspect-ratio:9/16; margin:0 auto; border-radius:14px; overflow:hidden; box-shadow:0 24px 56px rgba(30,28,24,0.2); }
.about-media video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.about-media .about-media-overlay { z-index:2; }
.about-media-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,14,0.12),rgba(20,18,14,0.5)); pointer-events:none; transition:opacity .4s ease; }
.about-media.playing .about-media-overlay { opacity:0; }
.video-play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:70px; height:70px; border-radius:50%; background:rgba(251,250,246,0.92); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 28px rgba(0,0,0,0.32); cursor:pointer; transition:all .35s ease; z-index:3; }
.video-play-btn:hover { transform:translate(-50%,-50%) scale(1.08); background:var(--gold); }
.about-media.playing .video-play-btn { opacity:0; pointer-events:none; }
.play-triangle { margin-left:5px; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent var(--bg-dark); }
.video-label { position:absolute; left:16px; bottom:16px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; color:var(--off-white); pointer-events:none; z-index:3; }
.about-media.playing .video-label { opacity:0; }
.about-text p { font-weight:300; font-size:15.5px; line-height:1.75; color:var(--text-body); margin:0 0 28px; }
.about-founder { display:flex; align-items:center; gap:16px; margin:0 0 28px; }
.founder-img { width:58px; height:58px; border-radius:50%; object-fit:cover; border:1px solid var(--border-light); box-shadow:0 4px 12px rgba(30,28,24,0.08); }
.founder-info { display:flex; flex-direction:column; gap:3px; }
.founder-name { font-family:var(--font-heading); font-size:19px; font-weight:500; color:var(--text-dark); }
.founder-title { font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); }
.about-stats { display:flex; gap:44px; border-top:1px solid var(--border-light); padding-top:26px; }
.stat-number { font-family:var(--font-display); font-size:44px; color:var(--gold-dark); letter-spacing:0.01em; }
.stat-label { font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }

/* ===== EVENTS ===== */
.events { max-width:1200px; margin:0 auto; padding:8px 6vw 44px; }
.events-header { text-align:center; margin-bottom:32px; }
.events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.event-card { position:relative; height:380px; border-radius:14px; overflow:hidden; box-shadow:0 12px 30px rgba(30,28,24,0.1); cursor:pointer; transition:box-shadow .4s ease, transform .4s ease; }
.event-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.event-card:hover, .event-card:active { box-shadow:0 26px 54px rgba(30,28,24,0.26); transform:translateY(-6px); }
.event-card:hover img, .event-card:active img { transform:scale(1.08); }
.event-card-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(20,18,14,0.75)); pointer-events:none; }
.event-card-text { position:absolute; left:24px; bottom:24px; color:var(--bg-light); pointer-events:none; }
.event-card-title { font-family:var(--font-heading); font-size:32px; }
.event-card-sub { font-family:var(--font-mono); font-size:10px; letter-spacing:0.12em; color:var(--cream); margin-top:4px; }

/* ===== GALLERY ===== */
.gallery { max-width:1200px; margin:0 auto; padding:0 6vw 44px; }
.gallery-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:16px; }
.gallery-instagram { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dark); border:1px solid var(--gold); padding:12px 20px; border-radius:2px; transition:all .35s ease; }
.gallery-instagram:hover { background:var(--gold); transform:translateY(-2px); box-shadow:0 10px 24px rgba(150,120,60,0.3); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:14px; }
.gallery-tile { border-radius:12px; overflow:hidden; transition:transform .6s ease, box-shadow .4s ease; cursor:pointer; }
.gallery-tile:hover, .gallery-tile:active { transform:scale(1.03); box-shadow:0 18px 40px rgba(30,28,24,0.22); z-index:2; }
.gallery-tile img { width:100%; height:100%; object-fit:cover; }
.gallery-tile.span-2 { grid-column:span 2; }
.gallery-tile.span-row-2 { grid-row:span 2; }
.gallery-tile.gallery-hidden { display:none; }
.gallery-tile.gallery-hidden.gallery-shown { display:block; }
.gallery-loadmore { text-align:center; margin-top:24px; }
.load-more-btn { font-family:var(--font-mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase; background:none; border:none; color:var(--gold-dark); cursor:pointer; padding:6px 2px; border-bottom:1px solid var(--gold); transition:color .3s ease; }
.load-more-btn:hover { color:var(--gold); }

/* ===== PACKAGES (coverflow on desktop) ===== */
.packages { padding:32px 6vw; background:var(--bg-warm); overflow:hidden; }
.packages-inner { max-width:1200px; margin:0 auto; }
.packages-header { text-align:center; margin-bottom:12px; }
.packages-carousel { position:relative; height:380px; }
.packages-track { position:relative; height:100%; }
.package-card-wrapper { display: contents; }
.package-card {
  background:var(--bg-light); border:1px solid var(--border-light); border-radius:6px;
  padding:30px 28px; text-align:left;
}
.package-card.featured { border-color:var(--gold); }
.packages-nav { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:8px; }
.package-price { font-family:var(--font-display); font-size:28px; color:var(--gold-dark); margin-bottom:2px; }
.package-price-note { font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; color:var(--text-muted); margin-bottom:14px; }
.package-toggle { background:none; border:none; font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dark); cursor:pointer; padding:0 0 16px; transition:color .3s ease; outline:none; }
.package-toggle:focus { outline:none; }
.package-toggle:hover { color:var(--gold); }
.package-extra { display:none !important; }
.package-extra.expanded { display:block !important; }
.package-featured-tag { font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.package-name { font-family:var(--font-heading); font-size:30px; line-height:1; margin-bottom:18px; }
.package-features { font-weight:300; font-size:13.5px; line-height:1.9; color:var(--text-body); margin:0 0 12px; padding:0; }
.package-features li { padding-left:16px; position:relative; margin-bottom:2px; }
.package-features li::before { content:'•'; position:absolute; left:0; color:var(--gold); }
.package-cta { display:block; font-family:var(--font-body); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; text-align:center; background:var(--bg-dark); color:var(--bg-light); padding:14px; border-radius:2px; transition:all .35s ease; margin-top:8px; }
.package-cta:hover { background:#25A566; color:#fff; }

/* ===== TESTIMONIALS (coverflow on desktop) ===== */
.testimonials { max-width:1200px; margin:0 auto; padding:32px 6vw; text-align:center; }
.testimonials-header { margin-bottom:22px; }
.testimonials-slider { position:relative; overflow:hidden; }
.testimonials-track { position:relative; height:270px; }
.testimonial-card { padding:0; }
.testimonial-inner { background:#FDFCF8; border:1px solid #EFE7D6; border-radius:6px; padding:36px 40px; max-width:700px; margin:0 auto; }
.testimonial-quote-mark { font-family:var(--font-heading); font-size:48px; color:var(--gold); line-height:0.3; }
.testimonial-text { font-family:var(--font-heading); font-style:italic; font-size:23px; line-height:1.45; color:var(--text-dark); margin:20px 0 18px; }
.testimonial-author { font-family:var(--font-body); font-size:14px; color:var(--text-dark); }
.testimonial-stars { font-size:18px; letter-spacing:4px; color:var(--gold); margin-top:10px; text-shadow:0 1px 2px rgba(150,120,60,0.35); }
.testimonials-nav { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:8px; }
.packages-dots, .testimonials-dots { display:flex; align-items:center; gap:9px; }
.nav-btn { width:46px; height:46px; border-radius:50%; border:1px solid #D8CDB6; background:var(--bg-light); color:var(--gold-dark); font-size:16px; cursor:pointer; transition:all .35s ease; display:flex; align-items:center; justify-content:center; }
.nav-btn:hover { background:var(--bg-dark); color:var(--bg-light); border-color:var(--bg-dark); }

/* ===== CONTACT ===== */
.contact { padding:60px 6vw; background:var(--bg-dark); }
.contact-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-form-section .section-label { color:var(--gold); }
.contact-form-section .section-title { color:var(--bg-light); margin-bottom:30px; }
.contact-form { display:flex; flex-direction:column; gap:16px; }
.contact-input, .contact-select { background:transparent; border:none; border-bottom:1px solid rgba(251,250,246,0.25); padding:12px 0; font-family:var(--font-body); font-weight:300; font-size:15px; color:var(--bg-light); outline:none; transition:border-color .35s ease; width:100%; -webkit-appearance:none; border-radius:0; }
.contact-input::placeholder { color:rgba(251,250,246,0.5); }
.contact-input:focus, .contact-select:focus { border-color:var(--gold); }
.contact-select option { color:#333; background:#fff; }
.contact-buttons { display:flex; gap:14px; margin-top:10px; flex-wrap:wrap; }
.btn-whatsapp-submit { display:block; width:100%; font-family:var(--font-body); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; background:var(--gold); color:var(--bg-dark); padding:15px 28px; border-radius:2px; border:none; cursor:pointer; text-align:center; transition:all .35s ease; outline:none; }
.btn-whatsapp-submit:hover { background:#25A566; color:#fff; transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,0.35); }
.contact-info { margin-top:40px; border-top:1px solid rgba(251,250,246,0.1); padding-top:30px; }
.contact-info-title { font-family:var(--font-heading); font-size:24px; font-weight:500; color:var(--gold); margin-bottom:20px; letter-spacing:0.05em; text-transform:uppercase; }
.contact-info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:20px; }
.contact-info-item svg { width:20px; height:20px; fill:var(--gold); flex-shrink:0; margin-top:3px; }
.contact-info-content { font-family:var(--font-body); font-weight:300; font-size:14.5px; line-height:1.6; color:rgba(251,250,246,0.75); }
.contact-info-content a { color:rgba(251,250,246,0.75); transition:color 0.3s ease; }
.contact-info-content a:hover { color:var(--gold); }
.contact-map { position:relative; border-radius:3px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,0.3); }
.contact-map iframe { width:100%; height:100%; min-height:400px; border:0; filter:grayscale(0.2) contrast(1.05); }

/* ===== FOOTER ===== */
.footer { padding:36px 6vw; background:#17150F; }
.footer-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-text { font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; color:rgba(251,250,246,0.5); }
.footer-text a { color:var(--gold-muted); }
.footer-text a:hover { color:var(--gold); }

/* ===== LIGHTBOX ===== */
.lightbox { display:none; position:fixed; inset:0; z-index:100; background:rgba(20,18,14,0.95); align-items:center; justify-content:center; }
.lightbox.active { display:flex; }
.lightbox-close { position:absolute; top:20px; right:32px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(251,250,246,0.35); background:rgba(0,0,0,0.25); color:var(--bg-light); font-size:22px; cursor:pointer; transition:all .3s ease; display:flex; align-items:center; justify-content:center; }
.lightbox-close:hover { background:var(--gold); border-color:var(--gold); color:var(--bg-dark); }
.lightbox-img { max-width:90vw; max-height:85vh; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.6); }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:50%; border:1px solid rgba(251,250,246,0.35); background:rgba(0,0,0,0.3); color:var(--bg-light); font-size:24px; cursor:pointer; transition:all .3s ease; display:flex; align-items:center; justify-content:center; }
.lightbox-nav:hover { background:var(--gold); border-color:var(--gold); color:var(--bg-dark); }
.lightbox-prev { left:24px; }
.lightbox-next { right:24px; }
.lightbox-counter { position:absolute; top:26px; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; color:rgba(251,250,246,0.7); }

/* ===== RESPONSIVE: TABLET ===== */
@media (max-width:1024px) {
  .events-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
}

/* ===== RESPONSIVE: MOBILE ===== */
@media (max-width:768px) {
  .nav-links { display:none; }
  .nav-ig-text { display:none; }
  .hamburger { display:flex; }

  .navbar {
    position:sticky; top:0; padding:0;
    background:rgba(20,18,14,0.94);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(251,250,246,0.12);
  }
  .navbar.scrolled { position:sticky; }
  .nav-row { padding:14px 18px; }
  .nav-logo { text-align:center; position:absolute; left:50%; transform:translateX(-50%); }
  .nav-logo-the { font-size:10px; }
  .nav-logo-name { font-size:15px; letter-spacing:0.18em; }
  .nav-logo-location { display:none; }
  .nav-instagram {
    border-radius:50%; width:36px; height:36px; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid rgba(251,250,246,0.35);
  }

  .nav-dropdown {
    display:none; flex-direction:column; gap:2px;
    padding:12px 18px 16px;
    border-top:1px solid rgba(251,250,246,0.12);
  }
  .nav-dropdown.open { display:flex; }
  .nav-dropdown a {
    font-family:var(--font-body); font-size:15px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--off-white); padding:11px 0;
  }
  .nav-dropdown a:hover { color:var(--gold); }

  .hero { height:auto; min-height:unset; max-height:unset; padding:200px 22px 22px; text-align:center; }
  .hero-content { position:relative; bottom:auto; padding:0; animation:none; }
  .hero-title { font-size:46px; line-height:1.1; }
  .hero-subtitle { font-size:14px; margin-top:12px; }
  .hero-subtitle-desktop { display: none !important; }
  .hero-subtitle-mobile { display: inline !important; }

  .about { grid-template-columns:1fr; gap:24px; padding:24px 22px 20px; text-align:center; }
  .about-media { max-width:100%; order:2; }
  .about-text { order:1; }
  .about-founder { justify-content:center; text-align:left; }
  .section-title { font-size:34px; line-height:1.2; }
  .about-stats { gap:20px; justify-content:center; flex-wrap:wrap; }
  .stat-number { font-size:36px; }

  .events { padding:24px 22px 24px; }
  .events-grid { grid-template-columns:1fr; }
  .event-card { height:190px; }
  .event-card-title { font-size:26px; }
  .event-card-text { left:18px; bottom:18px; }

  .gallery { padding:0 22px 24px; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:220px; gap:12px; }
  .gallery-tile.span-2 { grid-column:span 1; }
  .gallery-tile.span-row-2 { grid-row:span 1; }

  .packages { padding:24px 0; }
  .packages-header { padding:0 22px; margin-bottom:18px; }
  .packages-carousel { height:auto; padding:0 22px; overflow:hidden; }
  .packages-track {
    display:flex; position:relative; height:auto; width:100%;
    align-items:flex-start;
    transition:transform .5s cubic-bezier(.2,.7,.2,1);
  }
  .package-card-wrapper {
    display:block !important;
    flex:0 0 100% !important;
    padding:0 4px !important;
    box-sizing:border-box !important;
  }
  .package-card {
    position:relative !important; top:auto !important; left:auto !important;
    width:100% !important; max-width:100% !important;
    transform:none !important; opacity:1 !important; filter:none !important;
    pointer-events:auto !important; box-sizing:border-box;
    padding:26px 22px; box-shadow:0 14px 34px rgba(30,28,24,0.12) !important;
  }
  .packages-nav { margin-top:16px; padding:0 22px; }

  .testimonials { padding:24px 22px; }
  .testimonials-track { height:auto !important; display:flex !important; overflow:visible; width:100% !important; }
  .testimonial-card {
    position:relative !important; top:auto !important; left:auto !important;
    flex:0 0 100% !important; width:100% !important;
    transform:none !important; opacity:1 !important;
    pointer-events:auto !important; padding:0 4px !important;
  }
  .testimonial-inner { padding:24px 18px; height:auto !important; box-shadow:none !important; outline:none !important; }
  .testimonial-text { font-size:18px; }

  .contact { padding:24px 22px; }
  .contact-inner { grid-template-columns:1fr; gap:30px; }
  .contact-buttons { flex-wrap:nowrap; gap:10px; }
  .btn-submit, .btn-whatsapp-cta { flex:1; padding:15px 5px; text-align:center; font-size:11px; display:flex; align-items:center; justify-content:center; }
  .contact-map iframe { min-height:250px; }

  .footer-inner { justify-content:center; text-align:center; }

  .whatsapp-float { right:16px; bottom:16px; padding:10px 14px; font-size:0; gap:0; }
  .whatsapp-float svg { width:28px; height:28px; }
}

@media (max-width:480px) {
  .about-stats { flex-wrap:wrap; gap:20px; }
  .event-card { height:170px; }
  .hero { padding:180px 18px 18px; }
  .hero-title { font-size:34px; }
}
