
        :root {
            --color-wine: #54121F;
            --color-wine-dark: #320A12;
            --color-wine-light: #731F2F;
            --color-gold: #C5A059;
            --color-gold-dark: #A37E3A;
            --color-gold-light: #F4EFE3;
            --color-sand: #FAF9F5;
            --color-sand-dark: #F1ECE3;
            --color-sand-border: #E3DAC9;
            --color-text: #1F1A1A;
            --color-text-muted: #615553;
            --color-white: #FFFFFF;

            --font-serif: 'Playfair Display', Georgia, serif;
            --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
            
            --radius-sm: 2px;
            --radius-md: 6px;
            --radius-lg: 12px;

            --space-xs: 0.5rem;
            --space-sm: 1rem;
            --space-md: 1.5rem;
            --space-lg: 2.5rem;
            --space-xl: 4.5rem;

            --container-width: 1180px;
            --transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            --shadow-subtle: 0 4px 20px rgba(50, 10, 18, 0.04);
            --shadow-premium: 0 12px 35px rgba(50, 10, 18, 0.07);
        }

        /* Base Reset */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: var(--font-sans);
            background-color: var(--color-white);
            color: var(--color-text);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            padding-bottom: 75px;
        }

        @media (min-width: 768px) {
            body {
                padding-bottom: 0;
            }
        }

        /* Accessibility Utilities */
        .skip-link {
            position: absolute;
            top: -100px;
            left: 0;
            background: var(--color-wine);
            color: var(--color-white);
            padding: var(--space-sm);
            z-index: 9999;
            transition: top 0.2s;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }
        .skip-link:focus {
            top: 0;
        }

        /* Container Layout */
        .container {
            width: 100%;
            max-width: var(--container-width);
            margin: 0 auto;
            padding: 0 var(--space-md);
        }

        /* Buttons */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.85rem 1.8rem;
            font-family: var(--font-sans);
            font-size: 0.8rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: var(--radius-sm);
            transition: var(--transition);
            cursor: pointer;
            border: 1px solid transparent;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .btn--cta {
            background-color: var(--color-wine);
            color: var(--color-white);
            border-color: var(--color-wine);
        }

        .btn--cta:hover {
            background-color: var(--color-wine-dark);
            border-color: var(--color-wine-dark);
            transform: translateY(-1px);
        }

        .btn--secondary {
            background-color: transparent;
            color: var(--color-wine);
            border-color: var(--color-wine);
        }

        .btn--secondary:hover {
            background-color: var(--color-sand);
            transform: translateY(-1px);
        }

        /* Header (Brand + CTA) */
        .site-header {
            background-color: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--color-sand-dark);
            position: sticky;
            top: 0;
            z-index: 100;
            padding: var(--space-sm) 0;
            box-shadow: var(--shadow-subtle);
        }

        .site-header__container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .brand {
            display: flex;
            flex-direction: column;
            text-decoration: none;
            color: var(--color-wine);
        }

        .brand__name {
            font-family: var(--font-serif);
            font-size: 1.5rem;
            font-weight: 600;
            line-height: 1;
            letter-spacing: -0.5px;
        }

        .brand__sub {
            font-family: var(--font-sans);
            font-size: 0.6rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--color-gold-dark);
            margin-top: 5px;
            font-weight: 700;
        }

        /* Strict Navigation Rule: Placed right after </header>, in normal flow */
        .site-nav {
            background-color: var(--color-sand);
            border-bottom: 1px solid var(--color-sand-border);
            padding: var(--space-xs) 0;
        }

        .site-nav ul {
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            gap: var(--space-md);
            padding: 0 var(--space-md);
            max-width: var(--container-width);
            margin: 0 auto;
        }

        .site-nav a {
            text-decoration: none;
            color: var(--color-text-muted);
            font-size: 0.75rem;
            font-weight: 600;
            transition: var(--transition);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .site-nav a:hover,
        .site-nav li.active a {
            color: var(--color-wine);
        }

        /* Hero / Lead Block */
        .hero {
            padding: var(--space-xl) 0;
            background-color: var(--color-sand);
            border-bottom: 1px solid var(--color-sand-dark);
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 35%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(197, 160, 89, 0.03));
            pointer-events: none;
        }

        .hero__grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-lg);
            align-items: center;
        }

        @media (min-width: 768px) {
            .hero__grid {
                grid-template-columns: 1.1fr 0.9fr;
                gap: var(--space-xl);
            }
        }

        .hero__badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background-color: var(--color-white);
            color: var(--color-wine-dark);
            padding: 0.45rem 0.9rem;
            border-radius: var(--radius-sm);
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: var(--space-sm);
            border: 1px solid var(--color-sand-border);
            box-shadow: var(--shadow-subtle);
        }

        .hero__title {
            font-family: var(--font-serif);
            font-size: 2.4rem;
            line-height: 1.15;
            color: var(--color-wine-dark);
            margin-bottom: var(--space-sm);
            font-weight: 500;
        }

        @media (min-width: 768px) {
            .hero__title {
                font-size: 3.4rem;
            }
        }

        .hero__lead {
            font-size: 1.05rem;
            color: var(--color-text-muted);
            margin-bottom: var(--space-md);
            max-width: 540px;
            font-weight: 300;
            line-height: 1.7;
        }

        .hero__image-wrapper {
            position: relative;
            border-radius: var(--radius-sm);
            overflow: hidden;
            border: 1px solid var(--color-sand-border);
            box-shadow: var(--shadow-premium);
        }

        .hero__image-wrapper img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
            max-height: 420px;
        }

        /* Service Cards Section */
        .services {
            padding: var(--space-xl) 0;
            background-color: var(--color-white);
            border-bottom: 1px solid var(--color-sand-dark);
        }

        .services__header {
            text-align: center;
            max-width: 650px;
            margin: 0 auto var(--space-lg) auto;
        }

        .services__badge {
            color: var(--color-gold-dark);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 0.7rem;
        }

        .services__title {
            font-family: var(--font-serif);
            font-size: 2rem;
            color: var(--color-wine-dark);
            margin-top: var(--space-xs);
            font-weight: 500;
        }

        .services__grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-md);
        }

        @media (min-width: 768px) {
            .services__grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        .service-card {
            background-color: var(--color-white);
            border: 1px solid var(--color-sand-border);
            border-radius: var(--radius-sm);
            padding: var(--space-lg) var(--space-md);
            transition: var(--transition);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            box-shadow: var(--shadow-subtle);
        }

        .service-card:hover {
            border-color: var(--color-gold);
            transform: translateY(-4px);
            box-shadow: var(--shadow-premium);
        }

        .service-card__icon {
            font-size: 2rem;
            color: var(--color-gold-dark);
            margin-bottom: var(--space-sm);
        }

        .service-card__title {
            font-family: var(--font-serif);
            font-size: 1.25rem;
            color: var(--color-wine-dark);
            margin-bottom: var(--space-xs);
            font-weight: 500;
        }

        .service-card__text {
            font-size: 0.85rem;
            color: var(--color-text-muted);
            margin-bottom: var(--space-md);
            font-weight: 300;
            line-height: 1.6;
        }

        .service-card__link {
            color: var(--color-wine);
            text-decoration: none;
            font-weight: 700;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: var(--transition);
        }

        .service-card__link:hover {
            color: var(--color-gold-dark);
        }

        /* Interactive Widget: Wein & Daten Quiz */
        .quiz-section {
            padding: var(--space-xl) 0;
            background-color: var(--color-sand);
            border-bottom: 1px solid var(--color-sand-dark);
        }

        .quiz-card {
            background-color: var(--color-white);
            border-radius: var(--radius-sm);
            border: 1px solid var(--color-sand-border);
            padding: var(--space-lg);
            max-width: 780px;
            margin: 0 auto;
            box-shadow: var(--shadow-premium);
        }

        .quiz-card__header {
            text-align: center;
            margin-bottom: var(--space-md);
            border-bottom: 1px solid var(--color-sand-dark);
            padding-bottom: var(--space-md);
        }

        .quiz-card__trust-tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 0.65rem;
            color: var(--color-gold-dark);
            background-color: var(--color-gold-light);
            padding: 5px 12px;
            border-radius: var(--radius-sm);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: var(--space-sm);
        }

        .quiz-card__title {
            font-family: var(--font-serif);
            font-size: 1.8rem;
            color: var(--color-wine-dark);
            font-weight: 500;
        }

        .quiz-card__subtitle {
            font-size: 0.9rem;
            color: var(--color-text-muted);
            margin-top: var(--space-xs);
            font-weight: 300;
        }

        .quiz-step {
            display: none;
        }

        .quiz-step--active {
            display: block;
        }

        .quiz-question {
            font-size: 1.1rem;
            font-weight: 500;
            color: var(--color-text);
            margin-bottom: var(--space-md);
            text-align: center;
            font-family: var(--font-serif);
        }

        .quiz-options {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-xs);
        }

        .quiz-option {
            background: var(--color-white);
            border: 1px solid var(--color-sand-border);
            border-radius: var(--radius-sm);
            padding: var(--space-sm) var(--space-md);
            cursor: pointer;
            transition: var(--transition);
            text-align: left;
            font-size: 0.85rem;
            color: var(--color-text);
            font-family: var(--font-sans);
            font-weight: 400;
        }

        .quiz-option:hover {
            border-color: var(--color-gold);
            background-color: var(--color-sand);
        }

        .quiz-option--selected {
            background-color: var(--color-wine);
            color: var(--color-white);
            border-color: var(--color-wine);
        }

        .quiz-footer {
            margin-top: var(--space-md);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .quiz-progress {
            font-size: 0.75rem;
            color: var(--color-text-muted);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .quiz-result {
            display: none;
            text-align: center;
            padding: var(--space-md);
        }

        .quiz-result--active {
            display: block;
        }

        .quiz-result__icon {
            font-size: 3rem;
            color: var(--color-gold-dark);
            margin-bottom: var(--space-sm);
        }

        .quiz-result__title {
            font-family: var(--font-serif);
            font-size: 1.5rem;
            color: var(--color-wine-dark);
            margin-bottom: var(--space-xs);
            font-weight: 500;
        }

        .quiz-result__text {
            color: var(--color-text-muted);
            margin-bottom: var(--space-md);
            font-size: 0.9rem;
            font-weight: 300;
            max-width: 580px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Main Content Layout with Sidebar */
        .main-layout {
            padding: var(--space-lg) 0;
            background-color: var(--color-white);
        }

        .breadcrumb {
            margin-bottom: var(--space-md);
        }

        .breadcrumb ol {
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            gap: var(--space-xs);
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .breadcrumb li:not(:last-child)::after {
            content: "•";
            margin-left: var(--space-xs);
            color: var(--color-sand-border);
        }

        .breadcrumb a {
            color: var(--color-text-muted);
            text-decoration: none;
        }

        .breadcrumb a:hover {
            color: var(--color-wine);
        }

        .content-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-lg);
        }

        @media (min-width: 992px) {
            .content-grid {
                grid-template-columns: 1.6fr 1.4fr;
                gap: var(--space-xl);
            }
        }

        /* Article Prose Stylings */
        .main-article {
            font-size: 1rem;
            line-height: 1.8;
            color: var(--color-text);
        }

        .main-article h1, 
        .main-article h2, 
        .main-article h3 {
            font-family: var(--font-serif);
            color: var(--color-wine-dark);
            margin-top: var(--space-md);
            margin-bottom: var(--space-sm);
            line-height: 1.25;
            font-weight: 500;
        }

        .main-article h1 { font-size: 2.2rem; }
        .main-article h2 { font-size: 1.7rem; border-bottom: 1px solid var(--color-sand-dark); padding-bottom: 8px; }
        .main-article h3 { font-size: 1.3rem; }

        .main-article p {
            margin-bottom: var(--space-sm);
            font-weight: 300;
        }

        .main-article ul, 
        .main-article ol {
            margin-bottom: var(--space-sm);
            padding-left: var(--space-md);
            font-weight: 300;
        }

        .main-article li {
            margin-bottom: 6px;
        }

        /* --- CONTENT OVERFLOW SAFETY (NON-NEGOTIABLE) --- */
        article img, article video, article iframe, article svg {
            max-width: 100%;
            height: auto;
            display: block;
            border-radius: var(--radius-sm);
            margin: var(--space-md) auto;
        }
        article {
            min-width: 0;
            overflow-wrap: anywhere;
            word-break: break-word;
        }
        article table {
            display: block;
            overflow-x: auto;
            max-width: 100%;
            border-collapse: collapse;
            margin: var(--space-md) 0;
        }
        article table th, article table td {
            padding: 10px 15px;
            border: 1px solid var(--color-sand-border);
            font-size: 0.85rem;
        }
        article table th {
            background-color: var(--color-sand);
            font-weight: 600;
            color: var(--color-wine-dark);
        }
        article pre {
            overflow-x: auto;
            max-width: 100%;
            background-color: var(--color-sand);
            padding: var(--space-sm);
            border-radius: var(--radius-sm);
        }
        article code {
            word-break: break-word;
            font-family: monospace;
            background-color: var(--color-sand);
            padding: 2px 5px;
            border-radius: 2px;
        }

        /* Sidebar & Widgets */
        .sidebar {
            display: flex;
            flex-direction: column;
            gap: var(--space-md);
        }

        .sidebar-widget {
            background-color: var(--color-white);
            border: 1px solid var(--color-sand-border);
            border-radius: var(--radius-sm);
            padding: var(--space-md);
            box-shadow: var(--shadow-subtle);
        }

        .sidebar-widget__title {
            font-family: var(--font-serif);
            font-size: 1.2rem;
            color: var(--color-wine-dark);
            margin-bottom: var(--space-sm);
            border-bottom: 1px solid var(--color-sand-dark);
            padding-bottom: 8px;
            font-weight: 500;
        }

        /* Trust Badge Widget */
        .trust-badge-widget {
            background-color: var(--color-gold-light);
            border: 1px solid rgba(197, 160, 89, 0.2);
        }

        .trust-badge-widget__title {
            color: var(--color-wine-dark);
            font-family: var(--font-serif);
            font-weight: 600;
            font-size: 1rem;
            margin-bottom: var(--space-xs);
            border: none;
            padding: 0;
        }

        /* Feedback / Contact Form Widget */
        .contact-form {
            display: flex;
            flex-direction: column;
            gap: var(--space-sm);
        }

        .form-group {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .form-group label {
            font-size: 0.7rem;
            font-weight: 700;
            color: var(--color-text);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .form-control {
            font-family: var(--font-sans);
            padding: 0.7rem 0.9rem;
            border: 1px solid var(--color-sand-border);
            border-radius: var(--radius-sm);
            background-color: var(--color-white);
            color: var(--color-text);
            font-size: 0.85rem;
            transition: var(--transition);
        }

        .form-control:focus {
            outline: none;
            border-color: var(--color-gold);
            background-color: var(--color-white);
        }

        .form-checkbox {
            display: flex;
            align-items: flex-start;
            gap: var(--space-xs);
            font-size: 0.75rem;
            color: var(--color-text-muted);
            cursor: pointer;
            font-weight: 300;
        }

        .form-checkbox input {
            margin-top: 3px;
        }

        /* Footer */
        .site-footer {
            background-color: #1A0D10;
            color: var(--color-sand);
            padding: var(--space-xl) 0 var(--space-lg) 0;
            border-top: 2px solid var(--color-gold);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-lg);
            margin-bottom: var(--space-lg);
        }

        @media (min-width: 768px) {
            .footer-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (min-width: 992px) {
            .footer-grid {
                grid-template-columns: 1.4fr 0.8fr 1fr 0.8fr;
            }
        }

        .footer-col__title {
            font-family: var(--font-serif);
            font-size: 1.15rem;
            color: var(--color-white);
            margin-bottom: var(--space-sm);
            font-weight: 500;
            letter-spacing: 0.5px;
        }

        .footer-col__text {
            font-size: 0.8rem;
            color: #C0B4B6;
            margin-bottom: var(--space-sm);
            font-weight: 300;
            line-height: 1.6;
        }

        .footer-col__links {
            list-style: none;
        }

        .footer-col__links li {
            margin-bottom: var(--space-xs);
        }

        .footer-col__links a {
            color: #C0B4B6;
            text-decoration: none;
            font-size: 0.8rem;
            transition: var(--transition);
            font-weight: 300;
        }

        .footer-col__links a:hover {
            color: var(--color-gold);
        }

        .footer-bottom {
            border-top: 1px solid rgba(250, 246, 240, 0.05);
            padding-top: var(--space-md);
            display: flex;
            flex-direction: column;
            gap: var(--space-sm);
            align-items: center;
            text-align: center;
        }

        @media (min-width: 768px) {
            .footer-bottom {
                flex-direction: row;
                justify-content: space-between;
                text-align: left;
            }
        }

        .footer-bottom__copy {
            font-size: 0.75rem;
            color: #8D8183;
            font-weight: 400;
        }

        .footer-bottom__privacy-note {
            font-size: 0.7rem;
            color: var(--color-gold);
            display: flex;
            align-items: center;
            gap: 6px;
            font-weight: 600;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        /* Floating Bottom Menu for Mobile Devices */
        .floating-nav {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: var(--color-white);
            border-top: 1px solid var(--color-sand-dark);
            z-index: 999;
            display: flex;
            justify-content: space-around;
            padding: var(--space-xs) 0;
            box-shadow: 0 -4px 15px rgba(0,0,0,0.05);
        }

        @media (min-width: 768px) {
            .floating-nav {
                display: none;
            }
        }

        .floating-nav__item {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-decoration: none;
            color: var(--color-text-muted);
            font-size: 0.65rem;
            font-weight: 700;
            transition: var(--transition);
            flex: 1;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .floating-nav__item:hover,
        .floating-nav__item--active {
            color: var(--color-wine);
        }

        .floating-nav__icon {
            font-size: 1.1rem;
            margin-bottom: 2px;
        }

        /* Helpers */
        .text-gold { color: var(--color-gold); }
        .text-wine { color: var(--color-wine); }
    
        /* engine safety: menu must never be trapped in sticky/fixed */
        .site-nav, .site-nav * { position: static !important; }
    
/* engine safety: menu must never be trapped in sticky/fixed */
.site-nav,.site-nav *{position:static !important}


html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ overflow-x:hidden; }
img,video,iframe,svg{ max-width:100%; height:auto; }
main,article,section,aside,header,nav,footer{ min-width:0; }
@media (max-width:768px){
  [class*="layout"],[class*="container"],[class*="grid"],[class*="content"],[class*="wrapper"],[class*="main"],[class*="row"]{ min-width:0; }
  pre,table{ min-width:0; max-width:100%; }
  pre{ overflow-x:auto; }
  table{ display:block; overflow-x:auto; }
  code,kbd,samp{ word-break:break-word; }
  [class*="ticker"]{ overflow:hidden; }
  [class*="ticker"] *{ min-width:0; }
}
