@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap");
:root {
  --navy: #03172d;
  --navy2: #17334d;
  --gold: #d6a953;
  --cream: #f7f2e8;
  --white: #fff;
  --ink: #18202a;
  --blush: #d8a5aa;
  --line: #d9d5cd;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  background: #fff;
  font-size: 16px;
  line-height: 1.65;
}
h1,
h2,
h3 {
  font-family: "Playfair Display", serif;
  line-height: 1.08;
  margin: 0.25em 0;
}
h1 {
  font-size: clamp(2.8rem, 6vw, 5.8rem);
}
h2 {
  font-size: clamp(2rem, 4vw, 3.8rem);
}
h3 {
  font-size: 1.45rem;
}
a {
  color: inherit;
  text-decoration: none;
}
.nav {
  height: 88px;
  padding: 0 clamp(20px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  position: relative;
  z-index: 10;
}
.brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.brand-logo {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 50%;
}
.footer-brand .brand-logo {
  width: 118px;
  height: 118px;
}
nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 0.9rem;
}
nav a:hover,
.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.nav-cta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}
.nav-cta {
  background: var(--navy);
  color: #fff;
}
.menu {
  display: none;
}
.hero {
  min-height: calc(100vh - 88px);
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(5, 11, 19, 0.88) 0%,
    rgba(5, 11, 19, 0.66) 42%,
    rgba(5, 11, 19, 0.06) 78%
  );
}
.hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-copy {
  position: relative;
  z-index: 1;
  width: min(780px, 86%);
  margin-left: clamp(24px, 8vw, 130px);
}
.hero-copy > p:not(.eyebrow) {
  font-size: 1.15rem;
  max-width: 630px;
}
.eyebrow {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  color: var(--gold);
}
.ink {
  color: #986f26;
}
.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.gold {
  background: var(--gold);
  color: #162031;
}
.ghost {
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}
.light {
  background: #fff;
  color: var(--navy);
}
.inkbtn {
  background: var(--navy);
  color: #fff;
}
.split-intro,
.services-preview,
.occasion {
  padding: 100px clamp(24px, 8vw, 130px);
}
.split-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  background: var(--cream);
  align-items: center;
}
.split-intro p {
  font-size: 1.15rem;
}
.text-link {
  display: inline-block;
  margin-top: 18px;
  font-weight: 600;
  border-bottom: 1px solid var(--gold);
}
.audience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.panel {
  min-height: 480px;
  padding: 70px clamp(30px, 6vw, 90px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.panel p:first-child {
  letter-spacing: 0.2em;
  font-size: 0.78rem;
}
.panel p:not(:first-child) {
  max-width: 520px;
}
.midnight {
  background: var(--navy);
  color: #fff;
}
.owner-panel {
  background: var(--cream);
  color: var(--navy);
  border-top: 6px solid var(--gold);
}
.owner-panel > p:first-child {
  color: #986f26;
}
.home-owner-gift { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:14px 18px; border-left:5px solid var(--gold); background:#fff; }
.home-owner-gift strong { color:#805d1e; font-size:.8rem; letter-spacing:.1em; }
.home-owner-gift span { font-weight:700; }
.home-owner-gift a { text-decoration:underline; text-underline-offset:3px; }
.home-owner-program { display:grid; grid-template-columns:1.1fr .9fr; background:var(--cream); }
.home-owner-copy, .home-owner-loyalty { padding:74px clamp(24px,6vw,90px); }
.home-owner-copy p:not(.eyebrow) { max-width:610px; font-size:1.1rem; }
.home-owner-copy .button { margin-top:18px; }
.home-owner-loyalty { background:var(--navy); color:#fff; display:flex; flex-direction:column; justify-content:center; border-top:7px solid var(--gold); }
.home-owner-loyalty strong { display:block; color:var(--gold); font-family:"Playfair Display",serif; font-size:clamp(3.4rem,6vw,5.5rem); line-height:1.1; }
.home-owner-loyalty p:not(.eyebrow) { max-width:440px; font-size:1.15rem; }
.home-owner-loyalty .text-link { align-self:flex-start; }
.home-guest-section { background:var(--navy); color:#fff; padding:80px clamp(24px,8vw,130px); }
.home-guest-heading { max-width:750px; margin-bottom:34px; }
.home-guest-heading .eyebrow { color:var(--gold); }
.home-guest-heading > p:last-child { font-size:1.1rem; }
.home-guest-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.home-guest-card { display:flex; flex-direction:column; align-items:flex-start; padding:38px; border:1px solid rgba(255,255,255,.25); background:var(--navy2); }
.home-guest-card h3 { font-size:clamp(1.65rem,2.5vw,2.4rem); }
.home-guest-card p:not(.eyebrow) { flex:1; }
.home-guest-card .button { margin-top:14px; }
.service-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  margin: 46px 0 18px;
  border: 1px solid var(--line);
}
.service-cards article {
  background: #fff;
  padding: 34px 28px;
}
.service-cards span {
  color: #a97928;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
}
.feature {
  background: var(--navy);
  color: #fff;
  padding: 90px clamp(24px, 8vw, 130px);
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 7vw;
  align-items: center;
}
.feature p:not(.eyebrow) {
  max-width: 700px;
}
.edition-stack {
  display: grid;
  gap: 18px;
}
.edition-stack span {
  min-height: 160px;
  display: grid;
  place-items: center;
  text-align: center;
  font-family: "Playfair Display";
  font-size: 2rem;
  letter-spacing: 0.08em;
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.edition-stack span:first-child {
  background: #d9afb6;
  color: #18202a;
}
.edition-stack span:last-child {
  background: #08111e;
}
.edition-stack small {
  font-family: "DM Sans";
  font-size: 0.65rem;
  letter-spacing: 0.35em;
}
.occasion {
  text-align: center;
  background: #fff;
}
.occasion p:not(.eyebrow) {
  max-width: 680px;
  margin: 20px auto 30px;
}
.owner-cta {
  padding: 75px clamp(24px, 8vw, 130px);
  background: #26374e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.owner-cta p {
  max-width: 680px;
}
footer {
  padding: 60px clamp(24px, 8vw, 130px);
  background: #091321;
  color: #fff;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 34px;
}
footer a {
  display: block;
  margin: 7px 0;
}
footer > small {
  grid-column: 1/-1;
  color: #aab2be;
  border-top: 1px solid #344052;
  padding-top: 25px;
}
.page-hero {
  padding: 90px clamp(24px, 8vw, 130px);
  background: var(--navy);
  color: #fff;
}
.page-hero p {
  max-width: 720px;
  font-size: 1.1rem;
}
.content {
  padding: 80px clamp(24px, 8vw, 130px);
}
.content.alt {
  background: var(--cream);
}
.grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.card {
  border: 1px solid var(--line);
  padding: 30px;
  background: #fff;
}
.checklist {
  columns: 2;
  column-gap: 50px;
}
.checklist li {
  break-inside: avoid;
  margin: 10px 0;
  padding-left: 5px;
}
.form-wrap {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 5vw;
  align-items: start;
}
.form {
  background: #fff;
  padding: 34px;
  border: 1px solid var(--line);
  box-shadow: 0 15px 50px rgba(12, 28, 48, 0.08);
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.field.full {
  grid-column: 1/-1;
}
label {
  font-weight: 600;
  font-size: 0.88rem;
}
input,
select,
textarea {
  font: inherit;
  padding: 13px;
  border: 1px solid #b9bdc3;
  background: #fff;
  width: 100%;
}
textarea {
  min-height: 120px;
}
.form button {
  margin-top: 20px;
  border: 0;
  cursor: pointer;
}
.notice {
  display: none;
  margin-top: 18px;
  padding: 14px;
  background: #e6f2ea;
  color: #174d2a;
}
.property-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.property {
  padding: 44px;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.property.daylight {
  background: #edced2;
}
.property.midnight {
  background: #101c2d;
}
.pill {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid currentColor;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  width: max-content;
}
.faq details {
  border-top: 1px solid var(--line);
  padding: 18px 0;
}
.faq summary {
  font-weight: 600;
  cursor: pointer;
}
.little-wanderfolk-preview { padding:86px clamp(24px,8vw,130px); display:grid; grid-template-columns:minmax(190px,280px) 1fr; gap:clamp(30px,6vw,80px); align-items:center; background:var(--cream); }
.little-wanderfolk-preview p:not(.eyebrow) { max-width:760px; }
.little-cover-preview { width:100%; max-width:260px; display:block; box-shadow:0 18px 40px rgba(3,23,45,.18); border:6px solid #fff; }
.little-hero { min-height:680px; padding:80px clamp(24px,8vw,130px); display:grid; grid-template-columns:1.05fr .95fr; gap:7vw; align-items:center; background:var(--navy); color:#fff; overflow:hidden; }
.little-hero-copy p:not(.eyebrow) { max-width:650px; font-size:1.1rem; }
.series-stage { display:grid; gap:18px; }
.little-cover-hero { width:min(330px,100%); display:block; justify-self:center; border:8px solid #fff; box-shadow:0 26px 55px rgba(0,0,0,.35); }
.series-card { padding:34px; background:var(--gold); color:var(--navy); border:1px solid rgba(255,255,255,.35); }
.series-card small,.series-card span { display:block; font-size:.67rem; letter-spacing:.15em; font-weight:600; }
.series-card strong { display:block; margin:24px 0; font:600 2rem/1.1 "Playfair Display",serif; }
.series-card.future { background:transparent; color:#fff; }
.book-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.managed-benefit { display:grid; grid-template-columns:170px 1fr; gap:55px; align-items:center; }
.benefit-badge { width:160px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--navy); font-weight:600; letter-spacing:.12em; border:10px double var(--cream); outline:1px solid var(--gold); }
.fine-print { font-size:.88rem; color:#626874; }
.section-lead { max-width:800px; }
.discount-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:42px 0 20px; }
.discount-grid article { border:1px solid var(--line); padding:28px; background:#fff; }
.discount-grid span { color:#986f26; letter-spacing:.16em; font-size:.8rem; font-weight:600; }
.featured-tier { background:var(--navy)!important; color:#fff; border-top:5px solid var(--gold)!important; }
.featured-tier p { color:#e4e8ed; }
.order-section { background:#fff; border-top:1px solid var(--line); }
.owner-book-benefit { margin-top:55px; padding:34px; background:#fff; border-left:5px solid var(--gold); display:grid; grid-template-columns:150px 1fr; gap:32px; align-items:center; }
.little-cover-small { width:100%; max-width:170px; display:block; border:4px solid #fff; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.little-service { background:var(--navy); color:#fff; display:grid; grid-template-columns:190px 1fr; gap:50px; align-items:center; }
.little-service > div { max-width:850px; }
@media (max-width: 900px) {
  nav {
    display: none;
    position: absolute;
    top: 88px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  .nav.open nav {
    display: flex;
  }
  .menu {
    display: block;
    border: 0;
    background: none;
    font: inherit;
  }
  .split-intro,
  .feature,
  .form-wrap,
  .little-hero,
  .book-intro {
    grid-template-columns: 1fr;
  }
  .service-cards,
  .grid3,
  .discount-grid {
    grid-template-columns: 1fr 1fr;
  }
  .series-stage { max-width:580px; width:100%; }
  .owner-cta {
    align-items: flex-start;
    flex-direction: column;
  }
  footer {
    grid-template-columns: 1fr 1fr;
  }
}
.pricing-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0 36px; }
.pricing-section { padding-top:60px; padding-bottom:66px; }
.pricing-choice .card { height:100%; background:var(--navy); color:#fff; border:0; border-top:6px solid var(--gold); box-shadow:0 12px 30px rgba(3,23,45,.13); }
.pricing-choice .card:nth-child(2) { background:var(--navy2); }
.price-label { color:var(--gold); font-size:.9rem; font-weight:700; letter-spacing:.12em; margin:0; }
.price-emphasis { font-size:2.6rem; line-height:1.1; font-weight:700; margin:.35em 0 .2em; }
.pricing-choice .price-emphasis { font-size:clamp(3rem,6vw,4.5rem); color:#fff; }
.pricing-choice h3 { margin:.2em 0; }
.pricing-choice .card p:last-child { margin-bottom:0; }
.pricing-subhead { margin:0 0 18px; }
.flat-fees { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.flat-fees > div { display:flex; flex-direction:column; gap:15px; padding:24px 18px; border:1px solid #cbbd9f; border-top:5px solid var(--gold); background:var(--cream); border-radius:4px; }
.flat-fees strong { font-size:1rem; }
.flat-fees > div > span { font-size:1.45rem; font-weight:700; line-height:1.2; }
.flat-fees .per-month { font-size:.85rem; font-weight:400; white-space:nowrap; }
.pricing-section .button { margin-top:14px; }
.hero-gift { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; width:fit-content; max-width:100%; margin-top:35px; padding:17px 21px; border-left:5px solid var(--gold); background:rgba(255,255,255,.1); }
.hero-gift strong { color:var(--gold); font-size:.85rem; letter-spacing:.12em; }
.hero-gift span { font-size:1.05rem; font-weight:600; }
.owner-loyalty { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:32px; background:var(--navy) !important; color:#fff; padding-top:54px; padding-bottom:54px; }
.owner-loyalty .eyebrow { color:var(--gold); }
.owner-loyalty h2 { margin:0 0 12px; }
.owner-loyalty p:not(.eyebrow) { max-width:760px; margin:0 0 8px; }
.owner-loyalty .loyalty-terms { font-size:.9rem; color:#d5dbe2; }
.loyalty-number { display:grid; place-items:center; width:118px; height:118px; border:2px solid var(--gold); border-radius:50%; color:var(--gold); font-family:"Playfair Display",serif; font-size:5rem; line-height:1; }
.owner-extra-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:30px 0 18px; }
.owner-extra-grid article { padding:26px; background:var(--cream); border-left:5px solid var(--gold); }
.owner-extra-grid span { color:#805d1e; font-size:.85rem; font-weight:700; letter-spacing:.1em; }
.owner-extra-grid h3 { margin:12px 0 8px; }
.owner-extra-grid p { margin:0; }
.seasonal-detail p:not(.eyebrow) { max-width:760px; }
@media (max-width: 850px) { .flat-fees { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 850px) { .home-owner-program, .home-guest-grid { grid-template-columns:1fr; } }
@media (max-width: 600px) {
  .home-owner-program, .home-guest-grid { grid-template-columns:1fr; }
  .home-owner-copy, .home-owner-loyalty { padding:48px 24px; }
  .home-guest-card { padding:28px; }
  .pricing-choice, .flat-fees, .owner-extra-grid { grid-template-columns:1fr; }
  .flat-fees > div { flex-direction:row; justify-content:space-between; align-items:baseline; gap:12px; }
  .owner-loyalty { grid-template-columns:1fr; gap:16px; }
  .loyalty-number { width:80px; height:80px; font-size:3.5rem; }
  .hero {
    min-height: 720px;
  }
  .hero:after {
    background: linear-gradient(
      90deg,
      rgba(5, 11, 19, 0.86),
      rgba(5, 11, 19, 0.42)
    );
  }
  .service-cards,
  .grid3,
  .audience-grid,
  .property-grid,
  .discount-grid,
  .little-wanderfolk-preview,
  .managed-benefit,
  .fields,
  footer {
    grid-template-columns: 1fr;
  }
  .benefit-badge { width:125px; }
  .owner-book-benefit,.little-service { grid-template-columns:1fr; }
  .little-cover-small { max-width:145px; }
  .little-hero { padding-top:65px; }
  .series-card strong { font-size:1.45rem; }
  .checklist {
    columns: 1;
  }
  footer > small {
    grid-column: 1;
  }
  .panel {
    min-height: 390px;
  }
  .split-intro,
  .services-preview,
  .occasion,
  .content {
    padding-top: 65px;
    padding-bottom: 65px;
  }
}

/* Owner proposal and search navigation */
.owner-faq details, .content details{border-bottom:1px solid #c8b17b;padding:1rem 0}.content summary{font-size:1.1rem;font-weight:600;cursor:pointer}.content details p{max-width:70ch}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:1rem;line-height:1.5}.form-status:empty{display:none}.brand-line{font-weight:600}.form button:disabled{opacity:.65;cursor:wait}.nav nav{flex-wrap:wrap}.content .form{max-width:760px}

.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:12px 18px;background:var(--navy);color:white;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.content .grid3{margin-bottom:28px}

/* Keep inquiry fields and long addresses within narrow screens. */
.field, .form-wrap > *, .fields > * { min-width: 0; }
.form-status, .fine-print, footer a { overflow-wrap: anywhere; }
@media (max-width: 600px) { .form { padding: 24px 18px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
