        @import url('https://fonts.googleapis.com/css2?family=Reenie+Beanie&family=Montserrat:wght@900&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;600&family=Caveat:wght@400;700&display=swap');

/* The old WordPress theme (Bootstrap) reset these globally; the page layout relies on them. */
*,
*::before,
*::after { box-sizing: border-box; }
body { margin: 0; background: #0d0d0d; }
/* In-page anchors stop below the fixed nav bar. */
html { scroll-padding-top: var(--nav-height, 84px); }

        @font-face {
            font-family: 'Boldfinger';
            src: url('https://artepoly.agepoly.ch/wp-content/uploads/2026/04/Boldfinger.ttf') format('truetype');
            font-weight: 400 900;
            font-style: normal;
        }

        #sb { display: block !important; width: 100% !important; overflow-x: hidden !important; }

/*         #sb-nav {
            position: fixed !important; top: 0 !important; left: 0 !important;
            width: 100% !important; padding: 24px 48px !important;
            display: flex !important; justify-content: space-between !important; align-items: center !important;
            z-index: 999999 !important; background: transparent !important;
            box-shadow: none !important; border: none !important;
            opacity: 1 !important; visibility: visible !important;
        }
        #sb-nav .logo-text {
            font-family: 'Reenie Beanie', cursive !important; font-size: 34px !important;
            font-weight: 700 !important; color: #4755f5 !important; line-height: 1 !important;
            text-decoration: none !important; display: inline-block !important;
        }
        #sb-nav ul { display: flex !important; gap: 48px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
        #sb-nav ul li { margin: 0 !important; padding: 0 !important; }
        #sb-nav ul a {
            font-family: 'Reenie Beanie', cursive !important; font-size: 28px !important;
            color: #0d0d0d !important; text-decoration: none !important;
            display: inline-block !important; transition: color 0.2s !important;
        }
        #sb-nav ul a:hover { color: #ff59c7 !important; }
        #sb-nav .dropdown { position: relative !important; }
        #sb-nav .dropdown-menu {
            position: absolute !important; top: 100% !important; left: 50% !important;
            transform: translateX(-50%) !important; background: white !important;
            border-radius: 16px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.14) !important;
            padding: 20px 10px 10px !important; min-width: 200px !important;
            opacity: 0 !important; pointer-events: none !important;
            transition: opacity 0.2s ease !important; z-index: 9999999 !important;
            list-style: none !important; margin: 0 !important;
            display: flex !important; flex-direction: column !important;
        }
        #sb-nav .dropdown-menu::before {
            content: '' !important; position: absolute !important;
            top: -20px !important; left: 0 !important; right: 0 !important; height: 20px !important;
        }
        #sb-nav .dropdown:hover .dropdown-menu { opacity: 1 !important; pointer-events: all !important; }
        #sb-nav .dropdown-menu li { margin: 0 !important; padding: 0 !important; }
        #sb-nav .dropdown-menu a {
            font-family: 'Montserrat', sans-serif !important; font-size: 12px !important;
            font-weight: 900 !important; letter-spacing: 2px !important; text-transform: uppercase !important;
            color: #0d0d0d !important; text-decoration: none !important; display: block !important;
            padding: 10px 16px !important; border-radius: 10px !important;
            transition: background 0.15s, color 0.15s !important;
        }
        #sb-nav .dropdown-menu a:hover { background: #4755f5 !important; color: white !important; }
        #sb-nav .dropdown > a::after { content: ' ↓' !important; font-size: 18px !important; font-family: 'Reenie Beanie', cursive !important; opacity: 0.5 !important; }
        #sb-nav .dropdown:hover > a { color: #4755f5 !important; }
        #sb-nav .dropdown-menu .cinema-group { display: flex !important; flex-direction: column !important; gap: 0 !important; }
        #sb-nav .dropdown-menu .sub-entry-link {
            font-family: 'Montserrat', sans-serif !important; font-size: 12px !important;
            font-weight: 900 !important; letter-spacing: 2px !important; text-transform: uppercase !important;
            color: #888 !important; padding: 2px 16px 8px 28px !important; border-radius: 10px !important;
            display: block !important; text-decoration: none !important;
            transition: background 0.15s, color 0.15s !important;
        }
        #sb-nav .dropdown-menu .sub-entry-link::before { content: '↳ ' !important; color: #4755f5 !important; }
        #sb-nav .dropdown-menu .sub-entry-link:hover { background: #f5f5ff !important; color: #4755f5 !important; } */

        /* ── HERO ── */
        #sb .mag-hero {
            min-height: calc(100vh - var(--nav-height, 84px)) !important; min-height: calc(100svh - var(--nav-height, 84px)) !important; display: flex !important; flex-direction: column !important;
            justify-content: center !important; align-items: center !important;
            text-align: center !important; padding: clamp(110px, 11vw, 180px) 5vw 200px !important;
            background-color: #fff9fb !important; position: relative !important; margin: 0 !important;
        }
        #sb .mag-hero-content { max-width: 1000px !important; width: 100% !important; }

        /* Title sticker — four corner tapes */
        #sb .mag-hero-title-sticker {
            display: inline-block !important; background: #4755f5 !important;
            padding: 16px 28px !important; transform: rotate(-10.5deg) !important;
            position: relative !important; margin-bottom: 80px !important;
        }
        #sb .mag-hero-title-sticker::before,
        #sb .mag-hero-title-sticker::after { display: none !important; }
        #sb .tape {
            position: absolute !important; width: 92px !important; height: 26px !important;
            background: rgba(180,185,255,0.78) !important; border-radius: 3px !important;
            box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important;
        }
        #sb .tape-tl { top: -5px !important;    left: -33px !important;   transform: rotate(-45deg) !important; transform-origin: center center !important; }
        #sb .tape-tr { top: -5px !important;    right: -33px !important;  transform: rotate(45deg) !important;  transform-origin: center center !important; }
        #sb .tape-bl { bottom: -5px !important; left: -33px !important;   transform: rotate(45deg) !important;  transform-origin: center center !important; }
        #sb .tape-br { bottom: -5px !important; right: -33px !important;  transform: rotate(-45deg) !important; transform-origin: center center !important; }

        #sb .mag-hero-title {
            font-family: 'Boldfinger', 'Montserrat', sans-serif !important;
            font-size: clamp(48px, 10.5vw, 170px) !important; font-weight: 900 !important;
            line-height: 0.85 !important; margin: 0 !important;
            text-transform: uppercase !important; color: white !important;
            letter-spacing: -4px !important; display: block !important;
        }
        #sb .mag-hero-subtitle {
            font-family: 'Inter', sans-serif !important;
            font-size: clamp(11px, 1.6vw, 18px) !important; font-weight: 600 !important;
            letter-spacing: 6px !important; text-transform: uppercase !important;
            color: #4755f5 !important; margin-bottom: 36px !important; display: block !important;
        }
        #sb .mag-hero-sub {
            font-family: 'Boldfinger', 'Montserrat', sans-serif !important; font-size: 20px !important;
            color: #c8b6ff !important; max-width: 680px !important; margin: 0 auto !important;
            line-height: 1.5 !important; display: block !important;
        }
        #sb .scroll-down {
            position: absolute !important; bottom: 100px !important; left: 50% !important;
            transform: translateX(-50%) !important; font-family: 'Reenie Beanie', cursive !important;
            font-size: 24px !important; color: #4755f5 !important; text-decoration: none !important;
            display: flex !important; flex-direction: column !important;
            align-items: center !important; gap: 10px !important;

        }

        /* ── LATEST SECTION ── */
        #sb .latest-section {
            padding: 80px 5vw !important; display: flex !important; flex-direction: column !important;
            align-items: center !important; background: #ffffff !important;
            border-top: 1px solid #eee !important; margin: 0 !important;
        }
        #sb .section-label {
            font-family: 'Inter', sans-serif !important; font-size: 13px !important;
            font-weight: 600 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
            color: #4755f5 !important; margin-bottom: 10px !important;
            display: block !important; text-align: center !important;
        }
        #sb .section-title {
            font-family: 'Playfair Display', serif !important; font-size: 48px !important;
            font-weight: 400 !important; margin-bottom: 50px !important; text-align: center !important;
            font-style: italic !important; color: #0d0d0d !important; display: block !important;
        }
        #sb .pdf-embed-wrap {
            width: 90vw !important; max-width: 1000px !important; aspect-ratio: 1 / 1.414 !important;
            border-radius: 8px !important; overflow: hidden !important;
            box-shadow: 0 40px 80px rgba(0,0,0,0.15) !important;
            background: #f5f5f5 !important; position: relative !important; display: block !important;
        }
        #sb .pdf-embed-wrap iframe { width: 100% !important; height: 100% !important; border: none !important; display: block !important; }
        #sb .open-btn {
            display: inline-flex !important; align-items: center !important; gap: 10px !important;
            margin-top: 32px !important; font-family: 'Inter', sans-serif !important;
            font-size: 14px !important; font-weight: 600 !important; color: #4755f5 !important;
            text-decoration: none !important; border: 1px solid #4755f5 !important;
            padding: 12px 28px !important; border-radius: 100px !important;
            letter-spacing: 1px !important; background: transparent !important;
        }
        #sb .open-btn:hover { background: #4755f5 !important; color: white !important; }

        /* ── ARCHIVE ── */
        #sb .archive-section {
            padding: 120px 5vw !important; border-top: 1px solid #eee !important;
            background-color: #fff9fb !important; margin: 0 !important;
        }
        #sb .archive-grid {
            display: flex !important; flex-wrap: wrap !important; gap: 40px !important;
            justify-content: center !important; margin-top: 20px !important; padding: 0 !important;
        }
        #sb .cover-card { width: 280px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; cursor: pointer !important; }
        #sb .cover-embed-wrap {
            width: 280px !important; height: 396px !important; border-radius: 6px !important;
            overflow: hidden !important; box-shadow: 8px 8px 30px rgba(0,0,0,0.12) !important;
            background: #f5f5f5 !important; position: relative !important;
        }
        #sb .cover-embed-wrap::before {
            content: '' !important; position: absolute !important;
            left: 0 !important; top: 0 !important; bottom: 0 !important; width: 12px !important;
            background: linear-gradient(to right, rgba(0,0,0,0.12), transparent) !important;
            z-index: 2 !important; pointer-events: none !important;
        }
        #sb .cover-embed-wrap iframe {
            width: 560px !important; height: 792px !important;
            transform: scale(0.85) !important; transform-origin: 0 0 !important;
            border: none !important; display: block !important; pointer-events: none !important;
        }
        #sb .cover-overlay {
            position: absolute !important; inset: 0 !important; background: rgba(71,85,245,0) !important;
            display: flex !important; align-items: center !important; justify-content: center !important;
            cursor: pointer !important; transition: background 0.3s !important; z-index: 3 !important;
        }
        #sb .cover-overlay span {
            font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important;
            color: white !important; font-size: 14px !important; letter-spacing: 3px !important;
            opacity: 0 !important; transition: opacity 0.3s !important;
        }
        #sb .cover-card:hover .cover-overlay { background: rgba(71,85,245,0.65) !important; }
        #sb .cover-card:hover .cover-overlay span { opacity: 1 !important; }
        #sb .cover-info h4 { font-family: 'Playfair Display', serif !important; font-size: 21px !important; color: #0d0d0d !important; margin: 0 !important; }
        #sb .cover-info p { font-family: 'Inter', sans-serif !important; font-size: 13px !important; color: #666 !important; text-transform: uppercase !important; letter-spacing: 2px !important; margin: 4px 0 0 !important; }

        /* ── CTA ── */
        #sb .cta-section { padding: 40px 5vw !important; background-color: #4755f5 !important; text-align: center !important; margin: 0 !important; }
        #sb .cta-title { font-family: 'Playfair Display', serif !important; font-size: clamp(48px, 8vw, 96px) !important; font-weight: 700 !important; margin-bottom: 40px !important; font-style: italic !important; color: white !important; display: block !important; }
        #sb .cta-text { font-family: 'Inter', sans-serif !important; font-size: 22px !important; max-width: 900px !important; margin: 0 auto 60px !important; line-height: 1.6 !important; color: white !important; display: block !important; }
        #sb .cta-btn {
            font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important;
            font-size: 19px !important; padding: 24px 60px !important;
            background-color: #FCE4EC !important; color: #0d0d0d !important;
            text-decoration: none !important; border-radius: 100px !important;
            text-transform: uppercase !important; letter-spacing: 3px !important;
            display: inline-block !important; box-shadow: 0 10px 0 #0d0d0d !important; border: none !important;
        }
        #sb .cta-btn:hover { transform: translateY(-5px) !important; box-shadow: 0 15px 0 #0d0d0d !important; background-color: white !important; color: #0d0d0d !important; }

        /* ── MEETINGS ── */
        #sb .info-section { padding: 0 !important; background-color: #0d0d0d !important; text-align: center !important; margin: 0 !important; overflow: hidden !important; }
        #sb .info-inner { padding: 48px 5vw !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 12px !important; }
        #sb .info-eyebrow { font-family: 'Montserrat', sans-serif !important; font-size: 11px !important; font-weight: 900 !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: #4755f5 !important; margin: 0 !important; }
        #sb .info-text { font-family: 'Playfair Display', serif !important; font-size: clamp(18px, 2.2vw, 26px) !important; font-weight: 400 !important; font-style: italic !important; color: rgba(255,255,255,0.82) !important; margin: 0 !important; line-height: 1.55 !important; max-width: 680px !important; }
        #sb .info-text strong { font-style: normal !important; font-weight: 700 !important; color: #ffffff !important; }

        /* ── LIGHTBOX ── */
        #sb-lightbox { position: fixed !important; inset: 0 !important; background: rgba(10,10,10,0.92) !important; display: none !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; z-index: 9999999 !important; padding: 60px 40px 40px !important; backdrop-filter: blur(8px) !important; }
        #sb-lightbox.open { display: flex !important; }
        #sb-lightbox .lb-close { position: absolute !important; top: 24px !important; right: 24px !important; background: rgba(255,255,255,0.1) !important; border: 1px solid rgba(255,255,255,0.2) !important; color: white !important; width: 52px !important; height: 52px !important; border-radius: 50% !important; cursor: pointer !important; font-size: 24px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
        #sb-lightbox .lb-close:hover { background: rgba(255,255,255,0.25) !important; transform: rotate(90deg) !important; }
        #sb-lightbox #lb-title { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: white !important; margin-bottom: 20px !important; font-style: italic !important; }
        #sb-lightbox #lb-embed-wrap { width: 90vw !important; max-width: 900px !important; aspect-ratio: 1 / 1.414 !important; border-radius: 8px !important; overflow: hidden !important; background: #222 !important; }
        #sb-lightbox #lb-iframe { width: 100% !important; height: 100% !important; border: none !important; display: block !important; }
        #sb-lightbox .lb-open-btn { margin-top: 20px !important; font-family: 'Inter', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: rgba(255,255,255,0.6) !important; text-decoration: none !important; border: 1px solid rgba(255,255,255,0.2) !important; padding: 10px 24px !important; border-radius: 100px !important; background: transparent !important; display: inline-block !important; }
        #sb-lightbox .lb-open-btn:hover { color: white !important; border-color: white !important; }

        /* HAMBURGER */
/*         #sb-hamburger {
            display: none !important; flex-direction: column !important; justify-content: center !important;
            gap: 6px !important; cursor: pointer !important; background: none !important;
            border: none !important; padding: 6px !important; border-radius: 8px !important; z-index: 1000001 !important;
        }
        #sb-hamburger span { display: block !important; width: 26px !important; height: 3px !important; background: #0d0d0d !important; border-radius: 3px !important; transition: background 0.2s ease !important; }
        #sb-hamburger:hover span { background: #c8b6ff !important; } */
        /* MOBILE PANEL */
/*         #sb-mobile-menu {
            display: none; position: fixed !important; top: 14px !important; right: 14px !important;
            z-index: 1000000 !important; background: #ffffff !important; border-radius: 22px !important;
            padding: 20px 30px 28px !important; box-shadow: 0 4px 32px rgba(0,0,0,0.14), 6px 6px 0px #4755f5 !important;
            border: 2.5px solid #0d0d0d !important; min-width: 216px !important;
            transform: scale(0.9) translateY(-14px) !important; opacity: 0 !important;
            transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.175,0.885,0.32,1.275) !important; pointer-events: none !important;
        }
        #sb-mobile-menu.sb-menu-open { opacity: 1 !important; transform: scale(1) translateY(0) !important; pointer-events: auto !important; }
        #sb-mobile-close { position: absolute !important; top: 16px !important; right: 18px !important; background: none !important; border: none !important; font-size: 22px !important; cursor: pointer !important; color: #0d0d0d !important; line-height: 1 !important; padding: 0 !important; font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important; transition: color 0.2s ease !important; }
        #sb-mobile-close:hover { color: #c8b6ff !important; }
        #sb-mobile-menu nav ul { list-style: none !important; margin: 36px 0 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 0 !important; }
        #sb-mobile-menu nav ul li { border-bottom: 1.5px solid rgba(0,0,0,0.08) !important; margin: 0 !important; padding: 0 !important; }
        #sb-mobile-menu nav ul li:last-child { border-bottom: none !important; }
        #sb-mobile-menu nav ul li a { display: flex !important; align-items: center !important; gap: 12px !important; padding: 12px 0 !important; text-decoration: none !important; color: #0d0d0d !important; font-family: 'Montserrat', sans-serif !important; font-size: 18px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: -0.03em !important; transition: color 0.2s ease, transform 0.2s ease !important; min-height: 44px !important; }
        #sb-mobile-menu nav ul li a:hover { color: #c8b6ff !important; transform: translateX(4px) !important; }
        #sb-mobile-menu .menu-num { font-family: 'Montserrat', sans-serif !important; font-size: 10px !important; font-weight: 900 !important; color: #c8b6ff !important; letter-spacing: 0.5px !important; flex-shrink: 0 !important; }

        #sb-mobile-menu .poles-label { display: flex !important; align-items: center !important; gap: 12px !important; padding: 12px 0 6px !important; font-family: 'Montserrat', sans-serif !important; font-size: 18px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: -0.03em !important; color: #0d0d0d !important; }
        #sb-mobile-menu .poles-sub { list-style: none !important; margin: 0 0 8px 24px !important; padding: 0 !important; }
        #sb-mobile-menu .poles-sub li { border-bottom: none !important; display: flex !important; flex-direction: column !important; }
        #sb-mobile-menu .poles-sub a { font-size: 12px !important; padding: 3px 0 !important; min-height: auto !important; color: rgba(13,13,13,0.5) !important; font-weight: 700 !important; letter-spacing: 0.05em !important; }
        #sb-mobile-menu .poles-sub a:hover { color: #c8b6ff !important; transform: none !important; }
        #sb-mobile-menu .contest-link { color: #4755f5 !important; font-style: italic !important; padding: 1px 0 4px 8px !important; font-size: 10px !important; }
        #sb-mobile-menu .contest-link:hover { color: #4755f5 !important; transform: none !important; } */

        @media (max-width: 900px) {
/*             #sb-nav { padding: 16px 24px !important; flex-wrap: nowrap !important; }
            #sb-nav ul { display: none !important; }
            #sb-hamburger { display: flex !important; }
            #sb-mobile-menu { display: block; } */
            #sb .mag-hero-title { font-size: 9.5vw !important; letter-spacing: -1px !important; }
            #sb .mag-hero-title-sticker { transform: rotate(-10.5deg) !important; }
            #sb .pdf-embed-wrap { width: 95vw !important; }
            #sb .cover-card { width: 200px !important; }
            #sb .cover-embed-wrap { width: 200px !important; height: 283px !important; }
            #sb .cover-embed-wrap iframe { width: 400px !important; height: 566px !important; transform: scale(0.5) !important; }
            #sb-lightbox #lb-embed-wrap { width: 95vw !important; }
        }
    

/* "sur Telegram !" handwritten note under the contact button */
#sb .cta-contact { display: inline-flex !important; flex-direction: column !important; align-items: center !important; }
#sb .cta-telegram {
    font-family: 'Reenie Beanie', cursive !important; font-size: 34px !important; line-height: 1 !important;
    color: rgba(255,255,255,0.9) !important; margin-top: 26px !important;
    transform: rotate(-3deg) !important; display: inline-block !important;
}

/* ── Flipbook on the home page + archive cover buttons ── */
#sb .latest-section .fb-inline { --fb-height: min(80vh, 860px); width: 100% !important; max-width: 1500px !important; }
#sb .cover-card { text-decoration: none !important; color: inherit !important; }
#sb .cover-img-wrap {
    width: 280px !important; height: 396px !important; border-radius: 6px !important;
    overflow: hidden !important; box-shadow: 8px 8px 30px rgba(0,0,0,0.12) !important;
    background: #f5f5f5 !important; position: relative !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
#sb .cover-img-wrap::before {
    content: '' !important; position: absolute !important;
    left: 0 !important; top: 0 !important; bottom: 0 !important; width: 12px !important;
    background: linear-gradient(to right, rgba(0,0,0,0.12), transparent) !important;
    z-index: 2 !important; pointer-events: none !important;
}
#sb .cover-card:hover .cover-img-wrap { transform: translateY(-6px) !important; box-shadow: 12px 16px 36px rgba(0,0,0,0.18) !important; }
#sb .cover-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
#sb .cover-placeholder {
    width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important;
    background: #4755f5 !important; color: white !important;
    font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important; font-size: 48px !important; letter-spacing: -1px !important;
}
@media (max-width: 900px) {
    #sb .cover-img-wrap { width: 200px !important; height: 283px !important; }
    #sb .cover-placeholder { font-size: 36px !important; }
}

/* ── Archive lines: first line 3 issues, then 4 per line (one line per year) ── */
#sb .archive-grid { flex-direction: column !important; flex-wrap: nowrap !important; align-items: center !important; gap: 56px !important; }
#sb .archive-row {
    display: grid !important; width: 100% !important; max-width: 1240px !important; gap: 40px !important;
    grid-template-columns: repeat(var(--cols, 4), minmax(0, 280px)) !important; justify-content: center !important;
}
#sb .archive-row .cover-card { width: 100% !important; }
#sb .archive-row .cover-img-wrap { width: 100% !important; height: auto !important; aspect-ratio: 280 / 396 !important; }
@media (max-width: 1000px) {
    #sb .archive-row { grid-template-columns: repeat(2, minmax(0, 280px)) !important; gap: 28px !important; }
    #sb .archive-grid { gap: 28px !important; }
}
