@charset "UTF-8";


    /* ================================================================
       DESIGN TOKENS
    ================================================================ */
    :root {
      --sim-brand:        #35145F;
      --sim-brand-2:      #5A2395;
      --sim-brand-dark:   #230D3F;
      --sim-accent:       #C9A227;
      --sim-accent-2:     #E0C469;
      --sim-text:         #1A1A2E;
      --sim-text-soft:    #4B5563;
      --sim-white:        #FFFFFF;
      --sim-bg-soft:      #F8F7FB;
      --sim-border:       #EDE9F5;
      --sim-grad-brand:   linear-gradient(135deg, #35145F 0%, #5A2395 100%);
      --sim-grad-dark:    linear-gradient(135deg, #230D3F 0%, #35145F 100%);
      --sim-font-display: 'Cormorant Garamond', Georgia, serif;
      --sim-font-body:    'DM Sans', system-ui, sans-serif;
      --sim-shadow-md:    0 8px 28px rgba(53,20,95,0.13);
      --sim-shadow-lg:    0 20px 52px rgba(53,20,95,0.18);
      --sim-radius:       14px;
      --sim-radius-lg:    22px;
    }

    /* ================================================================
       PERFORMANCE-CRITICAL BASE / NAVIGATION
       Minimaler Above-the-fold-CSS-Ersatz, damit Bootstrap/style.css
       asynchron laden koennen, ohne dass die Navigation springt.
    ================================================================ */
    @font-face {
      font-family: 'FontAwesome';
      src: url('/fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2');
      font-weight: normal;
      font-style: normal;
      font-display: swap;
    }
    html { -webkit-text-size-adjust: 100%; }
    body {
      margin: 0;
      font-family: var(--sim-font-body);
      color: var(--sim-text);
      background: #fff;
    }
    .container {
      margin-right: auto; margin-left: auto;
      padding-left: 15px; padding-right: 15px;
      box-sizing: border-box;
    }
    .row { margin-left: -15px; margin-right: -15px; }
    .row::before, .row::after, .container::before, .container::after { content: " "; display: table; }
    .row::after, .container::after { clear: both; }
    .col-xs-3, .col-xs-9 {
      position: relative; min-height: 1px;
      padding-left: 15px; padding-right: 15px;
      float: left; box-sizing: border-box;
    }
    .col-xs-3 { width: 25%; }
    .col-xs-9 { width: 75%; }
    .text-left { text-align: left; }
    .text-right { text-align: right; }
    @media (min-width: 768px) { .container { width: 750px; } }
    @media (min-width: 992px) { .container { width: 970px; } }
    @media (min-width: 1200px) { .container { width: 1170px; } }
    .fa, [class^="icon-"], [class*=" icon-"] {
      display: inline-block;
      min-width: 1em;
      text-align: center;
    }

    /* CLS-Schutz: Third-Party-Widgets bekommen feste Reservierungsflaechen,
       damit Elfsight/ProvenExpert beim Nachladen keine sichtbaren Inhalte nach unten schieben. */
    .sim-widget-slot {
      display: block;
      width: 100%;
      box-sizing: border-box;
      content-visibility: auto;
      contain: layout style paint;
      contain-intrinsic-size: 1px 320px;
      overflow-anchor: none;
    }
    .sim-widget-slot--reviews {
      min-height: 700px;
      contain-intrinsic-size: 1px 700px;
    }
    .sim-widget-slot--provenexpert {
      min-height: 260px;
      contain-intrinsic-size: 1px 260px;
    }
    .sim-widget-slot--richsnippet {
      min-height: 140px;
      contain-intrinsic-size: 1px 140px;
    }
    @media (max-width: 768px) {
      .sim-widget-slot--reviews {
        min-height: 760px;
        contain-intrinsic-size: 1px 760px;
      }
      .sim-widget-slot--provenexpert {
        min-height: 300px;
        contain-intrinsic-size: 1px 300px;
      }
    }

    /* ================================================================
       FONT SIZES – px-Werte, Bootstrap-unabhängig
    ================================================================ */
    .sim-split__text h2   { font-size: clamp(28px, 4vw, 44px)    !important; line-height: 1.18 !important; }
    .sim-heading          { font-size: clamp(30px, 4.5vw, 50px)  !important; line-height: 1.18 !important; }
    .sim-faq__category    { font-size: 26px  !important; }
    .sim-snippet h2       { font-size: 22px  !important; }
    .sim-cta-section h2   { font-size: clamp(28px, 4vw, 44px)    !important; }
    .sim-split__text h3   { font-size: 18px  !important; }
    .sim-split__text p       { font-size: 17px !important; line-height: 1.82 !important; }
    .sim-intro               { font-size: 18px !important; line-height: 1.78 !important; }
    .sim-cta-section p       { font-size: 17px !important; }
    .sim-price-note          { font-size: 15px !important; }
    .sim-split__text ul li   { font-size: 17px !important; line-height: 1.70 !important; }
    .sim-faq__question       { font-size: 17px !important; }
    .sim-faq__answer,
    .sim-faq__answer p       { font-size: 16px !important; line-height: 1.78 !important; }
    .sim-snippet table,
    .sim-snippet table td    { font-size: 16px !important; }
    .sim-price-table,
    .sim-price-table thead th,
    .sim-price-table tbody td { font-size: 16px !important; }
    .sim-review-text         { font-size: 16px !important; line-height: 1.75 !important; }
    .sim-review-name         { font-size: 16px !important; }
    .sim-review-event        { font-size: 14px !important; }
    .sim-review-source       { font-size: 13px !important; }
    .sim-eyebrow             { font-size: 13px !important; }
    .sim-region-tag          { font-size: 15px !important; }
    .sim-credential          { font-size: 15px !important; }
    .sim-breadcrumb          { font-size: 13px !important; }
    .sim-btn                 { font-size: 16px !important; }
    .sim-btn--sm             { font-size: 14px !important; }

    /* ================================================================
       ACCESSIBILITY
    ================================================================ */
    .skip-link {
      position: absolute; left: -999px; top: auto;
      width: 1px; height: 1px; overflow: hidden;
    }
    .skip-link:focus {
      left: 10px; top: 10px; width: auto; height: auto;
      z-index: 9999; background: #fff; padding: 10px;
      border: 1px solid #ddd; border-radius: 8px;
    }

    /* ================================================================
       BREADCRUMB
    ================================================================ */
    .sim-breadcrumb {
      background: var(--sim-bg-soft);
      padding: 10px 0;
      border-bottom: 1px solid var(--sim-border);
      font-family: var(--sim-font-body);
    }
    .sim-breadcrumb__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
    .sim-breadcrumb ol {
      list-style: none; margin: 0; padding: 0;
      display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
    }
    .sim-breadcrumb li { display: flex; align-items: center; gap: 6px; }
    .sim-breadcrumb li + li::before { content: "›"; color: #9CA3AF; }
    .sim-breadcrumb a { color: var(--sim-brand); text-decoration: none; }
    .sim-breadcrumb a:hover { text-decoration: underline; }
    .sim-breadcrumb [aria-current] { color: var(--sim-text-soft); }

    /* ================================================================
       BASE SECTION SYSTEM
    ================================================================ */
    .sim-section {
      padding: clamp(3.5rem, 7vw, 6rem) 0;
      color: #1A1A2E;
      font-family: var(--sim-font-body);
      -webkit-text-fill-color: initial;
    }
    .sim-section--white { background: #FFFFFF; }
    .sim-section--soft  { background: #F8F7FB; }
    .sim-section--dark  { background: var(--sim-grad-dark); color: var(--sim-white); }
    .sim-section * { box-sizing: border-box; }
    .sim-container {
      max-width: 1200px; margin: 0 auto;
      padding: 0 clamp(1.25rem, 4vw, 2rem);
      box-sizing: border-box;
    }
    .sim-section-header { text-align: center; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
    .sim-eyebrow {
      display: inline-block;
      font-family: var(--sim-font-body);
      font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--sim-accent); -webkit-text-fill-color: var(--sim-accent);
      margin-bottom: 0.75rem;
    }
    .sim-eyebrow--light { color: var(--sim-accent-2); -webkit-text-fill-color: var(--sim-accent-2); }
    .sim-heading {
      font-family: var(--sim-font-display);
      font-weight: 700; line-height: 1.18;
      color: var(--sim-brand); -webkit-text-fill-color: var(--sim-brand);
      margin-bottom: 1rem;
    }
    .sim-heading--light { color: var(--sim-white); -webkit-text-fill-color: var(--sim-white); }
    .sim-divider {
      width: 52px; height: 3px; border-radius: 2px;
      background: var(--sim-accent); margin: 0.75rem auto 1.25rem;
    }
    .sim-intro {
      font-family: var(--sim-font-body);
      line-height: 1.78; color: #4B5563; -webkit-text-fill-color: #4B5563;
      max-width: 640px; margin: 0 auto;
    }
    .sim-intro--light { color: rgba(255,255,255,0.82); -webkit-text-fill-color: rgba(255,255,255,0.82); }

    .sim-snippet {
      background: var(--sim-bg-soft);
      border: 1px solid var(--sim-border);
      border-left: 4px solid var(--sim-accent);
      border-radius: var(--sim-radius);
      padding: 1.5rem 1.75rem;
    }
    .sim-snippet h2 {
      font-family: var(--sim-font-display);
      font-weight: 700; color: var(--sim-brand);
      margin: 0 0 1rem;
    }
    .sim-snippet table { width: 100%; border-collapse: collapse; font-family: var(--sim-font-body); }
    .sim-snippet table tr { border-bottom: 1px solid var(--sim-border); }
    .sim-snippet table tr:last-child { border-bottom: none; }
    .sim-snippet table td { padding: 8px 10px; color: #1A1A2E; vertical-align: top; }
    .sim-snippet table td:first-child {
      font-weight: 600; color: var(--sim-brand);
      width: 130px; white-space: nowrap;
    }
    .sim-cta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.5rem; }

    /* ================================================================
       PANORAMA QUOTE
    ================================================================ */
    .sim-panorama-section {
      position: relative;
      height: clamp(220px, 30vw, 340px);
      overflow: hidden;
    }
    .sim-panorama-section img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 30%;
      display: block;
    }
    .sim-panorama-section__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to top,
        rgba(35,13,63,0.82) 0%,
        rgba(35,13,63,0.32) 55%,
        transparent 100%
      );
      display: flex; align-items: flex-end;
      padding: clamp(20px, 4vw, 36px);
    }
    .sim-panorama-section__quote {
      font-family: var(--sim-font-display);
      font-size: clamp(18px, 2.2vw, 26px);
      font-style: italic;
      color: #fff;
      line-height: 1.4;
      margin: 0;
      max-width: 700px;
      text-shadow: 0 2px 12px rgba(0,0,0,0.4);
    }
    .sim-panorama-section__quote strong {
      font-style: normal;
      color: var(--sim-accent-2);
    }

    /* ================================================================
       VIDEO SECTION
    ================================================================ */
    .sim-video-section {
      background: #F8F7FB;
      padding: clamp(2.5rem, 5vw, 4.5rem) 0;
    }
    .sim-video-wrap {
      position: relative; width: 100%; max-width: 860px;
      margin: 0 auto; border-radius: var(--sim-radius-lg);
      overflow: hidden; box-shadow: var(--sim-shadow-lg);
      aspect-ratio: 16/9;
    }
    .sim-video-wrap iframe {
      position: absolute; top: 0; left: 0;
      width: 100%; height: 100%; border: 0;
    }
    .sim-video-btn {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      border: 0; padding: 0; background: none; cursor: pointer;
    }
    .sim-video-btn.sim-video-btn img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: 100%; object-fit: cover; object-position: center; display: block; }
    .sim-video-btn.sim-video-btn .sim-video-play-icon {
      position: absolute !important;
      left: 50% !important; top: 50% !important;
      transform: translate(-50%, -50%) !important;
      width: 64px !important; height: 64px !important;
      display: flex !important;
      align-items: center; justify-content: center;
      border-radius: 50%;
      box-shadow: 0 10px 30px rgba(0,0,0,0.4);
      transition: transform .2s ease, box-shadow .2s ease;
      z-index: 2;
      pointer-events: none;
    }
    .sim-video-btn.sim-video-btn .sim-video-play-icon svg {
      width: 100% !important; height: 100% !important;
      display: block;
    }
    .sim-video-btn:hover .sim-video-play-icon {
      transform: translate(-50%, -50%) scale(1.1) !important;
      box-shadow: 0 14px 40px rgba(0,0,0,0.5);
    }
    .sim-video-btn span {
      position: absolute; left: 0; right: 0; bottom: 0;
      padding: 20px 16px 14px;
      background: linear-gradient(180deg, transparent 0%, rgba(35,13,63,0.78) 100%);
      color: #fff; font-family: var(--sim-font-body); font-size: 15px; font-weight: 600; text-align: center;
    }
    .sim-video-wrap.is-loaded .sim-video-btn { display: none; }

    /* ================================================================
       SPLIT LAYOUT
    ================================================================ */
    .sim-split {
      display: grid; grid-template-columns: 1fr;
      gap: clamp(2rem, 5vw, 4rem); align-items: center;
    }
    @media (min-width: 900px) {
      .sim-split { grid-template-columns: 1fr 1fr; }
      .sim-split--reverse .sim-split__img { order: -1; }
    }
    .sim-split__img figure { margin: 0; }
    .sim-split__img img {
      width: 100%; height: auto; display: block;
      border-radius: var(--sim-radius-lg);
      box-shadow: var(--sim-shadow-md);
    }
    .sim-split__img figcaption {
      font-family: var(--sim-font-body);
      font-size: 12px; color: var(--sim-text-soft);
      margin-top: 8px; text-align: center; font-style: italic;
    }
    .sim-section--dark .sim-split__img figcaption { color: rgba(255,255,255,0.7); }
    .sim-split__text h2 {
      font-family: var(--sim-font-display);
      font-weight: 700; color: var(--sim-brand);
      -webkit-text-fill-color: var(--sim-brand);
      line-height: 1.18; margin: 0 0 1rem;
    }
    .sim-split__text h2.light { color: var(--sim-accent); -webkit-text-fill-color: var(--sim-accent); }
    .sim-split__text h3 {
      font-family: var(--sim-font-body);
      font-weight: 600; color: var(--sim-brand);
      margin: 1.35rem 0 0.5rem;
    }
    .sim-split__text p {
      font-family: var(--sim-font-body);
      line-height: 1.82; color: #4B5563; margin-bottom: 1rem;
    }
    .sim-split__text p.light { color: rgba(255,255,255,0.82); }
    .sim-split__text ul { list-style: none; padding: 0; margin: 0 0 1.25rem; }
    .sim-split__text ul li {
      font-family: var(--sim-font-body);
      line-height: 1.7; color: #4B5563;
      padding: 5px 0 5px 24px; position: relative;
    }
    .sim-split__text ul li.light { color: rgba(255,255,255,0.82); }
    .sim-split__text ul li::before {
      content: "✦"; position: absolute; left: 0;
      color: var(--sim-accent); font-size: 11px; top: 7px;
    }

    /* ================================================================
       OCCASIONS CARD GRID
    ================================================================ */
    .sim-occasions-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
    @media (min-width: 600px) { .sim-occasions-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 900px) { .sim-occasions-grid { grid-template-columns: repeat(3, 1fr); } }
    .sim-occasion-card {
      position: relative;
      border-radius: var(--sim-radius-lg);
      overflow: hidden;
      box-shadow: var(--sim-shadow-md);
      aspect-ratio: 4/3.15;
      display: block;
      text-decoration: none;
    }
    .sim-occasion-card.sim-occasion-card img {
      position: absolute; inset: 0;
      width: 100% !important; height: 100% !important; max-width: 100%; object-fit: cover;
      object-position: center top;
      display: block;
      transition: transform .45s ease;
      border-radius: 0;
    }
    .sim-occasion-card:hover img { transform: scale(1.06); }

    /* ────────────────────────────────────────────────────────────────
       BILD-INDEXIERUNGS-UNTERDRÜCKUNG: sim-occasion-card--bg-only
       Karte ohne <img>-Tag; Bild via CSS background-image (nicht
       von Crawlern als Inhaltsbild indexiert).
       Hover-Zoom-Effekt per CSS transform auf den bg-wrapper.
    ──────────────────────────────────────────────────────────────── */
    .sim-occasion-card--bg-only .sim-occasion-card__bg-wrapper {
      transition: transform .45s ease;
      will-change: transform;
    }
    .sim-occasion-card--bg-only:hover .sim-occasion-card__bg-wrapper {
      transform: scale(1.06);
    }
    .sim-occasion-card__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(35,13,63,0.88) 0%, rgba(35,13,63,0.20) 60%, transparent 100%);
    }
    .sim-occasion-card__label {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 32px 18px 16px;
    }
    .sim-occasion-card__title {
      display: block;
      font-family: var(--sim-font-display);
      font-size: 22px; font-weight: 700;
      color: #fff; line-height: 1.2;
      margin-bottom: 4px;
    }
    .sim-occasion-card__sub {
      display: block;
      font-family: var(--sim-font-body);
      font-size: 13px; color: rgba(255,255,255,0.78);
      letter-spacing: 0.04em;
    }
    .sim-occasion-card__btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 10px;
      padding: 6px 14px;
      background: rgba(201,162,39,0.92);
      color: var(--sim-brand-dark);
      font-family: var(--sim-font-body);
      font-size: 13px; font-weight: 700;
      border-radius: 999px;
      text-decoration: none;
    }

    /* ================================================================
       REVIEWS
    ================================================================ */
    .sim-reviews__grid {
      display: grid; grid-template-columns: 1fr; gap: 1.5rem;
    }
    @media (min-width: 700px) { .sim-reviews__grid { grid-template-columns: repeat(3, 1fr); } }
    .sim-review-card {
      background: var(--sim-white);
      border: 1px solid var(--sim-border);
      border-radius: var(--sim-radius);
      padding: 1.6rem 1.75rem;
      box-shadow: var(--sim-shadow-md);
      display: flex; flex-direction: column; gap: 0.85rem;
    }
    .sim-review-stars { color: #F59E0B; letter-spacing: 2px; font-size: 1.1rem; }
    .sim-review-text {
      font-family: var(--sim-font-body);
      line-height: 1.75; color: #4B5563; font-style: italic; flex: 1;
    }
    .sim-review-meta { border-top: 1px solid var(--sim-border); padding-top: 0.85rem; }
    .sim-review-name { font-family: var(--sim-font-body); font-weight: 600; color: var(--sim-brand); }
    .sim-review-event { color: var(--sim-text-soft); }
    .sim-review-source { color: #9CA3AF; margin-top: 2px; }

    /* ================================================================
       STATS ROW
    ================================================================ */
    .sim-stats-row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }
    @media (min-width: 600px) { .sim-stats-row { grid-template-columns: repeat(4, 1fr); } }
    .sim-stat-card {
      text-align: center;
      padding: 1.25rem 1rem;
      border-radius: var(--sim-radius);
      background: var(--sim-grad-brand);
      box-shadow: 0 10px 26px rgba(53,20,95,0.18);
    }
    .sim-stat-card__number {
      display: block;
      font-family: var(--sim-font-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 700; color: var(--sim-accent);
      line-height: 1;
    }
    .sim-stat-card__label {
      display: block;
      font-family: var(--sim-font-body);
      font-size: 13px; color: rgba(255,255,255,0.85);
      margin-top: 4px; text-transform: uppercase; letter-spacing: 0.06em;
    }

    /* ================================================================
       CREDENTIALS
    ================================================================ */
    .sim-credentials {
      display: flex; flex-wrap: wrap; gap: 12px; margin: 1.5rem 0;
    }
    .sim-credential {
      display: flex; align-items: center; gap: 10px;
      background: var(--sim-bg-soft);
      border: 1px solid var(--sim-border);
      border-radius: var(--sim-radius);
      padding: 6px 14px;
      font-family: var(--sim-font-body);
      color: var(--sim-brand);
    }
    .sim-credential i { color: var(--sim-accent); }
    .sim-credential__icon {
      display: inline-block;
      font-size: 16px;
      line-height: 1;
      color: var(--sim-accent);
    }

    /* ================================================================
       PRICE TABLE
    ================================================================ */
    .sim-price-table-wrap {
      overflow-x: auto; border-radius: var(--sim-radius); box-shadow: var(--sim-shadow-md);
    }
    .sim-price-table {
      width: 100%; border-collapse: collapse;
      font-family: var(--sim-font-body); background: var(--sim-white);
    }
    .sim-price-table thead { background: var(--sim-grad-brand); color: var(--sim-white); }
    .sim-price-table thead th { padding: 15px 18px; text-align: left; font-weight: 600; }
    .sim-price-table tbody tr { border-bottom: 1px solid var(--sim-border); }
    .sim-price-table tbody tr:last-child { border-bottom: none; }
    .sim-price-table tbody tr:nth-child(even) { background: var(--sim-bg-soft); }
    .sim-price-table tbody td { padding: 14px 18px; color: var(--sim-text); vertical-align: middle; }
    .sim-price-table tbody td:first-child { font-weight: 600; color: var(--sim-brand); }
    .sim-price-highlight { font-weight: 700; color: var(--sim-brand); white-space: nowrap; }
    .sim-price-note { font-family: var(--sim-font-body); color: var(--sim-text-soft); margin-top: 1rem; text-align: center; }

    /* ================================================================
       REGION GRID
    ================================================================ */
    .sim-region-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap: 8px; margin-top: 1.5rem;
    }
    .sim-region-tag {
      background: var(--sim-bg-soft);
      border: 1px solid var(--sim-border);
      border-radius: var(--sim-radius);
      padding: 6px 14px;
      font-family: var(--sim-font-body);
      color: var(--sim-brand);
      text-align: center;
      text-decoration: none;
      display: block;
      transition: background .15s;
    }
    .sim-region-tag:hover { background: var(--sim-border); color: var(--sim-brand); }

    /* ================================================================
       FAQ
    ================================================================ */
    .sim-faq__group { margin-bottom: 2rem; }
    .sim-faq__category {
      font-family: var(--sim-font-display);
      font-weight: 700; color: var(--sim-brand);
      margin: 0 0 1rem; padding-bottom: 0.5rem;
      border-bottom: 2px solid var(--sim-border);
    }
    .sim-faq__item { border-bottom: 1px solid var(--sim-border); }
    .sim-faq__item:last-child { border-bottom: none; }
    details.sim-faq__item summary {
      list-style: none; cursor: pointer;
      padding: 1.2rem 0.5rem;
      display: flex; justify-content: space-between; align-items: center; gap: 1rem;
    }
    details.sim-faq__item summary::-webkit-details-marker { display: none; }
    .sim-faq__question {
      font-family: var(--sim-font-body);
      font-weight: 600; color: var(--sim-brand); flex: 1;
    }
    .sim-faq__icon {
      width: 30px; height: 30px; min-width: 30px;
      background: var(--sim-bg-soft);
      border: 1px solid var(--sim-border);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 18px; color: var(--sim-brand);
      transition: transform .25s ease, background .2s;
    }
    details.sim-faq__item[open] .sim-faq__icon {
      transform: rotate(45deg); background: var(--sim-brand); color: #fff;
    }
    .sim-faq__answer {
      padding: 0 0.5rem 1.4rem 0.5rem;
      font-family: var(--sim-font-body);
      line-height: 1.78; color: var(--sim-text-soft);
    }

    /* ================================================================
       CTA SECTION
    ================================================================ */
    .sim-cta-section {
      background: var(--sim-grad-brand);
      padding: clamp(3rem, 6vw, 5.5rem) 0;
      text-align: center;
    }
    .sim-cta-section h2 {
      font-family: var(--sim-font-display);
      font-weight: 700; color: var(--sim-white); margin-bottom: 1rem;
    }
    .sim-cta-section p {
      font-family: var(--sim-font-body);
      color: rgba(255,255,255,0.85);
      margin-bottom: 2rem; max-width: 580px; margin-left: auto; margin-right: auto;
    }
    .sim-btn-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

    /* ================================================================
       BUTTONS
    ================================================================ */
    .sim-btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 12px 26px; border-radius: var(--sim-radius);
      font-family: var(--sim-font-body); font-weight: 600;
      text-decoration: none; cursor: pointer; border: none;
      transition: all .22s ease; white-space: nowrap;
    }
    .sim-btn--primary {
      background: var(--sim-accent); color: var(--sim-brand-dark);
      box-shadow: 0 4px 18px rgba(201,162,39,0.35);
    }
    .sim-btn--primary:hover {
      background: var(--sim-accent-2); transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(201,162,39,0.45); color: var(--sim-brand-dark);
    }
    .sim-btn--ghost {
      background: transparent; color: var(--sim-white);
      border: 2px solid rgba(255,255,255,0.6);
    }
    .sim-btn--ghost:hover { background: rgba(255,255,255,0.12); border-color: var(--sim-white); color: #fff; }
    .sim-btn--outline {
      background: transparent; color: var(--sim-brand);
      border: 2px solid var(--sim-brand);
    }
    .sim-btn--outline:hover { background: var(--sim-brand); color: #fff; }
    .sim-btn--sm { padding: 9px 20px; }

    .sim-btn--whatsapp {
      background: var(--sim-brand);
      color: #fff !important;
      box-shadow: 0 4px 18px rgba(53,20,95,0.28);
      border: none;
    }
    .sim-btn--whatsapp:hover {
      background: var(--sim-brand-2);
      transform: translateY(-2px);
      color: #fff !important;
      box-shadow: 0 8px 28px rgba(53,20,95,0.38);
    }
    .sim-btn--whatsapp-light {
      background: #fff;
      color: var(--sim-brand) !important;
      border: none;
      box-shadow: 0 4px 18px rgba(255,255,255,0.20);
    }
    .sim-btn--whatsapp-light:hover {
      background: rgba(255,255,255,0.90);
      transform: translateY(-2px);
      color: var(--sim-brand-dark) !important;
      box-shadow: 0 8px 28px rgba(255,255,255,0.28);
    }

    /* ================================================================
       HIGHLIGHT BOX
    ================================================================ */
    .sim-highlight-box {
      background: var(--sim-bg-soft);
      border: 1px solid var(--sim-border);
      border-left: 4px solid var(--sim-accent);
      border-radius: var(--sim-radius);
      padding: 1.25rem 1.5rem;
      margin: 1.25rem 0;
      font-family: var(--sim-font-body);
    }
    .sim-highlight-box strong { color: var(--sim-brand); }

    /* ================================================================
       HERO / MAIN CLEAR FIX
    ================================================================ */
    #main { clear: both; display: block; position: relative; z-index: 1; width: 100%; }
    .sim-video-section, .sim-section, .sim-panorama-section {
      clear: both; display: block; width: 100%; position: relative; z-index: 1;
    }

    /* ================================================================
       RESPONSIVE
    ================================================================ */
    @media (max-width: 768px) {
      .sim-cta-row { flex-direction: column; }
      .sim-cta-row .sim-btn { width: 100%; justify-content: center; }
      .sim-price-table thead th, .sim-price-table tbody td { padding: 10px 12px; font-size: 13px !important; }
      .sim-snippet table td:first-child { white-space: normal !important; width: 80px !important; }
      .sim-btn-row { flex-direction: column; align-items: center; }
      .sim-btn-row .sim-btn { width: 100%; max-width: 380px; justify-content: center; }
      .sim-panorama-section { height: clamp(180px, 52vw, 260px); }
    }
    @media (max-width: 480px) {
    }

  