:root{
      --rent-forest:#173128;
      --rent-forest-soft:#29483d;
      --rent-gold:#b58a48;
      --rent-cream:#f7f3eb;
      --rent-paper:#fffdf9;
      --rent-ink:#252821;
      --rent-muted:#636a64;
      --rent-line:rgba(23,49,40,.15);
      --rent-shadow:0 22px 65px rgba(23,49,40,.11);
      --rent-max:1220px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--rent-ink);
      background:var(--rent-paper);
      font-family:Georgia,"Times New Roman",serif;
    }
    img{display:block;max-width:100%}
    a{color:inherit}

    .rent-wrap{
      width:min(var(--rent-max),calc(100% - 38px));
      margin:0 auto;
    }

    .rent-section{
      padding:clamp(78px,9vw,142px) 0;
    }

    .rent-eyebrow{
      display:block;
      margin:0 0 18px;
      color:var(--rent-gold);
      font:700 .72rem/1.3 Arial,Helvetica,sans-serif;
      letter-spacing:.19em;
      text-transform:uppercase;
    }

    .rent-title{
      margin:0;
      color:var(--rent-forest);
      font-size:clamp(2.55rem,5.2vw,5.6rem);
      line-height:1;
      font-weight:500;
      letter-spacing:-.042em;
    }

    .rent-copy{
      margin:28px 0 0;
      color:var(--rent-muted);
      font:400 clamp(1.04rem,1.35vw,1.18rem)/1.82 Arial,Helvetica,sans-serif;
    }

    .rent-button{
      display:inline-flex;
      min-height:52px;
      align-items:center;
      justify-content:center;
      padding:0 23px;
      border:1px solid var(--rent-gold);
      background:var(--rent-gold);
      color:#fff;
      text-decoration:none;
      font:700 .72rem/1 Arial,Helvetica,sans-serif;
      letter-spacing:.11em;
      text-transform:uppercase;
      transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
    }

    .rent-button:hover{
      transform:translateY(-2px);
      background:#96703a;
      box-shadow:0 12px 28px rgba(181,138,72,.22);
    }

    .rent-button-outline{
      background:transparent;
      color:var(--rent-forest);
      border-color:rgba(23,49,40,.38);
    }

    .rent-button-outline:hover{
      background:rgba(23,49,40,.05);
      box-shadow:none;
    }

    /* HERO */
    .rent-hero{
      min-height:760px;
      background:var(--rent-cream);
    }

    .rent-hero-layout{
      width:min(1380px,calc(100% - 38px));
      min-height:760px;
      margin:0 auto;
      display:grid;
      grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
      align-items:stretch;
    }

    .rent-hero-copy{
      position:relative;
      z-index:2;
      display:flex;
      align-items:center;
      padding:105px 62px 105px 0;
      background:linear-gradient(90deg,var(--rent-cream) 0%,var(--rent-cream) 84%,rgba(247,243,235,.15) 100%);
    }

    .rent-hero-copy::after{
      content:"";
      position:absolute;
      top:0;
      right:-140px;
      bottom:0;
      width:195px;
      background:linear-gradient(90deg,var(--rent-cream),rgba(247,243,235,0));
      pointer-events:none;
    }

    .rent-hero-content{
      position:relative;
      z-index:3;
      max-width:650px;
    }

    .rent-hero h1{
      margin:0;
      color:var(--rent-forest);
      font-size:clamp(3rem,5.3vw,6rem);
      line-height:.98;
      font-weight:500;
      letter-spacing:-.045em;
    }

    .rent-hero h1 span{
      display:block;
      margin-top:18px;
      color:var(--rent-gold);
      font-size:.63em;
      line-height:1.08;
    }

    .rent-hero-intro{
      max-width:570px;
      margin:30px 0 0;
      color:#4f5751;
      font:400 clamp(1.05rem,1.4vw,1.2rem)/1.75 Arial,Helvetica,sans-serif;
    }

    .rent-hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:13px;
      margin-top:34px;
    }

    .rent-hero-photo{
      min-width:0;
      margin:0;
      overflow:hidden;
      border-radius:0 0 0 38px;
      box-shadow:var(--rent-shadow);
    }

    .rent-hero-photo img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }

    /* STATEMENT */
    .rent-statement{
      color:#fff;
      background:var(--rent-forest);
    }

    .rent-statement blockquote{
      margin:0;
      font-size:clamp(2.7rem,6.3vw,6.8rem);
      line-height:.96;
      letter-spacing:-.045em;
    }

    .rent-statement blockquote span{
      color:#d8b87d;
    }

    .rent-statement p{
      max-width:720px;
      margin:32px 0 0;
      color:rgba(255,255,255,.74);
      font:400 1.1rem/1.75 Arial,Helvetica,sans-serif;
    }

    /* TRUST */
    .rent-split{
      display:grid;
      grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
      gap:clamp(46px,7vw,100px);
      align-items:center;
    }

    .rent-image-frame{
      overflow:hidden;
      background:#eee;
      box-shadow:var(--rent-shadow);
    }

    .rent-image-frame.portrait{
      max-width:540px;
      justify-self:center;
      aspect-ratio:567/745;
    }

    .rent-image-frame img{
      width:100%;
      height:100%;
      object-fit:cover;
    }

    .rent-points{
      margin:36px 0 0;
      padding:0;
      list-style:none;
      border-top:1px solid var(--rent-line);
    }

    .rent-points li{
      display:grid;
      grid-template-columns:36px 1fr;
      gap:14px;
      align-items:start;
      padding:18px 0;
      border-bottom:1px solid var(--rent-line);
      color:var(--rent-muted);
      font:400 1rem/1.6 Arial,Helvetica,sans-serif;
    }

    .rent-points b{
      color:var(--rent-gold);
      font:700 .74rem/1.8 Arial,Helvetica,sans-serif;
      letter-spacing:.1em;
    }

    /* BENEFITS */
    .rent-benefits{
      background:var(--rent-cream);
    }

    .rent-benefit-grid{
      margin-top:55px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      border-top:1px solid var(--rent-line);
      border-left:1px solid var(--rent-line);
    }

    .rent-benefit{
      padding:37px 30px 42px;
      border-right:1px solid var(--rent-line);
      border-bottom:1px solid var(--rent-line);
      background:rgba(255,253,249,.48);
    }

    .rent-benefit-number{
      color:var(--rent-gold);
      font:700 .72rem/1 Arial,Helvetica,sans-serif;
      letter-spacing:.15em;
    }

    .rent-benefit h3{
      margin:23px 0 12px;
      color:var(--rent-forest);
      font-size:1.52rem;
      line-height:1.18;
      font-weight:500;
    }

    .rent-benefit p{
      margin:0;
      color:var(--rent-muted);
      font:400 .96rem/1.68 Arial,Helvetica,sans-serif;
    }

    /* PROCESS */
    .rent-process-layout{
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
      gap:clamp(48px,7vw,96px);
      align-items:center;
    }

    .rent-care-image{
      min-height:610px;
      background:#e8e0d1 url("/assets/sorgfalt-unterlagen.svg") center/cover no-repeat;
      box-shadow:var(--rent-shadow);
    }

    .rent-timeline{
      margin:38px 0 0;
      padding:0;
      list-style:none;
      counter-reset:step;
    }

    .rent-timeline li{
      position:relative;
      counter-increment:step;
      min-height:70px;
      padding:0 0 28px 68px;
      color:var(--rent-muted);
      font:400 1rem/1.55 Arial,Helvetica,sans-serif;
    }

    .rent-timeline li:not(:last-child)::after{
      content:"";
      position:absolute;
      left:21px;
      top:44px;
      bottom:2px;
      width:1px;
      background:var(--rent-line);
    }

    .rent-timeline li::before{
      content:counter(step,decimal-leading-zero);
      position:absolute;
      left:0;
      top:-5px;
      width:43px;
      height:43px;
      display:grid;
      place-items:center;
      border:1px solid var(--rent-gold);
      border-radius:50%;
      color:var(--rent-gold);
      background:var(--rent-paper);
      font:700 .7rem/1 Arial,Helvetica,sans-serif;
      letter-spacing:.04em;
    }

    .rent-timeline strong{
      display:block;
      margin-bottom:5px;
      color:var(--rent-forest);
      font-family:Georgia,"Times New Roman",serif;
      font-size:1.18rem;
      font-weight:500;
    }

    /* RESPONSIBILITY */
    .rent-responsibility{
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        linear-gradient(90deg,rgba(23,49,40,.92),rgba(23,49,40,.68)),
        url("/images/esszimmer_st_stephan.jpg") center/cover no-repeat;
    }

    .rent-responsibility-content{
      max-width:800px;
    }

    .rent-responsibility h2{
      margin:0;
      font-size:clamp(2.6rem,5.8vw,6rem);
      line-height:.98;
      font-weight:500;
      letter-spacing:-.04em;
    }

    .rent-responsibility h2 span{color:#d8b87d}

    .rent-responsibility p{
      max-width:650px;
      margin:28px 0 0;
      color:rgba(255,255,255,.78);
      font:400 1.1rem/1.75 Arial,Helvetica,sans-serif;
    }

    /* PROVISION */
    .rent-provision{
      background:#faf7f0;
    }

    .rent-provision-grid{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
      gap:clamp(48px,7vw,90px);
      align-items:center;
    }

    .rent-provision-list{
      margin:34px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      border-top:1px solid var(--rent-line);
      border-left:1px solid var(--rent-line);
    }

    .rent-provision-list li{
      padding:20px 22px;
      border-right:1px solid var(--rent-line);
      border-bottom:1px solid var(--rent-line);
      color:var(--rent-forest);
      font:600 .88rem/1.4 Arial,Helvetica,sans-serif;
    }

    .rent-quote{
      position:relative;
      padding:54px 42px;
      border:1px solid var(--rent-line);
      background:var(--rent-paper);
      box-shadow:var(--rent-shadow);
      text-align:center;
    }

    .rent-quote::before{
      content:"V";
      position:absolute;
      top:-25px;
      left:50%;
      width:54px;
      height:54px;
      display:grid;
      place-items:center;
      border:2px solid var(--rent-gold);
      border-radius:50%;
      color:var(--rent-forest);
      background:var(--rent-paper);
      transform:translateX(-50%);
      font-size:1.35rem;
      font-weight:700;
    }

    .rent-quote blockquote{
      margin:0;
      color:var(--rent-forest);
      font-size:clamp(1.5rem,2.4vw,2.2rem);
      line-height:1.42;
    }

    .rent-quote cite{
      display:block;
      margin-top:22px;
      color:var(--rent-gold);
      font:700 .7rem/1 Arial,Helvetica,sans-serif;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-style:normal;
    }

    /* CONTACT */
    .rent-contact{
      color:#fff;
      background:linear-gradient(135deg,var(--rent-forest),#202b25);
      text-align:center;
    }

    .rent-contact h2{
      max-width:900px;
      margin:0 auto;
      font-size:clamp(2.7rem,5.6vw,5.8rem);
      line-height:1;
      font-weight:500;
      letter-spacing:-.04em;
    }

    .rent-contact p{
      max-width:670px;
      margin:28px auto 0;
      color:rgba(255,255,255,.75);
      font:400 1.08rem/1.75 Arial,Helvetica,sans-serif;
    }

    .rent-contact-actions{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:13px;
      margin-top:34px;
    }

    .rent-contact .rent-button-outline{
      color:#fff;
      border-color:rgba(255,255,255,.48);
    }

    /* SIGNATURE */
    .rent-signature{
      text-align:center;
      background:var(--rent-paper);
    }

    .rent-signature-line{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:14px 30px;
      margin-top:30px;
      color:var(--rent-forest);
      font-size:clamp(1.4rem,2.6vw,2.2rem);
    }

    .rent-signature-line span::before{
      content:"";
      display:inline-block;
      width:7px;
      height:7px;
      margin-right:18px;
      border-radius:50%;
      background:var(--rent-gold);
      vertical-align:middle;
    }

    .rent-signature-line span:first-child::before{display:none}

    @media(max-width:960px){
      .rent-hero-layout,
      .rent-split,
      .rent-process-layout,
      .rent-provision-grid{
        grid-template-columns:1fr;
      }

      .rent-hero{min-height:auto}
      .rent-hero-layout{min-height:auto}
      .rent-hero-photo{
        order:-1;
        min-height:470px;
        border-radius:0 0 30px 30px;
      }
      .rent-hero-copy{
        padding:62px 0 82px;
        background:var(--rent-cream);
      }
      .rent-hero-copy::after{display:none}

      .rent-image-frame.portrait{max-width:500px}
      .rent-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .rent-care-image{min-height:500px}
    }

    @media(max-width:640px){
      .rent-wrap{width:min(100% - 30px,var(--rent-max))}
      .rent-section{padding:70px 0}

      .rent-hero-layout{width:100%}
      .rent-hero-photo{
        min-height:auto;
        aspect-ratio:4/3;
        border-radius:0;
      }
      .rent-hero-copy{padding:44px 15px 66px}
      .rent-hero h1{font-size:clamp(2.7rem,13vw,4.3rem)}
      .rent-hero-actions{flex-direction:column}
      .rent-button{width:100%}

      .rent-statement blockquote{font-size:clamp(2.45rem,12vw,4.2rem)}
      .rent-benefit-grid{grid-template-columns:1fr}
      .rent-care-image{min-height:370px}
      .rent-provision-list{grid-template-columns:1fr}
      .rent-quote{padding:52px 26px 40px}
      .rent-contact-actions{flex-direction:column}
      .rent-signature-line{display:grid;gap:12px}
      .rent-signature-line span::before{display:none}
    }


    #smoothup{
      position:fixed;
      right:16px;
      bottom:16px;
      z-index:99999;
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.35);
      border-radius:50%;
      background:var(--rent-gold);
      color:#fff;
      text-decoration:none;
      box-shadow:0 8px 20px rgba(0,0,0,.18);
      transition:transform .2s ease, background .2s ease;
    }

    #smoothup::before{
      content:"↑";
      display:block;
      color:#fff;
      font:700 1.35rem/1 Arial,Helvetica,sans-serif;
      transform:translateY(-1px);
    }

    #smoothup:hover{
      background:#96703a;
      transform:translateY(-3px);
    }

    #smoothup:focus-visible{
      outline:3px solid var(--rent-forest);
      outline-offset:3px;
    }