* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: #082c4d;
  background: #fff;
}

a {
  text-decoration: none;
  color: inherit;
}

/* =========================
   HEADER
   ========================= */

.topbar {
  min-height: 92px;
  padding: 8px 4vw;
  display: flex;
  align-items: center;
  gap: 18px;
  position: relative;
  background: #fff;
  z-index: 20;
  box-shadow: 0 2px 16px #002b4d18;
}

.brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 430px;
  max-width: 34%;
  flex: 0 1 430px;
  min-width: 300px;
}

.brand img {
  display: block;
  width: 100%;
  max-width: 430px;
  height: auto;
  max-height: 110px;
  object-fit: contain;
  object-position: left center;
}

.topbar nav {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-size: 14px;
  font-weight: 700;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.topbar nav a {
  white-space: nowrap;
  flex: 0 0 auto;
}

.topbar nav a:hover {
  color: #0789d5;
}

.actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
}

.actions button,
.outline {
  border: 1px solid #0b4771;
  background: #fff;
  border-radius: 24px;
  padding: 10px 14px;
  font-weight: 700;
  color: #0b4771;
  white-space: nowrap;
}

.outline {
  background: #082c4d;
  color: #fff;
  min-width: 132px;
  text-align: center;
}

.menu {
  display: none;
}

/* Slightly tighten desktop header before tablet/mobile menu takes over */
@media (max-width: 1250px) and (min-width: 951px) {
  .topbar {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
    gap: 12px;
  }

  .brand {
    width: 320px;
    min-width: 250px;
    flex-basis: 320px;
  }

  .brand img {
    max-width: 320px;
  }

  .topbar nav {
    gap: 13px;
    font-size: 13px;
  }

  .actions button,
  .outline {
    padding: 9px 12px;
  }
}

/* =========================
   HERO
   ========================= */

.hero {
  min-height: 680px;
  position: relative;
  background-image: url('assets/link2paradise-brand.jpg');
  background-size: cover;
  background-position: center 28%;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 60px 5vw;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 26, 48, 0.04),
    rgba(0, 28, 55, 0.70)
  );
}

.hero-copy {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
  max-width: 900px;
  text-shadow: 0 2px 10px #0008;
  margin-bottom: 28px;
}

.eyebrow {
  font-size: 12px;
  letter-spacing: 3px;
  font-weight: 900;
  color: #0a8fcf;
}

.hero .eyebrow {
  color: #fff;
}

.hero h1 {
  font-family: Georgia, serif;
  font-size: 56px;
  margin: 6px 0 12px;
}

.hero-copy > p:last-child {
  font-size: 19px;
  line-height: 1.5;
}

.searchbox {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 18px;
  padding: 0 18px 18px;
  width: min(1120px, 100%);
  box-shadow: 0 14px 50px #001a3270;
}

.tabs {
  display: flex;
  justify-content: center;
  gap: 4px;
}

.tabs button {
  border: 0;
  background: transparent;
  padding: 15px 32px 12px;
  font-weight: 900;
  color: #667;
}

.tabs .active {
  color: #087ec2;
  border-bottom: 3px solid #087ec2;
}

.searchrow {
  display: grid;
  grid-template-columns: 2fr 1.3fr 1.3fr auto;
  gap: 10px;
}

.searchrow label {
  border: 1px solid #d8e2ea;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 800;
  color: #63798a;
}

.searchrow select {
  display: block;
  border: 0;
  width: 100%;
  margin-top: 5px;
  font-size: 14px;
  background: #fff;
  color: #082c4d;
  outline: 0;
}

.primary,
.goldbtn {
  border: 0;
  border-radius: 10px;
  padding: 15px 22px;
  background: #0789d5;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

/* =========================
   MAIN SECTIONS
   ========================= */

.intro,
.featured,
.about,
.contact {
  padding: 75px 6vw;
  text-align: center;
}

.intro h2,
.featured h2,
.about h2,
.contact h2,
.pro-panel h2 {
  font-family: Georgia, serif;
  font-size: 38px;
  margin: 8px 0 30px;
}

.path-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  max-width: 1200px;
  margin: auto;
}

.path {
  padding: 30px 20px;
  border-radius: 16px;
  color: #fff;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 10px 30px #00284d22;
  transition: 0.2s;
}

.path:hover {
  transform: translateY(-5px);
}

.path b {
  font-size: 42px;
}

.path h3 {
  margin: 12px 0 4px;
}

.path p {
  font-size: 18px;
  margin: 3px;
}

.path span {
  font-size: 12px;
  margin-top: 15px;
}

.stay {
  background: linear-gradient(145deg, #0b73c9, #063c79);
}

.live {
  background: linear-gradient(145deg, #d59a51, #805126);
}

.pro {
  background: linear-gradient(145deg, #14a9b7, #07566e);
}

.dev {
  background: linear-gradient(145deg, #4f9e3e, #1e5e2c);
}

/* =========================
   FEATURED
   ========================= */

.featured {
  background: #f4f8fb;
  text-align: left;
}

.section-head {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.section-head h2 {
  margin-bottom: 20px;
}

.textbtn {
  border: 0;
  background: none;
  color: #0789d5;
  font-weight: 800;
  margin-bottom: 25px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1200px;
  margin: auto;
}

.property {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px #082c4d12;
}

.photo {
  height: 230px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.photo1 {
  background-image:
    linear-gradient(#0001, #0003),
    url('assets/link2paradise-brand.jpg');
  background-position: 15% 55%;
}

.photo2 {
  background-image:
    linear-gradient(#0001, #0003),
    url('assets/link2paradise-brand.jpg');
  background-position: 78% 42%;
}

.photo3 {
  background-image:
    linear-gradient(#0001, #0003),
    url('assets/link2paradise-brand.jpg');
  background-position: 52% 70%;
}

.photo span {
  position: absolute;
  left: 15px;
  top: 15px;
  background: #fff;
  border-radius: 20px;
  padding: 7px 11px;
  font-size: 10px;
  font-weight: 900;
}

.cardbody {
  padding: 20px;
}

.cardbody small {
  color: #789;
}

.cardbody h3 {
  font-family: Georgia, serif;
  font-size: 23px;
  margin: 7px 0;
}

.cardbody strong {
  color: #b77b38;
}

/* =========================
   L2P PRO
   ========================= */

.pro-panel {
  padding: 70px 8vw;
  background: #062e4e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.pro-panel > div {
  max-width: 760px;
}

.pro-panel .eyebrow {
  color: #54c5da;
}

.pro-panel h2 {
  font-size: 48px;
  margin: 5px 0;
}

.pro-panel p:last-child {
  line-height: 1.7;
  color: #d6e4ee;
}

.goldbtn {
  background: #c98b43;
  white-space: nowrap;
}

/* =========================
   ABOUT / CONTACT
   ========================= */

.contact {
  max-width: 900px;
  margin: auto;
}

.contact > p:not(.eyebrow) {
  font-size: 18px;
  line-height: 1.7;
  color: #536c7d;
  white-space: nowrap;
  width: 100vw;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  margin-left: 0;
  margin-right: 0;
}

.contact-links {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.contact-links a {
  border: 1px solid #0b4771;
  border-radius: 24px;
  padding: 11px 18px;
  font-weight: 800;
  color: #0b4771;
}

.contact-links a:hover {
  background: #082c4d;
  color: #fff;
}

/* =========================
   FOOTER
   ========================= */

footer {
  background: #031f35;
  color: #d9e5ed;
  padding: 32px 6vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 30px;
  font-size: 13px;
  line-height: 1.8;
  min-height: 110px;
}

footer > div:first-child {
  justify-self: start;
}

.footer-brand img {
  display: block;
  width: 230px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.footer-legal {
  white-space: nowrap;
}

footer > div:last-child {
  justify-self: end;
  text-align: right;
}

/* =========================
   TOAST
   ========================= */

#toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: #062e4e;
  color: #fff;
  padding: 12px 20px;
  border-radius: 25px;
  z-index: 40;
  transition: 0.25s;
  box-shadow: 0 6px 20px #0004;
}

#toast.show {
  transform: translateX(-50%) translateY(0);
}

/* =========================
   AIRBNB-STYLE SEARCH
   ========================= */

.searchrow.stay-mode {
  grid-template-columns: 1.65fr 1fr 1fr .9fr auto;
}

.searchrow.live-mode {
  grid-template-columns: 1.45fr 1fr 1.15fr 1fr auto;
}

.searchrow.invest-mode {
  grid-template-columns: 1.55fr 1.2fr 1.1fr auto;
}

.searchrow input,
.searchrow select {
  display: block;
  border: 0;
  width: 100%;
  margin-top: 5px;
  font: inherit;
  font-size: 14px;
  background: #fff;
  color: #082c4d;
  outline: 0;
}

.searchrow input[type="date"] {
  min-height: 20px;
}

.searchrow label {
  min-width: 0;
}

.nights-note {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  color: #0789d5;
}

/* =========================
   TABLET
   ========================= */

@media (max-width: 950px) {
  .topbar {
    min-height: 84px;
    padding: 6px 4vw;
  }

  .topbar nav,
  .actions .outline {
    display: none;
  }

  .menu {
    display: block;
    margin-left: auto;
    border: 0;
    background: none;
    font-size: 26px;
  }

  .brand {
    width: 360px;
    max-width: 70%;
    min-width: 0;
    flex-basis: auto;
  }

  .brand img {
    width: 100%;
    max-width: 360px;
    max-height: 90px;
  }

  .hero {
    min-height: 620px;
    background-position: 42% 25%;
    padding: 40px 4vw;
  }

  .hero h1 {
    font-size: 40px;
  }

  .searchrow,
  .searchrow.stay-mode,
  .searchrow.live-mode,
  .searchrow.invest-mode {
    grid-template-columns: 1fr 1fr;
  }

  .searchrow .primary {
    grid-column: 1 / -1;
  }

  .path-grid,
  .cards {
    grid-template-columns: 1fr 1fr;
  }

  .pro-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact > p:not(.eyebrow) {
    white-space: normal;
    width: 100%;
    left: auto;
    transform: none;
  }

  footer {
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================
   PHONE
   ========================= */

@media (max-width: 600px) {
  .topbar {
    min-height: 72px;
  }

  .brand {
    width: 235px;
    max-width: 75%;
  }

  .brand img {
    width: 100%;
    max-width: 235px;
    max-height: 70px;
  }

  .hero {
    min-height: 620px;
    background-position: 38% 24%;
    padding: 35px 5vw;
  }

  .hero h1 {
    font-size: 34px;
  }

  .hero-copy > p:last-child {
    font-size: 16px;
  }

  .searchrow,
  .searchrow.stay-mode,
  .searchrow.live-mode,
  .searchrow.invest-mode,
  .path-grid,
  .cards {
    grid-template-columns: 1fr;
  }

  .searchrow .primary {
    grid-column: auto;
  }

  .tabs button {
    padding: 13px 18px;
  }

  .intro,
  .featured,
  .about,
  .contact {
    padding: 55px 5vw;
  }

  .intro h2,
  .featured h2,
  .about h2,
  .contact h2 {
    font-size: 31px;
  }

  .section-head {
    align-items: flex-start;
  }

  .textbtn {
    display: none;
  }

  footer {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  footer > div:last-child {
    justify-self: start;
    text-align: left;
  }

  .footer-brand img {
    width: 190px;
  }

  .footer-legal {
    white-space: normal;
  }
}

/* ==========================================================
   LINK2PARADISE COMPONENT LOCKS — 2026-10-07
   Canonical stylesheet. Approved sections are intentionally
   component-scoped. Do not replace with older stylesheet files.
   ========================================================== */

/* APPROVED BRAND CARDS — exact white logo-card treatment */
.brand-path-grid .brand-path{
  background:#fff !important;
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  min-height:220px;
  border:1px solid #edf2f5 !important;
  border-radius:16px !important;
  box-shadow:0 10px 28px rgba(8,44,77,.10) !important;
  color:inherit !important;
}
.brand-path-grid .brand-path.active-brand-path{
  border:3px solid #72bde9 !important;
  padding:16px !important;
}
.brand-path-grid .brand-path img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:190px !important;
  object-fit:contain !important;
}
.brand-path-grid .brand-path b,
.brand-path-grid .brand-path h3,
.brand-path-grid .brand-path p,
.brand-path-grid .brand-path span{
  display:none !important;
}

/* ABOUT — current approved concise version only */
.about{
  max-width:none;
  padding:76px 6vw 72px;
  background:#fff;
}
.about-intro{
  max-width:940px;
  margin:0 auto 38px;
  text-align:center;
}
.about-intro .eyebrow{
  margin-bottom:12px;
}
.about-intro h2{
  margin:0 0 18px;
  font-family:Georgia,serif;
  font-size:42px;
  line-height:1.1;
  color:#062e4e;
}
.about .about-summary{
  margin:0 auto;
  max-width:900px;
  font-size:18px;
  line-height:1.65;
  color:#536c7d;
}
.about .about-grid{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.about-card{
  border:1px solid #dce9f1;
  border-radius:16px;
  padding:30px;
  background:#fff;
}
.about-label{
  display:block;
  margin-bottom:18px;
  color:#c47d2c;
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.16em;
}
.about-card h3{
  margin:0 0 12px;
  font-family:Georgia,serif;
  font-size:27px;
  line-height:1.15;
  color:#062e4e;
}
.about .about-card p{
  margin:0;
  width:auto;
  max-width:none;
  position:static;
  left:auto;
  transform:none;
  white-space:normal;
  text-align:left;
  color:#536c7d;
  font-size:16px;
  line-height:1.65;
}
.about .about-summary{
  width:auto;
  position:static;
  left:auto;
  transform:none;
  white-space:normal;
  text-align:center;
}

@media(max-width:950px){
  .brand-path-grid .brand-path{min-height:190px}
  .about-grid{grid-template-columns:1fr}
  .about{padding:58px 5vw}
  .about-intro h2{font-size:36px}
}
@media(max-width:600px){
  .brand-path-grid{grid-template-columns:1fr 1fr}
  .brand-path-grid .brand-path{min-height:150px;padding:12px !important}
  .brand-path-grid .brand-path.active-brand-path{padding:10px !important}
  .about-intro h2{font-size:31px}
  .about .about-summary{font-size:16px}
}

/* ==========================================================
   CONTACT ALIGNMENT — APPROVED SURGICAL FIX 2026-10-07
   Centers the complete Contact component and moves it upward.
   No other component is changed.
   ========================================================== */
.contact{
  width:100%;
  max-width:900px;
  margin:0 auto !important;
  padding:42px 24px 64px !important;
  text-align:center !important;
  box-sizing:border-box;
}
.contact .eyebrow,
.contact h2,
.contact > p:not(.eyebrow){
  width:auto !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  position:static !important;
  left:auto !important;
  transform:none !important;
  white-space:normal !important;
  text-align:center !important;
}
.contact h2{
  margin-top:10px !important;
  margin-bottom:24px !important;
}
.contact > p:not(.eyebrow){
  margin-bottom:26px !important;
}
.contact .contact-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:100% !important;
  margin:0 auto !important;
}
/* Remove blue outline from mouse/touch-selected links */
a:focus:not(:focus-visible) {
  outline: none;
}
.inventory-notice{color:#526c7b;line-height:1.6;margin:0 0 22px}#searchAvailability[hidden]{display:none}@media(max-width:950px){.topbar.menu-open nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:#073451;color:white;padding:24px;box-shadow:0 12px 20px #03223733;z-index:30}.topbar.menu-open nav a{padding:8px}}

/* Center the complete desktop header in 1080px, with two deliberate rows. */
.topbar{display:block;min-height:0;padding:0;width:100%;max-width:100%;}
.topbar .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "navigation navigation";align-items:center;gap:10px 24px;width:min(1080px,calc(100% - 40px));max-width:100%;margin:0 auto;padding:12px 0 0;min-width:0;}
.topbar .brand{grid-area:brand;width:280px;max-width:100%;min-width:0;flex:none;}
.topbar .brand img{width:100%;max-width:280px;max-height:90px;}
.topbar .actions{grid-area:actions;min-width:0;gap:18px;font-size:14px;}
.topbar .actions .header-utility{font-weight:700;}
.topbar .actions .outline{display:inline-block;min-width:0;padding:11px 18px;}
.topbar #mainNavigation{grid-area:navigation;display:flex;position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px;margin:0;padding:16px 0;border-top:1px solid #e2ebf0;width:100%;min-width:0;font-size:14px;white-space:normal;}
.topbar #mainNavigation .nav-utility{display:none;}
.topbar .menu{display:none;}
.hero{padding-inline:max(20px,calc((100% - 1080px) / 2));}
.hero-copy{width:100%;max-width:1080px;min-width:0;}
.hero h1{overflow-wrap:break-word;}
.searchbox{width:100%;max-width:1080px;min-width:0;}
.searchrow{min-width:0;}
.searchrow>*{min-width:0;}
.searchrow input,.searchrow select{min-width:0;max-width:100%;}
.section-head,.cards,.path-grid,.about .about-grid,.l2p-marketplace-inner,.launch-summary-inner{max-width:1080px;min-width:0;}
.l2p-marketplace #marketplace-title{white-space:normal;}
.l2p-pilot-cta{max-width:1080px!important;}
.launch-summary-inner>div{min-width:0;}
@media(min-width:901px) and (max-width:1100px){.topbar .brand{width:250px;}.topbar .actions{gap:12px;font-size:13px;}.topbar #mainNavigation{gap:12px 22px;font-size:13px;}}
@media(max-width:900px){
 .topbar .header-inner{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand actions menu" "navigation navigation navigation";width:calc(100% - 32px);gap:0 12px;padding:10px 0;}
 .topbar .brand{width:250px;max-width:100%;}
 .topbar .brand img{max-height:76px;}
 .topbar .actions .header-utility,.topbar .actions .outline{display:none;}
 .topbar .actions button{padding:9px 13px;}
 .topbar .menu{grid-area:menu;display:block;margin:0;padding:8px;border:0;background:transparent;color:#082c4d;font-size:25px;}
 .topbar #mainNavigation{display:none;}
 .topbar.menu-open #mainNavigation{display:flex;position:static;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100%;padding:12px 16px;margin-top:12px;border:0;border-radius:12px;background:#073451;color:white;box-shadow:none;}
 .topbar.menu-open #mainNavigation a,.topbar.menu-open #mainNavigation .nav-utility{display:block;padding:11px 4px;white-space:normal;}
}
@media(max-width:600px){.topbar .brand{width:200px;}.topbar .brand img{max-height:65px;}.topbar .header-inner{gap:0 8px;}.hero{padding-inline:16px;}.tabs button{padding-inline:15px;}}
.launch-summary .launch-summary-inner{max-width:1080px;}
.l2p-marketplace .l2p-marketplace-inner{max-width:1080px;}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.property{min-width:0;}
.cardbody{overflow-wrap:anywhere;}
@media(max-width:900px){.about .about-grid{grid-template-columns:1fr;}.cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.cards{grid-template-columns:1fr;}}

/* Featured introduction: centered heading, message and browsing link. */
.featured .section-head{display:block;text-align:center;}
.featured .section-head h2{margin:8px auto 20px;max-width:100%;}
.featured #featuredStatus{max-width:860px;margin:0 auto;text-align:center;line-height:1.7;}
.featured .featured-browse{text-align:center;margin:20px auto 32px;}
.featured #viewAll{display:inline-block;margin:0;padding:8px 12px;color:#0789d5;font-size:15px;font-weight:750;text-decoration:underline;text-underline-offset:5px;}
.featured #viewAll:focus-visible{outline:3px solid #c58b43;outline-offset:4px;}

/* Phone homepage: readable hero, compact search and tools in normal document flow. */
.l2p-home .hero-description-mobile,.l2p-home .l2p-home-tools{display:none;}
.l2p-home .hero-description-full{font-size:19px;line-height:1.5;}
#l2pMusicButton{position:fixed;bottom:24px;right:24px;z-index:8999;background:#0875b9;color:white;border:0;border-radius:30px;padding:12px 18px;font:700 14px/1.3 Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px #0004;}
#l2pMusicButton:focus-visible{outline:3px solid #e4b451;outline-offset:4px;}
@media(max-width:600px){
 .l2p-home .topbar .header-inner{width:calc(100% - 32px);padding-block:12px;}
 .l2p-home .topbar .brand{width:190px;min-width:0;}
 .l2p-home .topbar .brand img{max-height:64px;}
 .l2p-home .topbar .actions button{min-width:44px;min-height:44px;padding:9px 12px;}
 .l2p-home .topbar .menu{min-width:44px;min-height:44px;}
 .l2p-home .hero{min-height:0;justify-content:flex-start;padding:36px 16px 24px;background:#073451;background-image:radial-gradient(ellipse at 90% 0%,#097aa080,transparent 65%),linear-gradient(155deg,#073451,#104e70);}
 .l2p-home .hero-overlay{display:none;}
 .l2p-home .hero-copy{margin:0 auto 24px;max-width:440px;text-shadow:none;}
 .l2p-home .hero .eyebrow{font-size:10px;letter-spacing:.2em;color:#edc879;line-height:1.5;margin:0 0 12px;}
 .l2p-home .hero h1{font-size:clamp(32px,8.5vw,40px);line-height:1.12;text-wrap:balance;margin:0 0 16px;}
 .l2p-home .hero-description-full{display:none;}
 .l2p-home .hero-description-mobile{display:block;font-size:16px;line-height:1.6;color:#e2eff5;max-width:35ch;margin:0 auto;}
 .l2p-home .searchbox{border-radius:16px;padding:0 14px 16px;box-shadow:0 12px 28px #001a323d;}
 .l2p-home .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;}
 .l2p-home .tabs button{min-height:48px;padding:14px 2px 12px;font-size:12px;letter-spacing:.02em;}
 .l2p-home .searchrow{gap:10px;}
 .l2p-home .searchrow.stay-mode{grid-template-columns:repeat(2,minmax(0,1fr));}
 .l2p-home .searchrow.stay-mode>.destination-field,.l2p-home .searchrow.stay-mode>label:has(#guests),.l2p-home .searchrow.stay-mode>.primary{grid-column:1/-1;}
 .l2p-home .searchrow label{padding:10px 12px 8px;font-size:12px;line-height:1.4;}
 .l2p-home .searchrow input,.l2p-home .searchrow select{font-size:16px;font-weight:600;min-width:0;width:100%;max-width:100%;min-height:40px;margin-top:2px;line-height:1.3;border-radius:0;}
 .l2p-home .searchrow input[type=date]{min-height:40px;min-inline-size:0;appearance:none;-webkit-appearance:none;}
 .l2p-home .searchrow input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.3em;}
 .l2p-home .searchrow input[type=date]::-webkit-datetime-edit{padding:0;}
 .l2p-home .searchrow .primary{min-height:48px;font-size:15px;padding:13px 16px;}
 .l2p-home .l2p-home-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:440px;margin:18px auto 0;position:relative;z-index:3;}
 .l2p-home .l2p-home-tools .l2p-help-widget{position:static;inset:auto;width:100%;min-width:0;z-index:auto;}
 .l2p-home .l2p-home-tools .l2p-help-launcher,.l2p-home .l2p-home-tools #l2pMusicButton{position:static;inset:auto;float:none;width:100%;min-height:46px;padding:11px 8px;font-size:13px;line-height:1.3;border:1px solid #ffffff66;border-radius:12px;box-shadow:none;white-space:normal;}
 .l2p-home .l2p-home-tools:has(.l2p-help-panel:not([hidden])){z-index:10000;}
 .l2p-home .l2p-home-tools .l2p-help-panel{position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;height:calc(100dvh - 24px);max-height:640px;margin:0 auto;z-index:10000;}
 .l2p-home .launch-summary-inner{gap:18px;}
}
@media(max-width:359px){.l2p-home .searchrow.stay-mode{grid-template-columns:minmax(0,1fr);}.l2p-home .topbar .brand{width:160px;}}

/* Homepage destination photographs — unpublished selection */
.hero { overflow:hidden; isolation:isolate; }
.hero-slideshow { position:absolute; inset:0; z-index:0; }
.hero-slideshow > div { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; animation:destination-fade 70s infinite; }
.hero-slideshow > div::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#00192b30,#00192bb8); }

.hero-location {position:absolute;top:20px;right:24px;z-index:2;color:#fff;background:none;padding:0;border:0;border-radius:0;font-size:42px;line-height:1.3;font-weight:600;letter-spacing:.02em;text-shadow:0 2px 5px #000,0 0 14px #0009;}
@keyframes destination-fade { 0% {opacity:0} 1.8%,9.7% {opacity:1} 12%,100% {opacity:0} }
.hero .hero-overlay,.l2p-home .hero-overlay {display:none;}
@media(max-width:600px){.hero-location{top:12px;right:12px;font-size:36px;padding:0;}.l2p-home .hero-copy{padding-top:22px;text-shadow:0 2px 8px #001a32;}}
@media(prefers-reduced-motion:reduce){.hero-slideshow>div{animation:none}.hero-slideshow>div:first-child{opacity:1}}
.photo-credits{font-size:12px;opacity:.85;margin:14px 0}.photo-credits p{line-height:1.6}

.hero-slideshow > div:nth-child(1){animation-delay:35s;}
.hero-slideshow > div:nth-child(2){animation-delay:7s;}
.hero-slideshow > div:nth-child(3){animation-delay:14s;}
.hero-slideshow > div:nth-child(4){animation-delay:21s;}
.hero-slideshow > div:nth-child(5){animation-delay:28s;}
.hero-slideshow > div:nth-child(6){animation-delay:0s;}
.hero-slideshow > div:nth-child(7){animation-delay:42s;}
.hero-slideshow > div:nth-child(8){animation-delay:49s;}
.hero-slideshow > div:nth-child(9){animation-delay:56s;}
.hero-slideshow > div:nth-child(10){animation-delay:63s;}

@font-face{font-family:'Destination Script';src:url('/assets/destination-lobster.ttf') format('truetype');font-weight:400;font-display:swap;}
.hero-location{font-family:'Destination Script',cursive;font-weight:400;letter-spacing:.01em;}
