:root { --home-ink: #1A1A1A; --home-soft: #F6F8F7; --home-green: #007A68; --home-green-soft: #EAF6F3; }
html { scroll-behavior: smooth; }
body.home-page { background: #FFFFFF; overflow-x: hidden; }
body.vegas-hub { background:#fff; overflow-x:hidden; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; background: #FFFFFF; border: 1px solid var(--line); padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.home-nav { top: 0; background: rgba(255,255,255,.96); }

.editorial-hero { background: #FFFFFF; border-bottom: 1px solid var(--line); }
.editorial-hero__grid { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; padding: clamp(4rem, 9vw, 7.5rem) 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.hero-kicker, .section-kicker { color: var(--home-green); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.editorial-hero h1 { max-width: 780px; margin: .8rem 0 1.25rem; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3rem, 6vw, 5.75rem); font-weight: 700; letter-spacing: -.055em; line-height: .95; }
.editorial-hero p { max-width: 630px; margin: 0; color: #4D5653; font-size: clamp(1rem, 1.8vw, 1.2rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.home-btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .8rem 1.1rem; border-radius: 8px; font-size: .9rem; font-weight: 800; text-decoration: none !important; }
.home-btn-primary { background: var(--home-green); color: #FFFFFF !important; }
.home-btn-secondary { background: #FFFFFF; border: 1px solid #B8C9C5; color: var(--home-ink) !important; }
.hero-editorial-card { padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid #CDE3DE; border-radius: 18px; background: var(--home-green-soft); box-shadow: 0 18px 45px rgba(0,84,70,.08); }
.hero-editorial-card__label { color: var(--home-green); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-editorial-card h2 { margin: .75rem 0; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; }
.hero-editorial-card p { font-size: .95rem; }
.hero-editorial-card ul { display: grid; gap: .65rem; margin: 1.35rem 0 1.5rem; padding: 0; list-style: none; }
.hero-editorial-card li { color: #33423e; font-size: .88rem; }
.hero-editorial-card li::before { content: '✓'; color: var(--home-green); font-weight: 900; margin-right: .55rem; }

.booking-search-section { padding: clamp(2rem, 5vw, 4.5rem) 0; background: var(--home-soft); border-bottom: 1px solid var(--line); }
.booking-search-wrap { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; padding: clamp(1.35rem, 3vw, 2.25rem); background: #FFFFFF; border: 1px solid #CDE3DE; border-radius: 18px; box-shadow: 0 14px 36px rgba(0,84,70,.08); }
.booking-search-copy { display: grid; grid-template-columns: minmax(0, .8fr) minmax(280px, .65fr); align-items: end; gap: 1.5rem; margin-bottom: 1.5rem; }
.booking-search-copy h2 { margin: .55rem 0 0; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.045em; line-height: 1; }
.booking-search-copy p:last-child { margin: 0; color: var(--text-dim); line-height: 1.7; }
.expedia-widget-shell { min-height: 240px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; }
.expedia-widget-shell .eg-widget { min-height: 238px; }
.booking-search-disclosure { margin: 1rem 0 0; color: var(--text-muted); font-size: .78rem; line-height: 1.5; }

.home-section { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; padding: clamp(4rem, 8vw, 6.5rem) 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, .85fr) minmax(280px, .65fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.section-heading h2 { margin: .55rem 0 0; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.04em; line-height: 1; }
.section-heading p { margin: 0; color: var(--text-dim); line-height: 1.7; }
.destination-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.destination-card { display: flex; min-height: 255px; flex-direction: column; justify-content: flex-end; padding: 1.4rem; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF; box-shadow: var(--shadow-sm); }
.destination-card--vegas { background: linear-gradient(145deg, #FFFFFF 30%, #EAF6F3); border-color: #BFDCD6; }
.destination-card h3 { margin: .7rem 0 .55rem; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: 1.75rem; }
.destination-card p { margin: 0 0 1.1rem; color: var(--text-dim); font-size: .9rem; line-height: 1.6; }
.destination-card .status { align-self: flex-start; padding: .35rem .55rem; border-radius: 999px; background: #EAF6F3; color: var(--home-green); font-size: .72rem; font-weight: 800; }
.destination-card .status.coming { background: #F3F4F4; color: #66706D; }
.destination-card a { color: var(--home-green); font-size: .88rem; }

.why-section { background: var(--home-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.why-card { padding: 1.5rem; background: #FFFFFF; border: 1px solid var(--line); border-radius: 12px; }
.why-card span { color: var(--home-green); font-size: .78rem; font-weight: 800; }
.why-card h3 { margin: .8rem 0 .55rem; color: var(--home-ink); font-size: 1.15rem; }
.why-card p { margin: 0; color: var(--text-dim); font-size: .9rem; line-height: 1.65; }

.featured-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.guide-card { display: flex; flex-direction: column; padding: 1.5rem; background: #FFFFFF; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-sm); }
.guide-card__number { color: var(--home-green); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.guide-card h3 { margin: .85rem 0 .65rem; color: var(--home-ink); font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; line-height: 1.1; }
.guide-card p { margin: 0 0 1.25rem; color: var(--text-dim); font-size: .9rem; line-height: 1.65; }
.guide-card a { margin-top: auto; color: var(--home-green); font-size: .88rem; }
.home-page .lead-capture { margin-top: 0; }
.home-footer { margin-top: 0; }
.home-footer ul { list-style: none; padding: 0; margin: 0; font-size: .85rem; line-height: 2; }
.home-footer .brand-col p { max-width: 360px; font-size: .85rem; line-height: 1.7; }

/* Multi-destination platform */
.directory-hero, .launch-hero { padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100% - 1180px)/2)); color:#fff; background:radial-gradient(circle at 80% 20%,#167e70,transparent 30%),linear-gradient(125deg,#052923,#075448); }
.launch-hero.anaheim { background:radial-gradient(circle at 82% 12%,#7c6a39,transparent 30%),linear-gradient(125deg,#352c16,#6f5824); }.launch-hero.nashville { background:radial-gradient(circle at 78% 20%,#9c4e36,transparent 30%),linear-gradient(125deg,#331a22,#653028); }
.directory-hero h1, .launch-hero h1 { max-width:850px; margin:.7rem 0 1rem; color:#fff; font-family:Georgia,serif; font-size:clamp(3rem,6vw,5.5rem); line-height:.94; letter-spacing:-.06em; }.directory-hero p:not(.hero-kicker), .launch-hero p:not(.hero-kicker) { max-width:720px; margin:0 0 1.5rem; color:#d7ece7; font-size:1.08rem; line-height:1.7; }
.destination-directory, .trip-decision-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.destination-directory__card, .trip-decision-grid a { padding:1.5rem; border:1px solid var(--line); border-radius:14px; background:#fff; }.destination-directory__card.live { border-color:#b8dcd5; background:#f4fbf9; }.destination-directory__card > span { display:inline-flex; padding:.32rem .55rem; border-radius:999px; color:#60716d; background:#f1f3f2; font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.destination-directory__card.live > span { color:#007a68; background:#dff2ed; }.destination-directory__card h3, .trip-decision-grid h2 { margin:.8rem 0 .65rem; color:#17221f; font-family:Georgia,serif; font-size:2rem; }.destination-directory__card p, .trip-decision-grid p { color:#5c6966; font-size:.9rem; line-height:1.65; }.destination-directory__card ul { display:grid; gap:.4rem; padding:0; margin:1rem 0 1.25rem; list-style:none; color:#4b5956; font-size:.83rem; }.destination-directory__card li::before { content:'✓'; color:#007a68; font-weight:900; margin-right:.55rem; }.destination-directory__card a, .trip-decision-grid b { color:#007a68; font-size:.88rem; }.trip-decision-grid a { text-decoration:none; }.trip-decision-grid span, .launch-decision-grid span { color:#007a68; font-size:.73rem; font-weight:800; letter-spacing:.1em; }.launch-decision-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }.launch-decision-grid article { padding:1.35rem; border:1px solid var(--line); border-radius:12px; background:#fff; }.launch-decision-grid h3 { margin:.7rem 0 .55rem; color:#17221f; font-family:Georgia,serif; font-size:1.38rem; }.launch-decision-grid p, .launch-copy { color:#64706d; font-size:.88rem; line-height:1.6; }.launch-heading { max-width:900px; margin:.55rem 0 1rem; color:#17221f; font-family:Georgia,serif; font-size:clamp(2rem,3.6vw,3.3rem); line-height:1.04; letter-spacing:-.045em; }
@media (max-width:900px) { .launch-decision-grid { grid-template-columns:repeat(2,1fr); } } @media (max-width:640px) { .destination-directory,.trip-decision-grid,.launch-decision-grid { grid-template-columns:1fr; } }

/* Booking-first conversion surfaces */
.booking-hero, .vegas-hero { color:#fff; background:radial-gradient(circle at 90% 10%, #167e70 0, transparent 32%), linear-gradient(125deg,#052923 0%,#063d35 56%,#075448 100%); }
.booking-hero__grid, .vegas-hero { width:min(1180px,calc(100% - 3rem)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.7fr); gap:clamp(2rem,7vw,6rem); align-items:center; padding:clamp(4.25rem,9vw,7.5rem) 0; }
.booking-hero h1, .vegas-hero h1 { margin:.8rem 0 1.25rem; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.1rem,6.2vw,5.8rem); line-height:.94; letter-spacing:-.06em; }
.booking-hero__lead, .vegas-hero > div > p:not(.hero-kicker) { max-width:660px; margin:0; color:#d9ece8; font-size:clamp(1.05rem,1.8vw,1.22rem); line-height:1.7; }
.hero-kicker--light { color:#a5ddd3; }
.home-btn-bright { background:#fff; color:#063d35 !important; }
.home-btn-ghost { border:1px solid rgba(255,255,255,.45); color:#fff !important; }
.home-btn-ghost:hover { background:rgba(255,255,255,.12); }
.hero-proof { margin:1.3rem 0 0; color:#a5ddd3; font-size:.79rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.hero-decision-card { padding:1.65rem; border:1px solid rgba(255,255,255,.24); border-radius:18px; background:rgba(3,30,26,.34); box-shadow:0 25px 60px rgba(0,0,0,.16); }
.hero-decision-card ol { display:grid; gap:1rem; padding:0; margin:1.15rem 0 1.4rem; list-style:none; }
.hero-decision-card li { display:flex; align-items:center; gap:.75rem; color:#e7f4f1; font-weight:600; line-height:1.35; }
.hero-decision-card li span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:#8ed7ca; color:#063d35; font-size:.78rem; font-weight:800; }
.hero-decision-card a { color:#fff; font-weight:800; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); width:min(1180px,calc(100% - 3rem)); margin:-1px auto 0; border:1px solid #d4e5e1; border-top:0; border-radius:0 0 14px 14px; overflow:hidden; background:#fff; }
.trust-strip div { padding:1.15rem 1.35rem; border-right:1px solid #d4e5e1; }
.trust-strip div:last-child { border:0; }.trust-strip strong { display:block; color:#075448; font-size:.91rem; }.trust-strip span { color:#64716e; font-size:.79rem; }
.revenue-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.revenue-card { min-height:310px; display:flex; flex-direction:column; padding:1.55rem; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }.revenue-card--hotel { background:#eaf6f3; border-color:#bfddd7; }.revenue-card p { margin:0; color:#007a68; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.revenue-card h3 { margin:.8rem 0; color:#17221f; font-family:Georgia,serif; font-size:1.75rem; line-height:1.06; }.revenue-card span { color:#55625f; font-size:.91rem; line-height:1.65; }.revenue-card a { margin-top:auto; padding-top:1.35rem; color:#007a68; font-size:.88rem; font-weight:800; }
.featured-destination { width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:clamp(2rem,5vw,4.3rem); display:grid; grid-template-columns:1fr minmax(280px,.7fr); gap:clamp(2rem,6vw,6rem); align-items:center; border-radius:20px; background:#f1f6f4; }.featured-destination h2 { margin:.55rem 0 1rem; color:#17221f; font-family:Georgia,serif; font-size:clamp(2.2rem,4.4vw,4rem); line-height:.99; letter-spacing:-.05em; }.featured-destination__copy > p:last-of-type { color:#55625f; line-height:1.7; }.feature-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.4rem; }.feature-links a { color:#007a68; font-size:.88rem; }.feature-checklist { padding:1.5rem; border:1px solid #cbe2dd; border-radius:14px; background:#fff; }.feature-checklist p { margin:0; color:#007a68; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.feature-checklist ul { display:grid; gap:.7rem; padding:0; margin:1rem 0 1.4rem; list-style:none; }.feature-checklist li { color:#3f4e4b; font-size:.87rem; }.feature-checklist li::before { content:'✓'; color:#007a68; font-weight:900; margin-right:.55rem; }.guide-path { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.guide-path > div { padding:1.4rem; border-top:3px solid #007a68; background:#fff; box-shadow:var(--shadow-sm); }.guide-path span { display:block; color:#007a68; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.guide-path strong { display:block; margin:.65rem 0 .4rem; color:#1a1a1a; font-family:Georgia,serif; font-size:1.32rem; }.guide-path p { margin:0; color:#66716e; font-size:.87rem; line-height:1.6; }
.vegas-hero { width:100%; max-width:none; padding-left:max(1.5rem,calc((100% - 1180px)/2)); padding-right:max(1.5rem,calc((100% - 1180px)/2)); }.vegas-hero h1 { font-size:clamp(3rem,6vw,5.1rem); }.vegas-hero__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }.vegas-hero__stats div { padding:1rem .8rem; border:1px solid rgba(255,255,255,.23); border-radius:12px; background:rgba(3,30,26,.28); }.vegas-hero__stats strong { display:block; color:#fff; font-family:Georgia,serif; font-size:2rem; }.vegas-hero__stats span { color:#b9ddd6; font-size:.74rem; line-height:1.2; }
.booking-desk { width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:clamp(4rem,8vw,6.5rem) 0; }.booking-desk__intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(280px,.55fr); gap:2rem; align-items:end; margin-bottom:2rem; }.booking-desk__intro h2 { margin:.55rem 0 0; font-family:Georgia,serif; font-size:clamp(2.3rem,4vw,3.7rem); line-height:1; letter-spacing:-.05em; }.booking-desk__intro > p:last-child { margin:0; color:#63706d; line-height:1.7; }.booking-choices { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }.booking-choices a { display:flex; min-height:250px; flex-direction:column; padding:1.25rem; border:1px solid #d5e4e0; border-radius:13px; background:#fff; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease; }.booking-choices a:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,75,64,.12); text-decoration:none; }.booking-choices span { color:#007a68; font-size:.7rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.booking-choices strong { margin:.7rem 0 .6rem; color:#17221f; font-family:Georgia,serif; font-size:1.42rem; line-height:1.05; }.booking-choices small { color:#62706c; font-size:.82rem; line-height:1.55; }.booking-choices b { margin-top:auto; padding-top:1rem; color:#007a68; font-size:.82rem; }.hotel-path, .partner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.hotel-path article, .partner-grid > div { padding:1.4rem; border:1px solid var(--line); border-radius:12px; background:#fff; }.hotel-path h3 { margin:0 0 .55rem; font-family:Georgia,serif; font-size:1.45rem; }.hotel-path p, .partner-grid span { display:block; margin:0 0 1rem; color:#64706d; font-size:.88rem; line-height:1.6; }.hotel-path a, .partner-grid a { color:#007a68; font-size:.85rem; }.partner-grid strong { display:block; margin-bottom:.6rem; color:#17221f; font-family:Georgia,serif; font-size:1.38rem; }.partner-note { margin:1rem 0 0; color:#66716e; font-size:.78rem; line-height:1.6; }.partner-note a { color:#007a68; }

@media (max-width: 900px) {
  .editorial-hero__grid, .section-heading, .booking-search-copy { grid-template-columns: 1fr; }
  .destination-grid, .featured-guides, .why-grid { grid-template-columns: 1fr; }
  .destination-card { min-height: 0; }
  .booking-hero__grid, .vegas-hero, .featured-destination, .booking-desk__intro { grid-template-columns:1fr; }
  .revenue-grid, .guide-path, .hotel-path, .partner-grid { grid-template-columns:1fr; }
  .booking-choices { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .home-page .global-bar .g-links { display: none; }
  .site-nav.home-nav { min-height: 62px; }
  .home-nav .nav-link { display: none; }
  .editorial-hero__grid, .home-section { width: min(100% - 2rem, 1180px); }
  .editorial-hero__grid { padding: 3.2rem 0; }
  .hero-actions { flex-direction: column; }
  .hero-actions .home-btn { width: 100%; }
  .booking-hero__grid, .booking-desk, .featured-destination { width:min(100% - 2rem,1180px); }
  .trust-strip { grid-template-columns:1fr; width:min(100% - 2rem,1180px); }.trust-strip div { border-right:0; border-bottom:1px solid #d4e5e1; }.trust-strip div:last-child { border-bottom:0; }
  .booking-choices { grid-template-columns:1fr; }.booking-choices a { min-height:0; }.vegas-hero__stats { grid-template-columns:repeat(3,1fr); }
}
