:root{
      --black:#080808;
      --paper:#f2eee7;
      --white:#fff;
      --gold:#b08a4b;
      --gold2:#c9a15f;
      --ink:#0b0b0b;
      --muted:#6c665f;
      --pad:clamp(24px,4vw,64px);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:#fff;color:#111;font-family:"DM Sans",sans-serif;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    button{font:inherit}

    .sans{font-family:"Oswald",sans-serif;text-transform:uppercase}
    .serif{font-family:"Playfair Display",serif;font-style:italic}
    .eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}

    /* HEADER */
    .site-header{
      position:fixed;top:0;left:0;width:100%;z-index:300;
      color:#fff;background:transparent;border-bottom:1px solid rgba(255,255,255,.10);
      transition:background-color .28s ease,backdrop-filter .28s ease;
    }
    .site-header.is-scrolled{
      background:rgba(6,6,6,.90);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }
    .header-inner{
      height:76px;padding:0 var(--pad);
      display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;
    }
    .header-left{display:flex;align-items:center;gap:22px;min-width:0}
    .header-brand{font-weight:700;letter-spacing:.13em;font-size:12px;white-space:nowrap}
    .header-phone{
      border:1px solid rgba(255,255,255,.72);padding:10px 14px;
      display:flex;align-items:center;gap:10px;white-space:nowrap;background:rgba(0,0,0,.08)
    }
    .header-phone span{font-size:6px;letter-spacing:.14em;text-transform:uppercase}
    .header-phone strong{font-size:11px}
    .header-center{font-size:8px;letter-spacing:.2em;text-transform:uppercase}
    .header-nav{display:flex;justify-content:flex-end;gap:20px}
    .header-nav a{font-size:8px;letter-spacing:.1em;text-transform:uppercase}
    .header-menu-toggle{display:none;border:0;background:none;color:inherit}

    /* HERO */
    .contact-hero{
      min-height:100svh;position:relative;overflow:hidden;background:#050505;color:#fff;
    }
    .contact-hero__media{position:absolute;inset:0}
    .contact-hero__media img{
      width:100%;height:100%;object-fit:cover;object-position:center 46%;
      filter:brightness(.62) saturate(.8);
    }
    .contact-hero__shade{
      position:absolute;inset:0;
      background:
        linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.62) 38%,rgba(0,0,0,.28) 68%,rgba(0,0,0,.44) 100%),
        linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.55));
    }
    .contact-hero__content{
      position:relative;z-index:3;min-height:100svh;
      padding:150px var(--pad) 58px;
      display:flex;flex-direction:column;justify-content:flex-end;
    }
    .contact-hero__meta{
      position:absolute;top:112px;left:var(--pad);right:var(--pad);
      display:flex;justify-content:space-between;
      color:#ddd5cc;font-size:9px;letter-spacing:.17em;text-transform:uppercase;
    }
    .contact-hero h1{margin:0;max-width:1250px}
    .contact-hero__line1{
      display:block;font-size:clamp(90px,13vw,210px);line-height:.78;letter-spacing:-.06em;
    }
    .contact-hero__line2{
      display:block;margin-left:23vw;margin-top:16px;
      color:var(--gold2);font-size:clamp(52px,6.6vw,104px);line-height:.98;
    }
    .contact-hero__line3{
      display:block;margin-left:38vw;margin-top:16px;
      font-size:clamp(68px,8.5vw,136px);line-height:.86;letter-spacing:-.05em;
    }
    .contact-hero__bottom{
      margin-top:58px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;
    }
    .contact-hero__bottom p{max-width:650px;margin:0;color:#d1cbc4;font-size:14px;line-height:1.7}
    .contact-hero__actions{display:flex;gap:10px;flex-wrap:wrap}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:48px;padding:0 18px;border:1px solid rgba(255,255,255,.72);
      font-size:8px;letter-spacing:.12em;text-transform:uppercase;
    }
    .btn--gold{border-color:var(--gold);color:var(--gold2)}

    /* CONTACT BOOM */
    .contact-boom{
      min-height:100svh;background:var(--paper);color:#090909;
      padding:110px var(--pad);
      display:flex;flex-direction:column;justify-content:center;
      position:relative;overflow:hidden;
    }
    .contact-boom h2{margin:0;max-width:1300px}
    .contact-boom .b1{
      display:block;font-size:clamp(74px,10.6vw,168px);line-height:.84;letter-spacing:-.05em;
    }
    .contact-boom .b2{
      display:block;margin-left:20vw;margin-top:14px;color:var(--gold);
      font-size:clamp(46px,5.8vw,92px);line-height:.92;
    }
    .contact-boom .b3{
      display:block;margin-left:7vw;margin-top:30px;
      font-size:clamp(60px,8.2vw,132px);line-height:.88;letter-spacing:-.045em;
    }
    .contact-boom__rule{
      position:absolute;left:-10vw;top:53%;width:120vw;height:2px;
      background:var(--gold);transform:rotate(-5deg) scaleX(0);transform-origin:left center;
    }

    /* DIRECT CONTACT GRID */
    .contact-grid{
      background:#fff;padding:110px var(--pad);
    }
    .contact-grid__head{
      display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end;margin-bottom:70px;
    }
    .contact-grid__head h2{
      margin:0;font-size:clamp(68px,9vw,144px);line-height:.76;letter-spacing:-.055em;
    }
    .contact-grid__head p{
      margin:0;color:#59534d;font-size:15px;line-height:1.75;max-width:620px;
    }
    .contact-options{
      display:grid;grid-template-columns:repeat(3,1fr);
      border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14);
    }
    .contact-option{
      min-height:360px;padding:34px 28px;
      border-right:1px solid rgba(0,0,0,.14);
      display:flex;flex-direction:column;justify-content:space-between;
      transition:background .25s ease,color .25s ease;
    }
    .contact-option:last-child{border-right:0}
    .contact-option:hover{background:#0a0a0a;color:#fff}
    .contact-option__no{font-size:9px;letter-spacing:.16em;color:var(--gold)}
    .contact-option h3{
      margin:0;font-size:clamp(44px,4.7vw,74px);line-height:.86;letter-spacing:-.04em;
    }
    .contact-option strong{
      display:block;margin-top:16px;font-size:clamp(20px,2vw,30px);font-weight:600;
    }
    .contact-option p{margin:22px 0 0;color:#6b655f;font-size:12px;line-height:1.6}
    .contact-option:hover p{color:#c9c2bb}

    /* BOOKING */
    .booking{
      background:#0a0a0a;color:#fff;padding:110px var(--pad);
    }
    .booking__head{
      display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end;margin-bottom:54px;
    }
    .booking__head h2{margin:0}
    .booking__head .sans{
      display:block;font-size:clamp(70px,9.5vw,150px);line-height:.81;letter-spacing:-.05em;
    }
    .booking__head .serif{
      display:block;color:var(--gold2);margin-left:12vw;margin-top:18px;
      font-size:clamp(42px,5.4vw,84px);line-height:.95;
    }
    .booking__intro{color:#c9c2bb;font-size:14px;line-height:1.75}
    .booking__facts{
      display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(176,138,75,.28);margin-bottom:40px;
    }
    .booking__fact{background:#0a0a0a;padding:20px}
    .booking__fact span{display:block;color:var(--gold);font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
    .booking__fact strong{font-size:16px}
    .cal-wrap{background:#fff;min-height:720px;padding:10px}
    #my-cal-inline-20min{width:100%;height:700px;overflow:auto}

    /* EMERGENCY */
    .emergency{
      min-height:88svh;
      background:
        linear-gradient(90deg,var(--gold) 0 58%,#fff 58% 100%);
      color:#080808;
      padding:120px var(--pad);
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
      gap:7vw;
      align-items:center;
      overflow:hidden;
    }
    .emergency h2{margin:0}
    .emergency .e1{display:block;font-size:clamp(76px,10vw,160px);line-height:.72;letter-spacing:-.06em}
    .emergency .e2{display:block;color:#fff;margin-left:7vw;margin-top:26px;font-size:clamp(46px,5.5vw,86px);line-height:1.02}
    .emergency__copy{
      width:100%;
      max-width:520px;
      justify-self:end;
      font-size:15px;
      line-height:1.78;
      padding:34px 0 34px 34px;
      color:#17130e;
    }
    .emergency__number{
      display:block;
      width:100%;
      max-width:100%;
      margin-top:30px;
      font-family:"Oswald";
      font-size:clamp(42px,4.6vw,68px);
      line-height:.98;
      letter-spacing:-.03em;
      white-space:nowrap;
      overflow:visible;
    }

    /* LOCATION */
    .location{
      background:#f2eee7;padding:110px var(--pad);
      display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start;
    }
    .location h2{margin:0;font-size:clamp(68px,8vw,128px);line-height:.78;letter-spacing:-.055em}
    .location__details{
      border-left:2px solid var(--gold);padding-left:34px;
      font-size:15px;line-height:1.9;
    }
    .location__details strong{font-size:22px}
    .location__maps{
      display:inline-flex;margin-top:24px;border-bottom:1px solid var(--gold);
      font-size:9px;letter-spacing:.14em;text-transform:uppercase;
    }

    /* FOOTER */
    .site-footer{background:#070707;color:#aaa;padding:26px var(--pad)}
    .footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:10px}
    .footer-links{display:flex;gap:18px}

    /* MOBILE */
    @media(max-width:900px){
      .site-header{background:rgba(5,5,5,.82);backdrop-filter:blur(10px)}
      .header-inner{height:68px;grid-template-columns:minmax(0,1fr) auto;padding:0 12px;gap:8px}
      .header-center{display:none}
      .header-left{gap:8px;overflow:hidden}
      .header-brand{font-size:8.5px}
      .header-phone{padding:7px 8px}
      .header-phone span{display:none}
      .header-phone strong{font-size:8px}
      .header-menu-toggle{display:flex;align-items:center;gap:5px;font-size:7px;letter-spacing:.12em;text-transform:uppercase}
      .header-nav{
        position:absolute;top:68px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;
        background:rgba(6,6,6,.97);padding:8px 12px 14px;
        opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
        transition:.2s ease;
      }
      .header-nav.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
      .header-nav a{min-height:42px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}

      .contact-hero__content{padding:108px 16px 36px}
      .contact-hero__meta{top:82px;left:16px;right:16px;font-size:6px}
      .contact-hero__line1{font-size:clamp(56px,16vw,72px);line-height:.82}
      .contact-hero__line2{margin-left:2vw;font-size:clamp(35px,10vw,44px)}
      .contact-hero__line3{margin-left:18vw;font-size:clamp(48px,13vw,58px)}
      .contact-hero__bottom{display:block;margin-top:36px}
      .contact-hero__bottom p{font-size:11px}
      .contact-hero__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}
      .btn{padding:0 8px;font-size:6.5px}

      .contact-boom{min-height:78svh;padding:80px 16px}
      .contact-boom .b1{font-size:clamp(48px,14vw,62px);line-height:.84}
      .contact-boom .b2{margin-left:2vw;font-size:clamp(31px,9vw,40px)}
      .contact-boom .b3{margin-left:0;font-size:clamp(42px,12vw,54px)}
      .contact-boom__rule{display:none}

      .contact-grid{padding:82px 16px}
      .contact-grid__head{grid-template-columns:1fr;gap:28px;margin-bottom:48px}
      .contact-grid__head h2{font-size:clamp(52px,15vw,68px)}
      .contact-options{grid-template-columns:1fr}
      .contact-option{min-height:260px;border-right:0;border-bottom:1px solid rgba(0,0,0,.14);padding:28px 0}
      .contact-option:last-child{border-bottom:0}

      .booking{padding:82px 16px}
      .booking__head{grid-template-columns:1fr;gap:34px}
      .booking__head .sans{font-size:clamp(52px,15vw,68px)}
      .booking__head .serif{margin-left:2vw;font-size:clamp(33px,9.5vw,42px)}
      .booking__facts{grid-template-columns:1fr}
      .cal-wrap{min-height:620px;padding:0}
      #my-cal-inline-20min{height:620px}

      .emergency{min-height:auto;padding:82px 16px;grid-template-columns:1fr;gap:40px}
      .emergency .e1{font-size:clamp(54px,15vw,68px)}
      .emergency .e2{margin-left:2vw;font-size:clamp(34px,9.5vw,42px)}
      .emergency__number{font-size:clamp(48px,13vw,60px)}

      .location{padding:82px 16px;grid-template-columns:1fr;gap:40px}
      .location h2{font-size:clamp(52px,15vw,68px)}
      .location__details{padding-left:18px}

      .footer-inner{display:block}
      .footer-links{margin-top:12px}
    }
  
@media(max-width:900px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  .contact-hero,
  .contact-hero__content,
  .contact-boom,
  .contact-grid,
  .booking,
  .emergency,
  .location{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:clip;
  }

  .contact-hero h1,
  .contact-boom h2,
  .booking__head h2,
  .emergency h2,
  .location h2{
    max-width:100%;
    min-width:0;
  }

  .contact-hero__line1,
  .contact-hero__line2,
  .contact-hero__line3,
  .contact-boom .b1,
  .contact-boom .b2,
  .contact-boom .b3,
  .booking__head .sans,
  .booking__head .serif,
  .emergency .e1,
  .emergency .e2,
  .location h2{
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }

  .contact-hero__line1{
    font-size:clamp(52px,14.6vw,64px);
    line-height:.88;
  }

  .contact-hero__line2{
    margin-left:0;
    margin-top:12px;
    font-size:clamp(31px,8.8vw,39px);
    line-height:1.02;
  }

  .contact-hero__line3{
    margin-left:10vw;
    margin-top:14px;
    font-size:clamp(44px,12vw,54px);
    line-height:.90;
    white-space:nowrap;
  }

  .contact-boom .b1{
    font-size:clamp(44px,12.5vw,56px);
    line-height:.90;
  }

  .contact-boom .b2{
    margin-left:0;
    margin-top:14px;
    font-size:clamp(29px,8.3vw,37px);
    line-height:1.02;
  }

  .contact-boom .b3{
    margin-left:0;
    margin-top:18px;
    font-size:clamp(38px,10.8vw,48px);
    line-height:.92;
  }

  .contact-option h3{
    font-size:clamp(42px,12vw,52px);
    line-height:.92;
  }

  .contact-option strong{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .booking__head .sans{
    font-size:clamp(48px,13.5vw,60px);
    line-height:.88;
  }

  .booking__head .serif{
    margin-left:0;
    margin-top:14px;
    font-size:clamp(30px,8.6vw,38px);
    line-height:1.02;
  }

  .emergency{
    grid-template-columns:1fr;
  }

  .emergency .e1{
    font-size:clamp(46px,13vw,58px);
    line-height:.90;
  }

  .emergency .e2{
    margin-left:0;
    margin-top:14px;
    font-size:clamp(30px,8.5vw,38px);
    line-height:1.02;
  }

  .emergency__copy{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .emergency__number{
    width:100%;
    max-width:100%;
    font-size:clamp(40px,11.4vw,49px);
    line-height:.94;
    letter-spacing:-.03em;
    white-space:nowrap;
  }

  .location h2{
    font-size:clamp(46px,13vw,58px);
    line-height:.90;
  }
}

@media(max-width:900px){
  .emergency{
    min-height:auto;
    padding:0;
    display:block;
    background:#fff;
    overflow:hidden;
  }

  .emergency h2{
    margin:0;
    padding:82px 16px 66px;
    background:var(--gold);
  }

  .emergency .e1{
    font-size:clamp(43px,12vw,54px);
    line-height:.94;
    letter-spacing:-.04em;
  }

  .emergency .e2{
    margin-left:0;
    margin-top:20px;
    font-size:clamp(29px,8.2vw,37px);
    line-height:1.05;
  }

  .emergency__copy{
    width:100%;
    max-width:none;
    padding:46px 16px 58px;
    background:#fff;
    color:#15120f;
    font-size:13px;
    line-height:1.72;
  }

  .emergency__number{
    display:block;
    width:100%;
    max-width:100%;
    margin-top:24px;
    font-size:clamp(38px,10.6vw,46px);
    line-height:1;
    letter-spacing:-.025em;
    white-space:nowrap;
  }

  .contact-boom .b1{
    font-size:clamp(42px,11.8vw,53px);
    line-height:.96;
  }

  .contact-boom .b2{
    margin-top:18px;
    font-size:clamp(28px,8vw,36px);
    line-height:1.06;
  }

  .contact-boom .b3{
    margin-top:24px;
    font-size:clamp(36px,10.2vw,46px);
    line-height:.98;
  }
}

/* ==========================================================
   V4 — NOTFALL SPLIT TYPO FIX
   Headline bleibt vollständig im Goldfeld.
   ========================================================== */
@media(min-width:901px){
  .emergency{
    grid-template-columns:minmax(0,58%) minmax(0,42%);
    gap:0;
    padding:0;
    align-items:stretch;
    min-height:88svh;
  }

  .emergency h2{
    margin:0;
    padding:120px 54px 120px var(--pad);
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    overflow:hidden;
  }

  .emergency .e1{
    display:block;
    max-width:100%;
    font-size:clamp(64px,7.2vw,112px);
    line-height:.88;
    letter-spacing:-.048em;
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }

  .emergency .e2{
    display:block;
    max-width:90%;
    margin:30px 0 0 7vw;
    font-size:clamp(42px,4.8vw,72px);
    line-height:1.02;
    white-space:normal;
  }

  .emergency__copy{
    width:100%;
    max-width:none;
    margin:0;
    padding:120px var(--pad) 120px 64px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    justify-self:stretch;
    min-width:0;
    overflow:hidden;
  }

  .emergency__number{
    width:100%;
    max-width:100%;
    margin-top:34px;
    font-size:clamp(44px,4.8vw,70px);
    line-height:1;
    white-space:nowrap;
    overflow:visible;
  }
}
