/* ═══════════════════════════════════════════
   PARASIA — ANIMATIONS
   Vietnamese × Bavarian themed effects
═══════════════════════════════════════════ */

/* ─── LANTERN CANVAS ─── */
#lanternCanvas {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 1;
}

/* ─── FISH SWIM TRACK ─── */
.fish-track {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  pointer-events: none; z-index: 1;
  overflow: hidden;
}
.fish-svg {
  position: absolute;
  bottom: 20px;
  animation: swimAcross 14s linear infinite;
  opacity: .55;
}
.fish-svg:nth-child(2) { animation-duration: 20s; animation-delay: -6s; bottom: 50px; }
.fish-svg:nth-child(3) { animation-duration: 17s; animation-delay: -11s; bottom: 10px; opacity:.35; }
@keyframes swimAcross {
  0%   { left: -80px;  transform: scaleX(1); }
  49%  { transform: scaleX(1); }
  50%  { left: calc(100% + 80px); transform: scaleX(-1); }
  100% { left: -80px;  transform: scaleX(-1); }
}

/* ─── LOTUS BLOOM ─── */
.lotus-bloom {
  display: inline-block;
  animation: lotusBloom 1.2s var(--ease) forwards;
  opacity: 0;
  transform-origin: bottom center;
}
@keyframes lotusBloom {
  0%   { opacity:0; transform: scale(.4) rotate(-15deg); }
  60%  { opacity:1; transform: scale(1.08) rotate(3deg); }
  100% { opacity:1; transform: scale(1) rotate(0deg); }
}

/* ─── WATER RIPPLE ─── */
.ripple-btn {
  position: relative; overflow: hidden;
}
.ripple-btn::after {
  content: '';
  position: absolute;
  width: 100px; height: 100px;
  background: rgba(255,255,255,.15);
  border-radius: 50%;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(0);
  opacity: 0;
  transition: none;
}
.ripple-btn:active::after {
  animation: rippleEffect .5s ease forwards;
}
@keyframes rippleEffect {
  to { transform: translate(-50%,-50%) scale(4); opacity: 0; }
}

/* ─── HERO TEXT REVEAL ─── */
.text-reveal-wrap { overflow: hidden; display: block; }
.text-reveal {
  display: block;
  transform: translateY(110%);
  opacity: 0;
  transition: transform .9s var(--ease) var(--delay,0s),
              opacity   .6s ease var(--delay,0s);
}
.text-reveal.in { transform: translateY(0); opacity: 1; }

/* ─── SHIMMER TEXT ─── */
.shimmer-text {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-lt) 40%, #fff5c0 50%, var(--gold-lt) 60%, var(--gold) 100%);
  background-size: 250% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmerFlow 3.5s linear infinite;
}
@keyframes shimmerFlow {
  0%   { background-position: 0%   center; }
  100% { background-position: 250% center; }
}

/* ─── BAMBOO GROW ─── */
.bamboo-bar {
  position: relative;
  width: 3px;
  background: linear-gradient(to bottom, var(--bamboo), #a8c88a);
  border-radius: 2px;
  transform-origin: bottom;
  animation: bambooGrow 1.2s var(--ease) forwards;
  transform: scaleY(0);
}
@keyframes bambooGrow {
  to { transform: scaleY(1); }
}
.bamboo-node {
  position: absolute; left: 50%;
  transform: translateX(-50%);
  width: 10px; height: 4px;
  background: #8ab472;
  border-radius: 2px;
}

/* ─── GOLD BORDER PULSE ─── */
.gold-pulse {
  box-shadow: 0 0 0 0 var(--gold-glow);
  animation: goldPulse 2.5s ease-in-out infinite;
}
@keyframes goldPulse {
  0%   { box-shadow: 0 0 0 0 var(--gold-glow); }
  70%  { box-shadow: 0 0 0 14px rgba(212,175,55,0); }
  100% { box-shadow: 0 0 0 0 rgba(212,175,55,0); }
}

/* ─── RICE PARTICLE CANVAS ─── */
#riceCanvas {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 1;
  opacity: .45;
}

/* ─── CARD HOVER GLOW ─── */
.card-hover {
  transition: transform .4s var(--ease), box-shadow .4s ease, border-color .4s;
  border: 1px solid var(--border);
}
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,.5), 0 0 0 1px var(--gold-dim);
  border-color: rgba(212,175,55,.35);
}

/* ─── NON LA (conical hat) SPIN ─── */
.nonla-decor {
  display: inline-block;
  animation: nonlaSpin 12s linear infinite;
  opacity: .12;
}
@keyframes nonlaSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ─── COUNTER ─── */
.count-up {
  font-family: var(--font-head);
  display: inline-block;
  transition: none;
}

/* ─── PAGE ENTRY ─── */
@keyframes pageIn {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:none; }
}
.page-in {
  animation: pageIn .7s var(--ease) .1s both;
}

/* ─── STAGGER CHILDREN ─── */
.stagger > * { opacity:0; transform:translateY(28px); }
.stagger.visible > * {
  opacity:1; transform:none;
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.stagger.visible > *:nth-child(1) { transition-delay: .05s; }
.stagger.visible > *:nth-child(2) { transition-delay: .12s; }
.stagger.visible > *:nth-child(3) { transition-delay: .19s; }
.stagger.visible > *:nth-child(4) { transition-delay: .26s; }
.stagger.visible > *:nth-child(5) { transition-delay: .33s; }
.stagger.visible > *:nth-child(6) { transition-delay: .40s; }

/* ─── FLOATING BADGE ─── */
.float-badge {
  animation: floatBadge 5s ease-in-out infinite;
}
@keyframes floatBadge {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50%      { transform: translateY(-8px) rotate(1deg); }
}

/* ─── WAVE UNDERLINE ─── */
.wave-underline {
  position: relative; display: inline-block;
}
.wave-underline::after {
  content: '';
  position: absolute; bottom: -4px; left: 0; right: 0;
  height: 3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='6'%3E%3Cpath d='M0 3 Q15 0 30 3 Q45 6 60 3' stroke='%23D4AF37' stroke-width='2' fill='none'/%3E%3C/svg%3E") repeat-x center;
  animation: waveMove 2s linear infinite;
}
@keyframes waveMove {
  from { background-position: 0 center; }
  to   { background-position: 60px center; }
}

/* ─── BLOSSOM PARTICLES (pink petals) ─── */
#blossomCanvas {
  position: fixed; inset:0;
  pointer-events:none; z-index:0; opacity:.4;
}

/* ─── LOADER ─── */
#loader {
  position: fixed; inset: 0;
  background: var(--bg);
  z-index: 9999;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 1.5rem;
  overflow: hidden;            /* keep off-screen fly-in from shifting centering */
  transition: opacity .7s ease, visibility .7s ease;
}
#loader.out { opacity:0; visibility:hidden; pointer-events:none; }

.loader-logo {
  animation: loaderPop 1.4s var(--ease) infinite alternate;
  width: 88px !important; height: 88px !important;
  max-width: 88px; max-height: 88px;
  object-fit: contain; display: block;
}
@keyframes loaderPop {
  from { transform: scale(.95); filter: drop-shadow(0 0 8px var(--gold-glow)); }
  to   { transform: scale(1.02); filter: drop-shadow(0 0 20px var(--gold-glow)); }
}
.loader-bar-wrap {
  width: 160px; height: 2px;
  background: var(--bg-3);
  border-radius: 1px; overflow: hidden;
}
.loader-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--viet-red), var(--gold), var(--viet-red));
  background-size: 200% 100%;
  animation: loaderBar 1.5s ease-in-out infinite;
  border-radius: 1px;
}
@keyframes loaderBar {
  0%   { width: 0%; background-position: 0% 0; }
  60%  { width: 100%; }
  100% { width: 100%; background-position: 200% 0; }
}
.loader-text-row {
  font-size: .72rem; letter-spacing: .35em;
  color: var(--gray); text-transform: uppercase;
}

/* ══════════════════════════════════════════════════
   PREMIUM ENHANCEMENTS
══════════════════════════════════════════════════ */

/* ─── SCROLL PROGRESS BAR ─── */
#scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 9998;
  height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--viet-red), var(--gold), var(--viet-red));
  background-size: 200% 100%;
  animation: progressShimmer 2.5s linear infinite;
  pointer-events: none;
  transition: width .08s linear;
}
@keyframes progressShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}

/* ─── FILM GRAIN OVERLAY ─── */
body::after {
  content: '';
  position: fixed; inset: 0;
  z-index: 8999; pointer-events: none;
  opacity: .022;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 140px;
  animation: grainShift .7s steps(2) infinite;
}
@keyframes grainShift {
  0%   { background-position: 0 0; }
  33%  { background-position: -20% 15%; }
  66%  { background-position: 10% -15%; }
  100% { background-position: -8% 20%; }
}

/* ─── MARQUEE TICKER ─── */
.marquee-wrap {
  overflow: hidden;
  background: var(--viet-red);
  padding: .65rem 0;
  position: relative; z-index: 10;
}
.marquee-inner {
  display: flex;
  width: max-content;
  animation: marqueeRoll 22s linear infinite;
}
.marquee-inner:hover { animation-play-state: paused; }
.marquee-item {
  display: flex; align-items: center;
  padding: 0 1.8rem;
  font-size: .68rem; letter-spacing: .3em;
  text-transform: uppercase; color: rgba(255,255,255,.88);
  white-space: nowrap; user-select: none;
}
.marquee-dot { color: var(--gold-lt); margin: 0 .4rem; font-size: 1rem; line-height: 0; }
@keyframes marqueeRoll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ─── REVIEWS CAROUSEL ─── */
#reviews {
  padding: clamp(5rem,10vh,8rem) 0;
  background: var(--bg);
  overflow: hidden;
}
.reviews-overflow {
  overflow: hidden; margin-top: 3rem;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.reviews-track {
  display: flex; gap: 1.5rem;
  width: max-content;
  animation: reviewsScroll 40s linear infinite;
}
.reviews-overflow:hover .reviews-track { animation-play-state: paused; cursor: default; }
.review-card {
  min-width: 310px; max-width: 310px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 1.8rem 1.6rem;
  position: relative; overflow: hidden;
  transition: border-color .35s, transform .35s, box-shadow .35s;
}
.review-card::before {
  content: '\201C';
  position: absolute; top: -1.2rem; left: 1.2rem;
  font-family: var(--font-head); font-size: 7rem;
  color: var(--gold); opacity: .07; pointer-events: none; line-height: 1;
}
.review-card:hover {
  border-color: var(--gold-dim);
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
}
.review-stars { display: flex; gap: 3px; margin-bottom: .7rem; }
.review-stars i { color: var(--gold); font-size: .82rem; }
.review-text {
  font-size: .88rem; color: var(--gray-lt);
  line-height: 1.75; margin-bottom: 1.2rem;
  font-style: italic;
}
.review-author { display: flex; align-items: center; gap: .8rem; }
.review-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, var(--viet-red), var(--gold));
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .82rem; color: #fff; flex-shrink: 0;
}
.review-info .review-name { font-size: .82rem; font-weight: 600; }
.review-info .review-date { font-size: .72rem; color: var(--gray); margin-top: .15rem; }
@keyframes reviewsScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ─── CHEF SPECIAL — 50/50 SPLIT ─── */
#chef-special {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 580px;
}
.split-img { position: relative; overflow: hidden; }
.split-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1.04);
  transition: transform 1.2s var(--ease);
}
#chef-special.visible .split-img img { transform: scale(1); }
.split-content {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(3rem,6vw,6rem); background: var(--bg-2);
  position: relative; overflow: hidden;
}
.split-content .ambient-char {
  position: absolute; right: -1rem; bottom: -2rem;
  font-family: var(--font-head); font-size: clamp(6rem,14vw,12rem);
  font-weight: 700; color: transparent; line-height: 1;
  -webkit-text-stroke: 1px rgba(212,175,55,.09);
  pointer-events: none; user-select: none;
}
.split-content p { color: var(--gray-lt); line-height: 1.85; margin-bottom: 1.6rem; }
.split-tag {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .68rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1rem;
}
.split-tag::before { content:''; width:24px; height:1px; background:var(--gold); }
@media(max-width:768px) { #chef-special { grid-template-columns: 1fr; } }

/* ─── AMBIENT STATS STRIP ─── */
#stats-strip {
  background: var(--bg); padding: clamp(4rem,7vh,5.5rem) 0;
  position: relative; overflow: hidden;
}
.stats-strip-grid {
  display: grid; grid-template-columns: repeat(4,1fr);
  border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden;
}
.stat-strip-item {
  background: var(--bg-2); padding: 2.5rem 1.8rem; text-align: center;
  border-right: 1px solid var(--border); position: relative; overflow: hidden;
  transition: background .3s;
}
.stat-strip-item:last-child { border-right: none; }
.stat-strip-item:hover { background: var(--bg-3); }
.stat-strip-item::before {
  content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 0; height: 2px;
  background: linear-gradient(90deg, var(--viet-red), var(--gold));
  transition: width .4s var(--ease);
}
.stat-strip-item:hover::before { width: 80%; }
.stat-strip-icon { font-size: 1.5rem; margin-bottom: .7rem; display: block; }
.stat-strip-num {
  font-family: var(--font-head); font-size: clamp(2.2rem,4.5vw,3.8rem);
  color: var(--gold); line-height: 1; margin-bottom: .35rem;
}
.stat-strip-label {
  font-size: .72rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--gray);
}
@media(max-width:640px) {
  .stats-strip-grid { grid-template-columns: repeat(2,1fr); }
  .stat-strip-item:nth-child(2) { border-right: none; }
}

/* ─── 3D CARD TILT ─── */
.tilt-card { transform-style: preserve-3d; will-change: transform; }
.tilt-shine {
  position: absolute; inset: 0; border-radius: inherit; z-index: 4;
  background: radial-gradient(circle at var(--tx,50%) var(--ty,50%), rgba(255,255,255,.1) 0%, transparent 65%);
  pointer-events: none; opacity: 0; transition: opacity .3s;
}
.tilt-card:hover .tilt-shine { opacity: 1; }

/* ─── MAGNETIC BUTTON ─── */
.mag-btn { display: inline-block; will-change: transform; }

/* ─── PARALLAX WRAP ─── */
.parallax-wrap { overflow: hidden; }
.parallax-img { will-change: transform; }

/* ─── CLIP-PATH IMAGE REVEAL ─── */
.reveal-clip {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.2s cubic-bezier(.77,0,.175,1) var(--delay,0s);
}
.reveal-clip.visible { clip-path: inset(0 0% 0 0); }

/* ─── GRADIENT TEXT ─── */
.grad-text {
  background: linear-gradient(135deg, var(--gold-lt) 0%, var(--gold) 40%, var(--viet-red) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ─── HIGHLIGHT BAND ─── */
.highlight-band {
  position: relative; display: inline;
}
.highlight-band::after {
  content: ''; position: absolute;
  bottom: .1em; left: -.05em; right: -.05em;
  height: .35em; z-index: -1;
  background: var(--viet-red); opacity: .25;
  transform: skewX(-4deg);
}

/* ─── STAGGER improved — longer delay range ─── */
.stagger.visible > *:nth-child(7) { transition-delay: .47s; }
.stagger.visible > *:nth-child(8) { transition-delay: .54s; }

/* ─── SECTION DIAGONAL DIVIDER ─── */
.diag-top {
  height: 50px; background: var(--bg-2);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 50%);
  margin-bottom: -1px;
}
.diag-bottom {
  height: 50px; background: var(--bg-2);
  clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
  margin-top: -1px;
}

/* ═══════════════════════════════════════════
   INTRO ANIMATION — PARA + ASIA = PARASIA
   Home page only. Chopstick + collision.
═══════════════════════════════════════════ */
.intro-stage {
  position: relative;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  width: 100%; max-width: 100vw;
  gap: 0;
}

.intro-chopsticks {
  position: relative;
  width: clamp(180px,40vw,320px); height: 60px;
  margin-bottom: .8rem; overflow: visible;
  animation: chopFade .4s 1.4s ease forwards;
}
@keyframes chopFade { to { opacity:0; transform:translateY(-12px); } }

.chop {
  position: absolute;
  width: 6px; height: clamp(100px,22vw,180px);
  border-radius: 3px;
  background: linear-gradient(to bottom, #D4AF37, #8B6914);
  top: 0;
}
.chop-l {
  left: 35%; transform-origin: top center;
  transform: rotate(-35deg) translateX(-200px); opacity:0;
  animation: chopL 1.0s 0.15s cubic-bezier(.22,.61,.36,1) forwards;
}
.chop-r {
  right: 35%; transform-origin: top center;
  transform: rotate(35deg) translateX(200px); opacity:0;
  animation: chopR 1.0s 0.15s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes chopL { to { opacity:1; transform:rotate(-35deg) translateX(0); } }
@keyframes chopR { to { opacity:1; transform:rotate(35deg) translateX(0); } }

.intro-text-zone {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: clamp(5.5rem,14vw,9rem); width: 100%;
  margin-bottom: 2.2rem;
}

.intro-row {
  display: flex; align-items: center; justify-content: center;
  gap: clamp(.5rem,1.8vw,1.1rem);
  position: absolute; inset:0; z-index:2;
  animation: introRowOut .35s 1.45s ease-in forwards;
}
@keyframes introRowOut { to { opacity:0; transform:scale(.96); } }

.ip-l, .ip-r {
  font-family: var(--font-head); font-weight:700;
  font-size: clamp(1.5rem,6vw,3.6rem); letter-spacing:-.02em;
  white-space: nowrap; opacity:0;
}
.ip-l {
  color: var(--gold,#D4AF37);
  transform: translateX(-75vw) rotate(-6deg);
  animation: rocketL 1.0s .35s cubic-bezier(0.16,1,0.3,1) forwards;
}
.ip-r {
  color: var(--viet-red,#B91C1C);
  transform: translateX(75vw) rotate(6deg);
  animation: rocketR 1.0s .35s cubic-bezier(0.16,1,0.3,1) forwards;
}
/* highlighted letters that form PARASIA */
.ip-hi { text-shadow: 0 0 26px currentColor; }
.ip-l .ip-hi { color: var(--gold,#D4AF37); }
.ip-r .ip-hi { color: var(--viet-red,#B91C1C); }
/* dimmed remainder of each source word */
.ip-dim { opacity:.32; font-weight:600; }
/* plus sign */
.ip-plus {
  font-family: var(--font-head); font-weight:700;
  font-size: clamp(1.3rem,4vw,2.6rem);
  color: rgba(255,255,255,.55); opacity:0;
  animation: plusPop .5s 1.05s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes plusPop { from { opacity:0; transform:scale(0) rotate(-90deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@keyframes rocketL {
  0%   { opacity:0; transform:translateX(-75vw) rotate(-6deg); }
  70%  { opacity:1; transform:translateX(6px) rotate(1deg); }
  100% { opacity:1; transform:translateX(0) rotate(0); }
}
@keyframes rocketR {
  0%   { opacity:0; transform:translateX(75vw) rotate(6deg); }
  70%  { opacity:1; transform:translateX(-6px) rotate(-1deg); }
  100% { opacity:1; transform:translateX(0) rotate(0); }
}

.intro-flash {
  position:absolute; inset:-20px; border-radius:50%;
  background: radial-gradient(circle, #FFD700 0%, #FF6600 40%, transparent 70%);
  opacity:0; pointer-events:none; z-index:5;
  animation: wokBurst .5s 1.45s ease-out both;
}
@keyframes wokBurst {
  0%   { opacity:0; transform:scale(0); }
  25%  { opacity:1; transform:scale(1.4); }
  100% { opacity:0; transform:scale(4); }
}

.intro-united {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-head); font-weight:700;
  font-size: clamp(2.8rem,11vw,7rem); letter-spacing:-.03em;
  opacity:0; z-index:3;
  animation: inkReveal 0.9s 1.6s cubic-bezier(0.22,0.61,0.36,1) forwards,
             unitedGlow 2.2s 2.5s ease-in-out infinite;
  text-shadow: 0 0 60px rgba(212,175,55,.55), 0 0 120px rgba(212,175,55,.2);
}
.intro-united .u-para { color: var(--gold,#D4AF37); }
.intro-united .u-sia  { color: #fff; }
/* light streak that sweeps across PARASIA */
.intro-shine {
  position:absolute; inset:0; z-index:4; pointer-events:none; overflow:hidden;
}
.intro-shine::before {
  content:''; position:absolute; top:-20%; left:-30%;
  width:22%; height:140%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.7), transparent);
  transform:skewX(-18deg); opacity:0;
  animation: shineSweep 1.1s 2.5s ease-out forwards;
}
@keyframes shineSweep {
  0%   { left:-30%; opacity:0; }
  15%  { opacity:.9; }
  85%  { opacity:.9; }
  100% { left:115%; opacity:0; }
}
@keyframes inkReveal {
  from { opacity:0; letter-spacing:.6em; filter:blur(16px); transform:scale(.85); }
  60%  { opacity:1; letter-spacing:-.05em; filter:blur(0); transform:scale(1.04); }
  to   { opacity:1; letter-spacing:-.03em; filter:blur(0); transform:scale(1); }
}
@keyframes unitedGlow {
  0%,100% { text-shadow: 0 0 50px rgba(212,175,55,.45), 0 0 100px rgba(212,175,55,.15); }
  50%     { text-shadow: 0 0 70px rgba(212,175,55,.75), 0 0 140px rgba(212,175,55,.3); }
}

/* animated gold underline that draws under PARASIA */
.intro-underline {
  position:absolute; left:50%; bottom:clamp(.6rem,2vw,1.4rem);
  width:clamp(120px,32vw,360px); height:2px; transform:translateX(-50%) scaleX(0);
  transform-origin:center; z-index:4;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  box-shadow:0 0 14px var(--gold-glow);
  animation: drawLine .7s 2.5s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes drawLine { to { transform:translateX(-50%) scaleX(1); } }

.intro-tagline {
  font-size: clamp(.6rem,1.6vw,.78rem);
  letter-spacing:.3em; text-transform:uppercase;
  color: rgba(255,255,255,.4);
  opacity:0; transform:translateY(10px);
  animation: softUp .7s 2.6s ease forwards;
  text-align:center; line-height:2.2; margin-top:0;
}
@keyframes softUp { to { opacity:1; transform:translateY(0); } }

.intro-logo-img {
  width:52px; height:52px; object-fit:contain; display:block;
  opacity:0; transform:translateY(6px);
  margin-top: 1.4rem;
  animation: softUp .7s 2.9s ease forwards;
}

/* ═══════════════════════════════════════════
   WHATSAPP FLOATING BUTTON
═══════════════════════════════════════════ */
.wa-float {
  position: fixed; bottom: 5.8rem; right: 1.5rem; z-index: 900;
  background: #25D366; color: #fff; border-radius: 999px;
  padding: .72rem 1.15rem .72rem 1rem;
  display: flex; align-items: center; gap: .55rem;
  font-weight: 600; font-size: .82rem; letter-spacing: .02em;
  box-shadow: 0 8px 28px rgba(37,211,102,.45);
  transition: transform .3s var(--ease,cubic-bezier(.4,0,.2,1)), box-shadow .3s;
  text-decoration: none;
  animation: waBounceIn 1s 3s both;
}
.wa-float i { font-size: 1.3rem; }
.wa-float:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 14px 36px rgba(37,211,102,.6);
  color: #fff;
}
@keyframes waBounceIn {
  0%   { opacity:0; transform:translateX(50px) scale(.8); }
  70%  { transform:translateX(-6px) scale(1.03); }
  100% { opacity:1; transform:none; }
}

/* ═══════════════════════════════════════════
   OUR STORY / CHEF SECTION
═══════════════════════════════════════════ */
#our-story {
  position: relative; z-index: 2;
  padding: clamp(5rem,10vh,8rem) 0;
  background: var(--bg-2);
  overflow: hidden;
}
#our-story::after {
  content:''; position:absolute; top:0; right:0;
  width:45%; height:100%;
  background:radial-gradient(ellipse 80% 80% at 80% 50%, rgba(212,175,55,.04) 0%, transparent 70%);
  pointer-events:none;
}
.story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem,7vw,7rem);
  align-items: center;
}
.story-img-wrap {
  position: relative; border-radius: var(--r-lg,16px); overflow: hidden;
  aspect-ratio: 3/4; box-shadow: 0 30px 80px rgba(0,0,0,.6);
}
.story-img-wrap img { transition: transform .8s cubic-bezier(.4,0,.2,1); width:100%; height:100%; object-fit:cover; }
.story-img-wrap:hover img { transform: scale(1.05); }
.story-badge {
  position: absolute; top: 1.5rem; right: 1.5rem;
  background: var(--gold,#D4AF37); color: var(--bg,#080C16);
  border-radius: 12px; padding: .7rem 1.1rem;
  text-align: center; font-weight: 700; font-size: .76rem;
  box-shadow: 0 8px 24px rgba(212,175,55,.45); line-height:1.4;
}
.story-badge strong {
  display: block; font-size: 2rem; line-height: 1;
}
.chef-quote {
  margin: 1.5rem 0; padding: 1.2rem 1.5rem;
  border-left: 3px solid var(--gold,#D4AF37);
  background: var(--bg-3,#151b2e); border-radius: 0 var(--r,8px) var(--r,8px) 0;
  color: var(--gray-lt,#94a3b8); font-style: italic;
  line-height: 1.78; font-size: .95rem;
}
.story-facts {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .7rem; margin: 1.5rem 0 2rem;
}
.story-fact {
  display: flex; align-items: center; gap: .6rem;
  font-size: .82rem; color: var(--gray-lt,#94a3b8);
  background: var(--bg-3,#151b2e); border: 1px solid var(--border,rgba(255,255,255,.06));
  border-radius: var(--r,8px); padding: .6rem .9rem;
  transition: border-color .3s, transform .3s;
}
.story-fact:hover { border-color: var(--gold-dim,rgba(212,175,55,.25)); transform:translateX(3px); }
.story-fact .sf-icon { font-size: 1.1rem; flex-shrink: 0; }
.story-fact strong { color: var(--off-white,#F8F4EE); font-size: .82rem; }
.story-content > p { color: var(--gray-lt,#94a3b8); line-height: 1.85; margin-bottom: 1rem; }
@media(max-width:900px) {
  .story-grid { grid-template-columns: 1fr; }
  .story-img-wrap { aspect-ratio: 16/9; }
}

/* ═══════════════════════════════════════════
   PRESS / MEDIA STRIP
═══════════════════════════════════════════ */
.press-strip {
  background: var(--bg-2); padding: 1.1rem 0;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.press-inner {
  display: flex; align-items: center; gap: 2rem;
  flex-wrap: wrap; justify-content: center;
  padding: 0 2rem;
}
.press-label {
  font-size: .62rem; letter-spacing: .3em; color: var(--gray,#64748b);
  text-transform: uppercase; flex-shrink: 0; white-space: nowrap;
}
.press-logos {
  display: flex; align-items: center; gap: 1.6rem;
  flex-wrap: wrap; justify-content: center;
}
.press-item {
  display: flex; align-items: center; gap: .45rem;
  font-size: .8rem; color: var(--gray-lt,#94a3b8); white-space: nowrap;
  transition: color .2s;
}
.press-item:hover { color: var(--gold,#D4AF37); }
.press-item i { color: var(--gold,#D4AF37); }
.press-sep { color: var(--border); font-size: 1rem; }
@media(max-width:640px) { .press-sep { display:none; } }
