@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Shippori+Mincho:wght@600;700&family=Yuji+Syuku&display=swap');

/* === WTF Cabo · OMNI THEME (global, no JS, no HTML changes) === */
:root{
  --bg:#0b0f14; --surface:#111827; --glass:#0f172ab3;
  --text:#e5e7eb; --muted:#9ca3af;
  --accent:#D8A25E; --accent-2:#f2c07a; --ring:rgba(216,162,94,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-2)}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:8px}

/* ===== WRAP / SECTIONS ===== */
.wrap{max-width:1100px;margin:0 auto;padding:24px 20px}
.section{padding-block:12px}
@media (max-width:640px){.wrap{padding:18px 16px}}

/* ===== HEADER ===== */
.site-header{position:sticky;top:0;z-index:50;height:64px;
  background:rgba(18,14,13,.95);backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid #D8A25E1a}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
.site-header nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.site-header nav a{padding:8px 10px;border-radius:10px;color:var(--text);opacity:.9}
.site-header nav a:hover,.site-header nav a.active{opacity:1;background:#ffffff12}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.85rem 1rem;border-radius:12px;border:0;font-weight:900;cursor:pointer;
  background:var(--accent);color:#1b140f;box-shadow:0 8px 22px rgba(0,0,0,.28);
  transition:transform .08s,filter .15s,box-shadow .18s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.ghost{background:transparent;color:var(--text);box-shadow:none;
  outline:1px solid color-mix(in oklab,var(--accent) 45%, transparent)}
.btn.ghost:hover{background:#ffffff12}

/* ===== CARDS / GRID ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px;
  box-shadow:0 12px 32px rgba(0,0,0,.28)}
.card h3{margin:.2rem 0 .4rem;font-weight:900;letter-spacing:.02em}
.card p{opacity:.95}

/* ===== TABLES ===== */
.table{overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--glass);
  border:1px solid #D8A25E22;border-radius:14px;overflow:hidden}
th,td{padding:12px 14px;border-bottom:1px solid #D8A25E12;text-align:left;vertical-align:top}
thead th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#D8A25E33,#D8A25E1a);
  font-weight:1000;letter-spacing:.02em}
tbody tr:nth-child(odd){background:rgba(255,255,255,.03)}
tbody tr:hover{background:rgba(255,255,255,.06)}
.num{text-align:right;font-variant-numeric:tabular-nums}

/* ===== FORMS ===== */
.form, form, .pro-form{display:grid;gap:12px}
label{display:flex;flex-direction:column;gap:.4rem;font-weight:800}
input,select,textarea{
  width:100%;padding:.9rem 1rem;border-radius:12px;border:1px solid #cbb7aa66;
  background:var(--surface);color:var(--text);
  transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder,textarea::placeholder{color:#cbb7aacc}
input:focus,select:focus,textarea:focus{border-color:var(--accent);
  box-shadow:0 0 0 3px var(--ring);outline:none}
select{appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,#cbb7aa 50%),linear-gradient(135deg,#cbb7aa 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 4px), calc(100% - 12px) calc(50% - 4px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
input[type=radio],input[type=checkbox]{accent-color:var(--accent)}

/* ===== BADGES / CHIPS / ALERTS ===== */
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{padding:.44rem .7rem;border-radius:999px;background:#ffffff10;border:1px solid #ffffff22;font-weight:800}
.chip{display:inline-block;padding:.26rem .6rem;border-radius:10px;line-height:1;
  border:1px solid #D8A25E22;background:#D8A25E14;font-weight:900}
.alert{padding:.85rem 1rem;border-radius:12px;border:1px solid #D8A25E22;background:#0004}
.alert.ok{border-color:#2ecc71;background:#2ecc7122}
.alert.err{border-color:#e45858;background:#e4585822}

/* ===== PAGE-SPECIFIC POLISH (rates/contact/quote/prices) ===== */
.rates .lede{opacity:.9}
.contact .form{max-width:720px}
.quote .total,.booking .total{font-size:clamp(24px,4.2vw,36px);font-weight:1000}
.prices .card, .admin .card{overflow:auto}

/* ===== IG / iframes safe (no ocultar) ===== */
iframe{max-width:100%;border:0}

/* ===== “blue kill” defensivo ===== */
[class*=""],[class*=""],[class*="border-blue"],.
  color:inherit!important;border-color:var(--accent)!important;box-shadow:none!important
}

/* === OMNI PALETTE OVERRIDE (brand bronze) === */
:root{
  --bg:#0b0f14;          /* fondo oscuro */
  --surface:#111827;     /* panel */
  --glass:#0f172ab3;     /* vidrio */
  --text:#f5eee9;        /* texto crema (alta legibilidad) */
  --muted:#cbb7aa;       /* texto secundario */
  --accent:#D8A25E;      /* TU dorado */
  --accent-2:#D8A25E;    /* igual al acento (sin variaciones raras) */
  --ring:rgba(216,162,94,.35);
}

/* IG_WIDGET_PRO_START */
.ig-feed .lightwidget-widget,
iframe[src*="cdn.lightwidget.com/widgets/"]{
  display:block; width:100% !important; min-height:420px;
  border:0 !important; border-radius:12px;
  overflow:hidden; background:transparent;
  box-shadow:var(--shadow,0 12px 32px rgba(0,0,0,.28));
}
@media (max-width:640px){
  .ig-feed .lightwidget-widget,
  iframe[src*="cdn.lightwidget.com/widgets/"]{ min-height:320px }
}
/* IG_WIDGET_PRO_END */
/* HOME_UPGRADE_START — WTF Cabo (solo HOME, sin navy) =========================
   Scope: #hero.hero-meme, #services, .steps, .highlights, .testimonials, .final-cta, section#rates (mini tabla home)
   No toca páginas /rates /contact /prices, etc. Mantiene acento bronce (#D8A25E)  */

:root{
  --bg: var(--bg, #0b0f14);
  --surface: var(--surface, #111827);
  --text: var(--text, #e5e7eb);
  --muted: var(--muted, #9ca3af);
  --accent: var(--accent, #D8A25E);
  --accent-2: var(--accent-2, #f2c07a);
}

/* -------- HERO (meme banner) -------- */
#hero.hero-meme{
  padding:clamp(48px,7vw,84px) 0 20px;
  background:
    radial-gradient(1000px 420px at 8% -8%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 70%),
    radial-gradient(1000px 420px at 100% 0, color-mix(in oklab, var(--accent-2) 12%, transparent), transparent 70%),
    var(--bg);
  border-radius:18px;
}
#hero.hero-meme .meme-banner{
  border:1px solid #D8A25E22; border-radius:18px;
  background:linear-gradient(180deg,#D8A25E10,#D8A25E05);
  padding:18px 14px; box-shadow:0 12px 32px rgba(0,0,0,.32)
}
#hero.hero-meme .meme-logo{
  font-weight:1000; letter-spacing:.04em;
  font-size:clamp(30px,6.2vw,64px); line-height:1;
  text-shadow:0 0 22px rgba(240,201,173,.22)
}
#hero.hero-meme .meme-meaning{
  font-weight:900; letter-spacing:.02em; opacity:.95;
  font-size:clamp(16px,3.1vw,26px); line-height:1.15;
  padding-inline:6px; border-left:2px solid #D8A25E33
}
#hero.hero-meme .meme-sub{opacity:.92}
#hero.hero-meme .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
#hero.hero-meme .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.9rem 1.1rem;border-radius:12px;border:0;font-weight:900;cursor:pointer;
  background:var(--accent); color:#1b140f; box-shadow:0 8px 22px rgba(0,0,0,.35); transition:.15s}
#hero.hero-meme .btn:hover{transform:translateY(-1px); filter:brightness(1.05)}
#hero.hero-meme .btn.btn-ghost{background:transparent;color:var(--text);outline:1px solid #D8A25E45;box-shadow:none}
#hero.hero-meme .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
#hero.hero-meme .badge{padding:.42rem .68rem;border-radius:999px;background:#ffffff12;border:1px solid #ffffff22;font-weight:800}
@media (max-width:720px){ #hero.hero-meme .meme-meaning{border-left:0; text-align:center; padding-inline:0} }

/* -------- SERVICES (cards grid) -------- */
#services .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
#services .card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px; padding:18px; min-width:0;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  transition:transform .16s, box-shadow .16s, border-color .16s
}
#services .card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(0,0,0,.38);border-color:#D8A25E2f}
#services .card h3{font-weight:900;letter-spacing:.02em;margin:.2rem 0 .35rem}
#services .card p{opacity:.95}
#services .card .mini{margin:.6rem 0 0 0;padding-left:18px}
#services .card .mini li{margin:.28rem 0;opacity:.95}
#services .card .btn{padding:.7rem .95rem;border-radius:10px;font-weight:900}
#services .card .btn.btn-primary{background:var(--accent);color:#1b140f;border:0}
#services .card .btn.btn-ghost{background:transparent;color:var(--text);outline:1px solid #D8A25E44}
/* Glow en la primera card si existe */
#services .card.glow{
  border-color: color-mix(in oklab, var(--accent) 34%, transparent);
  box-shadow: 0 18px 42px rgba(0,0,0,.36), 0 0 0 1px color-mix(in oklab, var(--accent) 20%, transparent) inset;
}

/* -------- STEPS (si la sección existe) -------- */
section.steps h2{font-weight:1000;letter-spacing:.02em;margin:.2rem 0 .6rem}
section.steps .card.mini{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start}
section.steps .icon{
  inline-size:40px;block-size:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 28%, transparent), transparent);
  border:1px solid color-mix(in oklab, var(--accent) 40%, transparent); color:var(--text)
}

/* -------- HIGHLIGHTS -------- */
section.highlights .stat{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:10px}
section.highlights .stat .num{
  font-weight:1000; font-size:clamp(28px,5vw,42px);
  background:linear-gradient(92deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
section.highlights .stat .lbl{opacity:.9}

/* -------- TESTIMONIALS -------- */
section.testimonials h2{font-weight:1000;letter-spacing:.02em;margin:.2rem 0 .6rem}
section.testimonials .marquee{
  --speed:28s; display:flex; gap:24px; overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
section.testimonials .marquee > *{flex:0 0 auto; white-space:nowrap; opacity:.96; font-style:italic}
@media (prefers-reduced-motion:no-preference){
  section.testimonials .marquee{animation:roll 28s linear infinite}
  @keyframes roll{to{transform:translateX(-50%)}}
}

/* -------- FINAL CTA -------- */
section.final-cta .cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
section.final-cta .fx-border{
  border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);
  background:
    radial-gradient(600px 220px at 50% 0%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

/* -------- MINI RATES (solo bloque del home) -------- */
section#rates .card.table{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02))
}
section#rates .card.table table{
  width:100%;border-collapse:separate;border-spacing:0;background:transparent;
  border:1px solid #D8A25E22;border-radius:12px;overflow:hidden
}
section#rates .card.table thead th{background:#D8A25E33;font-weight:900;letter-spacing:.02em}
section#rates .card.table th,
section#rates .card.table td{padding:12px 14px;border-bottom:1px solid #D8A25E16;vertical-align:top}
section#rates .card.table tbody tr:nth-child(odd){background:rgba(255,255,255,.03)}
section#rates .card.table tbody tr:hover{background:rgba(255,255,255,.06)}
section#rates .card.table .num{text-align:right;font-variant-numeric:tabular-nums}

/* -------- IG feed (widget) -------- */
.wrap.section.ig-feed .lightwidget-widget{
  display:block;width:100%!important;min-height:420px;border:0!important;border-radius:12px;overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.28);background:transparent;
}

/* -------- Mobile polish -------- */
@media (max-width:720px){
  #hero.hero-meme .cta .btn{flex:1 1 100%}
  #services .grid{grid-template-columns:1fr;gap:12px}
  #services .card{border-radius:14px;padding:16px}
  section#rates .card.table th, section#rates .card.table td{padding:10px 12px}
}
/* HOME_UPGRADE_END ===========================================================*/

/* PALETTE_FORCE_ORIGINAL_START */
:root{
  --bg:#0b0f14;
  --ink:#0b0f14;
  --surface:#111827;
  --glass:#0f172ab3;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --accent:#D8A25E;
  --accent-2:#f2c07a;
}
/* PALETTE_FORCE_ORIGINAL_END */
/* WTFCABO_NEUTRALS_START  —  Warm Neutrals, header limpio, cards pro */
/* Paleta aprox:
   Cannoli Cream #F3EFE7 · Cream Tan #D9C3B7 · Safari #C7B59E
   Mocha Mousse #B47E65 · Chanterelle #A98474 · Baltic Amber #8B5E4D
   Chocolate Martini #5B4A43
*/
:root{
  --bg:#241B16; --surface:#2E221C; --glass:#1f1713cc;
  --text:#F3EFE7; --muted:#D9C3B7; --line:#ffffff1a;
  --accent:#B47E65; --accent-2:#C7B59E; --accent-3:#8B5E4D;
}

a, a:visited{ color: var(--accent-2); }
a:hover{ color: var(--accent); }
:focus-visible{ outline:2px solid color-mix(in oklab,var(--accent) 60%, transparent); outline-offset:2px; }
input[type=radio],input[type=checkbox],progress{ accent-color: var(--accent); }

/* ===== HEADER (sin azul) ===== */
.site-header{
  background: linear-gradient(180deg,#2A211C,#241B16);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(120%) blur(6px);
}
.site-header .brand{ color:var(--text); font-weight:1000; letter-spacing:.08em; }
.site-header nav a{ color:var(--text); border-radius:10px; padding:8px 10px; }
.site-header nav a:hover,.site-header nav a.active{ background:#ffffff12; }

/* ===== BOTONES ===== */
.btn,.btn-primary{
  border:0; border-radius:12px; font-weight:900;
  background:var(--accent); color:#2b211f;
  box-shadow:0 10px 24px rgba(0,0,0,.32);
  transition:transform .08s, filter .18s;
}
.btn:hover,.btn-primary:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.btn-ghost,.btn.ghost{
  background:transparent; color:var(--text);
  outline:1px solid color-mix(in oklab,var(--accent) 45%, transparent);
  box-shadow:none;
}

/* ===== HERO MEME (home) ===== */
.hero.hero-meme{ padding:56px 0 24px; }
.meme-banner{
  background:
    radial-gradient(600px 240px at 20% -10%, color-mix(in oklab,var(--accent-2) 16%, transparent), transparent 70%),
    linear-gradient(180deg,#2E221C,#241B16);
  border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(0,0,0,.32);
}
.meme-logo{ color:var(--text); text-shadow:none; }
.meme-meaning,.meme-sub{ color:var(--text); }

/* ===== CARDS & BLOQUES ===== */
.card,.cta-banner,.faq__item,.fx-border{
  background:linear-gradient(180deg,#2E221C,#241B16);
  border:1px solid var(--line);
  border-radius:16px; box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.fx-tilt{ transform:skew(0); } /* desactiva inclinaciones agresivas */
.wrap.section .card.fx-border::before{ content:none; }

/* ===== BADGES ===== */
.badge{ background:#ffffff12; border:1px solid var(--line); color:var(--text); border-radius:999px; font-weight:800; }

/* ===== TABLAS (rates mini) ===== */
.table{ overflow:auto; }
.table table{ background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.table thead th{ background:linear-gradient(180deg,#31251F,#281E19); color:var(--text); font-weight:1000; letter-spacing:.02em; }
.table td,.table th{ border-bottom:1px solid #ffffff12; }
.table .num{ text-align:right; font-variant-numeric:tabular-nums; }
.mini-rates.responsive tr{ background:#2A211C; border:1px solid var(--line); }

/* ===== FAQ ===== */
.faq__item summary{ font-weight:900; cursor:pointer; }
.faq__item[open]{ border-color:color-mix(in oklab,var(--accent) 40%, transparent); }

/* ===== IG feed (LightWidget) ===== */
.ig-feed .lightwidget-widget,
iframe[src*="cdn.lightwidget.com/widgets/"]{
  display:block; width:100%!important; min-height:420px;
  border:0!important; border-radius:12px; overflow:hidden;
  background:transparent; box-shadow:0 12px 32px rgba(0,0,0,.28);
}

/* ===== Responsive ===== */
@media (max-width:640px){
  .btn{ width:100%; }
  .hero.hero-meme{ padding:42px 0 16px; }
}
/* WTFCABO_NEUTRALS_END */
/* WTFCABO_JP_START — Japanese-inspired (Zen Kaku + Shippori), sin tocar HTML */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Shippori+Mincho:wght@500;700&display=swap');

:root{
  /* Mantén la paleta warm neutral */
  --bg:#241B16; --surface:#2E221C; --glass:#1f1713cc;
  --text:#F3EFE7; --muted:#D9C3B7; --line:#ffffff20;
  --accent:#B47E65; --accent-2:#C7B59E; --accent-3:#8B5E4D;
  --radius:14px; --radius-lg:18px;
}

/* Base */
html{ font-size:16px; }
body{
  font-family:"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
  color:var(--text); background:var(--bg);
  letter-spacing:.01em; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,.mega,.section-title{
  font-family:"Shippori Mincho","Times New Roman",Times,serif;
  letter-spacing:.02em; font-weight:700; color:var(--text);
}
h1.mega{ font-weight:700; }

/* Layout */
.wrap.section{ padding:clamp(28px,4.6vw,56px) 0; }
.wrap .grid{ gap:20px; }

/* Header */
.site-header{
  background:linear-gradient(180deg,#2A211C,#241B16);
  border-bottom:1px solid var(--line);
}
.site-header .brand{ font-family:"Shippori Mincho",serif; font-weight:700; letter-spacing:.08em; }
.site-header nav a{ font-family:"Zen Kaku Gothic New",sans-serif; padding:8px 12px; border-radius:10px; color:var(--text); }
.site-header nav a:hover,.site-header nav a.active{ background:#ffffff12; }

/* Hero */
.hero.hero-meme{
  position:relative; padding:clamp(48px,6vw,84px) 0 24px;
  background:linear-gradient(180deg,#2E221C,#241B16);
  border-radius:var(--radius-lg); border:1px solid var(--line);
}
.meme-row{ align-items:baseline; gap:12px; }
.meme-logo{ font-family:"Shippori Mincho",serif; font-weight:700; letter-spacing:.06em; }
.meme-meaning{ font-weight:500; }
.meme-sub{ color:var(--muted); }

/* Botones */
.btn,.btn-primary{
  font-family:"Zen Kaku Gothic New",sans-serif;
  border-radius:12px; border:0;
  background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 94%,#ffffff 6%),var(--accent));
  color:#2c201b; font-weight:900; letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  transition:transform .08s ease, filter .18s ease;
}
.btn:hover,.btn-primary:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.btn-ghost,.btn.ghost{
  background:transparent; color:var(--text);
  outline:1px solid color-mix(in oklab,var(--accent) 45%, transparent);
  box-shadow:none; font-weight:700;
}

/* Cards */
.card,.fx-border,.cta-banner,.faq__item{
  background:linear-gradient(180deg,#31241D,#241B16);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 14px 32px rgba(0,0,0,.34);
  transition:transform .12s ease;
}
.card:hover{ transform:translateY(-1px); }
.card h3{ font-weight:700; letter-spacing:.02em; }
.card p{ color:var(--muted); }

/* Badges */
.badge{
  background:#ffffff10; border:1px solid var(--line); color:var(--text);
  border-radius:999px; font-weight:800;
}

/* Rates table */
.table table{ border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.table thead th{
  background:linear-gradient(180deg,#34261F,#2B221C);
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
}
.table td,.table th{ border-bottom:1px solid #ffffff10; }
.table .num{ text-align:right; font-variant-numeric:tabular-nums; }

/* FAQ */
.faq__item summary{ font-weight:900; }
.faq__item[open]{ border-color:color-mix(in oklab,var(--accent) 40%, transparent); }

/* Instagram */
.ig-feed .lightwidget-widget,
iframe[src*="cdn.lightwidget.com/widgets/"]{
  display:block; width:100%!important; min-height:420px;
  border:0!important; border-radius:14px; overflow:hidden;
  background:transparent; box-shadow:0 12px 28px rgba(0,0,0,.28);
}

/* Mobile */
@media (max-width:640px){
  .btn{ width:100%; }
  .meme-meaning{ display:inline-block; max-width:100%; }
}
/* WTFCABO_JP_END */
/* WTFCABO_JP2_START — Japanese Passion Theme (scoped a clases existentes) */
:root{
  /* Paleta Pantone cálida (aprox. HEX) */
  --cream:#F2F0E8;      /* Cannoli Cream */
  --cream-tan:#E7D5C8;  /* Cream Tan */
  --safari:#CFC4B1;     /* Safari */
  --sirocco:#C7A596;    /* Sirocco */
  --mocha:#AB7C69;      /* Mocha Mousse */
  --chanterelle:#A0887D;/* Chanterelle */
  --baltic:#8C5E4C;     /* Baltic Amber */
  --choco:#463836;      /* Chocolate Martini */

  --bg:#241B16;
  --surface:#2D221C;
  --glass:#1f1713cc;
  --line:#ffffff22;
  --text:#F3EFE7;
  --muted:#DAC9C0;
  --accent:var(--mocha);
  --accent-2:var(--baltic);
  --radius:14px; --radius-lg:20px;
  --shadow:0 14px 36px rgba(0,0,0,.34);
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 0 .05 .12 0'/></feComponentTransfer></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");
}

/* ============= BASE TIPOGRAFÍA ============= */
body{
  background:
    radial-gradient(1200px 520px at 120% -10%, rgba(139,94,77,.24), transparent 60%),
    radial-gradient(1000px 420px at -20% 0%, rgba(199,181,158,.16), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans JP",Arial,sans-serif;
  letter-spacing:.01em; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,.section-title,.mega{
  font-family:"Shippori Mincho","Yuji Syuku","Times New Roman",serif;
  font-weight:700; letter-spacing:.02em; color:var(--text);
}

/* Brushstroke bajo títulos (kanji vibe) */
.section-title, .wrap h2, .mega{
  position:relative; display:inline-block; padding-bottom:.25rem;
}
.section-title::after, .wrap h2::after, .mega::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:10px;
  background:
    radial-gradient(24px 8px at 10% 60%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(18px 7px at 35% 40%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(90deg, color-mix(in oklab,var(--accent) 85%,#fff 10%), color-mix(in oklab,var(--accent-2) 85%,#000 10%));
  filter:blur(.3px); border-radius:18px;
}

/* ============= HEADER (sobrio) ============= */
.site-header{
  background:
    linear-gradient(180deg,#2A211C,#231A16);
  border-bottom:1px solid var(--line);
}
.site-header .brand{
  font-family:"Shippori Mincho",serif; letter-spacing:.08em; font-weight:700;
}
.site-header nav a{
  color:var(--text); padding:10px 12px; border-radius:12px;
  transition:background .15s ease, transform .08s ease;
}
.site-header nav a:hover,.site-header nav a.active{
  background:#ffffff12; transform:translateY(-1px);
}

/* ============= HERO con patrón SHŌJI ============= */
.hero.hero-meme{
  position:relative; padding:clamp(48px,7vw,92px) 0 26px;
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:
    linear-gradient(180deg,#2F241E,#241B16),
    var(--noise);
  background-blend-mode:overlay,normal;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero.hero-meme::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.07;
  background:
    repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, #fff 0 1px, transparent 1px 64px);
  mix-blend-mode:soft-light;               /* shōji grid */
}
.meme-row{ align-items:baseline; gap:12px; }
.meme-logo{
  font-family:"Shippori Mincho",serif; font-weight:700; letter-spacing:.06em;
  padding:.1em .35em; border-radius:10px;
  background:#ffffff0f; border:1px solid #ffffff22;
}
.meme-meaning{ font-weight:600; }
.meme-sub{ color:var(--muted); }

/* ============= BOTONES (sello + tinta) ============= */
.btn,.btn-primary{
  position:relative; isolation:isolate;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  border-radius:14px; border:0; color:#2b201b;
  background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 94%,#ffffff 6%), var(--accent));
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  transition:transform .08s ease, filter .18s ease;
}
.btn-ghost,.btn.ghost{
  background:transparent; color:var(--text);
  outline:1px solid color-mix(in oklab,var(--accent) 45%, transparent);
  box-shadow:none; font-weight:800;
}
@keyframes ink{ from{ background-size:0 0; opacity:.2 } to{ background-size:220% 220%; opacity:0 } }
.btn:hover,.btn-primary:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.btn:hover::after,.btn-primary:hover::after{
  content:""; position:absolute; inset:-20% -10%; z-index:-1; border-radius:24px;
  background:radial-gradient(200px 120px at var(--x,50%) var(--y,50%), rgba(171,124,105,.35), transparent 60%);
  animation:ink .6s ease forwards;
}
@media (pointer:fine){
  .btn,.btn-primary{ --x:50%; --y:50% }
  .btn,.btn-primary{ cursor:pointer }
}

/* ============= CARDS “Washi” ============= */
.card,.fx-border,.cta-banner,.faq__item{
  background:
    radial-gradient(600px 240px at 10% -10%, #ffffff08, transparent 70%),
    linear-gradient(180deg,#32251E,#241B16),
    var(--noise);
  background-blend-mode:overlay,normal,normal;
  border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); transition:transform .12s ease, border-color .2s ease;
}
.card:hover{ transform:translateY(-1px); border-color:color-mix(in oklab,var(--accent) 35%, transparent); }
.card h3{ font-weight:700; letter-spacing:.02em; }
.card p{ color:var(--muted); }

/* Badge tipo “hanko” */
.badge{
  border-radius:999px; border:2px solid color-mix(in oklab,var(--accent) 60%, transparent);
  background:#ffffff10; color:var(--text); font-weight:900; letter-spacing:.06em;
  text-transform:uppercase;
}

/* ============= RATES TABLE ============= */
.table table{ border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.table thead th{
  background:linear-gradient(180deg,#35271F,#2B211C);
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; color:var(--text);
}
.table td,.table th{ border-bottom:1px solid #ffffff12; }
.table .num{ text-align:right; font-variant-numeric:tabular-nums; }

/* ============= FAQ ============= */
.faq__item summary{ font-weight:900; letter-spacing:.01em; }
.faq__item{ padding:.6rem .9rem; }
.faq__item[open]{ border-color:color-mix(in oklab,var(--accent) 40%, transparent); box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 20%, transparent) inset; }

/* ============= Instagram ============= */
.ig-feed .lightwidget-widget,
iframe[src*="cdn.lightwidget.com/widgets/"]{
  display:block; width:100%!important; min-height:420px;
  border:0!important; border-radius:14px; overflow:hidden;
  background:transparent; box-shadow:0 12px 28px rgba(0,0,0,.28);
}

/* ============= Responsive ============= */
@media (max-width:720px){
  .btn{ width:100%; }
  .wrap .grid{ gap:14px; }
}
/* Respecta reduce motion */
@media (prefers-reduced-motion:reduce){
  *{ animation:none!important; transition:none!important; }
}
/* WTFCABO_JP2_END */
/* ART_PACK_V1 START =================================================== */
/* Usa tu paleta existente */
:root{
  --ring-glow: color-mix(in oklab, var(--accent, #D8A25E) 40%, transparent);
  --ring-soft: color-mix(in oklab, var(--accent-2, #f2c07a) 30%, transparent);
}

/* ---------- CARDS: borde conico + grano + tilt ---------- */
.card, .fx-border, .cta-banner, .faq__item{
  position:relative; isolation:isolate;
  border-radius:var(--radius,16px);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
  backdrop-filter:saturate(115%) blur(2px);
}
/* Borde conico suave (no cambia relleno) */
.card::before, .fx-border::before, .cta-banner::before, .faq__item::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  padding:1px;
  background:conic-gradient(from 0turn,
    var(--ring-glow) 0turn, transparent .08turn,
    var(--ring-soft) .22turn, transparent .30turn,
    var(--ring-glow) .52turn, transparent .60turn,
    var(--ring-soft) .78turn, transparent .90turn, var(--ring-glow) 1turn);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:.85;
}
/* Grano sutil (solo estética, sin imagen externa) */
.card::after, .cta-banner::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:.10;
  background:
    repeating-linear-gradient(0deg, #000 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, #000 0 1px, transparent 1px 2px);
  mix-blend-mode:overlay;
}

/* Tilt 3D controlado */
.fx-tilt{transform-style:preserve-3d; transition:transform .25s ease, box-shadow .25s ease; will-change:transform}
.fx-tilt:hover{transform:translateY(-2px) rotateX(1.2deg) rotateY(.8deg); box-shadow:0 18px 46px rgba(0,0,0,.42)}
@media (prefers-reduced-motion:reduce){ .fx-tilt, .fx-tilt:hover{transform:none!important; box-shadow:inherit} }

/* ---------- Emblema/ring del banner (home .meme-banner) ---------- */
.meme-banner{position:relative; overflow:hidden}
.meme-banner::before{
  content:""; position:absolute; inset:-2px; border-radius:18px; pointer-events:none;
  background:
    radial-gradient(600px 260px at 10% -10%, color-mix(in oklab,var(--accent) 18%, transparent), transparent 70%),
    radial-gradient(540px 220px at 100% 0%, color-mix(in oklab,var(--accent-2) 16%, transparent), transparent 70%),
    conic-gradient(from var(--_spin,0turn),
      var(--ring-glow) 0turn, transparent .08turn,
      var(--ring-soft) .25turn, transparent .33turn,
      var(--ring-glow) .58turn, transparent .66turn,
      var(--ring-soft) .83turn, transparent .92turn, var(--ring-glow) 1turn);
  mix-blend-mode:screen; opacity:.65;
  animation:spinring 14s linear infinite;
}
@keyframes spinring{to{--_spin:1turn}}

/* ---------- Logo glitch (home .meme-logo.fx-glitch) ---------- */
.meme-logo.fx-glitch{
  position:relative; display:inline-block; font-weight:1000; letter-spacing:.04em;
  text-shadow:
    0 0 0 var(--accent),
    0 0 22px rgba(0,0,0,.25);
}
.meme-logo.fx-glitch::before,
.meme-logo.fx-glitch::after{
  content:attr(aria-hidden); position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen; opacity:.35;
}
.meme-logo.fx-glitch::before{ transform:translate(1px,-1px); color:color-mix(in oklab,var(--accent) 80%, #fff) }
.meme-logo.fx-glitch::after { transform:translate(-1px,1px); color:color-mix(in oklab,var(--accent-2) 80%, #fff) }
@media (prefers-reduced-motion:no-preference){
  .meme-logo.fx-glitch{animation:glitch-jitter 3.6s infinite steps(1,end)}
  @keyframes glitch-jitter{
    0%,96%,100%{transform:none}
    12%{transform:skewX(.5deg)}
    28%{transform:translateY(.5px)}
    44%{transform:translateX(.5px)}
    60%{transform:skewY(.6deg)}
    76%{transform:translate(-.5px,.5px)}
  }
}

/* ---------- Marca/header (.brand) underline “shinobi” ---------- */
.brand{position:relative; font-weight:1000; letter-spacing:.12em; text-transform:uppercase}
.brand::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  transform:scaleX(.2); transform-origin:left; transition:transform .35s ease;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));
}
.brand:hover::after{ transform:scaleX(1) }

/* ---------- Badges “sello” ---------- */
.badge{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid color-mix(in oklab,var(--accent) 22%, #fff2);
}
.badge::before{
  content:""; position:absolute; inset:0; background:
    radial-gradient(200px 40px at -10% -30%, color-mix(in oklab,var(--accent) 22%, transparent), transparent 80%),
    radial-gradient(160px 30px at 120% 120%, color-mix(in oklab,var(--accent-2) 20%, transparent), transparent 80%);
  opacity:.55; pointer-events:none;
}

/* ---------- Botones con shimmer suave ---------- */
.btn,.btn-primary{
  position:relative; overflow:hidden;
}
.btn::after,.btn-primary::after{
  content:""; position:absolute; inset:-1px; pointer-events:none;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.18) 45%, transparent 60%);
  transform:translateX(-120%); transition:transform .6s ease;
}
.btn:hover::after,.btn-primary:hover::after{ transform:translateX(0) }

/* ---------- Mesas/tabla: cabezales con borde superior brillante ---------- */
.table thead th{
  position:sticky; top:0; z-index:1;
  box-shadow:inset 0 1px 0 color-mix(in oklab,var(--accent) 18%, transparent);
}

/* Respetar accesibilidad/motion */
@media (prefers-reduced-motion:reduce){
  .meme-banner::before{animation:none}
  .btn::after,.btn-primary::after{transition:none}
}
/* ART_PACK_V1 END ===================================================== */
/* POWER_PACK_V2 START ================================================== */
/* Fallbacks que respetan tu paleta existente */
:root{
  --bg: var(--bg, #0b0f14);
  --surface: var(--surface, #10151d);
  --text: var(--text, #e5e7eb);
  --muted: var(--muted, #9ca3af);
  --accent: var(--accent, #D8A25E);
  --accent-2: var(--accent-2, #F2C07A);
  --ring: color-mix(in oklab, var(--accent) 42%, transparent);
}

/* ---------- HEADER STICKY + brillo inferior ---------- */
header, .site-header, .topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(120%) blur(6px);
  background:color-mix(in oklab, var(--bg) 92%, transparent);
  border-bottom:1px solid color-mix(in oklab, var(--accent) 18%, transparent);
}
.brand, .logo-text{
  font-weight:1000; letter-spacing:.06em; text-transform:uppercase;
}
.brand::after, .logo-text::after{
  content:""; display:block; height:2px; margin-top:4px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  transform:scaleX(.25); transform-origin:left; transition:transform .35s ease;
}
.brand:hover::after, .logo-text:hover::after{ transform:scaleX(1) }
.nav a, nav a{
  color:var(--text); opacity:.92; font-weight:700;
}
.nav a:hover, nav a:hover{ color:var(--text); text-shadow:0 0 1px var(--text) }

/* ---------- HERO MEME: texto y pulso fino ---------- */
.hero.hero-meme{border-radius:18px; position:relative; overflow:hidden}
.hero.hero-meme::before{
  content:""; position:absolute; inset:-2px; pointer-events:none; border-radius:inherit;
  background:
    radial-gradient(700px 300px at 5% -10%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 70%),
    radial-gradient(600px 260px at 100% 0%, color-mix(in oklab, var(--accent-2) 12%, transparent), transparent 70%);
  opacity:.9;
}
.meme-meaning{font-weight:900}
.meme-meaning.enter{animation:fadeUp .45s ease}
@keyframes fadeUp{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
.meme-logo.fx-glitch{position:relative; text-shadow:0 0 0 var(--accent), 0 10px 28px rgba(0,0,0,.35)}
.meme-logo.fx-glitch::before,
.meme-logo.fx-glitch::after{
  content:attr(aria-hidden); position:absolute; inset:0; pointer-events:none; opacity:.35; mix-blend-mode:screen
}
.meme-logo.fx-glitch::before{ transform:translate(1px,-1px); color:color-mix(in oklab,var(--accent) 85%, #fff) }
.meme-logo.fx-glitch::after { transform:translate(-1px,1px); color:color-mix(in oklab,var(--accent-2) 85%, #fff) }

/* ---------- GRID & TITLES ---------- */
.wrap.section .grid{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.section-title{
  font-weight:1000; letter-spacing:.02em;
  background:linear-gradient(92deg,var(--text),color-mix(in oklab,var(--text) 70%, var(--accent)));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- CARDS: profundidad, borde conico, grano ---------- */
.card, .fx-border, .cta-banner, .faq__item{
  position:relative; isolation:isolate; border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.card::before, .fx-border::before, .cta-banner::before, .faq__item::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; padding:1px;
  background:conic-gradient(from .25turn,
    color-mix(in oklab,var(--accent) 35%, transparent),
    transparent 12%,
    color-mix(in oklab,var(--accent-2) 28%, transparent) 35%,
    transparent 55%,
    color-mix(in oklab,var(--accent) 30%, transparent) 78%,
    transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:.9;
}
.card::after, .cta-banner::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:.10;
  background:
    repeating-linear-gradient(0deg, #000 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, #000 0 1px, transparent 1px 2px);
  mix-blend-mode:overlay;
}

/* Hover con “raise” controlado */
.card{--raise: 0}
.card:hover{--raise: -2px}
.card, .quote, .table{transition:transform .22s ease, box-shadow .22s ease}
.card:hover{transform:translateY(var(--raise)); box-shadow:0 18px 46px rgba(0,0,0,.42)}

/* ---------- BADGES ---------- */
.badges{display:flex; gap:8px; flex-wrap:wrap}
.badge{
  padding:.44rem .7rem; border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid color-mix(in oklab,var(--accent) 22%, #fff2);
}

/* ---------- BOTONES ---------- */
.btn, .btn-primary{
  position:relative; overflow:hidden; font-weight:900; border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.btn-primary{ background:var(--accent); color:#20160c }
.btn-ghost, .btn.ghost{
  background:transparent; color:var(--text);
  outline:1px solid var(--ring);
}
.btn::after, .btn-primary::after{
  content:""; position:absolute; inset:-1px; pointer-events:none;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.18) 45%, transparent 60%);
  transform:translateX(-120%); transition:transform .6s ease;
}
.btn:hover::after, .btn-primary:hover::after{ transform:translateX(0) }
.btn:focus-visible{ outline:2px solid var(--ring); outline-offset:2px }

/* ---------- FAQ ---------- */
.faq__item summary{cursor:pointer; font-weight:800}
.faq__item[open]{box-shadow:0 18px 46px rgba(0,0,0,.42)}

/* ---------- TABLAS / rates ---------- */
.table{overflow:hidden}
.table thead th{
  position:sticky; top:0; z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 color-mix(in oklab,var(--accent) 18%, transparent);
}

/* ---------- Motion-respect ---------- */
@media (prefers-reduced-motion:reduce){
  .btn::after,.btn-primary::after{transition:none}
  .card, .quote, .table{transition:none}
}
/* POWER_PACK_V2 END ==================================================== */
/* POWER_PACK_V2 START ================================================== */
/* Fallbacks que respetan tu paleta existente */
:root{
  --bg: var(--bg, #0b0f14);
  --surface: var(--surface, #10151d);
  --text: var(--text, #e5e7eb);
  --muted: var(--muted, #9ca3af);
  --accent: var(--accent, #D8A25E);
  --accent-2: var(--accent-2, #F2C07A);
  --ring: color-mix(in oklab, var(--accent) 42%, transparent);
}

/* ---------- HEADER STICKY + brillo inferior ---------- */
header, .site-header, .topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(120%) blur(6px);
  background:color-mix(in oklab, var(--bg) 92%, transparent);
  border-bottom:1px solid color-mix(in oklab, var(--accent) 18%, transparent);
}
.brand, .logo-text{
  font-weight:1000; letter-spacing:.06em; text-transform:uppercase;
}
.brand::after, .logo-text::after{
  content:""; display:block; height:2px; margin-top:4px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  transform:scaleX(.25); transform-origin:left; transition:transform .35s ease;
}
.brand:hover::after, .logo-text:hover::after{ transform:scaleX(1) }
.nav a, nav a{
  color:var(--text); opacity:.92; font-weight:700;
}
.nav a:hover, nav a:hover{ color:var(--text); text-shadow:0 0 1px var(--text) }

/* ---------- HERO MEME: texto y pulso fino ---------- */
.hero.hero-meme{border-radius:18px; position:relative; overflow:hidden}
.hero.hero-meme::before{
  content:""; position:absolute; inset:-2px; pointer-events:none; border-radius:inherit;
  background:
    radial-gradient(700px 300px at 5% -10%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 70%),
    radial-gradient(600px 260px at 100% 0%, color-mix(in oklab, var(--accent-2) 12%, transparent), transparent 70%);
  opacity:.9;
}
.meme-meaning{font-weight:900}
.meme-meaning.enter{animation:fadeUp .45s ease}
@keyframes fadeUp{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
.meme-logo.fx-glitch{position:relative; text-shadow:0 0 0 var(--accent), 0 10px 28px rgba(0,0,0,.35)}
.meme-logo.fx-glitch::before,
.meme-logo.fx-glitch::after{
  content:attr(aria-hidden); position:absolute; inset:0; pointer-events:none; opacity:.35; mix-blend-mode:screen
}
.meme-logo.fx-glitch::before{ transform:translate(1px,-1px); color:color-mix(in oklab,var(--accent) 85%, #fff) }
.meme-logo.fx-glitch::after { transform:translate(-1px,1px); color:color-mix(in oklab,var(--accent-2) 85%, #fff) }

/* ---------- GRID & TITLES ---------- */
.wrap.section .grid{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.section-title{
  font-weight:1000; letter-spacing:.02em;
  background:linear-gradient(92deg,var(--text),color-mix(in oklab,var(--text) 70%, var(--accent)));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- CARDS: profundidad, borde conico, grano ---------- */
.card, .fx-border, .cta-banner, .faq__item{
  position:relative; isolation:isolate; border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.card::before, .fx-border::before, .cta-banner::before, .faq__item::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; padding:1px;
  background:conic-gradient(from .25turn,
    color-mix(in oklab,var(--accent) 35%, transparent),
    transparent 12%,
    color-mix(in oklab,var(--accent-2) 28%, transparent) 35%,
    transparent 55%,
    color-mix(in oklab,var(--accent) 30%, transparent) 78%,
    transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:.9;
}
.card::after, .cta-banner::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:.10;
  background:
    repeating-linear-gradient(0deg, #000 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, #000 0 1px, transparent 1px 2px);
  mix-blend-mode:overlay;
}

/* Hover con “raise” controlado */
.card{--raise: 0}
.card:hover{--raise: -2px}
.card, .quote, .table{transition:transform .22s ease, box-shadow .22s ease}
.card:hover{transform:translateY(var(--raise)); box-shadow:0 18px 46px rgba(0,0,0,.42)}

/* ---------- BADGES ---------- */
.badges{display:flex; gap:8px; flex-wrap:wrap}
.badge{
  padding:.44rem .7rem; border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid color-mix(in oklab,var(--accent) 22%, #fff2);
}

/* ---------- BOTONES ---------- */
.btn, .btn-primary{
  position:relative; overflow:hidden; font-weight:900; border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.btn-primary{ background:var(--accent); color:#20160c }
.btn-ghost, .btn.ghost{
  background:transparent; color:var(--text);
  outline:1px solid var(--ring);
}
.btn::after, .btn-primary::after{
  content:""; position:absolute; inset:-1px; pointer-events:none;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.18) 45%, transparent 60%);
  transform:translateX(-120%); transition:transform .6s ease;
}
.btn:hover::after, .btn-primary:hover::after{ transform:translateX(0) }
.btn:focus-visible{ outline:2px solid var(--ring); outline-offset:2px }

/* ---------- FAQ ---------- */
.faq__item summary{cursor:pointer; font-weight:800}
.faq__item[open]{box-shadow:0 18px 46px rgba(0,0,0,.42)}

/* ---------- TABLAS / rates ---------- */
.table{overflow:hidden}
.table thead th{
  position:sticky; top:0; z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 color-mix(in oklab,var(--accent) 18%, transparent);
}

/* ---------- Motion-respect ---------- */
@media (prefers-reduced-motion:reduce){
  .btn::after,.btn-primary::after{transition:none}
  .card, .quote, .table{transition:none}
}
/* POWER_PACK_V2 END ==================================================== */
/* HOME_UPG START — WTF Cabo (solo HOME components, sin textos) */
:root{
  --bg:#161210; --surface:#201816; --glass:#15100f;
  --text:#f5eee9; --muted:#cbb7aa;
  --accent:#d79a77; --accent-2:#f0c9ad;
  --ring: color-mix(in oklab,var(--accent) 40%, transparent);
}

/* HERO MEME */
#hero.hero-meme{
  position:relative; padding:56px 0 20px; border-radius:18px;
  background:
    radial-gradient(900px 420px at 100% 0%, color-mix(in oklab,var(--accent-2) 10%, transparent), transparent 70%),
    radial-gradient(1000px 500px at 10% -10%, color-mix(in oklab,var(--accent) 12%, transparent), transparent 70%),
    var(--bg);
}
.meme-row{display:flex;align-items:baseline;gap:12px}
.meme-logo{font-weight:1000; font-size:clamp(42px,8vw,86px); letter-spacing:.05em}
.meme-logo span{display:inline-block; transform:translateY(.02em)}
.meme-meaning{font-size:clamp(16px,3.2vw,22px); opacity:.95}
.meme-meaning.enter{animation:fade-in .28s ease-out}
.meme-sub{opacity:.85; margin:.4rem 0 0}
@keyframes fade-in{from{opacity:0; filter:blur(2px)} to{opacity:1; filter:none}}

#hero .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
#hero .btn{padding:.9rem 1.1rem;border-radius:12px;font-weight:900}
#hero .btn.btn-primary{background:var(--accent); color:#231a17; border:0; box-shadow:0 8px 20px rgba(0,0,0,.28)}
#hero .btn.btn-ghost{background:transparent; color:var(--text); outline:1px solid var(--ring)}

#hero .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
#hero .badge{padding:.44rem .7rem;border-radius:999px;background:#ffffff12;border:1px solid #ffffff22;font-weight:800}

/* GRID SECTIONS */
.wrap.section .grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:linear-gradient(180deg,#241a18 0%,#1c1513 100%);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:18px}
.card.fx-border{border-color: color-mix(in oklab,var(--accent) 30%, #ffffff1a)}
.card .btn{margin-top:8px}

/* QUOTES */
.quote{font-style:italic; position:relative}
.quote span{display:block; opacity:.9; margin-top:.25rem; font-style:normal}
.fx-tilt{transform:skewY(-.5deg);}

/* TABLE RATES */
.table{overflow:hidden}
.mini-rates{width:100%; border-collapse:separate; border-spacing:0}
.mini-rates thead th{background:linear-gradient(180deg,#00000055,#00000022); color:var(--text); text-align:left; padding:.7rem .8rem}
.mini-rates tbody td{padding:.7rem .8rem; border-top:1px solid #ffffff14}
.mini-rates .num{text-align:right}

/* FAQ */
.faq .faq__item{border-radius:14px; border:1px solid #ffffff22; background:linear-gradient(180deg,#241a18,#1b1412); padding:.2rem .6rem}
.faq summary{cursor:pointer; font-weight:800; padding:.6rem 0}
.faq .faq__body{padding:.2rem 0 .9rem; opacity:.95}

/* CTA banner */
.cta-banner{display:grid;gap:.4rem; text-align:center; padding:18px; border:1px solid color-mix(in oklab,var(--accent) 28%, transparent);
  background: radial-gradient(600px 220px at 50% 0%, color-mix(in oklab,var(--accent) 12%, transparent), transparent 70%),
              linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));}

/* IG widget size guard */
.lightwidget-widget{min-height:420px}

/* Anti-azul global leve (sin tocar otras páginas) */
a, a:visited{color:var(--accent-2)}
a:hover{color:var(--accent)}
/* HOME_UPG END */
/* SPACING_8PT START — escala global en múltiplos de 8 */
:root{
  --s-0:0px; --s-8:8px; --s-16:16px; --s-24:24px; --s-32:32px; --s-40:40px;
  --s-48:48px; --s-56:56px; --s-64:64px; --s-72:72px; --s-80:80px; --s-96:96px;
}
/* Utilidades opt-in (no usadas si no las llamas) */
.mt-8{margin-top:var(--s-8)} .mt-16{margin-top:var(--s-16)} .mt-24{margin-top:var(--s-24)}
.mb-8{margin-bottom:var(--s-8)} .mb-16{margin-bottom:var(--s-16)} .mb-24{margin-bottom:var(--s-24)}
.pt-8{padding-top:var(--s-8)} .pt-16{padding-top:var(--s-16)} .pt-24{padding-top:var(--s-24)}
.pb-8{padding-bottom:var(--s-8)} .pb-16{padding-bottom:var(--s-16)} .pb-24{padding-bottom:var(--s-24)}
.gap-8{gap:var(--s-8)} .gap-16{gap:var(--s-16)} .gap-24{gap:var(--s-24)}
/* SPACING_8PT END */
/* HOME_SPACING_8PT START — ajustes de espaciado 8pt para HOME */
#hero.hero-meme{padding:var(--s-56) 0 var(--s-24)}
.meme-row{gap:var(--s-16)}
#hero .cta{gap:var(--s-16); margin-top:var(--s-16)}
#hero .btn{padding:var(--s-16) var(--s-24); border-radius:12px}
#hero .badges{gap:var(--s-8); margin-top:var(--s-16)}
#hero .badge{padding:6px var(--s-16)} /* compacto vertical, 8pt horizontal */

.wrap.section .grid{gap:var(--s-16)}
.wrap.section .card{padding:var(--s-16)}
.fx-tilt{margin-top:var(--s-8)}

.table{margin-top:var(--s-16)}
.mini-rates thead th{padding:var(--s-16)}
.mini-rates tbody td{padding:var(--s-8) var(--s-16)}

.faq .faq__item{padding:var(--s-8) var(--s-16); margin-bottom:var(--s-8)}
.faq summary{padding:var(--s-8) 0}
.faq .faq__body{padding:0 0 var(--s-16)}

.cta-banner{padding:var(--s-16); margin-top:var(--s-24)}

.testimonials h2{margin:var(--s-8) 0 var(--s-16)}
.testimonials .marquee{gap:var(--s-24); padding:var(--s-16)}

@media (max-width:720px){
  #hero.hero-meme{padding:var(--s-48) 0 var(--s-16)}
  #hero .btn{width:100%}
}
/* HOME_SPACING_8PT END */
/* CONTACT_SAFE_START */
/* Solo /contact — layout en grid, espaciado múltiplos de 8 */
.wrap.contact{
  box-sizing:border-box;
  max-width: 1200px;
  margin-inline:auto;
  display:grid;
  grid-template-columns: minmax(0,1fr) 400px; /* 50×8 */
  gap:32px; /* 4×8 */
  align-items:start;
}
.wrap.contact h1{ margin:0 0 24px } /* 3×8 */
.wrap.contact .alert{ margin:0 0 16px } /* 2×8 */

/* Form 2 columnas; elementos largos ocupan ancho completo */
.wrap.contact .form{
  display:grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap:16px; /* 2×8 */
  margin:0 0 32px; /* 4×8 */
}
.wrap.contact .form label{ display:block; font-weight:600 }
.wrap.contact .form input,
.wrap.contact .form textarea{
  margin-top:8px; padding:12px 16px; width:100%;
  border-radius:12px; border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04); color: var(--text, #e5e7eb);
}
.wrap.contact .form label:nth-of-type(3),
.wrap.contact .form .field-group,
.wrap.contact .form .btn{ grid-column:1 / -1 }
.wrap.contact .form .btn{ margin-top:16px } /* 2×8 */

/* Imagen a la derecha SIN tocar HTML */
.wrap.contact::after{
  content:"";
  display:block;
  grid-column:2;
  grid-row:1 / -1;
  inline-size:100%;
  aspect-ratio:3/4;
  min-block-size:416px; /* 52×8 */
  border-radius:16px; /* 2×8 */
  border:1px solid rgba(255,255,255,.14);
  background:
    url("/data/assets/contact.png") center 20% / cover no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  pointer-events:none;
}

/* Tips card debajo del form */
.wrap.contact .tips{
  grid-column:1;
  margin-top:32px; /* 4×8 */
  padding:16px 16px 8px; /* 2×8 / 1×8 */
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.wrap.contact .tips ul{ margin:8px 0 0; padding-left:20px }

/* Responsive */
@media (max-width:1080px){
  .wrap.contact{ grid-template-columns:1fr; max-width:min(92vw,760px) }
  .wrap.contact::after{ display:none }
  .wrap.contact .form{ grid-template-columns:1fr }
}
/* CONTACT_SAFE_END */
/* CONTACT_IMAGE_BLOCK START */
/* Contenedor: deja carril derecho para el poster sin alterar el flujo del contenido */
.wrap.contact{
  position:relative;
  padding-right:calc(clamp(320px,36vw,480px) + 32px);
  display:block;
}
.wrap.contact > h1{ margin-block:0 8px; }
.wrap.contact .form{ position:relative; z-index:1; }
.wrap.contact .card.tips{ position:relative; z-index:1; margin-top:16px; }

/* Poster ABSOLUTO: no empuja filas; se pega a la derecha del section */
.wrap.contact::after{
  content:"";
  position:absolute; right:0; top:88px;
  inline-size:clamp(320px,36vw,480px);
  block-size:min(72vh,640px);
  display:block;
  border-radius:16px;
  border:1px solid color-mix(in oklab, var(--accent, #D8A25E) 28%, transparent);
  background:
    url("/assets/img/contact.png") center top / contain no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  pointer-events:none;
  z-index:0;
}

/* Responsive: una columna; ocultamos poster */
@media (max-width:1080px){
  .wrap.contact{
    padding-right:0;
  }
  .wrap.contact::after{ display:none; }
}
/* CONTACT_IMAGE_BLOCK END */
/* HOME_CENTER_START */
/* Contenedor global centrado (8pt spacing system) */
.wrap{max-width:1120px;margin-inline:auto;padding-inline:16px}

/* HERO del Home (id=hero + .hero-meme ya es exclusivo del home) */
#hero.hero-meme{padding-block:48px;text-align:center}
#hero.hero-meme .meme-banner{display:flex;flex-direction:column;align-items:center;gap:8px}
#hero.hero-meme .meme-row{display:flex;align-items:center;gap:8px}
#hero.hero-meme .cta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}
#hero.hero-meme .badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}

/* Ajustes tipográficos suaves del hero (no cambia textos) */
#hero.hero-meme .meme-logo{line-height:1}
#hero.hero-meme .meme-meaning{display:inline-block;transition:transform .2s}
#hero.hero-meme .meme-meaning.enter{transform:translateY(0)}

/* Layout bajo el hero: grids con gap=16 (múltiplo de 8) */
.wrap.section .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
/* HOME_CENTER_END */
/* CENTER_SITE_START */
/* Contenedor global centrado (no cambia alineación de texto) */
:root{
  --container-max: 1200px;
  --container-pad: clamp(16px, 3vw, 24px); /* múltiplos de 8 */
}
html{box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
body{margin:0}

/* Centra los contenedores más comunes del proyecto */
.wrap,
.container,
.inner,
.wrap.section,
header .wrap,
footer .wrap{
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

/* Grids: centrar filas sin centrar el texto dentro de las cards */
.grid{
  justify-content: center;          /* centra items en el eje horizontal */
  align-content: start;             /* evita centrar verticalmente en multi-fila */
  gap: 16px;                        /* múltiplos de 8 */
}

/* Asegura que tarjetas no se estiren raro */
.grid > .card{width:100%; max-width: 560px}

/* Tablas y bloques de contenido a ancho lógico y centrados */
table{margin-inline:auto}
.card.table{margin-inline:auto}

/* Secciones hero/cta/ig mantienen centrado del contenedor sin forzar texto */
#hero .wrap, .cta-banner, .ig-feed .wrap{margin-inline:auto}

/* Utilidad opcional para fondos full-bleed sin romper centrado del contenido */
.full-bleed{width:100vw; margin-left:50%; transform:translateX(-50%)}

/* Espaciado vertical de secciones (múltiplos de 8) */
.section{padding-block: 32px}
.section .section-title{margin-block: 0 16px}
/* CENTER_SITE_END */
/* HEADER_MOBILE_FIX_START
   - Pulido del header en móviles sin cambiar colores ni textos.
   - Soporta variaciones de clases del proyecto. */

:root{
  --header-h: 56px;               /* alto header móvil */
  --tap: 44px;                    /* tamaño táctil mínimo */
  --gap-8: 8px; --gap-12: 12px; --gap-16: 16px;
}

/* Selección amplia para distintos headers del sitio */
:where(header,.site-header,#header){
  position: sticky; top: 0; z-index: 9999;
  backdrop-filter: blur(10px);
  background: color-mix(in oklab, var(--bg, #0b0f14) 88%, transparent);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

/* Contenedor interno del header */
:where(header,.site-header,#header) .wrap{
  display:flex; align-items:center; gap: var(--gap-12);
  min-height: var(--header-h);
  padding-block: 8px;             /* múltiplo de 8 */
}

/* Logo / marca */
:where(.logo,.brand,.site-logo){
  display:flex; align-items:center; gap: var(--gap-8);
  max-height: 36px; overflow:hidden;
}
:where(.logo img,.brand img,.site-logo img){
  height: 32px; width:auto; object-fit:contain; display:block;
}

/* Navegación principal: carrusel táctil en móvil */
@media (max-width: 768px){
  :where(nav,.nav,.main-nav){
    margin-left:auto;
    display:flex; align-items:center; gap: var(--gap-8);
    overflow:auto hidden; -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity; scrollbar-width:none;
    mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  }
  :where(nav,.nav,.main-nav)::-webkit-scrollbar{display:none}
  :where(nav a,.nav a,.main-nav a,:any-link.header-link){
    white-space:nowrap; scroll-snap-align:center;
    display:inline-flex; align-items:center; justify-content:center;
    min-height: var(--tap); padding: 8px 12px;          /* 8px múltiplos */
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    text-decoration:none;
  }
  /* Botones del header se compactan pero mantienen tap area */
  :where(header,.site-header,#header) .btn{
    min-height: var(--tap); padding: 8px 12px; border-radius:12px;
  }
}

/* Alineación/espaciado en desktop se mantiene sobrio */
@media (min-width: 769px){
  :where(nav,.nav,.main-nav){
    margin-left:auto; display:flex; gap: var(--gap-12);
  }
  :where(nav a,.nav a,.main-nav a){padding: 10px 14px; border-radius:999px}
}

/* Estados de foco accesibles sin cambiar paleta */
:where(nav a,.nav a,.main-nav a,.btn):focus-visible{
  outline: 2px solid color-mix(in oklab, var(--accent, #D8A25E) 55%, transparent);
  outline-offset: 2px; border-color: rgba(255,255,255,.22);
}

/* Evita que el hero quede tapado por header sticky cuando hay anclas */
#hero, [id] { scroll-margin-top: calc(var(--header-h) + 8px); }

/* Ajustes de densidad en pantallas muy pequeñas */
@media (max-width: 380px){
  :where(header,.site-header,#header) .wrap{gap: var(--gap-8)}
  :where(nav a,.nav a,.main-nav a){padding: 6px 10px; min-height:40px}
  :where(.logo img,.brand img,.site-logo img){height:28px}
}
/* HEADER_MOBILE_FIX_END */
/* OMNI_FIX_CENTER_AND_MOBILE START */
/* Escala 8px */
:root{
  --space-1: 8px;  --space-2: 16px; --space-3: 24px; --space-4: 32px;
  --space-5: 40px; --space-6: 48px; --space-7: 56px; --space-8: 64px;
}

/* Contenedor centrado global */
.wrap{
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--space-2);
}

/* Secciones: ritmo vertical */
.section{ margin-block: var(--space-5); }
.section .section-title{ margin-bottom: var(--space-3); }

/* Grids: múltiplos de 8 */
.grid{
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}

/* Cards: solo estructura, sin tocar colores */
.card{
  border-radius: 16px;
  padding: var(--space-3);
}
.card.mini{ padding: var(--space-2); }

/* Botones: tamaños consistentes (sin cambiar paleta) */
.btn{ padding: 10px 16px; border-radius: 12px; font-weight: 700; }

/* Header responsive genérico (sin JS, sin cambiar colores) */
header, .site-header{
  width: 100%;
}
header .wrap, .site-header .wrap{
  display:flex; align-items:center; justify-content:space-between; gap: var(--space-2); flex-wrap: wrap;
  padding-block: var(--space-2);
}
header nav ul, .site-header nav ul{
  display:flex; flex-wrap:wrap; gap: var(--space-2);
  list-style:none; margin:0; padding:0;
}
header a, .site-header a{ text-decoration:none; }

/* Hero home: solo ajustes de ritmo */
.hero, .hero-meme{ padding-block: var(--space-6) var(--space-4); }
.hero .cta, .hero-meme .cta{ display:flex; gap: var(--space-2); flex-wrap: wrap; }

/* Tablas mini (rates) responsive */
.table, .mini-rates{ width:100%; overflow:auto; }
.mini-rates th, .mini-rates td{ padding: 12px; }

/* FAQ spacing */
.faq .faq__item{ margin-bottom: var(--space-2); }

/* Instagram widget: alto mínimo y ancho completo */
.ig-feed .lightwidget-widget,
iframe[src*="cdn.lightwidget.com/widgets/"]{
  display:block; width:100%!important; min-height:420px;
  border:0!important; border-radius:12px; overflow:hidden;
}

/* Contact: layout 2 columnas que colapsa bien */
.contact .layout{
  display:grid; gap: var(--space-3);
  grid-template-columns: 1.2fr .8fr;
}
.contact .form{ display:grid; gap: var(--space-2); }
.contact .tips{ margin-top: var(--space-3); }
.contact .contact-art{
  width:100%; border-radius:16px; display:block; object-fit:cover;
}

/* Móvil */
@media (max-width: 768px){
  .wrap{ padding-inline: var(--space-2); }
  .section{ margin-block: var(--space-4); }
  .grid{ gap: var(--space-2); }
  header .wrap, .site-header .wrap{ gap: var(--space-1); }
  header nav ul, .site-header nav ul{ gap: var(--space-1); }
  .hero, .hero-meme{ padding-block: var(--space-5) var(--space-3); }
  .hero .cta .btn, .hero-meme .cta .btn{ flex:1 1 100%; }
  .contact .layout{ grid-template-columns: 1fr; }
}
/* OMNI_FIX_CENTER_AND_MOBILE END */
