:root{
  --hosts-bg:#fbf9f5;
  --hosts-ink:#25221f;
  --hosts-muted:#69635d;
  --hosts-gold:#a8784c;
  --hosts-beige:#b69a78;
  --hosts-line:rgba(168,120,76,.28);
}

.hosts-page{
  min-height:100vh;
  background:var(--hosts-bg);
  color:var(--hosts-ink);
}

/* Same navigation treatment as the Explore Sitia page. */
.hosts-page .nav{
  left:34px;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
}

.hosts-page .links{
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:22px;
  padding:0 0 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}

.hosts-page .links::before{
  display:block;
}

.hosts-page .links a{
  color:#8c6239 !important;
  font-size:13px;
  letter-spacing:3px;
}

.hosts-page .links a:hover,
.hosts-page .links a.active{
  color:var(--hosts-gold) !important;
}

.hosts-main{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:76px clamp(26px, 4vw, 64px) 76px clamp(190px, 16vw, 270px);
}

.hosts-page .booking-request-section{
  width:min(1080px, 100%);
  margin:110px 0 0;
}

.hosts-page .booking-request-heading h2{
  font-size:clamp(2rem, 5vw, 5.4rem);
  white-space:nowrap;
}

.hosts-story{
  width:min(1080px, 100%);
  padding:14px 0 0 34px;
  border-left:1px solid var(--hosts-line);
}

.hosts-kicker,
.hosts-note{
  font-family:"Montserrat", sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--hosts-gold);
}

.title-beige{
  color:var(--hosts-beige);
}

.hosts-story h1{
  margin:22px 0 34px;
  font-family:"Cinzel", serif;
  font-size:clamp(4rem, 8vw, 7.4rem);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:var(--hosts-ink);
}

.hosts-copy{
  max-width:none;
}

.hosts-copy p{
  margin:0;
  font-family:"Montserrat", sans-serif;
  font-size:13px;
  line-height:1.95;
  color:var(--hosts-muted);
}

.hosts-copy p + p{
  margin-top:18px;
}

.hosts-note{
  display:block;
  margin-top:30px;
  padding:19px 0 2px;
  border-top:1px solid rgba(168,120,76,.18);
  font-size:8px;
  letter-spacing:.2em;
}

@media (max-width:720px){
  .hosts-page .nav{
    left:auto;
    right:16px;
    top:16px;
    bottom:auto;
    transform:none;
    padding:0;
    background:transparent;
    border:0;
    backdrop-filter:none;
  }

  .hosts-page .nav-inner{position:relative;}

  .hosts-page .links{
    position:absolute;
    top:56px;
    right:0;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    width:210px;
    gap:16px;
    padding:22px 24px;
    flex-wrap:nowrap;
    overflow:visible;
    border:1px solid rgba(168,120,76,.2);
    border-radius:14px;
    background:rgba(251,249,245,.97);
    box-shadow:0 20px 48px rgba(37,34,31,.16);
    backdrop-filter:blur(12px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }

  .hosts-page .links::before{
    display:none;
  }

  .hosts-page .links a{
    width:100%;
    color:var(--hosts-gold) !important;
    font-size:10px;
    letter-spacing:2px;
    text-shadow:none;
  }

  .hosts-page .links a:hover{transform:none;}

  .hosts-page .links a.active::after{
    width:12px;
    margin-left:6px;
  }

  .hosts-main{
    min-height:auto;
    padding:76px 20px;
  }

  .hosts-story{
    padding:10px 0 0 22px;
  }

  .hosts-story h1{
    margin:18px 0 28px;
    font-size:clamp(3.3rem, 17vw, 5rem);
  }

  .hosts-page .booking-request-heading h2{
    font-size:clamp(1.85rem, 9vw, 3rem);
  }

  .hosts-copy p{
    font-size:12px;
    line-height:1.9;
  }
}

/* Mobile keeps the same vertical navigation treatment as desktop. */
@media (max-width:720px){
  .hosts-page .nav{left:12px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);padding:0;background:transparent;border:0;backdrop-filter:none;}
  .hosts-page .nav-inner{position:static;}
  .hosts-page .links{position:relative;top:auto;right:auto;width:auto;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:17px;padding:0 0 0 12px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;opacity:1;visibility:visible;transform:none;overflow:visible;}
  .hosts-page .links::before{display:block;left:0;}
  .hosts-page .links a{width:auto;color:var(--hosts-gold)!important;font-size:9px;letter-spacing:1.7px;text-shadow:none;white-space:nowrap;}
  .hosts-page .links a:hover{transform:translateX(4px);}
  .hosts-main{width:100%;padding:76px 18px;}
  .hosts-story{width:min(100%, 520px);margin-left:auto;margin-right:auto;padding-left:0;border-left:0;}
}

/* Privacy page follows the same editorial language as The Hosts. */
.privacy-page .hosts-main{
  min-height:auto;
  justify-content:flex-start;
  padding-top:110px;
  padding-bottom:96px;
}

.privacy-story h1{
  margin-bottom:46px;
  font-size:clamp(3.6rem, 7vw, 6.8rem);
}

.privacy-copy{
  max-width:920px;
}

.privacy-copy .privacy-intro{
  max-width:820px;
  margin:0 0 52px;
  color:#4f4943;
  font-size:14px;
  line-height:2;
}

.privacy-copy section{
  padding:30px 0 32px;
  border-top:1px solid rgba(168,120,76,.18);
}

.privacy-copy h2{
  margin:0 0 16px;
  color:var(--hosts-ink);
  font-family:"Cinzel", serif;
  font-size:18px;
  font-weight:500;
  letter-spacing:.02em;
}

.privacy-copy p,
.privacy-copy li{
  color:var(--hosts-muted);
  font-family:"Montserrat", sans-serif;
  font-size:13px;
  line-height:1.95;
}

.privacy-copy p{
  margin:0;
}

.privacy-copy p + p{
  margin-top:14px;
}

.privacy-copy ul{
  margin:0 0 16px;
  padding-left:20px;
}

.privacy-copy li + li{
  margin-top:6px;
}

.privacy-copy a{
  color:var(--hosts-gold);
  text-decoration:underline;
  text-decoration-color:rgba(168,120,76,.34);
  text-underline-offset:3px;
}

.privacy-story .hosts-note{
  margin-top:8px;
}

@media (max-width:720px){
  .privacy-page .hosts-main{
    padding-top:80px;
    padding-bottom:64px;
  }

  .privacy-story h1{
    margin-bottom:34px;
    font-size:clamp(2.8rem, 14vw, 4.4rem);
  }

  .privacy-copy .privacy-intro{
    margin-bottom:38px;
    font-size:12px;
  }

  .privacy-copy section{
    padding:24px 0 26px;
  }

  .privacy-copy h2{
    font-size:16px;
    line-height:1.45;
  }

  .privacy-copy p,
  .privacy-copy li{
    font-size:12px;
    line-height:1.9;
  }
}
