:root{--ink:#181c1b;--cream:#f8f5ee;--paper:#eee9df;--gold:#e4c38d;--bronze:#75542e;--quiet:#535751}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:2px solid #b58141;outline-offset:5px}.skip{position:fixed;top:-100px;left:1rem;background:white;color:black;z-index:5;padding:12px}.skip:focus{top:1rem}.utility,header,footer{padding-inline:clamp(22px,5vw,78px);background:var(--ink);color:var(--cream)}.utility{display:flex;justify-content:space-between;gap:12px;padding-block:8px;font-size:11px;letter-spacing:.13em;border-bottom:1px solid #ffffff26}.utility div{display:flex;gap:20px}.utility a,nav a,.brand{text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;position:relative}.brand{display:block;width:280px;min-width:0;max-width:100%}nav{display:flex;align-items:center;gap:clamp(14px,2.1vw,32px);font-size:14px}nav a:not(.btn):hover{text-decoration:underline}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 19px;font-size:14px;font-weight:700;text-decoration:none;border:1px solid transparent;line-height:1.3;transition:background .18s,color .18s}.gold{background:var(--gold);color:#211b13}.gold:hover{background:#f5d9aa}.outline{border-color:#ffffff6b;color:var(--cream)}.outline:hover{background:#ffffff22}.dark-outline{border-color:#454942}.dark-outline:hover{background:var(--ink);color:white}.hero{display:grid;grid-template-columns:46% 54%;background:#202523;color:var(--cream);min-height:555px}.hero-copy{align-self:center;padding:65px 25px 65px clamp(22px,6vw,98px)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--bronze);margin:0 0 14px}.hero .eyebrow,.fleet .eyebrow,.about .eyebrow{color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.02;margin:0;letter-spacing:-.035em}h1{font-size:clamp(57px,7vw,112px)}h1 em{color:var(--gold);font-weight:400}h2{font-size:clamp(41px,5vw,72px)}h3{font-size:31px}.hero-copy>p:not(.eyebrow){max-width:375px;color:#e6e2d8;margin:24px 0}.actions{display:flex;flex-wrap:wrap;gap:10px}.hero-image{position:relative;margin:0;overflow:hidden;min-height:100%}.hero-image img,.cities img{width:100%;height:100%;object-fit:cover;display:block}.hero-image img{position:absolute;inset:0;object-position:center 53%}.hero-image:after,.cities figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 37%);pointer-events:none}.hero-image figcaption{position:absolute;bottom:20px;right:24px;color:white;font-size:10px;letter-spacing:.16em;z-index:1}.facts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-bottom:1px solid #ddd4c5;padding:22px max(18px,6vw);text-align:center}.facts>div+div{border-left:1px solid #cfc6b5}.facts strong,.facts span{display:block}.facts strong{font:29px/1.2 Georgia,serif}.facts span{font-size:12px;margin-top:4px;color:var(--quiet)}.wrap{width:min(1320px,100%);padding:82px clamp(22px,5vw,75px);margin:auto}.section-head{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:24px;margin-bottom:31px}.section-head>p,.section-head>div>p:not(.eyebrow){max-width:440px;margin:0 0 3px;color:var(--quiet)}.section-head>div>p+p{margin-top:14px!important}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards article{background:#fffdf9;border:1px solid #ded7cb;display:flex;flex-direction:column}.cards article>div{padding:21px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.cards img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;display:block}.cards p:not(.eyebrow){color:var(--quiet);margin:10px 0 15px}.cards a{font-size:14px;font-weight:bold;margin-top:auto}.fleet,.about{background:#202523;color:var(--cream)}.fleet .section-head>p,.about .section-head>div>p:not(.eyebrow){color:#deddd2}.fleet article{background:#292f2b;border-color:#454b43}.fleet article p:not(.eyebrow){color:#deddd2;margin-bottom:0}.fleet-note{font-size:14px;margin:23px 0 0}.fleet-note a,.about a{font-weight:700}.about{background:#333a33}.about .section-head{margin-bottom:0}.contact{display:flex;align-items:center;justify-content:space-between;gap:24px}
@media(max-width:1180px){header{min-height:70px}.menu{display:block;background:transparent;color:inherit;border:1px solid #ffffff6b;padding:9px 14px;font:inherit}nav{display:none;position:absolute;z-index:4;left:0;right:0;top:100%;background:var(--ink);padding:14px 22px 22px;align-items:stretch;gap:0}.menu[aria-expanded=true]+nav{display:grid}nav a:not(.btn){padding:8px 0}}
@media(max-width:860px){.hero{min-height:460px}.hero-copy{padding-block:45px}.wrap{padding-block:58px}.cards article>div{padding:15px}h3{font-size:27px}}
@media(max-width:620px){.utility{font-size:9px;letter-spacing:.07em}.utility div{gap:10px}.hero{grid-template-columns:1fr}.hero-image{min-height:310px}.hero-copy{padding:42px 22px 33px}.facts{padding-inline:4px}.facts strong{font-size:21px}.facts span{font-size:10px}.section-head,.cards{grid-template-columns:1fr}.section-head{gap:15px}.contact{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.brand>svg{display:block;width:100%;height:auto}
@media(max-width:380px){.brand{width:205px}}








.hero-slide{opacity:0;transition:opacity .6s ease}
.hero-slide.is-current{opacity:1}
.hero-image .hero-slide-interior{object-position:center 23%}
.hero-image .hero-slide-delta{object-position:center 38%}
.hero-image figcaption{left:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-caption{margin-left:auto;text-align:right;text-shadow:0 1px 4px #000}
.hero-controls:not([hidden]){display:flex;gap:6px}
.hero-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #f8f5ee99;border-radius:50%;background:#181c1bd9;color:var(--cream);font:24px/1 system-ui,sans-serif;cursor:pointer}
.hero-controls button:hover{background:#181c1b;border-color:var(--gold);color:var(--gold)}
.hero-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hero-controls svg{width:19px;height:19px;fill:currentColor}
.hero-previous svg,.hero-next svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-playback.is-playing .hero-play-icon,.hero-playback:not(.is-playing) .hero-pause-icon{display:none}
.hero-slide-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:480px){.hero-image figcaption{left:14px;right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

#nav a { white-space: nowrap; }
#nav a[aria-current="page"] { color: var(--gold); text-decoration: underline; }

.page-hero {
  display: grid;
  grid-template-columns: 46% 54%;
  min-height: 475px;
  background: #202523;
  color: var(--cream);
}
.page-hero-copy {
  align-self: center;
  padding: 58px 30px 58px clamp(22px, 6vw, 98px);
}
.page-hero .eyebrow { color: var(--gold); }
.page-hero h1 { font-size: clamp(47px, 5.35vw, 86px); }
.page-hero-copy > p:not(.eyebrow) {
  max-width: 470px;
  margin: 23px 0;
  color: #e6e2d8;
}
.page-hero-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.detail-card {
  padding: clamp(18px, 2.5vw, 34px);
  background: #fffdf9;
  border: 1px solid #ded7cb;
}
.detail-card p:not(.eyebrow) { color: var(--quiet); margin: 14px 0 0; }
.page-band { background: var(--paper); }
.page-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: clamp(24px, 6vw, 90px);
}
.page-split > div > p:not(.eyebrow) {
  max-width: 530px;
  color: var(--quiet);
  margin: 0 0 18px;
}
.page-split > div > h2 + p { margin: 18px 0 0; }
.page-split > div > p:last-child { margin-bottom: 0; }
.travel-list { margin: 0; }
.travel-list > div { padding: 17px 0; border-top: 1px solid #cfc6b5; }
.travel-list > div:last-child { border-bottom: 1px solid #cfc6b5; }
.travel-list dt { font: 27px/1.2 Georgia, serif; }
.travel-list dd { margin: 5px 0 0; color: var(--quiet); }
.text-link { font-weight: 700; }
.contact-grid h3 { margin-bottom: 14px; }
.contact-grid address { font-style: normal; margin-bottom: 7px; color: var(--quiet); }
.contact-grid a { display: block; width: fit-content; overflow-wrap: anywhere; }
.contact-grid a + a { margin-top: 4px; }

@media (max-width: 800px) {
  .page-hero { grid-template-columns: 1fr; min-height: 0; }
  .page-hero-copy { padding: 42px clamp(22px, 6vw, 60px); }
  .page-hero-photo { height: clamp(230px, 54vw, 395px); }
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .page-hero h1 { font-size: clamp(43px, 9vw, 56px); }
  .detail-grid, .page-split { grid-template-columns: 1fr; }
}

.destination-hero { position: relative; }
.destination-hero-photo {
  position: absolute;
  inset: 0 0 0 auto;
  width: 54%;
  object-position: center 61%;
}
.destination-grid .detail-card { padding: clamp(18px, 2.2vw, 30px); }
.city-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 16px;
  list-style: none;
  padding: 16px 0 0;
  margin: 16px 0 0;
  border-top: 1px solid #ded7cb;
  color: var(--quiet);
  font-size: 14px;
}
@media (max-width: 800px) {
  .destination-hero-photo { position: static; width: 100%; }
}

.cities {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.cities figure {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  margin: 0;
}
.cities figcaption {
  position: absolute;
  z-index: 1;
  bottom: 10px;
  inset-inline: 10px;
  color: white;
  font: clamp(17px, 1.65vw, 24px) Georgia, serif;
  text-shadow: 0 1px 4px #000;
}
@media (max-width: 900px) {
  .cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

.site-footer {
  background: #131a18;
  border-top: 1px solid #b9a17b80;
}
.footer-inner { max-width: 1170px; margin-inline: auto; }
.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.18fr);
  gap: clamp(22px, 4vw, 52px);
  padding-block: 48px 38px;
}
.footer-identity .brand { margin-bottom: 16px; }
.footer-location { margin: 0; color: #d7d4cc; font-size: 13px; }
.footer-anniversary {
  margin: 17px 0 0;
  color: var(--gold);
  font: 16px/1.4 Georgia, serif;
}
.footer-anniversary span {
  display: block;
  margin-top: 3px;
  color: #d7d4cc;
  font: 12px/1.4 Arial, sans-serif;
  letter-spacing: .06em;
}
.footer-group h2 {
  margin: 3px 0 13px;
  color: var(--gold);
  font: 700 11px/1.45 Arial, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.footer-group ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.footer-group li { font-size: 14px; overflow-wrap: anywhere; }
.footer-group li a, .footer-social a { color: #f0ebe2; text-decoration: none; }
.footer-group li a:hover, .footer-social a:hover { color: var(--gold); text-decoration: underline; }
.footer-reservations .footer-phone { font: 23px/1.2 Georgia, serif; white-space: nowrap; }
.footer-reservations .btn { margin-top: 15px; min-height: 42px; }
.footer-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px 24px;
  border-top: 1px solid #ffffff30;
  padding-block: 17px 20px;
  color: #d7d4cc;
  font-size: 12px;
}
.footer-meta p { margin: 0; }
.footer-credit { padding-top: 5px; }
.site-footer .footer-social { position: static; display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; background: none; font-size: 12px; }
@media (max-width: 850px) {
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 470px) {
  .footer-main { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .footer-identity { padding-bottom: 20px; border-bottom: 1px solid #ffffff30; }
}

.fleet-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) {
  .fleet-options { grid-template-columns: 1fr; }
}

header .brand { width: 200px; flex: 0 0 200px; }
header { padding-block: 10px; }
.site-footer .brand { width: 220px; }

.group-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.group-photo-pair figure{margin:0}.group-photo-pair img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.group-photo-pair figcaption{padding:12px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase}@media(max-width:700px){.group-photo-pair{grid-template-columns:1fr}}

.quote-intro{padding-bottom:24px}.quote-intro h1{font-size:clamp(48px,6vw,82px)}.quote-intro>p:not(.eyebrow){max-width:620px}.quote-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:60px;padding-top:24px}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quote-field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.quote-field label,.quote-send label{font-size:14px;font-weight:bold}.quote-field input,.quote-field select,.quote-field textarea,#quote-copy{font:inherit;width:100%;min-width:0;border:1px solid #aaa99f;background:#fffdf9;color:var(--ink);padding:12px;border-radius:0}.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{outline:2px solid var(--bronze);outline-offset:2px}#crestwood-inquiry-form fieldset{border:0;border-top:1px solid #cec7ba;padding:24px 0 10px;margin:0 0 20px}#crestwood-inquiry-form legend{font-size:16px;letter-spacing:.07em;padding:0 18px 0 0;font-weight:bold}.quote-required{font-size:13px;color:var(--quiet)}.quote-aside{align-self:start;background:var(--paper);padding:32px}.quote-aside h2{font-size:38px}.quote-aside a{overflow-wrap:anywhere}.quote-send{border-top:1px solid #cec7ba}.quote-send p{font-size:14px}.quote-send button{cursor:pointer}#quote-copy{display:block;margin:12px 0}@media(max-width:850px){.quote-layout{grid-template-columns:1fr;gap:30px}}@media(max-width:560px){.quote-fields{grid-template-columns:1fr;gap:0}}

.advisor-commission-title{line-height:1.18;margin-bottom:20px}.page-split>div>.advisor-commission-title+p{margin-top:0;line-height:1.75}

.advisor-contact-links{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:18px}.advisor-contact-links a{white-space:nowrap}
