/* ═══════════════════════════════════════════════════════════════════════════
   Level Up — shared chrome (nav, mobile drawer, footer helpers, brand tokens).
   Ported verbatim from the approved build's "SHARED across all pages" inline
   <style> block (home.blade.php). Do not change class names. Loaded globally.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
    --dp:#2C2F73; --mp:#3F3F8F; --lp:#5A5ACF; --ov:#1F2257;
    --cyan:#7ED6D1; --mint:#9FE3B3;
}
.lu-nav {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 9990;
    height: 90px;
    display: flex;
    align-items: center;
    padding: 0 40px;
    background: rgba(44,47,115,0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    transition: background .3s, backdrop-filter .3s, box-shadow .3s;
}
.lu-nav.lu-scrolled {
    background: rgba(22,24,72,0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom-color: rgba(255,255,255,0.14);
    box-shadow: 0 4px 30px rgba(0,0,0,0.4);
}
.lu-nav-inner { display:flex; align-items:center; width:100%; min-width:0; }
.lu-nav-left  { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.lu-nav-logo  { display:block; flex-shrink:0; }
.lu-nav-logo img { height:68px; width:auto; display:block; transition:opacity .2s; } /* CLIENT: bigger logo */
.lu-nav-logo:hover img { opacity:.82; }
.lu-nav-supp { display:none !important; }
.lu-nav-supp-lbl { display: none !important; }
.lu-nav-supp img { height:52px; width:auto; max-width:220px; object-fit:contain; filter:brightness(0) invert(1); opacity:.75; display:block; }
.lu-nav-links { flex:1; display:flex; align-items:center; justify-content:center; gap:0; list-style:none; margin:0; padding:0; }
.lu-nav-links a { display:block; padding:10px 16px; font-family:'LEMONMILK','Futura',sans-serif; font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.82); text-decoration:none; white-space:nowrap; position:relative; transition:color .22s; }
.lu-nav-links a::after { content:''; position:absolute; bottom:2px; left:13px; right:13px; height:1px; background:var(--cyan); transform:scaleX(0); transform-origin:left center; transition:transform .26s ease; }
.lu-nav-links a:hover { color:#fff; text-decoration:none; }
.lu-nav-links a:hover::after { transform:scaleX(1); }
.lu-nav-links a.active { color:var(--cyan); }
.lu-nav-links a.active::after { transform:scaleX(1); }
.lu-drawer-nav a.active { color:var(--cyan); background:rgba(126,214,209,.06); border-left:2px solid var(--cyan); }
.lu-nav-ctas { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.lu-nav-book { font-family:'LEMONMILK','Futura',sans-serif; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); border:1px solid rgba(126,214,209,.45); background:transparent; padding:13px 26px; border-radius:50px; text-decoration:none; white-space:nowrap; display:inline-block; transition:background .22s, border-color .22s, color .22s; }
.lu-nav-book:hover { background:var(--cyan); border-color:var(--cyan); color:#1F2257; text-decoration:none; }
.lu-nav-reg { font-family:'LEMONMILK','Futura',sans-serif; font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#1F2257; background:var(--mint); padding:14px 28px; border-radius:50px; text-decoration:none; white-space:nowrap; display:inline-block; border:none; transition:background .22s, box-shadow .22s, transform .15s; }
.lu-nav-reg:hover { background:var(--cyan); box-shadow:0 0 22px rgba(126,214,209,.6); transform:translateY(-1px); color:#1F2257; text-decoration:none; }
.lu-burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; padding:7px 9px; background:transparent; border:1px solid rgba(255,255,255,.2); border-radius:6px; cursor:pointer; flex-shrink:0; margin-left:auto; transition:border-color .2s; }
.lu-burger:hover { border-color:rgba(255,255,255,.45); }
.lu-burger span { display:block; width:100%; height:1.5px; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .22s; }
.lu-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.lu-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.lu-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.lu-overlay { display:none; position:fixed; inset:0; background:rgba(10,10,42,.58); z-index:9991; opacity:0; transition:opacity .3s ease; pointer-events:none; }
.lu-overlay.open { opacity:1; pointer-events:auto; }
.lu-drawer { position:fixed; top:0; right:0; bottom:0; width:clamp(260px,80vw,320px); z-index:9992; background:linear-gradient(160deg,#1F2257 0%,#2C2F73 100%); transform:translateX(100%); transition:transform .38s cubic-bezier(.22,1,.36,1); display:flex; flex-direction:column; overflow-y:auto; }
.lu-drawer.open { transform:translateX(0); }
.lu-drawer-head { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid rgba(255,255,255,.08); flex-shrink:0; }
.lu-drawer-x { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.8); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.lu-drawer-x:hover { background:rgba(255,255,255,.15); }
.lu-drawer-nav { flex:1; padding:20px 0; display:flex; flex-direction:column; }
.lu-drawer-nav a { display:block; padding:14px 22px; font-family:'LEMONMILK','Futura',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.72); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.06); transition:color .2s, background .2s, padding-left .2s; }
.lu-drawer-nav a:hover { color:var(--cyan); background:rgba(126,214,209,.06); padding-left:28px; }
.lu-drawer-ctas { padding:18px 22px 30px; display:flex; flex-direction:column; gap:10px; border-top:1px solid rgba(255,255,255,.08); flex-shrink:0; }
.lu-drawer-ctas a { padding:13px 20px; font-size:11px; display:block; text-align:center; }

/* ── Body CTA re-skin (matches nav .lu-nav-reg / .lu-nav-book) ── */
.btn-mod.btn-w,
a.btn-mod.btn-w {
    background: var(--mint) !important;
    color: #1F2257 !important;
    border: 1px solid var(--mint) !important;
    font-family: 'LEMONMILK','Futura',sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    white-space: nowrap !important;
    transition: background .22s, box-shadow .22s, transform .15s !important;
}
.btn-mod.btn-w:hover,
a.btn-mod.btn-w:hover {
    background: #b5edcc !important;
    box-shadow: 0 0 20px rgba(159,227,179,.55) !important;
    transform: translateY(-1px) !important;
    color: #1F2257 !important;
}
.btn-mod.btn-border-w,
a.btn-mod.btn-border-w {
    background: transparent !important;
    color: var(--cyan) !important;
    border: 1px solid rgba(126,214,209,.45) !important;
    font-family: 'LEMONMILK','Futura',sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    white-space: nowrap !important;
    transition: background .22s, border-color .22s, color .22s !important;
}
.btn-mod.btn-border-w:hover,
a.btn-mod.btn-border-w:hover {
    background: rgba(126,214,209,.1) !important;
    border-color: var(--cyan) !important;
    color: #fff !important;
}
form .btn-mod.btn-w[type="submit"],
button.btn-mod.btn-w[type="submit"] {
    width: 100% !important;
    display: flex !important;
}
/* ── Nav active state ── */
.lu-nav-current a,
.lu-nav-links li.lu-nav-current a {
    color: var(--cyan) !important;
    font-weight: 700 !important;
}
.lu-nav-current a::after,
.lu-nav-links li.lu-nav-current a::after {
    transform: scaleX(1) !important;
    background: var(--cyan) !important;
}
.lu-drawer-nav a.lu-drawer-current {
    color: var(--cyan) !important;
    background: rgba(126,214,209,.08) !important;
}

/* SPACING FIX */
body { padding-top: 90px; }
.page-section { padding-top: 44px; padding-bottom: 44px; }
/* FONT CONSISTENCY */
.section-title-strong, .section-title-small { font-family:'LEMONMILK','Futura',sans-serif !important; }
h1,h2,h3,h4 { font-family:'LEMONMILK','Futura',sans-serif; }
/* RESPONSIVE */
@media (max-width:1280px) { .lu-nav-links a{padding:8px 10px;font-size:12px;letter-spacing:.08em;} .lu-nav-book,.lu-nav-reg{padding:10px 16px;font-size:11px;} }
@media (max-width:1100px) { .lu-nav-supp img{height:40px;max-width:160px;} .lu-nav-logo img{height:72px;} }
@media (max-width:991px) {
    .lu-nav-links  { display: none; }
    .lu-nav-ctas   { display: none; }
    .lu-burger     { display: flex; }
    .lu-overlay    { display: block; }
    .lu-nav-supp   { display: flex; }
}
@media (max-width:575px) {
    .lu-nav          { height: 72px; padding: 0 14px; }
    body             { padding-top: 72px; }
    .lu-nav-supp     { display: flex; padding-left: 12px; }
    .lu-nav-supp img { height: 34px; max-width: 110px; }
    .lu-nav-logo img { height: 46px; }
}
/* CLIENT FIX: smashi is a dark/boxed logo — show it in real colours everywhere. */
img[src*="smashi"] { filter: none !important; opacity: 1 !important; }

/* ── Shared stat helpers (used across home, about, exhibit, register, etc.) ── */
.lu-plus { color: var(--cyan); font-size: 0.7em; font-weight: 700; vertical-align: baseline; margin-left: 2px; }
.lu-section-stat-n { font-family: 'LEMONMILK','Futura',sans-serif; font-weight: 700; font-size: clamp(42px, 5vw, 68px); line-height: 1; color: #fff; letter-spacing: -.02em; margin: 0; }
.lu-section-stat-l { font-family: 'LEMONMILK','Futura',sans-serif; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: 10px; }
