/* ============================================
   The O Co. — bright, modern, peach-and-ocean
   Brand: peach (#ffcdbd) primary · ocean blue (#0a5d8f)
   secondary · cream sand background · charcoal text.
   "Polished but playful, a little boujee."
   ============================================ */

:root{
  /* Peach (primary brand) */
  --peach-50:#fff6f1;
  --peach-100:#ffe6dc;
  --peach-200:#ffd4c2;
  --peach:#ffcdbd;          /* brand */
  --peach-deep:#f0a48a;     /* hover/contrast */
  --peach-shadow:#d97f60;

  /* Ocean (secondary brand accent) */
  --ocean-50:#e7f0f6;
  --ocean-200:#a3c5db;
  --ocean:#0a5d8f;          /* secondary brand blue */
  --ocean-deep:#064567;
  --ocean-900:#072e44;

  /* Sand / cream */
  --cream-50:#fbf6ec;
  --cream-100:#f3ecdb;
  --cream-200:#e6dcc4;

  /* Ink */
  --ink-900:#1a1a1c;
  --ink-700:#3c3c41;
  --ink-500:#6b6b71;

  /* Functional */
  --whats:#25d366;
  --whats-dark:#128c7e;

  --radius-sm:10px;
  --radius:18px;
  --radius-lg:28px;
  --shadow-sm:0 4px 14px rgba(26,26,28,.08);
  --shadow:0 18px 40px rgba(26,26,28,.14);
  --shadow-lg:0 30px 70px rgba(26,26,28,.22);

  --container:1200px;

  --ff-display:'Fraunces', ui-serif, Georgia, serif;
  --ff-body:'Inter', system-ui, -apple-system, sans-serif;
}

/* --------- Reset --------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--ink-900);
  background:var(--cream-50);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
input,select,textarea{font:inherit;color:inherit}

.container{width:min(var(--container), 100% - 40px); margin-inline:auto}

/* --------- Typography --------- */
.h2,h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink-900);margin:0 0 .4em}
.h2{font-size:clamp(2rem, 4.4vw, 3.4rem)}
.h2--light{color:#fff}
h3{font-size:1.4rem;letter-spacing:-.01em}
h4{font-size:.9rem;font-family:var(--ff-body);font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-700)}

.eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ocean);
  background:var(--peach-100);
  padding:.5em .9em;
  border-radius:999px;
  margin-bottom:1.1em;
}
.eyebrow--light{
  color:var(--peach);
  background:rgba(255,205,189,.14);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,205,189,.22);
}

/* --------- Section --------- */
.section{padding:clamp(64px, 9vw, 130px) 0; position:relative}
.section--cream{background:var(--cream-100)}
.section--dark{background:var(--ocean-900);color:#fff}
.section__head{max-width:680px;margin-bottom:56px}
.section__head--center{margin-inline:auto;text-align:center}
.section__lede{font-size:1.1rem;color:var(--ink-700);margin:.4em 0 0}

/* --------- Buttons --------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  padding:14px 24px;
  font-weight:600; font-size:.95rem; letter-spacing:.01em;
  border-radius:999px;
  background:#fff;
  color:var(--ink-900);
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .25s, color .25s, border-color .25s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn--lg{padding:17px 30px; font-size:1rem}
.btn--block{width:100%}
.btn--solid{background:var(--ocean); color:#fff; box-shadow:var(--shadow-sm)}
.btn--solid:hover{background:var(--ocean-deep); box-shadow:var(--shadow)}
.btn--peach{background:var(--peach);color:var(--ink-900); box-shadow:var(--shadow-sm)}
.btn--peach:hover{background:var(--peach-deep);color:#fff}
.btn--ghost{background:transparent;color:var(--ink-900);border-color:rgba(26,26,28,.18)}
.btn--ghost:hover{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghost-light:hover{background:var(--peach);color:var(--ink-900);border-color:var(--peach)}
.btn--whatsapp{background:var(--whats);color:#fff}
.btn--whatsapp:hover{background:var(--whats-dark);color:#fff}
.btn--pill{padding:11px 20px;font-size:.9rem}
.wa-icon{width:1.15em;height:1.15em;flex:0 0 auto}

/* --------- Nav --------- */
.nav{
  position:fixed; inset:0 0 auto 0;
  z-index:50;
  padding:14px 0;
  transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
}
.nav.is-scrolled{background:rgba(251,246,236,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(26,26,28,.06);padding:8px 0}
.nav__inner{display:flex; align-items:center; gap:18px}
.nav__brand{display:flex; align-items:center; gap:10px; color:#fff; font-family:var(--ff-display); transition:color .3s}
.nav.is-scrolled .nav__brand{color:var(--ink-900)}
.nav__mark{width:38px;height:38px;flex:0 0 auto}
.nav__mark--dark{display:none}
.nav.is-scrolled .nav__mark--light{display:none}
.nav.is-scrolled .nav__mark--dark{display:block}
.nav__name{
  font-size:1.25rem; letter-spacing:-.01em; font-weight:600;
  font-family:var(--ff-display);
}
.nav__links{display:flex; align-items:center; gap:28px; margin-left:auto; color:#fff; transition:color .3s}
.nav.is-scrolled .nav__links{color:var(--ink-900)}
.nav__links a{font-size:.93rem;font-weight:500;position:relative}
.nav__links a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--peach);transform:scaleX(0);transform-origin:center;transition:transform .25s}
.nav.is-scrolled .nav__links a:after{background:var(--ocean)}
.nav__links a:hover:after{transform:scaleX(1)}
.nav__cta{flex:0 0 auto}
.nav__cta{background:var(--peach);color:var(--ink-900)}
.nav__cta:hover{background:#fff;color:var(--ink-900)}
.nav.is-scrolled .nav__cta{background:var(--ocean);color:#fff}
.nav.is-scrolled .nav__cta:hover{background:var(--ocean-deep);color:#fff}

.nav__toggle{display:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);position:relative;backdrop-filter:blur(6px)}
.nav.is-scrolled .nav__toggle{background:var(--peach-100)}
.nav__toggle span{position:absolute; left:10px; right:10px; height:2px; background:#fff; transition:transform .25s, opacity .25s, top .25s, background .25s}
.nav.is-scrolled .nav__toggle span{background:var(--ink-900)}
.nav__toggle span:nth-child(1){top:13px}
.nav__toggle span:nth-child(2){top:19px}
.nav__toggle span:nth-child(3){top:25px}
.nav__toggle.is-open span:nth-child(1){top:19px;transform:rotate(45deg)}
.nav__toggle.is-open span:nth-child(2){opacity:0}
.nav__toggle.is-open span:nth-child(3){top:19px;transform:rotate(-45deg)}

.nav__mobile{
  display:none;
  flex-direction:column;
  gap:18px;
  padding:18px 24px 24px;
  background:var(--cream-50);
  border-top:1px solid var(--cream-200);
}
.nav__mobile a{font-size:1.1rem;font-family:var(--ff-display);font-weight:500}
.nav__mobile.is-open{display:flex}

/* --------- Hero --------- */
.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  padding:140px 0 80px;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.hero__media{position:absolute; inset:0; z-index:-1}
.hero__media img{width:100%;height:100%;object-fit:cover; transform:scale(1.05); animation:slowZoom 22s ease-out forwards}
@keyframes slowZoom{to{transform:scale(1)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,46,68,.55) 0%, rgba(7,46,68,.18) 35%, rgba(7,46,68,.78) 100%)}
.hero__content{max-width:920px}
.hero__title{
  font-family:var(--ff-display);
  font-weight:600;
  font-size:clamp(2.6rem, 7.2vw, 6.4rem);
  line-height:.96;
  letter-spacing:-.025em;
  margin:0 0 22px;
  color:#fff;
}
.hero__title span{display:block}
.hero__title-em{font-style:italic;font-weight:500;color:var(--peach)}
.hero__lede{font-size:clamp(1.05rem, 1.4vw, 1.25rem); max-width:620px; margin:0 0 32px; opacity:.94}
.hero__ctas{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:36px}
.hero__ctas .btn--solid{background:var(--peach);color:var(--ink-900)}
.hero__ctas .btn--solid:hover{background:#fff;color:var(--ink-900)}
.hero__chips{display:flex; flex-wrap:wrap; gap:10px}
.chip{
  display:inline-block;
  padding:8px 16px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.32);
  backdrop-filter:blur(8px);
  border-radius:999px;
  font-size:.85rem;
  font-weight:500;
}
.hero__scroll{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  width:26px; height:42px;
  border:1.5px solid rgba(255,255,255,.6);
  border-radius:14px;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding-top:8px;
}
.hero__scroll span{width:3px;height:8px;background:#fff;border-radius:3px;animation:scrollDot 1.6s ease-in-out infinite}
@keyframes scrollDot{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.3}}

/* --------- Trusted strip --------- */
.trusted{
  background:var(--peach);
  padding:22px 0;
  border-bottom:1px solid var(--peach-deep);
}
.trusted__inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:18px; color:var(--ink-900);
}
.trusted__label{
  font-size:.78rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  opacity:.75;
}
.trusted__name{
  font-family:var(--ff-display); font-style:italic; font-weight:600;
  font-size:1.6rem; letter-spacing:-.01em;
}
.trusted__divider{
  width:1px; height:24px; background:rgba(26,26,28,.25);
}
.trusted__pill{
  font-size:.88rem; font-weight:500; opacity:.8;
}

/* --------- About --------- */
.about__grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(40px, 6vw, 90px);
  align-items:center;
}
.about__copy p{font-size:1.05rem;color:var(--ink-700);margin:0 0 1em}
.about__quote{
  font-family:var(--ff-display); font-style:italic; font-weight:500;
  font-size:1.25rem; line-height:1.4; color:var(--ocean);
  border-left:3px solid var(--peach); padding-left:18px;
  margin:1.4em 0 1.6em !important;
}

.about__media{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  grid-template-rows:repeat(6, 1fr);
  aspect-ratio: 1 / 1.05;
}
.about__photo{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.about__photo img{width:100%;height:100%;object-fit:cover}
.about__photo--big{grid-column:1 / span 5; grid-row:1 / span 5}
.about__photo--small{grid-column:3 / span 4; grid-row:4 / span 3; border:8px solid var(--cream-50)}
.about__sticker{
  position:absolute;
  top:-20px; right:-10px;
  width:140px; height:140px;
  border-radius:50%;
  background:var(--peach);
  color:var(--ink-900);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--ff-display);
  font-style:italic;
  font-weight:600;
  font-size:1.1rem;
  line-height:1.05;
  letter-spacing:-.01em;
  box-shadow:var(--shadow);
  transform:rotate(-12deg);
  animation:wobble 6s ease-in-out infinite;
  z-index:2;
  border:3px solid var(--cream-50);
}
.about__sticker span:nth-child(2){font-size:1.1rem; margin-top:2px}
@keyframes wobble{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(-6deg) scale(1.04)}}

/* --------- Menu --------- */
.menu__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-bottom:48px;
}
.menu-card{
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
  transition:transform .35s ease, box-shadow .35s ease;
}
.menu-card:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.menu-card--feature{background:var(--ocean-900); color:#fff; transform:translateY(-12px)}
.menu-card--feature h3{color:#fff}
.menu-card--feature .menu-card__list li{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.12)}
.menu-card--feature p{color:rgba(255,255,255,.85)}
.menu-card__media{aspect-ratio:4/3;overflow:hidden}
.menu-card__media img{width:100%;height:100%;object-fit:cover; transition:transform .6s ease}
.menu-card:hover .menu-card__media img{transform:scale(1.06)}
.menu-card__body{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column}
.menu-card__tag{
  align-self:flex-start;
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  background:var(--peach-100); color:var(--ocean);
  padding:.4em .8em; border-radius:999px; margin-bottom:14px;
}
.menu-card__tag--hot{background:var(--peach);color:var(--ink-900)}
.menu-card--feature .menu-card__tag{background:rgba(255,255,255,.14);color:#fff}
.menu-card--feature .menu-card__tag--hot{background:var(--peach);color:var(--ink-900)}
.menu-card h3{margin:0 0 12px;font-size:1.6rem}
.menu-card p{margin:0 0 18px;color:var(--ink-700)}
.menu-card__list{margin-top:auto;display:flex; flex-direction:column}
.menu-card__list li{
  padding:10px 0;
  font-size:.93rem;
  color:var(--ink-700);
  border-top:1px dashed rgba(26,26,28,.1);
}
.menu-card__list li:first-child{border-top:0; padding-top:6px}

.menu__note{text-align:center;color:var(--ink-700);font-style:italic;margin-bottom:32px}
.menu__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* --------- Events --------- */
.events__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.event-card{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3/4;
  isolation:isolate;
  transition:transform .35s;
}
.event-card:hover{transform:translateY(-4px)}
.event-card__media{position:absolute;inset:0;z-index:-2}
.event-card__media img{width:100%;height:100%;object-fit:cover; transition:transform .6s}
.event-card:hover .event-card__media img{transform:scale(1.07)}
.event-card:before{
  content:'';
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, transparent 30%, rgba(7,46,68,.92) 100%);
}
.event-card__body{
  position:absolute; left:0; right:0; bottom:0;
  padding:28px;
  color:#fff;
}
.event-card__body h3{color:#fff;margin:0 0 8px;font-size:1.7rem}
.event-card__body p{margin:0;font-size:.95rem;opacity:.92}

/* --------- Booking --------- */
.book{position:relative;overflow:hidden}
.book__pattern{
  position:absolute; inset:0; pointer-events:none;
  opacity:.06;
  background-image:
    radial-gradient(ellipse 18px 12px at 20% 30%, var(--peach) 0 35%, transparent 38%),
    radial-gradient(ellipse 18px 12px at 70% 70%, var(--peach) 0 35%, transparent 38%),
    radial-gradient(ellipse 18px 12px at 45% 85%, var(--peach) 0 35%, transparent 38%),
    radial-gradient(ellipse 18px 12px at 90% 15%, var(--peach) 0 35%, transparent 38%),
    radial-gradient(ellipse 18px 12px at 12% 75%, var(--peach) 0 35%, transparent 38%);
  background-size:240px 240px;
}
.book:after{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,205,189,.18) 0%, transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(10,93,143,.5) 0%, transparent 50%);
  pointer-events:none;
}
.book__grid{
  display:grid; grid-template-columns:1fr 1.05fr;
  gap:clamp(40px, 5vw, 80px);
  align-items:start;
  position:relative;
  z-index:1;
}
.book__lede{font-size:1.05rem; opacity:.85; margin:0 0 28px; max-width:480px}
.book__points{margin-top:36px;display:flex;flex-direction:column;gap:18px}
.book__points li{display:flex; gap:18px; align-items:flex-start; font-size:1.02rem; color:rgba(255,255,255,.92)}
.book__points span{
  flex:0 0 auto; width:38px; height:38px;
  border-radius:50%;
  background:var(--peach); color:var(--ink-900);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-display); font-weight:700;
}

/* Form */
.book__form{
  background:#fff; color:var(--ink-900);
  padding:clamp(24px, 3vw, 38px);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  display:flex; flex-direction:column; gap:16px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr; gap:16px}
.book__form > label, .book__form .form-row > label{
  display:flex; flex-direction:column; gap:8px;
  font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-700);
}
.book__form input, .book__form select, .book__form textarea{
  border:1.5px solid var(--cream-200);
  border-radius:var(--radius-sm);
  padding:13px 14px;
  font-size:1rem;
  background:var(--cream-50);
  color:var(--ink-900);
  font-family:var(--ff-body);
  letter-spacing:0; text-transform:none; font-weight:400;
  transition:border-color .2s, background .2s, box-shadow .2s;
}
.book__form input:focus, .book__form select:focus, .book__form textarea:focus{
  outline:none; border-color:var(--ocean); background:#fff;
  box-shadow:0 0 0 4px var(--peach-100);
}
.form-checks{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.form-checks legend{font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-700); margin-bottom:8px;width:100%}
.check{
  display:inline-flex !important; align-items:center; gap:8px !important;
  padding:8px 14px !important;
  border:1.5px solid var(--cream-200); border-radius:999px;
  flex-direction:row !important; cursor:pointer;
  font-size:.88rem !important; letter-spacing:0 !important; text-transform:none !important; font-weight:500 !important;
  color:var(--ink-700);
  transition:border-color .2s, background .2s, color .2s;
}
.check input{margin:0;accent-color:var(--ocean)}
.check:has(input:checked){border-color:var(--ocean); background:var(--peach-100); color:var(--ocean)}
.form-note{font-size:.8rem;color:var(--ink-500);text-align:center;margin:4px 0 0}
.form-note a{color:inherit;text-decoration:underline;text-decoration-color:var(--ink-300)}
/* Hide reCAPTCHA v3 floating badge — attribution is shown in .form-note as Google requires. */
.grecaptcha-badge{visibility:hidden !important}

/* --------- Gallery --------- */
.gallery__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:200px;
  gap:14px;
}
.gallery__item{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--cream-200);
  cursor:zoom-in;
  transition:transform .3s ease;
}
.gallery__item:hover{transform:scale(1.02)}
.gallery__item img{width:100%;height:100%;object-fit:cover; transition:transform .5s}
.gallery__item:hover img{transform:scale(1.08)}
.gallery__item--tall{grid-row:span 2}
.gallery__item--wide{grid-column:span 2}

/* --------- Strip --------- */
.strip{
  background:var(--ocean-900); color:var(--peach);
  padding:22px 0; overflow:hidden;
  border-top:1px solid var(--ocean-deep);
  border-bottom:1px solid var(--ocean-deep);
}
.strip__track{
  display:flex; gap:32px; white-space:nowrap;
  font-family:var(--ff-display); font-size:1.4rem; font-style:italic;
  animation:marquee 32s linear infinite;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --------- FAQ --------- */
.faq__inner{max-width:840px;margin-inline:auto}
.faq__list{display:flex; flex-direction:column; gap:12px}
.faq__item{
  background:#fff;
  border-radius:var(--radius);
  padding:4px 24px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s;
}
.faq__item[open]{box-shadow:var(--shadow)}
.faq__item summary{
  list-style:none; cursor:pointer;
  padding:18px 0;
  font-family:var(--ff-display); font-size:1.2rem; font-weight:600;
  display:flex; justify-content:space-between; align-items:center;
  gap:16px;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:after{
  content:'+';
  font-size:1.6rem; color:var(--ocean); font-weight:300;
  transition:transform .25s;
}
.faq__item[open] summary:after{transform:rotate(45deg)}
.faq__item p{margin:0 0 18px;color:var(--ink-700)}
.faq__item p a{color:var(--ocean); text-decoration:underline; text-underline-offset:3px}

/* --------- CTA --------- */
.cta{
  position:relative;
  padding:clamp(60px, 8vw, 110px) 0;
  background:var(--ocean);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  text-align:center;
}
.cta:before{
  content:'';
  position:absolute;inset:0;
  background-image:url('images/grill-flames.jpeg');
  background-size:cover; background-position:center;
  opacity:.18; z-index:-1;
  filter:saturate(1.2);
}
.cta:after{
  content:'';
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(10,93,143,.78), rgba(7,46,68,.85));
}
.cta__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px}
.cta .h2{max-width:780px;margin-bottom:0}
.cta__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta__btns .btn--solid{background:var(--peach);color:var(--ink-900)}
.cta__btns .btn--solid:hover{background:#fff;color:var(--ink-900)}

/* --------- Footer --------- */
.footer{
  background:var(--ink-900);
  color:rgba(255,255,255,.78);
  padding:64px 0 24px;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.4fr repeat(3, 1fr);
  gap:36px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer h4{color:#fff;margin:0 0 18px}
.footer__brand p{margin:0;max-width:340px;font-size:.95rem; color:rgba(255,255,255,.7)}
.footer__logo{
  width:160px; height:auto; margin-bottom:16px;
  display:block;
}
.footer__list{display:flex;flex-direction:column;gap:10px;font-size:.92rem}
.footer__list a:hover{color:var(--peach)}
.footer__list strong{color:var(--peach); font-weight:600}
.footer__base{display:flex; justify-content:space-between; padding-top:24px; font-size:.82rem; color:rgba(255,255,255,.55); flex-wrap:wrap; gap:12px}

/* --------- Floating WhatsApp --------- */
.wa-float{
  position:fixed; bottom:22px; right:22px; z-index:80;
  display:flex; align-items:center; gap:10px;
  background:var(--whats); color:#fff;
  padding:14px;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(37,211,102,.45);
  transition:transform .25s, box-shadow .25s, padding .25s;
}
.wa-float:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(37,211,102,.55); background:var(--whats-dark)}
.wa-float svg{width:26px;height:26px;flex:0 0 auto}
.wa-float__label{font-weight:600; font-size:.95rem; padding-right:6px; max-width:160px; overflow:hidden}
.wa-float:before{
  content:'';
  position:absolute; inset:0; border-radius:inherit;
  box-shadow:0 0 0 0 rgba(37,211,102,.55);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}
  100%{box-shadow:0 0 0 22px rgba(37,211,102,0)}
}

/* --------- Toast --------- */
.toast{
  position:fixed; bottom:30px; left:50%; transform:translateX(-50%) translateY(120%);
  background:var(--ink-900); color:#fff;
  padding:16px 22px; border-radius:14px;
  box-shadow:var(--shadow-lg);
  font-size:.95rem;
  z-index:120;
  transition:transform .35s ease;
  max-width:90vw;
}
.toast.is-visible{transform:translateX(-50%) translateY(0)}
.toast strong{color:var(--peach);margin-right:6px}

/* --------- Reveal --------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease}
.reveal.is-in{opacity:1;transform:none}

/* ===========================================
   Responsive
   =========================================== */
@media (max-width:1024px){
  .nav__links{display:none}
  .nav__cta{display:none}
  .nav__toggle{display:block}
  .about__grid{grid-template-columns:1fr; gap:50px}
  .about__media{max-width:520px;margin:0 auto;width:100%}
  .menu__grid{grid-template-columns:repeat(2, 1fr)}
  .menu-card--feature{grid-column:1 / -1; transform:none}
  .menu-card--feature .menu-card__media{aspect-ratio:16/9}
  .events__grid{grid-template-columns:1fr 1fr}
  .events__grid > :last-child{grid-column:1 / -1; aspect-ratio:16/9}
  .book__grid{grid-template-columns:1fr; gap:40px}
  .gallery__grid{grid-template-columns:repeat(3, 1fr); grid-auto-rows:180px}
  .footer__grid{grid-template-columns:1fr 1fr; gap:32px}
}

@media (max-width:680px){
  .nav__cta{display:none}
  .hero{padding-top:120px;align-items:center}
  .hero__title{font-size:clamp(2.4rem, 12vw, 4.6rem)}
  .hero__ctas .btn{flex:1; min-width:0}
  .menu__grid{grid-template-columns:1fr}
  .menu-card--feature .menu-card__media{aspect-ratio:4/3}
  .events__grid{grid-template-columns:1fr}
  .events__grid > :last-child{aspect-ratio:3/4}
  .form-row{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(2, 1fr); grid-auto-rows:160px}
  .gallery__item--wide{grid-column:span 1}
  .footer__grid{grid-template-columns:1fr;padding-bottom:32px}
  .wa-float{padding:14px;border-radius:50%}
  .wa-float__label{display:none}
  .about__sticker{width:108px;height:108px;font-size:.92rem;top:-10px;right:0}
  .about__sticker span:nth-child(2){font-size:.92rem}
  .strip__track{font-size:1.05rem;gap:20px}
  .footer__base{flex-direction:column}
  .trusted__inner{flex-direction:column;gap:8px}
  .trusted__divider{display:none}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important}
  .hero__media img{animation:none;transform:none}
}
