/* Final layout review. Brand, copy hierarchy and demo boundaries are retained. */
.benefit-layout { align-items:center; }
.benefit-layout > div:last-child { min-width:0; }
.editorial-nav nav { display:flex; align-items:center; gap:24px; }
.editorial-nav nav a { display:inline-flex; align-items:center; min-height:44px; }
.launch-club { align-items:center; }

/* One contained invitation: image, useful details, price and a single action. */
.capsule-invitation .capsule-ribbon {
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 190px;
  grid-template-rows:1fr 1fr;
  column-gap:32px;
  row-gap:20px;
  align-items:center;
  padding:0 32px 0 0;
  overflow:hidden;
}
.capsule-ribbon .invitation-photo {
  grid-column:1; grid-row:1 / 3;
  align-self:stretch;
  margin:0; min-height:270px;
  position:relative;
}
.invitation-photo img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:62% 58%; }
.capsule-ribbon .invitation-copy {
  grid-column:2;grid-row:1 / 3;
  display:block;
  padding:30px 0;
}
.invitation-copy .invitation-date { font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:13px; }
.invitation-copy h2 { font-size:32px;line-height:1.15;margin:0 0 8px; }
.invitation-copy .invitation-tagline { font-size:17px;line-height:1.45;max-width:31ch; }
.invitation-copy .invitation-stay { font-size:13px;line-height:1.6;margin-top:18px;color:var(--muted); }
.invitation-copy .invitation-room { font-size:13px;line-height:1.6;color:var(--muted); }
.invitation-price { grid-column:3;grid-row:1;align-self:end; }
.invitation-price strong { display:block;font-size:23px;font-weight:500;letter-spacing:-.025em;line-height:1.25;white-space:nowrap; }
.invitation-price span { display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px; }
.capsule-invitation .capsule-ribbon-cta { grid-column:3;grid-row:2;justify-self:start;align-self:start;margin-bottom:0;min-height:44px;font-size:13px;padding:12px 20px;gap:24px; }

@media(min-width:761px) and (max-width:1050px) {
  .draft-offer { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px; }
  .draft-offer a { justify-self:end; }
  .draft-offer:nth-child(2) a { grid-row:2;grid-column:2; }
  .draft-offer:nth-child(2) > div { grid-row:1;grid-column:1 / -1; }
  .draft-offer:first-child a { grid-row:2;grid-column:2; }
  .draft-offer:first-child > div { grid-row:1;grid-column:1 / -1; }
  .benefit-layout { grid-template-columns:.9fr 1.1fr;gap:32px; }
  .benefits { grid-template-columns:1fr;gap:22px; }
  .benefit h3 { font-size:22px;max-width:none; }
  .benefit p { max-width:none; }
  .benefit-photo { aspect-ratio:3 / 4; }
  .jude-profile { grid-template-columns:.85fr 1.15fr;gap:40px; }
  .jude-profile-copy > p:not(.eyebrow) { font-size:16px; }
}
@media(max-width:1100px) and (min-width:601px) {
  .capsule-invitation .capsule-ribbon { grid-template-columns:240px minmax(0,1fr);grid-template-rows:auto auto auto;padding-right:26px;column-gap:26px;row-gap:0; }
  .capsule-ribbon .invitation-photo { grid-row:1 / 4; }
  .capsule-ribbon .invitation-copy { grid-column:2;grid-row:1;padding:26px 0 20px; }
  .invitation-copy h2 { font-size:30px; }
  .invitation-price { grid-column:2;grid-row:2;align-self:start;padding:0; }
  .capsule-invitation .capsule-ribbon-cta { grid-column:2;grid-row:3;margin-top:18px;margin-bottom:26px; }
}
@media(max-width:760px) {
  .full-opening-selected .eyebrow { max-width:none;letter-spacing:.1em;font-size:10px; }
  .editorial-nav nav { gap:16px; }
  .editorial-nav nav a { font-size:12px; }
  .editorial-nav .signup-nav { padding:10px 14px; }
  .benefit-layout { align-items:start; }
}
@media(max-width:600px) {
  .capsule-invitation .capsule-ribbon { grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:0;padding:0; }
  .capsule-ribbon .invitation-photo { grid-column:1 / -1;grid-row:1;min-height:210px; }
  .invitation-photo img { object-position:60% 60%; }
  .capsule-ribbon .invitation-copy { grid-column:1 / -1;grid-row:2;padding:24px 22px 20px; }
  .invitation-copy h2 { font-size:28px; }
  .invitation-copy .invitation-tagline { font-size:16px;max-width:28ch; }
  .invitation-copy .invitation-stay { font-size:12px;margin-top:15px; }
  .invitation-copy .invitation-room { font-size:12px; }
  .invitation-price { grid-column:1;grid-row:3;align-self:center;padding:0 0 24px 22px; }
  .invitation-price strong { font-size:19px; }
  .invitation-price span { font-size:11px;margin-top:3px; }
  .capsule-invitation .capsule-ribbon-cta { grid-column:2;grid-row:3;align-self:center;justify-self:end;margin:0 22px 24px 14px;min-width:0;padding:11px 14px;gap:16px;font-size:12px; }
}
@media(max-width:350px) {
  .invitation-price strong { font-size:17px; }
  .capsule-invitation .capsule-ribbon-cta { margin-left:8px;margin-right:18px;padding:11px 12px;gap:12px; }
  .invitation-price { padding-left:18px; }
  .capsule-ribbon .invitation-copy { padding-inline:18px; }
}

/* Launch Capsule invitation uses the approved water texture. */
.launch-capsule-art>svg{display:block;width:100%;height:auto}
.launch-art-caption{font-size:10px;line-height:1.5;color:#BCD0C6;margin:10px 0 0}
/* Mobile launch: the brand image precedes signup choices. */
@media(max-width:760px){
.launch-selected-hero{gap:24px}
.launch-selected-hero .draft-copy{display:contents}
.launch-selected-hero .draft-copy h1{order:0;margin:0}
.launch-selected-hero .draft-art{order:1;max-width:320px}
.launch-selected-hero .draft-lead{order:2;margin:0}
.launch-selected-hero .draft-offers{order:3}
.launch-selected-hero .draft-note{order:4;margin:0}
.launch-selected-hero .draft-news{order:5;margin:0}
}
body:has(.launch-selected-hero) .concept-controls,body:has(.full-opening-selected) .concept-controls,body:has(.full-opening-selected) .opening-selector{display:none}
.launch-capsule-copy .launch-coming-soon{margin-top:10px;font-size:13px;color:var(--muted)}
