/* =====================================================================
   MOMO 365 & BAR — Homepage (light, product-forward layout)
   Scoped to body[data-page="home"] so inner pages keep the vintage theme.
   Brand: navy #22418d · coral #de1e3e · lemon #ffffff
   ===================================================================== */
body[data-page="home"]{ background:#eaeefb; }
body[data-page="home"] .h8{ --navy:#22418d; --navy-deep:#16285e; --coral:#de1e3e; --lemon:#ffffff; --lav:#eaeefb; }

/* diagonal line texture used on tinted bands */
body[data-page="home"] .h8-lines{
  background-image:repeating-linear-gradient(135deg, rgba(34,65,141,.06) 0 1px, transparent 1px 26px);
}

/* ---------- 8848-style header: centered logo + split nav (all pages) ---------- */
.logo--blue{ display:none; }
.h8-header{ --navy:#22418d; --coral:#de1e3e; --lemon:#ffffff;
  background:#eef1fb; backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(34,65,141,.12); padding:10px 0; }
.h8-header.is-stuck{ background:rgba(238,241,251,.98); padding:10px 0; }

/* 8848-style seamless inner-page header: transparent over the first (light) hero so the
   hero's lavender + diagonal stripe runs continuously behind it; solid only once stuck.
   The homepage and dark-hero pages (e.g. a blog post) keep the solid bar. */
body:not([data-page="home"]):not(.has-dark-hero) .h8-header{ background:transparent; backdrop-filter:none; box-shadow:none; }
body:not([data-page="home"]):not(.has-dark-hero) .h8-header.is-stuck{ background:rgba(238,241,251,.97); backdrop-filter:blur(10px); box-shadow:0 8px 22px -16px rgba(34,65,141,.45); }

.h8-header__grid{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.h8-hcol{ display:flex; flex-direction:column; gap:9px; min-width:0; }
.h8-hcol--right{ align-items:flex-end; }

.h8-util{ display:flex; align-items:center; gap:18px; }
.h8-util--right{ justify-content:flex-end; }
.h8-phone{ font-family:"Bebas Neue",sans-serif; letter-spacing:.05em; font-size:1.34rem; color:var(--navy); display:inline-flex; align-items:center; gap:8px; }
.h8-phone i{ color:var(--coral); font-size:.82em; }
.h8-soc{ display:flex; gap:10px; }
.h8-soc a{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:rgba(34,65,141,.1); color:var(--navy); font-size:.82rem; transition:background .2s,color .2s; }
.h8-soc a:hover{ background:var(--coral); color:#fff; }

.h8-nav{ display:flex; align-items:center; gap:26px; }
.h8-nav--right{ justify-content:flex-end; }
.h8-nav a{ font-family:"Bebas Neue",sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:1.3rem; color:var(--navy); position:relative; padding-bottom:3px; }
.h8-nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--coral); transition:width .25s; }
.h8-nav a:hover,.h8-nav a.active{ color:var(--coral); }
.h8-nav a:hover::after,.h8-nav a.active::after{ width:100%; }

.h8-hlogo{ display:block; justify-self:center; }
.h8-hlogo img{ height:72px; width:auto; display:block; }

.h8-order{ font-family:"Bebas Neue",sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:1.14rem; color:#fff; background:var(--coral); padding:9px 24px; border-radius:999px; transition:background .18s,transform .18s; white-space:nowrap; }
.h8-order:hover{ background:#c01a33; transform:translateY(-1px); }

.h8-header .nav-toggle{ display:none; background:rgba(34,65,141,.1); }
.h8-header .nav-toggle span{ background:var(--navy); }

/* ===== mobile drawer — new brand (royal-blue panel, Bebas nav, red accents) ===== */
.mobile-drawer{ background:linear-gradient(165deg,#22418d 0%,#16285e 100%); backdrop-filter:none; }
.mobile-drawer > a:not(.btn){ font-family:"Bebas Neue",sans-serif; text-transform:uppercase; letter-spacing:.06em;
  font-size:1.9rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.13); transition:color .2s,padding-left .2s; }
.mobile-drawer > a:not(.btn):hover,
.mobile-drawer > a:not(.btn).active{ color:var(--coral); padding-left:10px; }
.mobile-drawer .btn{ font-family:"Bebas Neue",sans-serif; letter-spacing:.09em; }
.mobile-drawer .btn--accent{ background:var(--coral) !important; color:#fff !important; border-radius:999px !important;
  box-shadow:0 14px 28px -14px rgba(222,30,62,.7) !important; }
.mobile-drawer .btn--accent:hover{ background:#c01a33 !important; transform:translateY(-2px); }
.drawer-close{ background:rgba(255,255,255,.14); color:#fff; transition:background .2s,transform .2s; }
.drawer-close:hover{ background:var(--coral); transform:rotate(90deg); }
.drawer-meta{ color:#cdd9f5; }
.drawer-meta > a{ color:#fff; }
.drawer-meta > a:hover{ color:var(--coral); }
.drawer-meta .socials a{ color:#fff; transition:color .2s,transform .2s; }
.drawer-meta .socials a:hover{ color:var(--coral); transform:translateY(-2px); }
/* short / landscape phones: shrink the drawer so every item stays reachable (drawer itself scrolls) */
@media (max-height:560px){
  .mobile-drawer{ padding-top:64px; padding-bottom:24px; }
  .mobile-drawer > a:not(.btn){ font-size:1.35rem; padding:9px 0; }
  .mobile-drawer .btn{ margin-top:16px; }
  .drawer-meta{ margin-top:18px; }
}

/* ---------- shared homepage type & buttons ---------- */
.h8 .container{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:24px; }
.h8-eyebrow{ display:inline-block; font-family:"Bebas Neue",sans-serif; letter-spacing:.18em; color:var(--coral); font-size:1.05rem; margin-bottom:14px; text-transform:uppercase; }
.h8-kicker{ display:inline-block; font-family:"Bebas Neue",sans-serif; letter-spacing:.16em; color:var(--navy); font-size:1.05rem; text-transform:uppercase; margin-bottom:10px; }
.h8-h1{ font-family:"Bebas Neue",sans-serif; font-weight:400; color:var(--navy); line-height:.92; letter-spacing:.01em;
  font-size:clamp(3.2rem,7vw,6rem); text-transform:uppercase; }
.h8-h1 .red{ color:var(--coral); display:block; }
.h8-h2{ font-family:"Bebas Neue",sans-serif; font-weight:400; color:var(--navy); line-height:.96; letter-spacing:.01em;
  font-size:clamp(2.2rem,4.4vw,3.4rem); text-transform:uppercase; }
.h8-h2 .red{ color:var(--coral); }
.h8-h2 .red,.h8-h2 .yel,.h8-h2 .dk{ display:inline; }
.h8-h2--white{ color:#fff; } .h8-h2--white .yel{ color:var(--lemon); }
.h8-h2--white .dk{ color:var(--ink); }
.h8-script{ font-family:"Lobster",cursive; font-weight:400; color:var(--navy); line-height:1; font-size:clamp(2.4rem,4.6vw,3.6rem); }
.h8-script .red{ color:var(--coral); display:block; }
.h8-lead{ font-size:clamp(1.02rem,1.4vw,1.18rem); color:#4a5b66; line-height:1.7; max-width:34rem; }
.h8-lead-bold{ font-weight:700; color:var(--navy); font-size:1.1rem; line-height:1.5; }
.h8-body{ color:#566873; line-height:1.75; }

.h8-btn{ display:inline-flex; align-items:center; gap:.55em; font-family:"Poppins",sans-serif; font-weight:600; letter-spacing:.04em;
  font-size:.92rem; text-transform:uppercase; padding:15px 30px; border-radius:100px; transition:transform .18s ease, box-shadow .18s ease, background .2s; }
.h8-btn--red{ background:var(--coral); color:#fff; box-shadow:0 12px 24px -12px rgba(222,30,62,.7); }
.h8-btn--navy{ background:var(--navy); color:#fff; box-shadow:0 12px 24px -12px rgba(34,65,141,.7); }
.h8-btn--sm{ padding:11px 22px; font-size:.84rem; }
.h8-btn:hover{ transform:translateY(-3px); }
.h8-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* ---------- HERO ---------- */
.h8-hero{ position:relative; background:var(--lav); overflow:hidden; }
.h8-hero--bg{ background-size:cover; background-position:center; }
.h8-hero--bg::before{ content:""; position:absolute; inset:0; z-index:0; background:rgba(238,241,251,.66); }
.h8-hero__lines{ position:absolute; right:0; top:0; width:60%; height:92%; z-index:0; pointer-events:none;
  background-repeat:no-repeat; background-position:top right; background-size:auto 100%; opacity:.95; }
.h8-hero--bg .h8-hero__lines{ opacity:.5; }
.h8-hero__grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.02fr .98fr; gap:40px; align-items:center; min-height:84vh; padding:150px 0 40px; }

/* small corner badge/logo placeholder (replaces 8848's everest mark) */
.h8-badge-img{ display:block; margin-top:30px; width:210px; height:auto; }

/* right side: stamp/logo watermark + sliding cut-out momo */
.h8-hero__media{ position:relative; align-self:stretch; min-height:480px; }
.h8-hero__stamp{ position:absolute; top:50%; right:3%; transform:translateY(-50%); width:clamp(280px,30vw,460px); height:auto; opacity:.5; z-index:1; }
.h8-hero__hand{ position:absolute; right:0; bottom:0; z-index:2; height:96%; width:auto; max-width:none;
  filter:drop-shadow(0 30px 40px rgba(16,30,60,.28));
  animation:h8slide 1s cubic-bezier(.2,.7,.2,1) .15s both; }
@keyframes h8slide{ from{ opacity:0; transform:translateX(90px) rotate(3deg); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .h8-hero__hand{ animation:none; } }

/* ---------- two-column generic ---------- */
.h8-two{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px); align-items:center; }
.h8-two--flip .h8-origin__copy{ order:1; } .h8-two--flip .h8-origin__img{ order:2; }

/* STORY */
.h8-story{ position:relative; background:#fff; padding:clamp(64px,8vw,110px) 0; overflow:hidden; }
.h8-story__lines{ position:absolute; left:0; top:0; width:46%; height:78%; z-index:0;
  background-repeat:no-repeat; background-position:top left; background-size:cover; pointer-events:none; }
.h8-story .h8-two{ position:relative; z-index:1; }
/* rotating plate */
.h8-story__platewrap{ display:grid; place-items:center; }
.h8-plate{ width:min(100%,460px); aspect-ratio:1/1; border-radius:50%; object-fit:cover;
  box-shadow:0 40px 70px -30px rgba(16,30,60,.5); will-change:transform; }
/* heading: bold navy + red script */
.h8-story-h{ line-height:.96; margin-bottom:8px; }
.h8-story-h .bold{ display:block; font-family:"Bebas Neue",sans-serif; color:var(--navy); text-transform:uppercase; letter-spacing:.01em; font-size:clamp(2.2rem,4.4vw,3.4rem); }
.h8-story-h .script{ display:block; font-family:"Lobster",cursive; color:var(--coral); font-size:clamp(2rem,4vw,3rem); transform:rotate(-3deg); transform-origin:left; margin-top:4px; }
.h8-story__copy .h8-body{ margin-top:16px; }
.h8-why{ margin-top:24px; background:#eef1fb; border-left:5px solid var(--coral); border-radius:0 12px 12px 0; padding:22px 26px; }
.h8-why strong{ color:var(--navy); }
.h8-why p{ color:#46596a; line-height:1.6; margin:0; }
.h8-note{ display:flex; gap:10px; margin-top:18px; color:#7488a0; font-size:.92rem; line-height:1.5; }
.h8-note__star{ color:var(--coral); font-size:1.2rem; line-height:1; }

/* ORIGIN */
.h8-origin{ position:relative; background:#f4f6fc; padding:clamp(70px,8vw,120px) 0;
  background-image:repeating-linear-gradient(45deg, rgba(34,65,141,.04) 0 1px, transparent 1px 30px);
  background-size:cover; background-position:center; background-repeat:no-repeat; }
.h8-origin__copy{ position:relative; }
.h8-origin__stamp{ position:absolute; top:-46px; left:-36px; width:210px; height:auto; opacity:.5; z-index:0; }
.h8-origin__copy > *:not(.h8-origin__stamp){ position:relative; z-index:1; }
.h8-origin__copy .h8-lead-bold{ margin-top:14px; } .h8-origin__copy .h8-body{ margin-top:12px; } .h8-origin__copy .h8-btn{ margin-top:24px; }
.h8-origin__img img{ width:100%; border-radius:18px; box-shadow:0 30px 60px -34px rgba(16,30,60,.45); aspect-ratio:4/3; object-fit:cover; }

/* HASHTAG banner */
.h8-tag{ position:relative; overflow:hidden; background-size:cover; background-position:center; min-height:clamp(360px,46vw,560px); display:grid; place-items:center; }
.h8-tag__inner{ position:relative; display:grid; place-items:center; gap:22px; text-align:center; max-width:100%; padding-inline:16px; }
.h8-tag__word{ font-family:"Bebas Neue",sans-serif; color:#fff; font-size:clamp(2.8rem,15vw,13rem); line-height:.8; letter-spacing:.02em;
  max-width:100%; overflow-wrap:anywhere; text-shadow:0 8px 30px rgba(0,0,0,.4); }

/* JOURNAL */
.h8-journal{ position:relative; background:#fff center/cover no-repeat; padding:clamp(60px,8vw,100px) 0; }
.h8-journal--bg::before{ content:""; position:absolute; inset:0; background:rgba(255,255,255,.30); z-index:0; }
.h8-journal--bg .container{ position:relative; z-index:1; }
.h8-journal--bg .h8-journal__head h2{ text-shadow:0 1px 14px rgba(255,255,255,.95), 0 0 4px rgba(255,255,255,.8); }
.h8-journal__head{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:40px; flex-wrap:wrap; }
.h8-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.h8-card{ display:block; }
.h8-card__img{ border-radius:14px; overflow:hidden; aspect-ratio:16/10; box-shadow:0 22px 44px -30px rgba(16,30,60,.5); }
.h8-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.h8-card:hover .h8-card__img img{ transform:scale(1.04); }
.h8-card__body{ padding:18px 2px 0; }
.h8-card h3{ font-family:"Poppins",sans-serif; font-weight:700; color:var(--coral); font-size:1.18rem; line-height:1.3; }
.h8-card p{ color:#5b6c77; margin-top:8px; font-size:.95rem; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.h8-read{ display:inline-block; margin-top:12px; font-family:"Bebas Neue",sans-serif; letter-spacing:.12em; color:var(--coral); font-size:1rem; }

/* 365-CREW CTA — solid red panel, white text, copy left + admin graphic right */
.h8-social{ background:var(--coral); color:#fff; padding:clamp(46px,5vw,76px) 0; position:relative; overflow:hidden; }
.h8-social::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:repeating-linear-gradient(135deg, rgba(0,0,0,.05) 0 1px, transparent 1px 30px); }
.h8-club{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,56px); align-items:center; }
.h8-club--solo{ grid-template-columns:1fr; }
.h8-club__title{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.02em;
  line-height:.95; font-size:clamp(2.2rem,4.6vw,3.6rem); color:#fff; }
.h8-club__title .cw{ color:#fff; }
.h8-club__text{ color:rgba(255,255,255,.94); line-height:1.65; margin:16px 0 22px; max-width:34rem; font-size:1.02rem; }
.h8-club__art{ position:relative; display:flex; align-items:center; justify-content:center; min-height:200px; }
.h8-club__graphic{ width:100%; max-width:520px; height:auto; max-height:460px; object-fit:contain; filter:drop-shadow(0 22px 36px rgba(0,0,0,.3)); }
.h8-club__bubble{ position:absolute; top:6%; right:0; width:46%; max-width:240px; height:auto; object-fit:contain; }

.h8-news{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:20px; padding:clamp(24px,3vw,38px); backdrop-filter:blur(4px); }
.h8-news__title{ font-family:"Bebas Neue",sans-serif; font-size:clamp(1.9rem,3.4vw,2.7rem); letter-spacing:.02em; line-height:1; color:#fff; }
.h8-news__title .dk{ color:var(--ink); }
.h8-news__text{ color:rgba(255,255,255,.92); line-height:1.65; margin:14px 0 22px; }
.h8-news__form{ display:flex; gap:10px; flex-wrap:wrap; }
.h8-news__form input[type=email]{ flex:1; min-width:0; padding:14px 16px; border-radius:12px; border:0; font-size:1rem; background:#fff; color:var(--navy); }
.h8-news__form input[type=email]::placeholder{ color:#5e6e78; }
.h8-news__form .h8-btn{ white-space:nowrap; }
.hp-trap{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
.h8-news__fine{ display:block; margin-top:14px; color:#fff; font-size:.84rem; }
.h8-news__msg{ display:flex; align-items:center; gap:9px; padding:12px 15px; border-radius:12px; margin-bottom:16px; font-size:.95rem; }
.h8-news__msg--ok{ background:rgba(255,255,255,.95); color:#1c7a3e; }
.h8-news__msg--err{ background:rgba(255,255,255,.95); color:var(--coral); }
.h8-news__or{ display:flex; align-items:center; gap:12px; margin:18px 0; }
.h8-news__or span{ color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; }
.h8-news__or::before,.h8-news__or::after{ content:""; flex:1; height:1px; background:rgba(255,255,255,.28); }
.h8-btn--white{ background:#fff; color:var(--navy); }
.h8-btn--white:hover{ background:#eef1fb; }
.h8-news__book{ width:100%; justify-content:center; }

/* ---------- responsive ---------- */
@media (max-width:900px){
  .h8-header__grid{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .h8-hcol,.h8-header .h8-util,.h8-header .h8-nav{ display:none; }
  .h8-hlogo{ justify-self:auto; }
  .h8-hlogo img{ height:54px; }
  .h8-header .nav-toggle{ display:inline-flex; }
  .h8-hero__grid,.h8-two{ grid-template-columns:1fr; }
  .h8-hero__grid{ padding:104px 0 0; gap:18px; text-align:center; min-height:0; }
  .h8-btns{ justify-content:center; }
  .h8-badge-img{ display:none; }
  .h8-lead{ margin-inline:auto; }
  .h8-hero__lines{ width:78%; height:26%; top:0; right:0; }
  .h8-hero__media{ min-height:360px; display:flex; align-items:flex-end; justify-content:center; }
  .h8-hero__stamp{ right:50%; transform:translate(50%,-50%); }
  .h8-hero__hand{ position:relative; right:auto; bottom:0; height:auto; width:auto; max-height:360px; margin-inline:auto; }
  .h8-two--flip .h8-origin__copy{ order:2; } .h8-two--flip .h8-origin__img{ order:1; }
  .h8-cards{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .h8-why{ margin-inline:auto; }
  .h8-club{ grid-template-columns:1fr; gap:26px; }
  .h8-club__art{ min-height:0; } .h8-club__graphic{ max-width:340px; max-height:320px; }
  .h8-club__bubble{ display:none; }
}
@media (max-width:560px){
  .h8-hero__hand{ max-height:300px; }
  .h8-origin__stamp{ display:none; }
  .h8-btn{ padding:14px 22px; }
  .h8-btns{ width:100%; } .h8-btns .h8-btn{ flex:1; justify-content:center; }
  .h8-news__form .h8-btn{ width:100%; justify-content:center; }
}

/* =====================================================================
   GLOBAL FOOTER (8848-style, MOMO 365 branding) — loaded on every page
   ===================================================================== */
.momo-footer{ --navy:#22418d; --coral:#de1e3e;
  position:relative; overflow:hidden; color:#cdd9e3;
  background:linear-gradient(180deg,#22418d 0%,#16285e 100%); padding:72px 0 0; }
.momo-footer--bg{ background-size:cover; background-position:center; }
.momo-footer--bg::before{ content:""; position:absolute; inset:0; background:rgba(22,41,107,.92); }

.mf-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 1.15fr; gap:clamp(48px,7vw,96px); align-items:start; padding-bottom:52px; }

/* left */
.mf-logo{ height:62px; width:auto; display:block; margin-bottom:20px; }
.mf-social{ display:flex; gap:12px; margin-bottom:22px; }
.mf-social a{ width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.12); color:#fff; transition:background .2s,transform .2s; }
.mf-social a:hover{ background:var(--coral); transform:translateY(-2px); }
.mf-about{ max-width:34rem; line-height:1.75; color:#bccdd8; font-size:.97rem; margin-bottom:26px; }
.mf-btns{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.mf-btn{ display:inline-flex; align-items:center; gap:9px; font-family:"Bebas Neue",sans-serif; letter-spacing:.1em; text-transform:uppercase; font-size:1.05rem; padding:14px 28px; border-radius:6px; transition:background .2s,color .2s,transform .2s; }
.mf-btn--coral{ background:var(--coral); color:#fff; }
.mf-btn--coral:hover{ background:#c01a33; transform:translateY(-2px); }
.mf-btn--ghost{ color:#dfe8ef; padding:14px 8px; }
.mf-btn--ghost:hover{ color:#fff; text-decoration:underline; text-underline-offset:5px; }


/* right */
.mf-script{ font-family:"Lobster",cursive; font-size:clamp(1.7rem,3vw,2.4rem); color:#fff; line-height:1; margin-bottom:12px; }
.mf-find__h{ font-family:"Bebas Neue",sans-serif; font-size:clamp(2.1rem,4.4vw,3.2rem); line-height:.93; letter-spacing:.02em; text-transform:uppercase; color:#fff; margin-bottom:26px; }
.mf-find__h span{ color:#9fb0d8; }
.mf-pin{ display:inline-block; width:30px; height:30px; line-height:30px; text-align:center; border-radius:50%; background:var(--coral); color:#fff; font-size:.85rem; flex:none; }
.mf-pin--sm{ width:26px; height:26px; line-height:26px; font-size:.72rem; }
.mf-loc{ display:flex; gap:13px; align-items:flex-start; margin-bottom:24px; }
.mf-loc b{ display:block; color:#fff; font-size:1.05rem; margin-bottom:5px; }
.mf-loc span{ display:block; color:#bccdd8; line-height:1.6; }
.mf-loc .mf-hours{ margin-top:7px; color:#9fb0d8; font-size:.9rem; }
.mf-contact{ display:flex; flex-direction:column; gap:14px; }
.mf-mail{ display:inline-flex; align-items:flex-start; flex-wrap:wrap; gap:11px; color:#dfe8ef; width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.mf-mail:hover{ color:#fff; }
.mf-bigphone{ display:inline-flex; align-items:flex-start; flex-wrap:wrap; gap:12px; font-family:"Bebas Neue",sans-serif; font-size:clamp(1.6rem,3.6vw,2.7rem); letter-spacing:.04em; color:#fff; width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.mf-bigphone:hover{ color:var(--coral); }
.mf-bigphone .mf-pin{ background:var(--coral); }

/* bottom bar */
.mf-bottom{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:center; padding-top:22px; padding-bottom:30px; border-top:1px solid rgba(255,255,255,.12); font-size:.86rem; line-height:1.6; color:#9fb0bd; }
.mf-legal{ display:flex; gap:12px; align-items:center; }
.mf-legal a{ color:#c3d2dc; }
.mf-legal a:hover{ color:#fff; }
.mf-legal span{ color:rgba(255,255,255,.28); }

@media (max-width:900px){
  .momo-footer{ padding:54px 0 0; }
  .mf-grid{ grid-template-columns:1fr; gap:38px; padding-bottom:40px; }
  .mf-about{ max-width:none; }
  .mf-bottom{ flex-direction:column; align-items:flex-start; gap:14px; padding-bottom:90px; }
}
@media (max-width:560px){
  .mf-btns{ flex-direction:column; align-items:stretch; }
  .mf-btn{ justify-content:center; }
  .mf-btn--ghost{ padding:12px; }
  .mf-logo{ height:54px; }
  .mf-legal{ flex-wrap:wrap; }
}

/* =====================================================================
   GALLERY PAGE — 8848-style light header + photo grid
   ===================================================================== */
.gx-hero{ position:relative; overflow:hidden; background:#eef1fb; padding:150px 0 56px; text-align:center; background-size:cover; background-position:center; }
/* master stripe (admin) drives the pattern on every non-home hero; CSS diagonal is the fallback */
.gx-hero::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:var(--page-stripe, repeating-linear-gradient(135deg, rgba(34,65,141,.05) 0 1px, transparent 1px 30px));
  background-size:cover; background-position:center; background-repeat:no-repeat; }
/* with a per-page full background image, swap the pattern for a light readability veil */
.gx-hero--bg::before{ background-image:none; background:rgba(238,241,251,.82); }
.gx-hero > .container{ position:relative; z-index:1; }
.gx-eyebrow{ display:inline-block; font-family:"Bebas Neue",sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--coral); font-size:1.05rem; margin-bottom:8px; }
.gx-title{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; line-height:.95; letter-spacing:.01em; font-size:clamp(2.6rem,6vw,5rem); color:var(--navy); }
.gx-title .red{ color:var(--coral); }
.gx-grid-wrap{ background:#fff; padding:clamp(30px,4vw,56px) 0 clamp(60px,8vw,100px); }

/* =====================================================================
   BLOG PAGE — 8848 "Newsroom" style (dotted board + post cards)
   ===================================================================== */
.bx-wrap{ position:relative; overflow:hidden; background:#fff; padding:clamp(34px,4vw,56px) 0 clamp(60px,8vw,100px); }
.bx-wrap::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(135deg, rgba(34,65,141,.04) 0 1px, transparent 1px 34px); }
.bx-board{ position:relative; z-index:1; border:2px dotted rgba(34,65,141,.55); border-radius:8px; padding:clamp(26px,4vw,54px); }
.bx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(30px,4vw,56px); }
.bx-card{ display:flex; flex-direction:column; }
.bx-card__media{ display:block; border-radius:5px; overflow:hidden; box-shadow:0 22px 40px -26px rgba(16,30,60,.4); }
.bx-card__media img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .4s ease; }
.bx-card__media:hover img{ transform:scale(1.04); }
.bx-card__title{ text-align:center; color:var(--coral); font-weight:700; line-height:1.25;
  font-size:clamp(1.18rem,1.7vw,1.5rem); margin:20px 0 12px; }
.bx-card__title a{ color:inherit; }
.bx-card__title a:hover{ color:#22418d; }
.bx-card__excerpt{ color:#3a4a55; line-height:1.7; flex:1; }
.bx-card__more{ display:block; text-align:right; margin-top:18px; padding-top:14px;
  border-top:1px solid rgba(34,65,141,.18); font-family:"Bebas Neue",sans-serif; letter-spacing:.12em;
  text-transform:uppercase; font-size:1rem; color:#9fb0d8; }
.bx-card__more:hover{ color:var(--coral); }

@media (max-width:900px){ .bx-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .bx-grid{ grid-template-columns:1fr; max-width:420px; margin-inline:auto; } .bx-board{ padding:22px; } }

/* =====================================================================
   BLOG POST (single) — brand-themed hero + readable article + CTA
   ===================================================================== */
.bp-hero{ position:relative; overflow:hidden; background-color:#16285e; background-size:cover; background-position:center;
  padding:clamp(120px,16vw,210px) 0 clamp(46px,6vw,78px); }
.bp-hero__veil{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(13,20,46,.55) 0%, rgba(20,38,94,.9) 100%); }
.bp-hero__inner{ position:relative; z-index:1; max-width:880px; margin-inline:auto; text-align:center; }
.bp-back{ display:inline-flex; align-items:center; gap:9px; color:#cdd9f5; font-family:"Bebas Neue",sans-serif;
  letter-spacing:.14em; text-transform:uppercase; font-size:1rem; margin-bottom:20px; transition:color .2s; }
.bp-back:hover{ color:#fff; }
.bp-cat{ display:inline-block; background:var(--coral); color:#fff; font-family:"Poppins",sans-serif; font-weight:600;
  font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; padding:6px 16px; border-radius:30px; margin-bottom:16px; }
.bp-title{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; line-height:.98;
  letter-spacing:.01em; font-size:clamp(2.3rem,5.5vw,4.4rem); color:#fff; text-shadow:0 4px 26px rgba(8,16,40,.5); }
.bp-meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 26px; margin-top:20px; color:#c3d2f2; font-size:.95rem; }
.bp-meta i{ color:var(--coral); margin-right:6px; }

.bp-article{ background:#fff; padding:clamp(44px,6vw,84px) 0 clamp(18px,3vw,28px); }
.bp-body{ max-width:760px; margin-inline:auto; }
.bp-body > :first-child{ margin-top:0; }
.bp-body p{ color:#3a4a55; line-height:1.85; font-size:1.06rem; margin:0 0 22px; }
.bp-body h2{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  line-height:1.05; color:var(--navy); font-size:clamp(1.7rem,3vw,2.4rem); margin:40px 0 14px; }
.bp-body h3{ font-family:"Poppins",sans-serif; font-weight:700; color:var(--navy); font-size:1.3rem; margin:30px 0 12px; }
.bp-body a{ color:var(--coral); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bp-body a:hover{ color:var(--navy); }
.bp-body strong{ color:var(--navy); }
.bp-body ul,.bp-body ol{ color:#3a4a55; line-height:1.8; margin:0 0 22px; padding-left:1.35em; }
.bp-body li{ margin-bottom:9px; }
.bp-body ul li::marker{ color:var(--coral); }
.bp-body blockquote{ margin:30px 0; padding:8px 0 8px 24px; border-left:4px solid var(--coral);
  color:var(--navy); font-style:italic; font-size:1.18rem; line-height:1.6; }
.bp-body img{ width:100%; height:auto; border-radius:14px; margin:26px 0; box-shadow:0 26px 50px -28px rgba(16,30,60,.4); }
.bp-body hr{ border:0; border-top:1px solid #e3e8f4; margin:36px 0; }

.bp-tags{ max-width:760px; margin:38px auto 0; display:flex; flex-wrap:wrap; gap:12px; padding-top:26px; border-top:1px solid #e3e8f4; }
.bp-pill{ display:inline-flex; align-items:center; gap:8px; background:#eef1fb; color:var(--navy); font-weight:600;
  font-size:.9rem; padding:10px 18px; border-radius:30px; transition:background .2s,color .2s,transform .2s; }
.bp-pill i{ color:var(--coral); transition:color .2s; }
.bp-pill:hover{ background:var(--navy); color:#fff; transform:translateY(-2px); }
.bp-pill:hover i{ color:#fff; }

.bp-cta{ background:linear-gradient(160deg,#22418d 0%,#16285e 100%); padding:clamp(50px,7vw,86px) 0; }
.bp-cta__inner{ text-align:center; max-width:620px; margin-inline:auto; }
.bp-cta__h{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; color:#fff;
  font-size:clamp(2.2rem,4.5vw,3.4rem); line-height:1; }
.bp-cta__h .red{ color:var(--coral); }
.bp-cta__p{ color:#cdd9f5; line-height:1.7; margin:14px auto 26px; max-width:480px; }
.bp-cta__btns{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

.bp-related{ background:#f3f5fc; padding:clamp(50px,7vw,90px) 0; }
.bp-related__head{ text-align:center; margin-bottom:clamp(30px,4vw,48px); }
.bp-related__h{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; color:var(--navy);
  font-size:clamp(1.9rem,4vw,3rem); line-height:1; margin-top:6px; }
.bp-related__h .red{ color:var(--coral); }
@media (max-width:640px){
  .bp-cta__btns{ width:100%; } .bp-cta__btns .h8-btn{ flex:1; justify-content:center; }
}

/* =====================================================================
   ABOUT PAGE — 8848 style (alternating photo/copy + navy banner + tale)
   ===================================================================== */
.ab-split{ position:relative; overflow:hidden; background:#fff; padding:clamp(48px,6vw,88px) 0; }
.ab-split:nth-of-type(even){ background:#fbfbfe; }
.ab-split::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:repeating-linear-gradient(135deg, rgba(34,65,141,.04) 0 1px, transparent 1px 34px); }
.ab-split__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,72px); align-items:center; }
.ab-split__media{ position:relative; }
.ab-split__media::before{ content:""; position:absolute; right:-22px; bottom:-22px; width:62%; height:74%; background:#e7ecfb; border-radius:10px; z-index:0; }
.ab-split__media img{ position:relative; z-index:1; width:100%; height:auto; display:block; border-radius:10px; box-shadow:0 30px 54px -28px rgba(16,30,60,.45); }

.ab-h{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; line-height:.92; letter-spacing:.01em;
  font-size:clamp(2rem,4.4vw,3.4rem); color:var(--navy); margin-bottom:18px; }
.ab-h .red{ color:var(--coral); }
.ab-h--navy{ color:var(--navy); }
.ab-h--red{ color:var(--coral); }
.ab-script{ font-family:"Lobster",cursive; color:var(--coral); line-height:1; font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:12px; }
.ab-lead{ color:var(--navy); font-weight:700; font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.55; margin-bottom:16px; }
.ab-body{ color:#33457f; line-height:1.85; margin-bottom:14px; }

.ab-banner{ position:relative; background:var(--navy); color:#fff; text-align:center;
  padding:clamp(44px,6vw,86px) 0; border-bottom:5px solid var(--coral); }
.ab-banner__h{ font-family:"Bebas Neue",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.02em;
  line-height:1; font-size:clamp(1.9rem,4.2vw,3.2rem); color:#fff; }
.ab-banner__sub{ color:rgba(255,255,255,.86); margin-top:12px; font-size:clamp(1rem,1.5vw,1.15rem); }
.ab-banner__tick{ display:block; width:5px; height:clamp(48px,7vw,96px); background:var(--coral); margin:0 auto; }

@media (max-width:860px){
  .ab-split__grid{ grid-template-columns:1fr; gap:30px; }
  .ab-split--alt .ab-split__copy{ order:2; } .ab-split--alt .ab-split__media{ order:1; }
  .ab-split__media::before{ display:none; }
}

/* =====================================================================
   RESERVE PAGE — blue/red booking form + light location
   ===================================================================== */
.rz-form-sec{ position:relative; overflow:hidden; background:#eef1fb; padding:clamp(48px,6vw,84px) 0; }
.rz-form-sec::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(135deg, rgba(34,65,141,.05) 0 1px, transparent 1px 30px); }
.rz-form-sec--bg{ background-size:cover; background-position:center; }
.rz-form-sec--bg::before{ display:none; }                 /* show the uploaded image directly, no overlay */
.rz-card{ position:relative; z-index:1; background:transparent; max-width:780px; margin:0 auto; padding:0; }
.rz-card__head{ text-align:center; margin-bottom:24px; }
.rz-kicker{ font-family:"Bebas Neue",sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--coral); font-size:1.05rem; }
.rz-h{ font-family:"Bebas Neue",sans-serif; text-transform:uppercase; color:var(--navy); line-height:1; font-size:clamp(2rem,4vw,3rem); margin:6px 0 8px; }
.rz-h .red{ color:var(--coral); }
.rz-sub{ color:#566b86; }
.rz-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rz-field{ display:flex; flex-direction:column; }
.rz-field--full{ grid-column:1/-1; }
.rz-field label{ font-weight:600; color:var(--navy); font-size:.84rem; letter-spacing:.02em; margin-bottom:6px; }
.rz-opt{ color:#9aa7bd; font-weight:400; text-transform:none; letter-spacing:0; }
.rz-field input,.rz-field select,.rz-field textarea{ width:100%; padding:12px 14px; border:1.5px solid #dde3f2; border-radius:10px; font:inherit; font-size:.96rem; color:var(--navy); background:#fff; }
.rz-field textarea{ min-height:96px; resize:vertical; }
.rz-field input:focus,.rz-field select:focus,.rz-field textarea:focus{ outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(34,65,141,.13); }
.rz-trap{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.rz-submit{ display:flex; align-items:center; justify-content:center; gap:.5em; width:100%; margin-top:20px;
  background:var(--coral); color:#fff; font-family:"Poppins",sans-serif; font-weight:700; letter-spacing:.03em;
  font-size:1rem; padding:16px; border-radius:12px; transition:background .2s,transform .2s; }
.rz-submit:hover{ background:#c01a33; transform:translateY(-2px); }
.rz-note{ text-align:center; color:#8392aa; font-size:.84rem; margin-top:12px; }
.rz-msg{ display:flex; align-items:center; gap:9px; padding:13px 16px; border-radius:12px; margin-bottom:18px; font-weight:500; }
.rz-msg--ok{ background:#e6f7ef; color:#0c7a55; }
.rz-msg--err{ background:#fdecec; color:var(--coral); }
.rz-contacts{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px; }
.rz-contacts a{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px; min-width:0; padding:16px 10px; border-radius:14px; background:#f3f5fc; transition:background .2s; }
.rz-contacts a:hover{ background:#e7ecfb; }
.rz-contacts i{ font-size:1.2rem; color:var(--coral); margin-bottom:3px; }
.rz-contacts span{ font-size:.76rem; color:#7d8aa3; text-transform:uppercase; letter-spacing:.06em; }
.rz-contacts b{ color:var(--navy); font-size:.95rem; max-width:100%; overflow-wrap:anywhere; }
/* when an admin background image is set, the form sits directly on it — switch copy to white */
.rz-form-sec--bg .rz-kicker{ color:#fff; text-shadow:0 2px 12px rgba(8,16,40,.55); }
.rz-form-sec--bg .rz-h{ color:#fff; text-shadow:0 3px 18px rgba(8,16,40,.6); }
.rz-form-sec--bg .rz-h .red{ color:var(--coral); }
.rz-form-sec--bg .rz-sub{ color:rgba(255,255,255,.92); text-shadow:0 2px 12px rgba(8,16,40,.5); }
.rz-form-sec--bg .rz-field label{ color:#fff; text-shadow:0 1px 8px rgba(8,16,40,.5); }
.rz-form-sec--bg .rz-opt{ color:rgba(255,255,255,.7); }
.rz-form-sec--bg .rz-note{ color:rgba(255,255,255,.88); text-shadow:0 1px 8px rgba(8,16,40,.5); }
.rz-form-sec--bg .rz-contacts a{ background:rgba(255,255,255,.13); backdrop-filter:blur(3px); }
.rz-form-sec--bg .rz-contacts a:hover{ background:rgba(255,255,255,.22); }
.rz-form-sec--bg .rz-contacts span{ color:rgba(255,255,255,.82); }
.rz-form-sec--bg .rz-contacts b{ color:#fff; }

/* reserve location (light section, royal-blue info panel) */
.rz-loc{ background:#fff; padding:clamp(48px,6vw,90px) 0; }
.rz-loc .locate{ border:0; border-radius:18px; box-shadow:0 36px 70px -34px rgba(16,30,60,.5); }
.rz-loc .locate__info{ background:linear-gradient(160deg,#22418d 0%,#16285e 100%); }
.rz-loc .locate__info .eyebrow{ color:#fff; }
.rz-loc .locate__map{ border:0; }
.rz-loc .locate__map iframe{ filter:none; }

@media (max-width:780px){
  .rz-contacts{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .rz-grid{ grid-template-columns:1fr; }
  .rz-contacts{ grid-template-columns:1fr; }
}
