/* ===== RESET & BASE ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body { font-family:'Inter', sans-serif; color:#e0e0e0; background:#141c2e; line-height:1.7; overflow-x:hidden; letter-spacing:0.02em; width:100%; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

/* ===== TYPOGRAPHY ===== */
.section-tag { display:inline-block; font-size:.75rem; letter-spacing:.25em; text-transform:uppercase; color:#d4a853; margin-bottom:1rem; font-weight:500; }
.section-title { font-family:'Cormorant Garamond', serif; font-size:clamp(2rem, 5vw, 3.5rem); font-weight:600; line-height:1.2; margin-bottom:1.5rem; color:#fff; }
.section-desc { font-size:1.05rem; color:rgba(255,255,255,.5); max-width:640px; margin:0 auto 3rem; }
.text-center { text-align:center; }

/* ===== LAYOUT ===== */
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.section { padding:7rem 0; }

/* ===== NAV ===== */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; padding:1.25rem 0; transition:all .4s; }
.navbar.scrolled { background:rgba(10,15,26,.92); backdrop-filter:blur(16px) saturate(1.4); padding:.75rem 0; border-bottom:1px solid rgba(212,168,83,.08); }
.nav-container { max-width:1200px; margin:0 auto; padding:0 1.5rem; display:flex; align-items:center; justify-content:space-between; }
.nav-logo {
  font-family:'Cormorant Garamond', serif; font-size:1.35rem; font-weight:700; letter-spacing:.05em;
  color:#d4a853;
}
@keyframes goldShimmer {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.nav-links { display:flex; gap:0; align-items:center; position:relative; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:50px; padding:4px; }
.nav-links a { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.5); transition:color .3s; font-weight:400; padding:.5rem .9rem; position:relative; z-index:2; border-radius:50px; white-space:nowrap; }
.nav-links a:hover { color:#fff; }
.nav-cursor { position:absolute; height:calc(100% - 8px); top:4px; border-radius:50px; background:rgba(212,168,83,.1); backdrop-filter:blur(4px); border:1px solid rgba(212,168,83,.15); transition:left .3s cubic-bezier(.4,0,.2,1), width .3s cubic-bezier(.4,0,.2,1), opacity .25s; opacity:0; z-index:1; pointer-events:none; }
.nav-cta { border:1px solid rgba(212,168,83,.4) !important; padding:.5rem 1.25rem !important; color:#d4a853 !important; border-radius:50px; }
.nav-cta:hover { background:rgba(212,168,83,.1) !important; color:#f5e6c8 !important; }
.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-toggle span { width:24px; height:2px; background:#fff; transition:all .3s; }
.nav-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-toggle.active span:nth-child(2) { opacity:0; }
.nav-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ===== HERO ===== */
.hero { position:relative; height:100vh; min-height:700px; display:flex; align-items:center; justify-content:center; text-align:center; background:#141c2e; overflow:hidden; }
.hero-bg { position:absolute; inset:0; }
.hero-grain { position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"); opacity:.4; }
.hero-gradient { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 40%, rgba(212,168,83,.08) 0%, transparent 60%), radial-gradient(ellipse at 70% 60%, rgba(30,80,140,.08) 0%, transparent 60%), radial-gradient(ellipse at 50% 50%, rgba(10,15,26,.2) 0%, #141c2e 80%); }
/* Aurora effect */
.aurora { position:absolute; inset:0; overflow:hidden; }
.aurora-wave { position:absolute; inset:0; }
.aurora-wave-1 {
  background:radial-gradient(ellipse 800px 600px at 50% 20%, rgba(212,168,83,.12) 0%, transparent 50%);
  animation:aurora1 8s ease-in-out infinite alternate;
}
.aurora-wave-2 {
  background:radial-gradient(ellipse 600px 400px at 80% 30%, rgba(30,80,140,.15) 0%, transparent 50%);
  animation:aurora2 6s ease-in-out infinite alternate-reverse;
}
.aurora-wave-3 {
  background:radial-gradient(ellipse 700px 500px at 20% 60%, rgba(212,168,83,.08) 0%, transparent 50%);
  animation:aurora3 10s ease-in-out infinite alternate;
}
.aurora-wave-4 {
  background:radial-gradient(ellipse 900px 300px at 60% 80%, rgba(30,80,140,.08) 0%, transparent 50%);
  animation:aurora4 7s ease-in-out infinite alternate-reverse;
}
@keyframes aurora1 {
  0% { transform:translateX(-100px) translateY(-50px) scale(1); }
  50% { transform:translateX(50px) translateY(30px) scale(1.1); }
  100% { transform:translateX(100px) translateY(-30px) scale(.9); }
}
@keyframes aurora2 {
  0% { transform:translateX(80px) translateY(40px) scale(.8); }
  50% { transform:translateX(-30px) translateY(-20px) scale(1.2); }
  100% { transform:translateX(-80px) translateY(60px) scale(.9); }
}
@keyframes aurora3 {
  0% { transform:translateX(-50px) translateY(20px) scale(1.1); }
  50% { transform:translateX(70px) translateY(-40px) scale(.8); }
  100% { transform:translateX(-20px) translateY(50px) scale(1); }
}
@keyframes aurora4 {
  0% { transform:translateX(30px) translateY(-20px) scale(.9); }
  50% { transform:translateX(-60px) translateY(10px) scale(1.1); }
  100% { transform:translateX(40px) translateY(-60px) scale(.8); }
}

.hero-content { position:relative; z-index:2; max-width:800px; padding:0 2rem; }
.hero-badge { display:inline-flex; align-items:center; gap:.6rem; padding:.45rem 1.25rem; border-radius:50px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); margin-bottom:2rem; }
.hero-badge-dot { width:8px; height:8px; border-radius:50%; background:#d4a853; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(212,168,83,.4)} 50%{box-shadow:0 0 0 8px rgba(212,168,83,0)} }
.hero-badge span:last-child { font-size:.8rem; color:rgba(255,255,255,.45); letter-spacing:.1em; text-transform:uppercase; }
.hero-title {
  font-family:'Cormorant Garamond', serif; font-size:clamp(3rem, 8vw, 6rem); font-weight:700; line-height:1.05; margin-bottom:1.5rem; letter-spacing:-.02em;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.7) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-line { width:80px; height:1px; background:linear-gradient(90deg, transparent, #d4a853, transparent); margin:0 auto 1.5rem; }
.hero-sub {
  font-family:'Cormorant Garamond', serif; font-size:clamp(1rem, 2.5vw, 1.5rem); font-weight:400; font-style:italic; margin-bottom:1rem;
  background: linear-gradient(120deg, #d4a853 0%, #f5e6c8 30%, #d4a853 60%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldShimmer 5s ease-in-out infinite;
}
.hero-desc { font-size:.95rem; color:rgba(255,255,255,.4); max-width:550px; margin:0 auto 2.5rem; }
.hero-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; z-index:2; }
.hero-scroll span { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.25); }
.hero-scroll-line { width:1px; height:40px; background:linear-gradient(180deg, rgba(212,168,83,.5), transparent); animation:scrollPulse 2s infinite; }
@keyframes scrollPulse { 0%,100%{opacity:.3} 50%{opacity:1} }

/* Hero floating shapes */
.hero-shapes { position:absolute; inset:0; pointer-events:none; overflow:hidden; contain:strict; }
.h-shape { position:absolute; border-radius:50%; }
.h-shape-1 { width:400px; height:400px; top:-100px; right:-100px; background:radial-gradient(circle, rgba(212,168,83,.04) 0%, transparent 70%); animation:float1 20s ease-in-out infinite; }
.h-shape-2 { width:300px; height:300px; bottom:-50px; left:-50px; background:radial-gradient(circle, rgba(30,80,140,.06) 0%, transparent 70%); animation:float2 25s ease-in-out infinite; }
.h-shape-3 { width:200px; height:200px; top:40%; left:10%; background:radial-gradient(circle, rgba(212,168,83,.03) 0%, transparent 70%); animation:float3 18s ease-in-out infinite; }
@keyframes float1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-30px,30px)} }
@keyframes float2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-20px)} }
@keyframes float3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-15px,25px)} }

/* Animate in */
.animate-in { opacity:0; transform:translateY(30px); animation:fadeUp 1s forwards; }
.animate-in:nth-child(1){animation-delay:.2s} .animate-in:nth-child(2){animation-delay:.4s}
.animate-in:nth-child(3){animation-delay:.6s} .animate-in:nth-child(4){animation-delay:.8s}
.animate-in:nth-child(5){animation-delay:1s} .animate-in:nth-child(6){animation-delay:1.2s}
@keyframes fadeUp { to{opacity:1;transform:translateY(0)} }

/* ===== BUTTONS ===== */
.btn { display:inline-block; padding:.85rem 2rem; font-size:.85rem; letter-spacing:.15em; text-transform:uppercase; font-weight:500; border-radius:2px; transition:all .3s; cursor:pointer; font-family:'Inter', sans-serif; border:none; }
.btn-primary { background:linear-gradient(135deg, #d4a853, #c49940); color:#141c2e; border:1px solid #d4a853; }
.btn-primary:hover { background:linear-gradient(135deg, #e0b863, #d4a853); box-shadow:0 4px 20px rgba(212,168,83,.3); }
.btn-outline { background:transparent; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.2); }
.btn-outline:hover { background:rgba(255,255,255,.05); color:#fff; border-color:rgba(255,255,255,.4); }
.btn-whatsapp { background:#25d366; color:#fff; border:1px solid #25d366; }
.btn-whatsapp:hover { background:#1da851; border-color:#1da851; }
.btn-full { width:100%; text-align:center; }

/* ===== ABOUT ===== */
.about { background:#1a2540; }
.about-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:4rem; align-items:center; }
.about-image { position:relative; }
.about-image img { border-radius:6px; aspect-ratio:3/4; object-fit:cover; box-shadow:0 20px 60px rgba(0,0,0,.4); }
.about-image::after { display:none; }
.about-lead { font-size:1.15rem; color:rgba(255,255,255,.8); margin-bottom:1rem; }
.about-text p { color:rgba(255,255,255,.5); margin-bottom:1rem; }
.about-quote { margin:2rem 0; padding:1.5rem 2rem; border-left:2px solid rgba(212,168,83,.3); background:rgba(255,255,255,.02); border-radius:0 6px 6px 0; }
.about-quote p { font-size:.95rem; color:rgba(255,255,255,.5); font-style:italic; line-height:1.8; margin:0; }
.about-details { margin-top:1.5rem; font-size:.9rem; color:rgba(255,255,255,.45); display:flex; flex-direction:column; gap:.5rem; }
.about-details strong { color:rgba(255,255,255,.7); }

/* ===== TRAJECTORY BUTTON ===== */
.btn-trajectory {
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  margin-top:2rem;
  padding:1rem 2rem;
  background:none;
  border:1px solid rgba(212,168,83,.3);
  border-radius:50px;
  color:#d4a853;
  font-family:'Inter', sans-serif;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .4s;
}
.btn-trajectory:hover {
  background:rgba(212,168,83,.08);
  border-color:#d4a853;
  transform:translateX(4px);
}
.btn-trajectory svg {
  transition:transform .3s;
}
.btn-trajectory:hover svg {
  transform:translateX(4px);
}

/* ===== EXPERTISE — WORD CLOUD ===== */
.expertise { background:#141c2e; }
.cuisine-cloud { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:1rem 2rem; margin-top:3.5rem; max-width:900px; margin-left:auto; margin-right:auto; }
.cuisine-word {
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(1.8rem, 4vw, 3.2rem);
  font-weight:600;
  color:rgba(255,255,255,.2);
  background:none;
  border:none;
  cursor:pointer;
  padding:.25rem .5rem;
  transition:color .4s, transform .3s, text-shadow .4s;
  letter-spacing:.02em;
  position:relative;
}
.cuisine-word::after {
  content:'';
  position:absolute;
  bottom:0;
  left:50%;
  width:0;
  height:1px;
  background:#d4a853;
  transition:width .4s, left .4s;
}
.cuisine-word:hover {
  color:rgba(255,255,255,.6);
  transform:scale(1.05);
}
.cuisine-word.active {
  color:#d4a853;
  text-shadow:0 0 40px rgba(212,168,83,.25);
  transform:scale(1.08);
}
.cuisine-word.active::after {
  width:60%;
  left:20%;
}
.cuisine-word.dimmed {
  color:rgba(255,255,255,.08);
}
/* Stagger sizes for visual interest */
.cuisine-word:nth-child(1) { font-size:clamp(2rem, 4.5vw, 3.5rem); }
.cuisine-word:nth-child(2) { font-size:clamp(1.6rem, 3.5vw, 2.8rem); }
.cuisine-word:nth-child(3) { font-size:clamp(1.8rem, 4vw, 3rem); }
.cuisine-word:nth-child(4) { font-size:clamp(1.5rem, 3vw, 2.5rem); }
.cuisine-word:nth-child(5) { font-size:clamp(1.7rem, 3.8vw, 2.9rem); }
.cuisine-word:nth-child(6) { font-size:clamp(1.6rem, 3.5vw, 2.7rem); }

/* Reveal panel */
.cuisine-reveal {
  max-width:550px;
  margin:0 auto;
  text-align:center;
  overflow:hidden;
  max-height:0;
  opacity:0;
  transition:max-height .5s cubic-bezier(.4,0,.2,1), opacity .4s, margin-top .5s;
}
.cuisine-reveal.open {
  max-height:200px;
  opacity:1;
  margin-top:2.5rem;
}
.cuisine-reveal-line {
  width:40px;
  height:1px;
  background:linear-gradient(90deg, transparent, #d4a853, transparent);
  margin:0 auto 1.25rem;
}
.cuisine-reveal p {
  font-size:1.05rem;
  color:rgba(255,255,255,.5);
  line-height:1.8;
  font-style:italic;
}

/* ===== SERVICES ===== */
.services { background:#1a2540; }
.services-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1rem; max-width:750px; margin:3rem auto 0; }
.service-item { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.25rem; font-size:.9rem; color:rgba(255,255,255,.55); transition:color .3s; }
.service-item:hover { color:rgba(255,255,255,.85); }
.service-dot { width:4px; height:4px; background:#d4a853; border-radius:50%; flex-shrink:0; }

/* ===== AUDIENCE CTA ===== */
.audience { background:#141c2e; padding-top:6rem; }
.audience-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:1.25rem; margin-top:2.5rem; }
.audience-card {
  min-height:310px; display:flex; flex-direction:column; justify-content:space-between;
  padding:2rem; border-radius:8px; background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%);
  border:1px solid rgba(255,255,255,.06); box-shadow:0 14px 45px rgba(0,0,0,.2);
  transition:transform .35s, box-shadow .35s, border-color .35s;
}
.audience-card:hover { transform:translateY(-6px); box-shadow:0 22px 70px rgba(0,0,0,.3); border-color:rgba(212,168,83,.2); }
.audience-kicker { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:#d4a853; margin-bottom:1.25rem; font-weight:600; }
.audience-card h3 { font-family:'Cormorant Garamond', serif; font-size:1.35rem; line-height:1.25; color:#fff; margin-bottom:1rem; }
.audience-card p { color:rgba(255,255,255,.45); font-size:.92rem; margin-bottom:1.75rem; }
.audience-link { display:inline-flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.7); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; }
.audience-link::after { content:'\2192'; color:#d4a853; font-size:1rem; transition:transform .25s; }
.audience-link:hover::after { transform:translateX(4px); }

/* ===== WHATSAPP FLOATING BUBBLE ===== */
.wa-float {
  position:fixed;
  bottom:1.5rem;
  right:1.5rem;
  z-index:900;
  width:56px;
  height:56px;
  background:#25d366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform .3s, box-shadow .3s;
}
.wa-float:hover {
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(37,211,102,.5);
}

/* ===== TIMELINE ===== */
.timeline { max-width:700px; margin:3rem auto 0; position:relative; padding-left:2rem; }
.timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(180deg, #d4a853, rgba(212,168,83,.1)); }
.timeline-item { position:relative; padding-bottom:3rem; padding-left:2rem; }
.timeline-item::before { content:''; position:absolute; left:-2.35rem; top:.25rem; width:10px; height:10px; background:#d4a853; border-radius:50%; border:2px solid #141c2e; box-shadow:0 0 12px rgba(212,168,83,.3); }
.timeline-date { font-size:.8rem; letter-spacing:.15em; color:#d4a853; text-transform:uppercase; margin-bottom:.5rem; }
.timeline-content h3 { font-family:'Cormorant Garamond', serif; font-size:1.2rem; color:#fff; margin-bottom:.25rem; }
.timeline-place { font-size:.9rem; color:#d4a853; font-style:italic; margin-bottom:.5rem; }
.timeline-content p { font-size:.9rem; color:rgba(255,255,255,.45); }

/* ===== CHEF IN ACTION ===== */
.chef-action { padding:0; background:#141c2e; overflow:hidden; position:relative; height:500px; }
.chef-action-grid {
  position:relative; width:100%; height:100%;
}
.chef-action-img {
  position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease;
}
.chef-action-img.active {
  opacity:1;
}
.chef-action-img img {
  width:100%; height:100%; object-fit:contain; display:block; background:#141c2e;
}
.chef-action-dots {
  position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:5;
  display:flex; gap:.5rem;
}
.chef-action-dot {
  width:10px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,.5);
  background:transparent; cursor:pointer; padding:0; transition:all .3s;
}
.chef-action-dot.active {
  background:#d4a853; border-color:#d4a853;
}

/* ===== WHY HIRE — EDITORIAL LIST ===== */
.why-hire { background:#1a2540; }
.why-list { max-width:750px; margin:3rem auto 0; }
.why-item { display:flex; gap:2rem; align-items:baseline; padding:2rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.why-item:first-child { border-top:1px solid rgba(255,255,255,.06); }
.why-num { font-family:'Cormorant Garamond', serif; font-size:1.1rem; color:rgba(212,168,83,.4); font-weight:600; min-width:30px; flex-shrink:0; }
.why-text h3 { font-family:'Cormorant Garamond', serif; font-size:clamp(1.3rem, 2.5vw, 1.7rem); color:#fff; margin-bottom:.5rem; font-weight:600; }
.why-text p { font-size:.95rem; color:rgba(255,255,255,.4); line-height:1.7; }

/* ===== TRUST STRIP ===== */
.trust-strip { background:#111828; padding:2.75rem 0; }
.trust-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.06); border-radius:8px; overflow:hidden; }
.trust-grid div { background:#111828; padding:1.5rem; min-height:120px; display:flex; flex-direction:column; justify-content:center; }
.trust-grid strong { font-family:'Cormorant Garamond', serif; font-size:1.35rem; color:#d4a853; margin-bottom:.35rem; }
.trust-grid span { font-size:.78rem; color:rgba(255,255,255,.35); line-height:1.5; letter-spacing:.04em; }

/* ===== MENUS ===== */
.menus { background:#141c2e; position:relative; z-index:1; }
.menus-list { max-width:650px; margin:2rem auto 0; }
.menu-accordion { border-bottom:1px solid rgba(255,255,255,.06); }
.menu-accordion:first-child { border-top:1px solid rgba(255,255,255,.06); }
.menu-header {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 0; background:none; border:none; cursor:pointer;
  font-family:'Cormorant Garamond', serif; font-size:clamp(1.15rem, 3vw, 1.5rem);
  color:#d4a853; font-weight:600; letter-spacing:.02em; transition:color .3s;
}
.menu-header:hover { color:#f5e6c8; }
.menu-toggle-icon {
  font-family:'Inter', sans-serif; font-size:1.2rem; font-weight:300;
  color:rgba(255,255,255,.25); transition:transform .3s;
}
.menu-accordion.open .menu-toggle-icon { transform:rotate(45deg); }
.menu-body {
  display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1), padding .4s;
}
.menu-body > ul { overflow:hidden; }
.menu-accordion.open .menu-body { grid-template-rows:1fr; padding-bottom:1.25rem; }
.menu-body ul { padding:0; }
.menu-body li { padding:.4rem 0; font-size:.9rem; color:rgba(255,255,255,.45); border-bottom:1px solid rgba(255,255,255,.04); font-style:italic; }
.menu-body li:last-child { border:none; }

/* ===== CONTACT ===== */
.contact { background:#1a2540; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.contact-details { margin:2rem 0; display:flex; flex-direction:column; gap:1rem; }
.contact-row { display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.5); font-size:.95rem; }
.contact-row svg { color:#d4a853; flex-shrink:0; }
.contact-row a { color:rgba(255,255,255,.7); transition:color .3s; }
.contact-row a:hover { color:#fff; }
.contact-note { margin-top:1.5rem; font-size:.85rem; color:rgba(255,255,255,.3); font-style:italic; }
.contact-buttons { display:flex; gap:1rem; margin-top:1rem; }
.contact-form { display:flex; flex-direction:column; gap:1rem; }
.contact-form input, .contact-form textarea { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:4px; padding:1rem; color:#fff; font-family:'Inter', sans-serif; font-size:.9rem; transition:border-color .3s, box-shadow .3s; }
.contact-form input:focus, .contact-form textarea:focus { outline:none; border-color:rgba(212,168,83,.4); box-shadow:0 0 0 3px rgba(212,168,83,.08); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:rgba(255,255,255,.25); }
.contact-form textarea { resize:vertical; }
.charter-brief { background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:8px; padding:1.25rem; box-shadow:0 18px 60px rgba(0,0,0,.3); }
.brief-heading { padding:.25rem 0 .5rem; }
.brief-heading span { display:block; font-family:'Cormorant Garamond', serif; color:#fff; font-size:1.4rem; margin-bottom:.25rem; }
.brief-heading p { color:rgba(255,255,255,.4); font-size:.86rem; line-height:1.5; }
#formStatus { font-size:.85rem; text-align:center; min-height:1.2em; }
.brief-actions { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }

/* ===== TESTIMONIALS ===== */
.testimonials { background:#141c2e; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin-top:3rem; }
.testimonial-card { padding:2rem; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:8px; display:flex; flex-direction:column; justify-content:space-between; }
.testimonial-card p { font-size:.95rem; color:rgba(255,255,255,.5); line-height:1.8; font-style:italic; margin:0 0 1.25rem; }
.testimonial-card cite { font-size:.8rem; color:rgba(212,168,83,.6); font-style:normal; letter-spacing:.05em; }

/* ===== CTA BANNERS ===== */
.cta-banner { padding:5rem 0; background:#111828; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:-50%; right:-20%; width:500px; height:500px; background:radial-gradient(circle, rgba(212,168,83,.06) 0%, transparent 70%); pointer-events:none; }
.cta-banner-alt { background:#141c2e; }
.cta-banner-alt::before { left:-20%; right:auto; }
.cta-inner { text-align:center; max-width:650px; margin:0 auto; position:relative; z-index:1; }
.cta-title { font-family:'Cormorant Garamond', serif; font-size:clamp(1.5rem, 4vw, 2.2rem); font-weight:600; color:#fff; margin-bottom:1rem; line-height:1.3; }
.cta-text { font-size:1rem; color:rgba(255,255,255,.4); margin-bottom:2rem; line-height:1.7; }
.cta-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ===== FOOTER ===== */
.footer { background:#111828; padding:3rem 0 1.5rem; border-top:1px solid rgba(255,255,255,.04); }
.footer-content { display:flex; justify-content:space-between; align-items:start; margin-bottom:2rem; }
.footer-brand h3 {
  font-family:'Cormorant Garamond', serif; font-size:1.25rem; margin-bottom:.25rem;
  color:#d4a853;
}
.footer-brand p { font-size:.85rem; color:rgba(255,255,255,.3); }
.footer-links { display:flex; flex-direction:column; gap:.5rem; text-align:right; }
.footer-links a { font-size:.85rem; color:rgba(255,255,255,.3); transition:color .3s; }
.footer-links a:hover { color:rgba(255,255,255,.7); }
.footer-bottom { text-align:center; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.04); }
.footer-bottom p { font-size:.75rem; color:rgba(255,255,255,.2); }

/* ===== GEOMETRIC HERO ===== */
.geo-hero { position:relative; min-height:80vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; background:#0e1420; }
.geo-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%, rgba(212,168,83,.04) 0%, transparent 60%), radial-gradient(ellipse at 70% 50%, rgba(30,80,140,.04) 0%, transparent 60%); }
.geo-fade { position:absolute; inset:0; background:linear-gradient(180deg, #0e1420 0%, transparent 15%, transparent 85%, #0e1420 100%); pointer-events:none; }

/* Floating shapes */
.geo-shapes { position:absolute; inset:0; overflow:hidden; }
.geo-shape { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.04); }

.geo-shape-1 { width:500px; height:120px; top:18%; left:-6%; transform:rotate(12deg); animation:geoFadeIn 2.4s .3s both, geoFloat 12s ease-in-out infinite; }
.geo-shape-2 { width:420px; height:100px; top:72%; right:-4%; transform:rotate(-15deg); animation:geoFadeIn 2.4s .5s both, geoFloat 14s ease-in-out infinite; }
.geo-shape-3 { width:260px; height:70px; bottom:8%; left:8%; transform:rotate(-8deg); animation:geoFadeIn 2.4s .4s both, geoFloat 11s ease-in-out infinite; }
.geo-shape-4 { width:180px; height:50px; top:12%; right:18%; transform:rotate(20deg); animation:geoFadeIn 2.4s .6s both, geoFloat 13s ease-in-out infinite; }
.geo-shape-5 { width:130px; height:35px; top:8%; left:22%; transform:rotate(-25deg); animation:geoFadeIn 2.4s .7s both, geoFloat 10s ease-in-out infinite; }

@keyframes geoFadeIn { from { opacity:0; transform:translateY(-80px); } to { opacity:1; transform:translateY(0); } }
@keyframes geoFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(15px); } }

/* Content */
.geo-content { position:relative; z-index:2; max-width:700px; padding:0 2rem; }
.geo-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.4rem 1rem; border-radius:50px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); margin-bottom:2rem; }
.geo-badge-dot { width:8px; height:8px; border-radius:50%; background:rgba(212,168,83,.8); }
.geo-badge span:last-child { font-size:.85rem; color:rgba(255,255,255,.4); letter-spacing:.08em; }
.geo-title { font-family:'Cormorant Garamond', serif; font-size:clamp(2rem, 6vw, 4.5rem); font-weight:700; line-height:1.1; margin-bottom:1.5rem; letter-spacing:-.02em; }
.geo-title-line1 { background:linear-gradient(180deg, #fff, rgba(255,255,255,.7)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.geo-title-line2 { background:linear-gradient(90deg, rgba(212,168,83,.8), rgba(255,255,255,.8), rgba(30,80,140,.8)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.geo-desc { font-size:1.05rem; color:rgba(255,255,255,.3); line-height:1.7; margin-bottom:2.5rem; font-weight:300; letter-spacing:.02em; max-width:520px; margin-left:auto; margin-right:auto; }
.geo-locations { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.geo-locations span { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; padding:.4rem 1rem; border:1px solid rgba(255,255,255,.06); border-radius:50px; color:rgba(255,255,255,.3); transition:all .3s; }
.geo-locations span:hover { border-color:rgba(212,168,83,.25); color:rgba(212,168,83,.7); }

/* ===== CHEF PROFILE TRIGGER ===== */
.chef-profile-trigger { cursor:pointer; }
.chef-explore-badge { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); background:rgba(10,15,26,.9); backdrop-filter:blur(8px); color:#fff; font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; padding:.6rem 1.5rem; border-radius:50px; border:1px solid rgba(212,168,83,.2); opacity:0; transition:opacity .4s, transform .4s; transform:translateX(-50%) translateY(10px); white-space:nowrap; }
.chef-profile-trigger:hover .chef-explore-badge { opacity:1; transform:translateX(-50%) translateY(0); }

/* ===== CHEF MODAL ===== */
.chef-modal { display:none; position:fixed; inset:0; z-index:10000; background:rgba(10,15,26,.98); backdrop-filter:blur(15px); align-items:center; justify-content:center; padding:2rem; }
.chef-modal.active { display:flex; animation:chefModalIn .5s ease; }
@keyframes chefModalIn { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.chef-modal-close { position:absolute; top:1.5rem; right:2rem; font-size:2.5rem; color:rgba(255,255,255,.5); background:none; border:none; cursor:pointer; z-index:10; transition:color .3s; }
.chef-modal-close:hover { color:#fff; }
.chef-modal-inner { display:grid; grid-template-columns:1fr 1.2fr; gap:3rem; max-width:1000px; max-height:90vh; overflow-y:auto; }
.chef-modal-photo img { width:100%; height:100%; object-fit:cover; border-radius:8px; max-height:80vh; }
.chef-modal-content { padding:1rem 0; }
.chef-modal-timeline { display:flex; flex-direction:column; gap:1.5rem; }
.cmt-item { display:flex; gap:1.25rem; }
.cmt-year { font-family:'Cormorant Garamond', serif; font-size:.85rem; color:#d4a853; min-width:90px; padding-top:.15rem; letter-spacing:.05em; }
.cmt-detail h4 { font-family:'Cormorant Garamond', serif; color:#fff; font-size:1rem; margin-bottom:.25rem; }
.cmt-detail p { font-size:.85rem; color:rgba(255,255,255,.4); line-height:1.5; }
.cmt-section-title { font-family:'Cormorant Garamond', serif; font-size:1.1rem; color:#d4a853; margin:2rem 0 1rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.06); letter-spacing:.05em; }
.btn-more-training {
  display:inline-block; margin-top:1.25rem; padding:.5rem 1.25rem;
  background:none; border:1px solid rgba(212,168,83,.25); border-radius:50px;
  color:#d4a853; font-family:'Inter', sans-serif; font-size:.75rem;
  letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:all .3s;
}
.btn-more-training:hover { background:rgba(212,168,83,.08); border-color:#d4a853; }
.more-training { display:none; margin-top:1rem; }
.more-training.open { display:block; }
.cmt-badge { font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; padding:.4rem 1rem; border:1px solid rgba(212,168,83,.25); border-radius:50px; color:#d4a853; }

/* ===== GALLERY ===== */
.gallery { background:#1a2540; }
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1rem;
  margin-top:2rem;
}
.gallery-item {
  border-radius:8px;
  overflow:hidden;
  position:relative;
  aspect-ratio:1;
}
.gallery-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.gallery-item:hover img {
  transform:scale(1.08);
}
/* Span certain items for visual variety */
.gallery-item:nth-child(1) { grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.gallery-item:nth-child(7) { grid-column:span 2; aspect-ratio:auto; }

/* ===== MAP ===== */
.map-section { background:#141c2e; }
.map-wrap { height:450px; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 20px 60px rgba(0,0,0,.4); }

/* ===== REVEAL ANIMATION ===== */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .8s, transform .8s; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ===== DIRECTIONAL SCROLL ANIMATIONS ===== */
.fade-left { opacity:0; transform:translateX(-40px); transition:opacity .8s, transform .8s; }
.fade-left.visible { opacity:1; transform:translateX(0); }
.fade-right { opacity:0; transform:translateX(40px); transition:opacity .8s, transform .8s; }
.fade-right.visible { opacity:1; transform:translateX(0); }
.fade-scale { opacity:0; transform:scale(.92); transition:opacity .8s, transform .8s; }
.fade-scale.visible { opacity:1; transform:scale(1); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .about-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:2rem; }
  .about-image { max-width:400px; margin:0 auto; }
  .audience-grid { grid-template-columns:repeat(2, 1fr); }
  .trust-grid { grid-template-columns:repeat(3, 1fr); }
  .trust-grid div { padding:1rem; min-height:auto; }
  .trust-grid strong { font-size:1rem; }
  .trust-grid span { font-size:.65rem; }
  .gallery-grid { grid-template-columns:repeat(3, 1fr); gap:.75rem; }
  .gallery-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
  .gallery-item:nth-child(7) { grid-column:span 1; }
  .testimonials-grid { grid-template-columns:1fr; }
  .chef-modal-inner { grid-template-columns:1fr; }
  .chef-modal-photo { max-height:300px; overflow:hidden; }
}

@media (max-width:768px) {
  .section { padding:4rem 0; }
  .nav-links {
    display:none; position:fixed; top:0; left:0; width:100%; height:100vh; height:100dvh;
    background:rgba(10,15,26,.98); backdrop-filter:blur(20px);
    flex-direction:column; align-items:center; justify-content:center; gap:2rem;
    border:none; border-radius:0; padding:2rem; z-index:999;
  }
  .nav-links.active { display:flex; }
  .nav-links a { font-size:1.1rem; color:rgba(255,255,255,.7); padding:.75rem 1.5rem; }
  .nav-toggle { display:flex; z-index:1001; position:relative; }
  .menu-body li { font-size:.82rem; }
  .footer-content { flex-direction:column; gap:1.5rem; }
  .footer-links { text-align:left; }
  .contact-grid { grid-template-columns:1fr; gap:2rem; }
  .contact-buttons { flex-direction:row; }
  .contact-row { font-size:.85rem; }
  .contact-details { gap:.75rem; margin:1.5rem 0; }
  .brief-actions { grid-template-columns:1fr; }
  .charter-brief { padding:1rem; }
  .brief-heading span { font-size:1.1rem; }
  .brief-heading p { font-size:.75rem; }
  .contact-form input, .contact-form textarea { padding:.85rem; font-size:.85rem; }
  .contact-form { gap:.75rem; }
  .geo-hero { min-height:70vh; }
  .geo-shape-1, .geo-shape-2 { width:300px; height:80px; }
  .geo-shape-3 { width:180px; }
  .geo-shape-4, .geo-shape-5 { display:none; }
  .aurora { display:none; }
  .about-image::after { display:none; }
  .hero-shapes { display:none; }
  .geo-shapes { display:none; }
  .cta-banner::before { display:none; }
  .gallery-grid { grid-template-columns:repeat(2, 1fr); gap:.5rem; }
  .gallery-item:nth-child(1) { grid-column:span 2; grid-row:span 1; }
  .gallery-item:nth-child(7) { grid-column:span 1; }
  .gallery-item:nth-child(n+7) { display:none; }
  .gallery-grid.gallery-expanded .gallery-item:nth-child(n+7) { display:block; }
  .chef-action { height:300px; }
  .map-wrap { height:350px; }
  .about-quote { padding:1rem 1.25rem; }
  .about-quote p { font-size:.85rem; }
  .about-lead { font-size:1rem; }
  .about-text p { font-size:.88rem; }
  .why-list { display:flex; flex-direction:column; }
  .why-item { gap:.75rem; padding:1.25rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
  .why-item:first-child { border-top:1px solid rgba(255,255,255,.06); }
  .cuisine-cloud { gap:.75rem 1.25rem; }
  .chef-modal { padding:1rem; }
  .chef-modal-inner { gap:1.5rem; max-height:95vh; }
  .cmt-item { flex-direction:column; gap:.25rem; }
  .cmt-year { min-width:auto; }
  .section-desc { font-size:.9rem; margin-bottom:2rem; }
  .section-title { font-size:clamp(1.5rem, 5vw, 2.5rem); }
  .audience-grid { display:flex; flex-direction:column; gap:0; margin-top:1.5rem; }
  .audience-card {
    min-height:auto; padding:1.25rem 0; border-radius:0; background:none;
    border:none; border-bottom:1px solid rgba(255,255,255,.06); box-shadow:none;
    display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:0 1rem; align-items:baseline;
  }
  .audience-card:hover { transform:none; box-shadow:none; border-color:rgba(255,255,255,.06); }
  .audience-kicker { grid-row:1; grid-column:1; margin-bottom:0; font-size:.65rem; color:#d4a853; }
  .audience-card h3 { grid-row:1; grid-column:2; font-size:1rem; margin-bottom:0; }
  .audience-card p { grid-row:2; grid-column:2; font-size:.8rem; margin-bottom:0; margin-top:.25rem; line-height:1.5; }
  .audience-link { display:none; }
  .why-text h3 { font-size:1rem; margin-bottom:.3rem; }
  .why-text p { font-size:.78rem; line-height:1.5; }
  .why-num { font-size:.9rem; min-width:22px; }
  .cta-title { font-size:clamp(1.2rem, 4vw, 1.8rem); }
  .cta-text { font-size:.88rem; }
  .contact-info p { font-size:.85rem; }
  .contact-form input, .contact-form textarea { padding:.75rem; font-size:.85rem; }
  .btn { padding:.6rem 1.25rem; font-size:.7rem; }
  .service-item { font-size:.85rem; }
}

@media (max-width:480px) {
  .section { padding:3rem 0; }
  .hero-title { font-size:2.5rem; }
  .hero-btns { flex-direction:column; align-items:center; }
  .hero-desc { font-size:.8rem; line-height:1.6; }
  .hero-badge span:last-child { font-size:.7rem; }
  .trust-grid { grid-template-columns:repeat(3, 1fr); }
  .trust-grid div { padding:.75rem; }
  .trust-grid strong { font-size:.85rem; }
  .trust-grid span { font-size:.58rem; }
  .section-title { font-size:clamp(1.4rem, 5vw, 2rem); }
  .section-tag { font-size:.65rem; }
  .audience-card h3 { font-size:.9rem; }
  .audience-card p { font-size:.75rem; }
  .geo-title { font-size:clamp(1.4rem, 6vw, 2.5rem); }
  .geo-desc { font-size:.88rem; }
  .services-grid { gap:.25rem .5rem; }
  .service-item { font-size:.8rem; padding:.4rem .75rem; }
  .menu-body li { font-size:.78rem; }
  .testimonial-card { padding:1.25rem; }
  .testimonial-card p { font-size:.85rem; }
  .testimonial-card cite { font-size:.72rem; }
  .btn { padding:.7rem 1.5rem; font-size:.78rem; }
  .btn-trajectory { padding:.75rem 1.5rem; font-size:.75rem; }
  .about-details { font-size:.82rem; }
  .wa-float { width:48px; height:48px; bottom:1rem; right:1rem; }
  .wa-float svg { width:24px; height:24px; }
}
