/* =====================================================================
   THEME · SWISS MODERNIST — strict grid, red accent, massive sans
   ===================================================================== */

[data-theme="swiss"] {
    --bg: #FFFFFF;
    --bg-alt: #F5F5F5;
    --bg-card: #FFFFFF;
    --fg: #000000;
    --fg-muted: #555555;
    --accent: #E30613;
    --accent-dark: #B8050F;
    --accent-contrast: #FFFFFF;
    --accent-glow: rgba(227, 6, 19, 0.15);
    --border: #000000;

    --font-head: "Archivo", "Neue Haas Grotesk", sans-serif;
    --font-body: "Archivo", system-ui, sans-serif;
    --font-weight-head: 900;

    --radius: 0;
    --radius-sm: 0;
    --stroke: 0;
    --density: 0.95;
    --section-pad: clamp(3rem, 6vw, 5rem);
    --photo-filter: grayscale(0.2) contrast(1.05);
    --shadow-card: none;
    --btn-shape: 0;
}

/* Visible 12-column grid overlay on hero */
[data-theme="swiss"] .hero {
    background-image:
        linear-gradient(to right, rgba(0,0,0,0.04) 1px, transparent 1px);
    background-size: calc(100% / 12) 100%;
    border-bottom: 1px solid #000;
}

[data-theme="swiss"] .hero h1 {
    font-weight: 900;
    font-size: clamp(3rem, 10vw, 8rem);
    letter-spacing: -0.04em;
    line-height: 0.9;
    text-align: left;
    max-width: none;
}
[data-theme="swiss"] .hero-inner { text-align: left; }
[data-theme="swiss"] .hero h1 { margin: 0; }

/* Sections with hard top rule */
[data-theme="swiss"] .section {
    border-top: 1px solid #000;
    position: relative;
}
[data-theme="swiss"] .section-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #000;
    padding: 0.4rem 0;
    border-bottom: 1px solid #000;
    display: inline-block;
}

/* Cards — flat white with thin rule */
[data-theme="swiss"] .card,
[data-theme="swiss"] .paket,
[data-theme="swiss"] .work-card,
[data-theme="swiss"] .faq-item {
    background: #FFF;
    border: 1px solid #000;
    box-shadow: none;
    border-radius: 0;
}

/* Numbered list prefix on cards */
[data-theme="swiss"] .card-grid,
[data-theme="swiss"] .paket-grid {
    counter-reset: swiss-num;
}
[data-theme="swiss"] .card::before,
[data-theme="swiss"] .paket::before {
    counter-increment: swiss-num;
    content: "/ " counter(swiss-num, decimal-leading-zero);
    display: block;
    font-family: var(--font-head);
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    color: var(--accent);
    margin-bottom: 1rem;
    font-weight: 700;
}

/* Buttons — hard rectangles, red accent */
[data-theme="swiss"] .btn-primary {
    background: var(--accent);
    color: #FFF;
    border: 1px solid var(--accent);
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
}
[data-theme="swiss"] .btn-primary:hover { background: #000; border-color: #000; transform: none; }

[data-theme="swiss"] .btn-secondary {
    background: #FFF; color: #000; border: 1px solid #000; border-radius: 0;
    text-transform: uppercase; letter-spacing: 0.1em;
}

/* Tile */
.tile-preview[data-theme="swiss"] {
    background:
        linear-gradient(to right, rgba(0,0,0,0.08) 1px, transparent 1px) 0 0/14px 14px,
        #FFFFFF;
    color: #000;
    border: 1px solid #000;
}
.tile-preview[data-theme="swiss"] .tile-head { font-weight: 900; letter-spacing: -0.04em; }
.tile-preview[data-theme="swiss"] .tile-dot { background: #E30613; border-radius: 0; }
