/* ====== Ohana Tiki Bar · bright premium tropical, with depth ====== */
:root{
  --sand:#fdf4e3;
  --sand-2:#f6e7cd;
  --cream:#fffdf8;
  --ink:#22312e;
  --ink-soft:#5f6f69;
  --teal:#0e8f88;
  --teal-deep:#0a5d59;
  --coral:#ff5d68;
  --orange:#ff8a3d;
  --gold:#ffc24d;
  --leaf:#2fa257;
  --leaf-deep:#15703a;

  --shadow-sm:0 2px 8px rgba(18,52,48,.08);
  --shadow:0 16px 34px -14px rgba(18,52,48,.28), 0 4px 12px rgba(18,52,48,.08);
  --shadow-lg:0 34px 70px -22px rgba(18,52,48,.38), 0 12px 26px rgba(18,52,48,.12);
  --radius:24px;
  --maxw:1120px;

  --leaf-deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-60 -260 120 260'%3E%3Cpath d='M0 0C36 -40 52 -120 26 -210C16 -240 8 -250 0 -256C-8 -250 -16 -240 -26 -210C-52 -120 -36 -40 0 0Z' fill='%232fa257'/%3E%3Cpath d='M0 -14V-244' stroke='%2316703a' stroke-width='4' fill='none'/%3E%3C/svg%3E");
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Poppins",system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--sand);
  line-height:1.65;
  overflow-x:hidden;
}
/* subtle paper/sand grain (lightweight, non-blended tile) */
body::before{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.section{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) 1.25rem;z-index:1}
.section__title{
  font-size:clamp(2rem,5vw,3rem);font-weight:800;text-align:center;
  margin-bottom:.55em;letter-spacing:-.02em;color:var(--ink);
}
.section__title::after{
  content:"";display:block;width:70px;height:5px;margin:.55rem auto 0;border-radius:5px;
  background:linear-gradient(90deg,var(--gold),var(--coral));
}

/* ====== TOP BAR ====== */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:.55rem clamp(1rem,4vw,2rem);
  background:rgba(255,253,248,.0);transition:background .3s, box-shadow .3s, backdrop-filter .3s;
}
.topbar.is-scrolled{
  background:rgba(255,253,248,.82);backdrop-filter:blur(12px);
  box-shadow:0 6px 22px rgba(18,52,48,.12);
}
.topbar__brand{display:flex;align-items:center;gap:.55rem}
.topbar__logo{height:46px;width:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25))}
.topbar__brandtext{font-family:"Pacifico",cursive;font-size:1.35rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45);transition:color .3s,text-shadow .3s}
.topbar.is-scrolled .topbar__brandtext{color:var(--teal-deep);text-shadow:none}
.topbar__brandtext em{font-family:"Poppins";font-style:normal;font-weight:600;font-size:.62em;opacity:.85;letter-spacing:.1em;text-transform:uppercase}

.langswitch{display:flex;gap:.25rem;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45);border-radius:100px;padding:.25rem;backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}
.topbar.is-scrolled .langswitch{background:rgba(18,52,48,.06);border-color:rgba(18,52,48,.1)}
.langswitch__btn{
  border:0;background:transparent;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);
  font:700 .8rem/1 "Poppins";cursor:pointer;padding:.42rem .62rem;border-radius:100px;transition:.2s;
}
.topbar.is-scrolled .langswitch__btn{color:var(--ink);text-shadow:none}
.langswitch__btn:hover{background:rgba(255,255,255,.25)}
.langswitch__btn.is-active{background:var(--coral);color:#fff;text-shadow:none;box-shadow:0 4px 12px rgba(255,93,104,.5)}

/* ====== HERO ====== */
.hero{
  position:relative;min-height:92svh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:5.5rem 1.25rem 7rem;overflow:visible;isolation:isolate;
}
.scene{position:absolute;inset:0;z-index:-1;overflow:hidden}
.scene__sky{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,
    #3aa9c9 0%, #5fc0d6 22%, #9adbe0 42%, #ddf2e6 60%, #fdf4e3 82%);
}
.scene__sun{
  position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);
  width:min(420px,72vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, #fffdf2 0%, #fff0c2 36%, #ffe39a 52%, rgba(255,227,154,0) 70%);
}
.scene__glow{
  position:absolute;left:0;right:0;top:0;height:60%;
  background:radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%);
}
.scene__foliage{position:absolute;left:0;right:0;bottom:0;width:100%;height:72%;display:block}
.scene__sand{
  position:absolute;left:0;right:0;bottom:0;height:20%;
  background:linear-gradient(to bottom, rgba(253,244,227,0) 0%, #f3e3c3 38%, var(--sand) 100%);
}
/* sharp foreground leaves framing the composition */
.scene__fg{position:absolute;top:-3.5rem;width:clamp(180px,26vw,340px);height:auto;filter:drop-shadow(0 22px 24px rgba(10,40,30,.35))}
.scene__fg--l{left:-3rem;transform:rotate(165deg)}
.scene__fg--r{right:-3rem;transform:scaleX(-1) rotate(165deg)}

.hero__inner{position:relative;z-index:2;max-width:840px;display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.hero__logo{width:min(580px,90vw);filter:drop-shadow(0 26px 34px rgba(12,40,30,.4));animation:floaty 6.5s ease-in-out infinite}
.hero__wordmark{font-family:"Pacifico",cursive;font-size:clamp(3rem,13vw,6rem);line-height:.9;color:#fff;text-shadow:0 8px 24px rgba(0,0,0,.4)}
.hero__wordmark small{display:block;font-family:"Poppins";font-weight:700;letter-spacing:.35em;font-size:.22em;text-transform:uppercase;margin-top:.4em}
.hero__tagline{
  font-size:clamp(1.1rem,2.8vw,1.55rem);font-weight:700;color:var(--teal-deep);
  text-shadow:0 1px 0 rgba(255,255,255,.6);max-width:24ch;
}
.hero__open{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:.7rem;
  background:linear-gradient(120deg,var(--orange),var(--coral));
  color:#fff;padding:.6rem 1.35rem .6rem 1.1rem;border-radius:100px;
  box-shadow:0 14px 30px -8px rgba(255,94,108,.6);
  animation:openglow 2.6s ease-in-out infinite;
}
.hero__open__ico{font-size:1.55rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
.hero__open__body{display:flex;flex-direction:column;align-items:flex-start;line-height:1.12;text-align:left}
.hero__open__body small{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;opacity:.92}
.hero__open__date{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.hero__open__date b{font-size:1.28rem;font-weight:800;letter-spacing:.01em}
.hero__open__date em{
  font-style:normal;font-size:.8rem;font-weight:700;white-space:nowrap;
  background:rgba(255,255,255,.28);padding:.14rem .6rem;border-radius:100px;
}
.hero__open__date em:empty{display:none}
.hero__open::after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);animation:shine 3.4s ease-in-out infinite;
}
@keyframes shine{0%{left:-70%}55%,100%{left:140%}}
@keyframes openglow{0%,100%{box-shadow:0 14px 30px -8px rgba(255,94,108,.5)}50%{box-shadow:0 18px 42px -6px rgba(255,94,108,.85)}}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:.3rem}

/* quick info: elevated cards straddling the hero edge for depth */
.quickbar{
  position:absolute;left:50%;bottom:0;transform:translate(-50%,42%);z-index:5;
  display:grid;grid-template-columns:1fr 1fr;gap:.8rem;width:min(720px,92vw);
}
.quickbar__item{
  display:flex;align-items:center;justify-content:center;gap:.8rem;min-width:0;
  background:var(--cream);border:1px solid rgba(18,52,48,.06);border-radius:18px;
  padding:1rem 1.1rem;box-shadow:var(--shadow);
  transition:transform .2s ease, box-shadow .25s ease;
}
.quickbar__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.quickbar__txt{text-align:center}
.quickbar__item--hours{
  grid-column:1 / -1;
  border:1.5px solid rgba(255,138,61,.5);
  animation:hourspulse 2.8s ease-in-out infinite;
}
.quickbar__item--hours:hover{animation-play-state:paused}
/* pre-opening: grey out the top hours card (content stays) */
.quickbar__item--hours.is-preopen{
  animation:none;border:1px solid rgba(18,52,48,.06);box-shadow:var(--shadow);
  opacity:.72;filter:grayscale(.4);
}
.quickbar__item--hours.is-preopen:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.quickbar__item--hours .quickbar__txt{flex:0 1 auto;text-align:center}
.quickbar__item--hours .quickbar__txt small{font-size:.76rem}
.quickbar__item--hours .quickbar__txt strong{font-size:1.18rem;white-space:normal;overflow:visible}
@keyframes hourspulse{
  0%,100%{box-shadow:var(--shadow-lg),0 0 0 0 rgba(255,138,61,.5)}
  50%{box-shadow:var(--shadow-lg),0 0 0 10px rgba(255,138,61,0)}
}
.quickbar__ico{
  flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem;
  background:linear-gradient(135deg,var(--orange),var(--coral));box-shadow:0 8px 16px rgba(255,94,108,.35);
}
.quickbar__txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.quickbar__txt small{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:600}
.quickbar__txt strong{font-size:.96rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ====== BUTTONS ====== */
.btn{
  display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:1rem;
  padding:.9rem 1.7rem;border-radius:100px;cursor:pointer;
  transition:transform .15s ease,box-shadow .2s ease,background .2s;border:2px solid transparent;
}
.btn:hover{transform:translateY(-3px)}
.btn--primary{background:linear-gradient(135deg,var(--orange),var(--coral));color:#fff;box-shadow:0 12px 28px rgba(255,94,108,.4)}
.btn--primary:hover{box-shadow:0 16px 36px rgba(255,94,108,.55)}
.btn--ghost{background:rgba(255,255,255,.65);border-color:#fff;color:var(--teal-deep);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm)}
.btn--ghost:hover{background:#fff}
.location__actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem}
.btn--waze{background:#33ccff;color:#06334c;box-shadow:0 12px 28px -8px rgba(51,204,255,.6)}
.btn--waze:hover{box-shadow:0 16px 36px -8px rgba(51,204,255,.75)}
.btn--waze svg{width:20px;height:20px;fill:#06334c}
/* ====== GOOGLE REVIEWS ====== */
.review{background:linear-gradient(135deg,var(--teal),var(--teal-deep));padding:clamp(3rem,7vw,5rem) 1.25rem;display:flex;justify-content:center}
.review-card{
  position:relative;overflow:hidden;background:#fff;border-radius:26px;
  box-shadow:0 34px 70px -20px rgba(0,0,0,.45);max-width:560px;width:100%;
  padding:2.6rem 2rem 2.4rem;text-align:center;
}
.review-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#4285F4,#EA4335,#FBBC05,#34A853)}
.review-card__g{width:52px;height:52px;margin:0 auto .7rem;display:block}
.review-card__stars{font-size:2.5rem;color:#fbbc04;letter-spacing:6px;line-height:1;margin-bottom:.7rem;text-shadow:0 3px 8px rgba(251,188,4,.35)}
.review-card__title{font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:800;color:var(--ink);margin-bottom:.5rem;letter-spacing:-.01em}
.review-card__lead{color:var(--ink-soft);max-width:42ch;margin:0 auto 1.7rem;font-size:1.02rem}
.btn--review-big{background:#4285F4;color:#fff;font-size:1.08rem;font-weight:700;padding:1rem 2.1rem;animation:reviewpulse 2.8s ease-in-out infinite}
.btn--review-big:hover{background:#3b78e0}
@keyframes reviewpulse{
  0%,100%{box-shadow:0 14px 30px -8px rgba(66,133,244,.55),0 0 0 0 rgba(66,133,244,.45)}
  50%{box-shadow:0 14px 30px -8px rgba(66,133,244,.55),0 0 0 12px rgba(66,133,244,0)}
}

/* ====== VIBE ====== */
.vibe{text-align:center;padding-top:clamp(4rem,8vw,5.5rem)}
.vibe__lead{max-width:60ch;margin:0 auto 2.2rem;font-size:1.12rem;color:var(--ink-soft)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.card{
  position:relative;background:var(--cream);border:1px solid rgba(18,52,48,.06);
  border-radius:var(--radius);padding:2.2rem 1.5rem 1.8rem;text-align:center;
  box-shadow:var(--shadow);transition:transform .25s ease, box-shadow .3s ease;overflow:hidden;
}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--gold),var(--coral),var(--teal));opacity:.9}
.card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}
.card__icon{
  width:72px;height:72px;margin:0 auto .9rem;border-radius:20px;display:grid;place-items:center;font-size:2.2rem;
  background:linear-gradient(135deg,#fff,#fff2dd);box-shadow:0 10px 22px -8px rgba(18,52,48,.3),inset 0 1px 0 #fff;
}
.card h3{font-size:1.22rem;margin-bottom:.45rem;color:var(--ink)}
.card p{font-size:.96rem;color:var(--ink-soft)}

/* ====== HOURS ====== */
.hours{text-align:center;background:linear-gradient(180deg,var(--sand),var(--sand-2));overflow:hidden}
.hours__opening{
  display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.6rem;
  background:linear-gradient(120deg,var(--orange),var(--coral));color:#fff;font-weight:700;
  padding:.6rem 1.4rem;border-radius:100px;box-shadow:0 12px 26px -8px rgba(255,94,108,.5);
}
/* pre-opening: grey out the live hours until we actually open */
.hours.is-preopen .hours__status{display:none}
.hours.is-preopen .hours__list{opacity:.55}
.hours.is-preopen .hours__list li b{color:var(--ink-soft)}
.hours.is-preopen .hours__list li.is-today{background:rgba(18,52,48,.05);border-color:transparent}
.hours.is-preopen .hours__list li.is-today span{color:var(--ink-soft)}
.hours.is-preopen .hours__list li.is-today span::after{color:var(--ink-soft)}
.hours.is-preopen .hours__list li.is-today b{color:var(--ink-soft)}
.hours::before{ /* depth decoration leaf */
  content:"";position:absolute;right:-40px;top:30px;width:280px;height:340px;
  background:var(--leaf-deco) no-repeat center/contain;transform:rotate(35deg);
  opacity:.08;filter:blur(.5px);z-index:-1;pointer-events:none;
}
.hours__status{
  display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1px solid rgba(18,52,48,.08);
  padding:.55rem 1.2rem;border-radius:100px;font-weight:700;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);
}
.hours__status .dot{width:11px;height:11px;border-radius:50%;background:#b9c4c0}
.hours__status.is-open{color:#13884e}
.hours__status.is-open .dot{background:#1fb866;box-shadow:0 0 0 4px rgba(31,184,102,.18);animation:pulse 2s ease-in-out infinite}
.hours__status.is-closed{color:#d8434f}
.hours__status.is-closed .dot{background:#ff5d68;box-shadow:0 0 0 4px rgba(255,93,104,.18)}

.hours__list{
  list-style:none;max-width:520px;margin:0 auto;background:var(--cream);
  border:1px solid rgba(18,52,48,.06);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:.6rem .8rem;overflow:hidden;
}
.hours__list li{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:.85rem 1rem;font-size:1.05rem;border-bottom:1px solid rgba(18,52,48,.06);
}
.hours__list li:last-child{border-bottom:0}
.hours__list li span{color:var(--ink-soft);font-weight:500}
.hours__list li b{font-variant-numeric:tabular-nums;color:var(--teal-deep);font-weight:700}
.hours__list li.is-today{
  background:linear-gradient(90deg,rgba(255,194,77,.18),rgba(255,93,104,.1));
  border-radius:12px;border-bottom-color:transparent;
}
.hours__list li.is-today span{color:var(--ink);font-weight:700}
.hours__list li.is-today span::after{content:" •";color:var(--coral)}
.hours__list li.is-today b{color:var(--coral)}
.hours__note{margin-top:1.5rem;font-size:.82rem;color:var(--ink-soft);opacity:.85}

/* ====== GALLERY ====== */
.gallery{text-align:center}
.gallery__lead{max-width:52ch;margin:0 auto 2rem;color:var(--ink-soft)}
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;max-width:1020px;margin:0 auto}
.gallery__item{
  position:relative;aspect-ratio:3/4;margin:0;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);background:linear-gradient(160deg,#66c9b6,#f4c07f);
  transition:transform .25s ease,box-shadow .3s ease;
}
.gallery__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.gallery__item::before{content:"🌴";position:absolute;inset:0;display:grid;place-items:center;font-size:2.6rem;opacity:.6}
.gallery__item img{position:relative;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gallery__item img.is-missing{opacity:0}
.gallery__item:hover img{transform:scale(1.06)}

/* ====== LOCATION ====== */
.location{text-align:center;overflow:hidden}
.location::before{
  content:"";position:absolute;left:-50px;top:60px;width:260px;height:320px;
  background:var(--leaf-deco) no-repeat center/contain;transform:rotate(-40deg) scaleX(-1);
  opacity:.07;z-index:-1;pointer-events:none;
}
.location__addr{margin-bottom:1.5rem;font-weight:500;color:var(--ink-soft)}
.map{
  width:100%;max-width:760px;margin:0 auto;
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);
  border:6px solid #fff;aspect-ratio:4/3;max-height:520px;background:var(--sand-2);
}
.map iframe{width:100%;height:100%;border:0;display:block}

/* ====== SOCIAL ====== */
.social{text-align:center;background:linear-gradient(180deg,var(--sand-2),var(--sand))}
.social__lead{max-width:52ch;margin:0 auto 1.8rem;color:var(--ink-soft)}
.social__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;max-width:1020px;margin:0 auto}
.social__item{
  display:flex;align-items:center;gap:.75rem;text-align:left;background:var(--cream);
  border:1px solid rgba(18,52,48,.06);border-radius:var(--radius);padding:.95rem 1.05rem;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .25s;overflow:hidden;
}
.social__item:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.social__ico{
  flex:0 0 auto;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  box-shadow:0 8px 18px -6px rgba(18,52,48,.4);
}
.social__ico svg{width:24px;height:24px;fill:#fff;display:block;position:relative;z-index:1}
.social__item--fb .social__ico{background:#1877f2;font-family:Georgia,serif}
.social__item--ig .social__ico{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social__item--tt .social__ico{background:#010101;position:relative}
.social__item--tt .social__ico::after{content:"";position:absolute;inset:0;border-radius:15px;box-shadow:inset 2px 2px 0 #25f4ee,inset -2px -2px 0 #fe2c55;mix-blend-mode:screen}
.social__txt{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1}
.social__txt small{color:var(--ink-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.social__txt strong{font-size:clamp(.82rem,1.55vw,.95rem);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ====== CONTACT ====== */
.contact{text-align:center}
.contact__row{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-top:1rem}
.contact__btn{
  display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:var(--ink);
  background:var(--cream);border:1px solid rgba(18,52,48,.08);
  padding:.9rem 1.6rem;border-radius:100px;box-shadow:var(--shadow-sm);transition:.2s;
}
.contact__btn:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.contact__btn--wa:hover{background:#25d366;border-color:#25d366;color:#fff}
.contact__note{margin-top:1.5rem;font-size:.82rem;color:var(--ink-soft);opacity:.8}

/* ====== FOOTER ====== */
.footer{text-align:center;background:var(--teal-deep);color:#eafaf6;padding:3rem 1.25rem 2.6rem;position:relative}
.footer__brand{font-family:"Pacifico",cursive;font-size:1.7rem;color:#fff}
.footer__brand em{font-family:"Poppins";font-style:normal;font-weight:600;font-size:.5em;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.footer__loc{opacity:.9;margin:.35rem 0}
.footer__copy{opacity:.6;font-size:.82rem;margin-top:.7rem}

/* ====== ANIMATIONS ====== */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

/* ====== RESPONSIVE ====== */
@media (max-width:820px){
  .quickbar{position:static;transform:none;grid-template-columns:1fr;margin:2rem auto 0;width:min(460px,92vw)}
  .hero{padding-bottom:2.5rem;min-height:auto}
  .vibe{padding-top:clamp(2.5rem,7vw,4rem)}
  .scene__fg{display:none}
  .social__grid{grid-template-columns:1fr;max-width:460px}
  .gallery__grid{grid-template-columns:repeat(2,1fr);max-width:460px}
}
@media (max-width:600px){
  .topbar__brandtext{display:none}
  .hero__cta{width:100%}
  .hero__cta .btn{flex:1 1 auto;justify-content:center}
}
