:root{
      --bg:#f4f0e8;
      --paper:#fbfaf7;
      --ink:#202725;
      --muted:#68716e;
      --line:rgba(32,39,37,.12);
      --deep:#263633;
      --blue:#83999a;
      --sand:#d8c8b2;
      --white:#fff;
      --shadow:0 24px 70px rgba(26,38,35,.12);
      --radius:28px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      overflow-x:hidden;
      background:var(--bg);
      color:var(--ink);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
    }
    img{display:block;width:100%}
    a{color:inherit}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .container{
      width:calc(100% - clamp(28px,6vw,96px));
      margin-inline:auto;
      container-type:inline-size;
    }

    .nav{
      position:fixed;z-index:50;left:0;right:0;top:0;
      padding:18px 0;
      transition:.25s ease;
    }
    .nav.scrolled{
      padding:10px 0;
      background:rgba(244,240,232,.9);
      backdrop-filter:blur(16px);
      border-bottom:1px solid var(--line);
    }
    .nav-inner{
      display:flex;align-items:center;justify-content:space-between;gap:20px;
    }
    .brand{
      color:#fff;text-decoration:none;font-weight:800;letter-spacing:-.02em;
      text-shadow:0 2px 12px rgba(0,0,0,.18);
    }
    .nav.scrolled .brand{color:var(--ink);text-shadow:none}
    .nav-links{display:flex;align-items:center;gap:24px}
    .nav-links a{
      color:rgba(255,255,255,.86);text-decoration:none;font-size:.93rem;font-weight:650;
    }
    .nav.scrolled .nav-links a{color:var(--muted)}
    .nav-btn{
      border:0;border-radius:999px;padding:12px 18px;background:#fff;color:var(--ink);
      font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.12)
    }
    .nav.scrolled .nav-btn{background:var(--deep);color:#fff;box-shadow:none}
    .menu-btn{
      display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
      color:#fff;background:rgba(255,255,255,.10);font-size:1.1rem
    }
    .nav.scrolled .menu-btn{border-color:var(--line);color:var(--ink);background:var(--paper)}

    .hero{
      min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;color:#fff;
      background:
        linear-gradient(180deg,rgba(7,14,12,.10),rgba(7,14,12,.32) 55%,rgba(7,14,12,.72)),
        url("../Bilder/zimmer-1_1.JPEG") center 48% / cover no-repeat;
    }
    .hero::before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(16,28,25,.48),rgba(16,28,25,.08) 68%);
      pointer-events:none;
    }
    .hero-content{position:relative;z-index:2;padding:clamp(110px,13vh,180px) 0 clamp(30px,5vw,70px)}
    .eyebrow{
      display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.32);
      background:rgba(255,255,255,.10);backdrop-filter:blur(8px);border-radius:999px;
      padding:8px 12px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase
    }
    .hero h1{
      margin:18px 0 20px;
      max-width:min(14ch,78vw);
      font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(3.2rem,7.2vw,8.6rem);
      line-height:.9;
      letter-spacing:-.055em;
      font-weight:500;
    }
    .hero-copy{
      max-width:min(64ch,72vw);margin:0;color:rgba(255,255,255,.86);
      font-size:clamp(1rem,1.25vw,1.32rem)
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .btn{
      min-height:50px;padding:0 22px;border-radius:999px;border:0;
      display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
      font-weight:800;transition:.18s ease
    }
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:#fff;color:var(--ink)}
    .btn-ghost{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(8px)}
    .hero-bottom{
      margin-top:clamp(30px,5vw,58px);display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,34px);
      color:rgba(255,255,255,.74);font-size:.9rem
    }
    .hero-meta{display:flex;gap:28px;flex-wrap:wrap}
    .hero-meta strong{display:block;color:#fff;font-size:1rem}

    section{padding:clamp(58px,7vw,118px) 0}
    .intro{
      display:grid;grid-template-columns:minmax(260px,.82fr) minmax(340px,1.18fr);gap:clamp(24px,5vw,88px);align-items:start
    }
    .kicker{
      margin:0 0 14px;color:var(--blue);text-transform:uppercase;font-weight:850;
      font-size:.8rem;letter-spacing:.13em
    }
    h2{
      margin:0;
      font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(2.45rem,4.7vw,5.4rem);
      line-height:1;
      letter-spacing:-.045em;
      font-weight:500
    }
    .intro-copy{
      max-width:68ch;color:var(--muted);font-size:clamp(1rem,1.05vw,1.13rem);margin:0
    }

    .rooms{display:grid;gap:clamp(18px,2.2vw,26px);margin-top:clamp(40px,5vw,62px)}
    .room{
      display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);min-height:clamp(390px,39vw,620px);
      border-radius:var(--radius);overflow:hidden;background:var(--paper);box-shadow:var(--shadow)
    }
    .room.reverse{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}
    .room.reverse .room-media{order:2}
    .room-media{position:relative;overflow:hidden}
    .room-media img{height:100%;object-fit:cover;transition:transform .6s ease}
    .room:hover .room-media img{transform:scale(1.025)}
    .room-body{padding:clamp(26px,4vw,68px);display:flex;flex-direction:column;justify-content:center}
    .room-number{
      width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
      background:var(--bg);color:var(--deep);font-weight:900;margin-bottom:28px
    }
    .room h3{
      margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(2rem,3.6vw,4rem);font-weight:500;letter-spacing:-.04em
    }
    .room p{margin:0;color:var(--muted);font-size:1.05rem}
    .room-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
    .tag{
      border:1px solid var(--line);border-radius:999px;padding:7px 11px;
      font-size:.84rem;font-weight:750;color:#53605d;background:#fff
    }

    .feature-strip{padding-top:0}
    .feature-grid{
      width:clamp(72%,82vw,90%);
      margin-inline:auto;
      container-type:inline-size;
    }
    .feature-main{
      position:relative;
      width:100%;
      height:clamp(250px,31vw,460px);
      border-radius:clamp(18px,2vw,28px);
      overflow:hidden;
      box-shadow:var(--shadow);
      background:#ddd6ca;
    }
    .feature-main img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }
    .feature-overlay{
      position:absolute;
      left:clamp(12px,2vw,20px);
      bottom:clamp(12px,2vw,20px);
      width:min(560px,calc(100% - clamp(24px,4vw,40px)));
      padding:clamp(16px,2.3vw,24px);
      border-radius:clamp(14px,1.8vw,20px);
      background:rgba(24,37,34,.78);
      backdrop-filter:blur(12px);
      color:#fff;
    }
    .feature-overlay h3{
      margin:0 0 7px;
      font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(1.45rem,2.4vw,2rem);
      line-height:1.08;
      font-weight:500;
    }
    .feature-overlay p{
      margin:0;
      color:rgba(255,255,255,.82);
      font-size:clamp(.9rem,1.35vw,.98rem);
    }

    @container (max-width:560px){
      .feature-main{
        height:auto;
        overflow:visible;
        background:transparent;
        box-shadow:none;
      }
      .feature-main img{
        height:auto;
        aspect-ratio:auto;
        border-radius:clamp(18px,5vw,24px);
        box-shadow:var(--shadow);
      }
      .feature-overlay{
        position:static;
        width:100%;
        margin-top:12px;
        padding:clamp(18px,5vw,22px);
        border-radius:18px;
        background:var(--deep);
        backdrop-filter:none;
      }
    }

    .gallery-wrap{background:#ebe6dd}
    .gallery-head{
      display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:36px
    }
    .gallery-head p{margin:0;color:var(--muted);max-width:520px}
    .mosaic{
      display:grid;grid-template-columns:1.35fr .65fr .65fr;
      grid-template-rows:clamp(210px,22vw,360px) clamp(170px,18vw,300px);gap:clamp(8px,1vw,14px)
    }
    .shot{
      border:0;padding:0;border-radius:22px;overflow:hidden;background:#d7d2c9;position:relative
    }
    .shot img{height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
    .shot:hover img{transform:scale(1.03);filter:brightness(.92)}
    .shot.big{grid-row:1 / 3}
    .shot.wide{grid-column:2 / 4}
    .gallery-more{
      margin-top:16px;display:flex;justify-content:flex-end
    }
    .gallery-more button{
      border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:12px 18px;font-weight:800
    }

    .facts{
      background:var(--paper)
    }
    .facts-grid{
      display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
    }
    .fact{padding:clamp(22px,2.6vw,38px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
    .fact:last-child{border-right:0}
    .fact strong{
      display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,4rem);
      font-weight:500;letter-spacing:-.04em
    }
    .fact span{color:var(--muted)}

    .location{
      display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:clamp(26px,5vw,76px);align-items:center
    }
    .location p{color:var(--muted);font-size:1.08rem}
    .location-card{
      min-height:clamp(360px,36vw,580px);border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow)
    }
    .location-card img{height:100%;object-fit:cover}
    .location-note{
      position:absolute;
      left:clamp(12px,2.2vw,24px);
      right:auto;
      bottom:clamp(12px,2.2vw,24px);
      width:min(72%, 360px);
      border-radius:18px;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(10px);
      padding:clamp(12px,1.6vw,18px);
      box-shadow:0 10px 28px rgba(0,0,0,.10);
    }
    .location-note strong{
      display:block;
      margin-bottom:4px;
      font-size:clamp(1rem,1.5vw,1.18rem);
      line-height:1.15;
    }
    .location-note span{
      color:var(--muted);
      font-size:clamp(.88rem,1.05vw,1rem);
      line-height:1.35;
    }

    .cta{
      padding-top:36px
    }
    .cta-box{
      min-height:clamp(430px,38vw,620px);border-radius:clamp(24px,2.5vw,36px);overflow:hidden;position:relative;color:#fff;
      background:
        linear-gradient(90deg,rgba(25,42,38,.80),rgba(25,42,38,.34)),
        url("../Bilder/zimmer-1_5.JPEG") center/cover no-repeat;
      box-shadow:var(--shadow)
    }
    .cta-inner{
      min-height:inherit;padding:clamp(30px,6vw,88px);display:flex;flex-direction:column;justify-content:center;
      max-width:760px
    }
    .cta h2{max-width:700px}
    .cta p{max-width:600px;color:rgba(255,255,255,.78);font-size:1.08rem}
    .cta .btn{align-self:flex-start;margin-top:14px}

    footer{
      padding:clamp(38px,5vw,64px) 0 34px;
      background:#ebe6dd;
      border-top:1px solid var(--line);
    }
    .footer-container{
      width:min(calc(100% - 32px),1100px);
      margin-inline:auto;
    }
    .legal{
      margin:0;
      padding:0;
      border:0;
      color:var(--muted);
      font-size:.92rem;
      display:grid;
      gap:12px;
    }
    .legal details{
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--paper);
      overflow:hidden;
      box-shadow:0 10px 30px rgba(26,38,35,.05);
    }
    .legal summary{
      list-style:none;
      padding:16px 20px;
      cursor:pointer;
      font-weight:800;
      color:var(--ink);
      display:flex;
      align-items:center;
      gap:10px;
      user-select:none;
    }
    .legal summary::-webkit-details-marker{display:none}
    .legal summary::before{
      content:"+";
      width:24px;
      height:24px;
      border-radius:50%;
      display:grid;
      place-items:center;
      flex:0 0 24px;
      background:var(--bg);
      color:var(--deep);
      font-size:1rem;
      line-height:1;
    }
    .legal details[open] summary{
      border-bottom:1px solid var(--line);
    }
    .legal details[open] summary::before{
      content:"−";
    }
    .details-body{
      padding:18px 20px 20px;
      line-height:1.7;
      max-width:900px;
    }
    .footer-copy{
      margin-top:8px;
      text-align:center;
      color:var(--muted);
      font-size:.84rem;
    }
    @media (max-width:700px){
      footer{
        padding:30px 0 90px;
      }
      .footer-container{
        width:calc(100% - 28px);
      }
      .legal summary{
        padding:15px 16px;
      }
      .details-body{
        padding:16px;
      }
    }

    .float-cta{
      position:fixed;z-index:45;right:22px;bottom:22px;border:0;border-radius:999px;
      background:var(--deep);color:#fff;padding:14px 18px;font-weight:850;
      box-shadow:0 15px 36px rgba(21,34,31,.24)
    }

    .modal{
      position:fixed;z-index:100;inset:0;display:none;place-items:center;padding:20px;
      background:rgba(13,21,19,.68);backdrop-filter:blur(10px)
    }
    .modal.open{display:grid}
    .modal-card{
      width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--paper);
      border-radius:28px;box-shadow:0 35px 100px rgba(0,0,0,.28);padding:28px
    }
    .modal-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}
    .modal h3{
      margin:0;font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;font-weight:500;letter-spacing:-.04em
    }
    .modal-close{
      width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.35rem
    }
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .field{display:grid;gap:7px}
    .field.full{grid-column:1/-1}
    label{font-size:.88rem;font-weight:800}
    input,select,textarea{
      width:100%;border:1px solid #d4d9d6;border-radius:14px;background:#fff;color:var(--ink);
      padding:13px 14px;outline:none
    }
    input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(131,153,154,.14)}
    textarea{min-height:125px;resize:vertical}
    .form-submit{
      margin-top:18px;width:100%;border:0;border-radius:999px;background:var(--deep);color:#fff;
      min-height:52px;font-weight:850
    }
    .form-note{margin:12px 2px 0;color:var(--muted);font-size:.82rem}
    .hp-field{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      overflow:hidden!important;
      clip:rect(1px,1px,1px,1px)!important;
      white-space:nowrap!important;
    }
    .form-submit:disabled{opacity:.68;cursor:wait}
    .form-status{min-height:1.4em;margin-top:12px;font-size:.9rem;font-weight:700}
    .form-status.success{color:#2e6b43}
    .form-status.error{color:#a53a35}

    .lightbox{
      position:fixed;z-index:110;inset:0;display:none;place-items:center;padding:22px;
      background:rgba(7,12,10,.94)
    }
    .lightbox.open{display:grid}
    .lightbox img{max-width:94vw;max-height:88vh;width:auto;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
    .lightbox-close{
      position:fixed;right:20px;top:20px;width:44px;height:44px;border-radius:50%;
      border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#fff;font-size:1.4rem
    }


    /* Struktur reagiert auf die tatsächlich verfügbare Breite des Inhalts,
       nicht auf zwei fest definierte Desktop/Handy-Größen. */
    @container (max-width: 900px){
      .intro,
      .location{
        grid-template-columns:1fr;
      }

      .room,
      .room.reverse{
        grid-template-columns:1fr;
        min-height:0;
      }

      .room.reverse .room-media{order:0}

      .room-media{
        aspect-ratio:16 / 10;
      }

      .room-media img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
      }

      .gallery-head{
        align-items:flex-start;
        flex-direction:column;
      }

      .mosaic{
        grid-template-columns:1.15fr .85fr;
        grid-template-rows:clamp(220px,34cqw,340px) clamp(180px,27cqw,280px) clamp(180px,27cqw,280px);
      }

      .shot.big{grid-row:1 / 3}
      .shot.wide{grid-column:1 / 3}

      .nav-links{display:none}
      .menu-btn{display:grid;place-items:center}
      .nav-links.open{
        display:flex;
        position:absolute;
        top:70px;
        left:clamp(14px,3vw,30px);
        right:clamp(14px,3vw,30px);
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:12px;
        background:var(--paper);
        border-radius:18px;
        box-shadow:var(--shadow);
      }
      .nav-links.open a{color:var(--ink);padding:12px}
    }

    @container (max-width: 620px){
      .hero h1{
        max-width:100%;
        font-size:clamp(3rem,15cqw,4.9rem);
      }

      .hero-copy{max-width:100%}

      .hero-actions{
        display:grid;
        grid-template-columns:1fr;
      }

      .hero-actions .btn{width:100%}

      .hero-bottom{
        align-items:flex-start;
        flex-direction:column;
      }

      .hero-meta{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
      }

      .nav-btn{display:none}
      .brand{
        font-size:.96rem;
        max-width:72cqw;
        overflow:hidden;
        text-overflow:ellipsis;
      }

      .room-media{aspect-ratio:4 / 3}
      .room-body{padding:clamp(24px,7cqw,34px)}
      .room-number{margin-bottom:18px}

      .feature-grid{width:100%}

      .gallery-more{justify-content:stretch}
      .gallery-more button{width:100%}

      .mosaic{
        grid-template-columns:1fr;
        grid-template-rows:none;
      }

      .shot,
      .shot.big,
      .shot.wide{
        grid-column:auto;
        grid-row:auto;
        height:clamp(190px,62cqw,300px);
      }

      .location-card{
        min-height:0;
        aspect-ratio:4 / 3;
      }

      .location-note{
        left:10px;
        bottom:10px;
        width:min(66%, 240px);
        padding:12px 13px;
        border-radius:14px;
      }
      .location-note strong{
        font-size:.92rem;
        line-height:1.15;
        margin-bottom:3px;
      }
      .location-note span{
        font-size:.78rem;
        line-height:1.28;
      }
      .cta .btn{
        width:100%;
        align-self:stretch;
      }

      .form-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}

      .footer-top{flex-direction:column}

      .float-cta{
        right:clamp(12px,3vw,22px);
        bottom:clamp(12px,3vw,22px);
        max-width:calc(100vw - 24px);
      }

      footer{padding-bottom:88px}
    }

  
    /* Mobile-Fix: Lage-Bild auf dem Handy immer unter den Text setzen */
    @media (max-width: 700px){
      .location{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:24px !important;
        align-items:start !important;
      }

      .location > div:first-child{
        order:1;
      }

      .location-card{
        order:2;
        width:100% !important;
        min-height:0 !important;
        aspect-ratio:4 / 3 !important;
        overflow:hidden !important;
      }

      .location-card img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        display:block;
      }

      .location-note{
        left:10px !important;
        right:auto !important;
        bottom:10px !important;
        width:min(66%, 240px) !important;
        padding:12px 13px !important;
        border-radius:14px !important;
      }

      .location-note strong{
        font-size:.92rem !important;
        line-height:1.15 !important;
        margin-bottom:3px !important;
      }

      .location-note span{
        font-size:.78rem !important;
        line-height:1.28 !important;
      }
    }

  
  
    .privacy-text h3{
      margin:26px 0 8px;
      color:var(--ink);
      font-family:Georgia,"Times New Roman",serif;
      font-size:1.18rem;
      font-weight:600;
    }
    .privacy-text h3:first-child{margin-top:0}
    .privacy-text p{margin:0 0 12px}
    .privacy-text ul{
      margin:8px 0 16px;
      padding-left:22px;
    }
    .privacy-text li{margin:4px 0}

/* ---------------------------------------------------------
   Footer / Rechtliche Seiten
   --------------------------------------------------------- */

.site-footer{
  padding:clamp(34px,5vw,60px) 0;
  background:#ebe6dd;
  border-top:1px solid var(--line);
}

.footer-legal-links{
  width:min(calc(100% - 32px),1100px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.footer-legal-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
  font-weight:800;
  box-shadow:0 10px 30px rgba(26,38,35,.05);
  transition:transform .18s ease, box-shadow .18s ease;
}

.footer-legal-link:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(26,38,35,.09);
}

.footer-legal-link span:last-child{
  font-size:1.15rem;
}

.legal-page{
  min-height:100svh;
  padding:clamp(34px,6vw,80px) 0;
  background:var(--bg);
}

.legal-page-wrap{
  width:min(calc(100% - 32px),900px);
  margin-inline:auto;
}

.legal-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:clamp(28px,5vw,54px);
  color:var(--muted);
  text-decoration:none;
  font-weight:750;
}

.legal-back:hover{
  color:var(--ink);
}

.legal-page-card{
  padding:clamp(24px,5vw,54px);
  border:1px solid var(--line);
  border-radius:clamp(22px,3vw,32px);
  background:var(--paper);
  box-shadow:var(--shadow);
}

.legal-page-card .kicker{
  margin-bottom:10px;
}

.legal-page-card h1{
  margin:0 0 clamp(28px,5vw,48px);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.6rem,6vw,5rem);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:500;
  color:var(--ink);
}

.legal-content{
  color:var(--muted);
  font-size:clamp(.98rem,1.1vw,1.08rem);
  line-height:1.75;
}

.legal-content h2,
.legal-content h3{
  margin:30px 0 10px;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  line-height:1.2;
  font-weight:600;
}

.legal-content h2:first-child,
.legal-content h3:first-child{
  margin-top:0;
}

.legal-content p{
  margin:0 0 14px;
}

.legal-content ul{
  margin:8px 0 18px;
  padding-left:22px;
}

.legal-content li{
  margin:5px 0;
}

.legal-page-note{
  margin-top:24px;
  color:var(--muted);
  font-size:.86rem;
}

@media(max-width:700px){
  .footer-legal-links{
    grid-template-columns:1fr;
    width:calc(100% - 28px);
  }

  .site-footer{
    padding-bottom:90px;
  }

  .legal-page-card{
    padding:24px 20px;
  }
}
