/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 22 2026 | 22:32:45 */
/* ==========================================================
   VILLA15 — DESIGN FOUNDATION v1.0
   villa15.de
   Stand: 22.09.2026

   DESIGNPRINZIP
   ----------------------------------------------------------
   Editoriale Architektur statt Page-Builder-Design.

   Keine Cards.
   Keine Standard-Sektionen.
   Keine erzwungene Symmetrie.
   Keine dekorativen Web-Effekte.
   Keine vorgefertigten Hero-, Grid- oder CTA-Layouts.

   Die visuelle Ordnung entsteht aus:
   Typografie, Maßstab, Weißraum, Originalfotografie
   und bewusst entwickelten Einzelkompositionen.

   VERBINDLICHE TECHNISCHE REGELN
   ----------------------------------------------------------
   1. Alle Regeln gelten ausschließlich innerhalb .v15-site.
   2. Kein Inline-CSS.
   3. Farben, Typografie und Grundmaße werden zentral definiert.
   4. Keine lokalen Sonderwerte für Farbe oder Typografie.
   5. Layouts werden aus dem jeweiligen Inhalt entwickelt.
   6. Bilder bleiben grundsätzlich in natürlicher Proportion.
   7. Keine dekorativen Rundungen oder Kartenschatten.
   8. Keine KI-generierten Bilder.
   9. Änderungen an dieser Foundation erhalten eine neue Version.
   ========================================================== */


/* ==========================================================
   01 — DESIGN TOKENS
   ========================================================== */

.v15-site {

    /* Neutrale Grundpalette */
    --v15-white: #ffffff;
    --v15-ink: #1c1e20;
    --v15-text: #414548;
    --v15-muted: #74787b;
    --v15-line: #e6e6e3;
    --v15-soft: #f6f6f3;

    /* Drei Maßstabsebenen */
    --v15-max: 1600px;
    --v15-content: 1240px;
    --v15-reading: 720px;

    /* Einheitlicher Rhythmus */
    --v15-space-xs: clamp(12px, 1vw, 16px);
    --v15-space-s: clamp(20px, 2vw, 32px);
    --v15-space-m: clamp(36px, 4vw, 64px);
    --v15-space-l: clamp(64px, 7vw, 112px);
    --v15-space-xl: clamp(96px, 11vw, 176px);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Helvetica,
        Arial,
        sans-serif;

    font-size: 18px;
    line-height: 1.7;

    color: var(--v15-text);
    background: var(--v15-white);

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* ==========================================================
   02 — CONTROLLED RESET
   ========================================================== */

.v15-site *,
.v15-site *::before,
.v15-site *::after {
    box-sizing: border-box;
}

.v15-site figure {
    margin: 0;
}

.v15-site img {
    display: block;
    max-width: 100%;
    height: auto;

    border: 0;
    border-radius: 0;
    box-shadow: none;
}


/* ==========================================================
   03 — TYPOGRAPHY
   ========================================================== */

.v15-site h1,
.v15-site h2,
.v15-site h3 {
    margin-top: 0;

    color: var(--v15-ink);

    font-weight: 500;
    letter-spacing: -0.035em;
}

.v15-site h1 {
    margin-bottom: var(--v15-space-s);

    font-size: clamp(46px, 6vw, 88px);
    line-height: .98;
}

.v15-site h2 {
    margin-bottom: var(--v15-space-s);

    font-size: clamp(34px, 4.2vw, 60px);
    line-height: 1.06;
}

.v15-site h3 {
    margin-bottom: var(--v15-space-xs);

    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1.18;
}

.v15-site p {
    margin-top: 0;
    margin-bottom: 1.5em;
}

.v15-site .v15-lead {
    font-size: clamp(20px, 1.8vw, 26px);
    line-height: 1.55;
}

.v15-site .v15-kicker {
    margin: 0 0 var(--v15-space-xs);

    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: .16em;
    text-transform: uppercase;

    color: var(--v15-muted);
}


/* ==========================================================
   04 — THREE WIDTH REFERENCES
   ========================================================== */

/* Große fotografische Bühne */
.v15-site .v15-stage {
    width: min(
        calc(100% - 32px),
        var(--v15-max)
    );

    margin-inline: auto;
}


/* Redaktioneller Inhaltsraum */
.v15-site .v15-frame {
    width: min(
        calc(100% - 64px),
        var(--v15-content)
    );

    margin-inline: auto;
}


/* Lesebreite für längere Texte */
.v15-site .v15-reading {
    width: min(
        100%,
        var(--v15-reading)
    );
}


/* ==========================================================
   05 — IMAGE FOUNDATION
   ========================================================== */

.v15-site .v15-photo {
    display: block;

    max-width: 100%;
    height: auto;

    border: 0;
    border-radius: 0;
    box-shadow: none;
}


/* ==========================================================
   06 — LINKS & FOCUS
   ========================================================== */

.v15-site a {
    color: inherit;

    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.v15-site a:focus-visible,
.v15-site button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}


/* ==========================================================
   07 — TABLET FOUNDATION
   ========================================================== */

@media (max-width: 900px) {

    .v15-site {
        font-size: 17px;
    }

    .v15-site .v15-frame {
        width: min(
            calc(100% - 40px),
            var(--v15-content)
        );
    }
}


/* ==========================================================
   08 — MOBILE FOUNDATION
   ========================================================== */

@media (max-width: 600px) {

    .v15-site {
        font-size: 17px;
        line-height: 1.65;
    }

    .v15-site .v15-stage,
    .v15-site .v15-frame {
        width: calc(100% - 28px);
    }
}


/* ==========================================================
   09 — REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .v15-site *,
    .v15-site *::before,
    .v15-site *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}