/* MyStayOrbit public discovery homepage. */
.orbit-home {
    --orbit-ink:#082238;
    --orbit-muted:#586777;
    --orbit-blue:#066bfa;
    --orbit-line:#e2e8ee;
    background:#fff;
    color:var(--orbit-ink);
    font-size:15px;
    line-height:1.6
}

.orbit-home * {
    box-sizing:border-box
}
.orbit-home [hidden] {
    display:none!important
}
.orbit-home a {
    text-decoration:none
}
.orbit-home a:hover {
    text-decoration:underline
}
.orbit-home :where(a,button,input,select):focus-visible {
    outline:3px solid #066bfa;
    outline-offset:4px
}
.orbit-home h1,.orbit-home h2,.orbit-home h3,.orbit-home p {
    margin:0
}
.orbit-shell {
    width:min(1240px,100%);
    margin-inline:auto;
    padding-inline:32px
}
.orbit-eyebrow {
    font-size:11px;
    font-weight:750;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#45617c
}
.orbit-hero {
    padding-top:54px;
    text-align:center
}
.orbit-hero h1 {
    font-size:clamp(36px,4.1vw,58px);
    letter-spacing:-.045em;
    line-height:1.12;
    font-weight:750;
    margin:14px auto 18px;
    max-width:980px
}
.orbit-hero h1 span {
    color:#294761
}
.orbit-intro {
    color:var(--orbit-muted);
    font-size:17px;
    line-height:1.65
}
.orbit-search-box {
    max-width:1090px;
    margin:28px auto 0;
    text-align:left
}
.orbit-tabs {
    display:flex;
    justify-content:center;
    gap:8px;
    margin-bottom:18px
}
.orbit-tabs button {
    min-height:48px;
    padding:10px 23px;
    border:1px solid transparent;
    background:transparent;
    color:#506174;
    border-radius:30px;
    font:inherit;
    font-weight:650;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px
}
.orbit-tabs button i {
    font-size:19px
}
.orbit-tabs button.is-active {
    background:#edf4ff;
    color:#0454c7;
    border-color:#d4e4ff
}
.orbit-tabs button:hover {
    background:#f1f5f9
}
.orbit-search {
    display:grid;
    gap:0;
    align-items:center;
    padding:10px;
    border:1px solid #d7e0e9;
    border-radius:20px;
    box-shadow:0 8px 30px #08223808;
    background:#fff
}
.orbit-search--stay {
    grid-template-columns:1.35fr 1fr 1fr .75fr auto
}
.orbit-search--guide {
    grid-template-columns:1fr 1.35fr auto
}
.orbit-field {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:5px 18px;
    border-right:1px solid var(--orbit-line)
}
.orbit-field>span {
    font-size:12px;
    font-weight:750;
    color:var(--orbit-ink)
}
.orbit-field input,.orbit-field select {
    width:100%;
    min-width:0;
    max-width:100%;
    border:0;
    border-radius:4px;
    background:#fff;
    color:#374c61;
    font:inherit;
    font-size:14px;
    padding:3px 0;
    height:29px
}
.orbit-field input::placeholder {
    color:#64748b;
    opacity:1
}
.orbit-field input:focus,.orbit-field select:focus {
    outline:2px solid #066bfa;
    outline-offset:3px
}
.orbit-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    border:1px solid var(--orbit-blue);
    border-radius:12px;
    padding:12px 20px;
    background:var(--orbit-blue);
    color:#fff!important;
    font:inherit;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    text-align:center;
    transition:background .15s
}
.orbit-button:hover {
    background:#0454c7;
    text-decoration:none!important
}
.orbit-search .orbit-button {
    margin-left:10px;
    min-height:54px
}
.orbit-button--outline {
    background:#fff;
    color:#0454c7!important;
    border-color:#bcd4f6
}
.orbit-button--outline:hover {
    background:#edf4ff
}
.orbit-search-note {
    font-size:12px;
    color:var(--orbit-muted);
    text-align:center;
    margin-top:12px!important
}
.orbit-search-panel+.orbit-search-panel {
    margin-top:16px
}
.orbit-reassurance {
    display:flex;
    justify-content:center;
    gap:28px;
    flex-wrap:wrap;
    font-size:12px;
    color:#526578;
    padding:21px 0 28px
}
.orbit-reassurance a,.orbit-reassurance span {
    display:flex;
    align-items:center;
    gap:7px
}
.orbit-reassurance i {
    font-size:16px;
    color:#066bfa
}
.orbit-scene {
    position:relative;
    height:240px;
    border-radius:20px;
    overflow:hidden;
    text-align:left;
    background:#294761
}
.orbit-scene>img {
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center 59%
}
.orbit-scene::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#061728b3,transparent 85%)
}
.orbit-scene>div {
    position:absolute;
    left:32px;
    top:38px;
    z-index:1;
    color:#fff
}
.orbit-scene>div>span {
    font-size:10px;
    letter-spacing:.18em;
    font-weight:750
}
.orbit-scene p {
    margin-top:10px;
    font-size:30px;
    font-weight:650;
    line-height:1.25;
    letter-spacing:-.02em
}
.orbit-scene>a {
    position:absolute;
    right:28px;
    bottom:25px;
    z-index:1;
    display:flex;
    align-items:center;
    gap:16px;
    border-radius:30px;
    background:#fff;
    padding:10px 18px;
    font-size:13px;
    font-weight:650;
    color:#082238
}
.orbit-section {
    padding-top:62px;
    padding-bottom:62px
}
.orbit-section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px
}
.orbit-section-head h2 {
    font-size:clamp(25px,2.5vw,34px);
    font-weight:750;
    letter-spacing:-.035em;
    line-height:1.22;
    margin-top:8px
}
.orbit-section-head p:not(.orbit-eyebrow) {
    color:var(--orbit-muted);
    margin-top:10px;
    max-width:640px
}
.orbit-text-link {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#0454c7;
    font-size:14px;
    font-weight:700;
    min-height:44px;
    flex-shrink:0
}
.orbit-listing-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px
}
.orbit-stay-card {
    min-width:0
}
.orbit-card-photo,.orbit-guide-photo {
    display:block;
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:16px;
    background:#edf2f8
}
.orbit-card-photo img,.orbit-guide-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .2s
}
.orbit-card-photo:hover img,.orbit-guide-photo:hover img {
    transform:scale(1.025)
}
.orbit-photo-label {
    position:absolute;
    top:14px;
    left:14px;
    max-width:calc(100% - 28px);
    display:flex;
    gap:6px;
    align-items:center;
    padding:6px 10px;
    background:#fff;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    color:#153953
}
.orbit-card-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:15px 0 6px;
    font-size:13px;
    font-weight:600
}
.orbit-muted,.orbit-rating span {
    color:var(--orbit-muted);
    font-size:12px;
    font-weight:400
}
.orbit-rating {
    display:inline-flex;
    align-items:center;
    gap:4px;
    flex-shrink:0
}
.orbit-rating i {
    font-size:11px
}
.orbit-stay-card h3,.orbit-guide-card h3 {
    font-size:17px;
    font-weight:700;
    line-height:1.35;
    margin-bottom:5px
}
.orbit-card-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--orbit-line);
    font-size:13px
}
.orbit-card-bottom strong {
    font-size:14px
}
.orbit-card-bottom p span {
    color:var(--orbit-muted);
    font-size:12px
}
.orbit-card-bottom a {
    color:#0454c7;
    white-space:nowrap;
    font-weight:650;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:6px
}
.orbit-section-note {
    font-size:12px;
    color:var(--orbit-muted);
    margin-top:22px!important
}
.orbit-guide-section {
    background:#f5f8fc
}
.orbit-guide-card {
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    border:1px solid #e8edf3;
    display:flex;
    flex-direction:column
}
.orbit-guide-photo {
    border-radius:0;
    aspect-ratio:4/3
}
.orbit-guide-photo img {
    object-position:center 30%
}
.orbit-guide-body {
    padding:0 20px 12px;
    display:flex;
    flex-direction:column;
    flex:1
}
.orbit-guide-body .orbit-card-bottom {
    margin-top:auto
}
.orbit-guide-body .orbit-card-top {
    align-items:flex-start
}
.orbit-guide-detail {
    display:flex;
    gap:8px;
    font-size:12px;
    color:var(--orbit-muted);
    margin-bottom:10px!important
}
.orbit-guide-speciality {
    font-size:14px;
    margin-bottom:10px!important
}
.orbit-verification {
    display:inline-flex;
    gap:4px;
    color:#17684d;
    font-size:10px;
    white-space:nowrap
}
.orbit-portrait-fallback {
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:#eaf1fb;
    color:#45617c
}
.orbit-portrait-fallback i {
    font-size:60px
}
.orbit-portrait-fallback span {
    font-size:14px
}
.orbit-empty {
    grid-column:1/-1;
    padding:38px;
    background:#f6f9fc;
    border:1px solid var(--orbit-line);
    border-radius:16px;
    text-align:center
}
.orbit-empty>i {
    font-size:30px;
    color:#066bfa
}
.orbit-empty h3 {
    font-size:22px;
    font-weight:700;
    margin-top:12px
}
.orbit-empty p {
    color:var(--orbit-muted);
    max-width:520px;
    margin:10px auto 18px
}
.orbit-inline-actions {
    display:flex;
    gap:20px;
    justify-content:center;
    flex-wrap:wrap
}
.orbit-destinations {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}
.orbit-destination {
    padding:24px 20px;
    border:1px solid var(--orbit-line);
    border-radius:16px
}
.orbit-destination>i {
    font-size:25px;
    color:#066bfa
}
.orbit-destination h3 {
    font-size:20px;
    font-weight:700;
    margin:17px 0 8px
}
.orbit-destination p {
    color:var(--orbit-muted);
    font-size:13px;
    min-height:44px
}
.orbit-destination>div {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:18px
}
.orbit-destination a {
    color:#0454c7;
    font-size:12px;
    font-weight:650;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:5px
}
.orbit-how {
    padding-top:0
}
.orbit-journeys {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    border-top:1px solid var(--orbit-line);
    padding-top:32px
}
.orbit-journeys h3 {
    font-size:19px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:12px
}
.orbit-journeys h3 i {
    color:#066bfa
}
.orbit-journeys ol {
    list-style:none;
    counter-reset:journey;
    margin:24px 0 15px;
    padding:0
}
.orbit-journeys li {
    counter-increment:journey;
    position:relative;
    padding:0 0 23px 40px
}
.orbit-journeys li:before {
    content:counter(journey);
    position:absolute;
    left:0;
    top:0;
    border-radius:50%;
    height:26px;
    width:26px;
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:700;
    background:#eef4fd;
    color:#0454c7
}
.orbit-journeys li strong {
    font-size:14px
}
.orbit-journeys li p {
    color:var(--orbit-muted);
    font-size:13px;
    max-width:420px;
    margin-top:5px
}
.orbit-confidence {
    background:#082238;
    color:#fff
}
.orbit-confidence .orbit-eyebrow {
    color:#8fbafa
}
.orbit-confidence h2 {
    max-width:650px
}
.orbit-trust-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
    margin-top:36px
}
.orbit-trust-grid article>i {
    font-size:24px;
    color:#94bdff
}
.orbit-trust-grid h3 {
    font-size:17px;
    font-weight:700;
    margin-top:15px
}
.orbit-trust-grid p {
    color:#c3d0df;
    font-size:13px;
    margin:12px 0 18px
}
.orbit-trust-grid a {
    color:#fff;
    font-size:13px;
    font-weight:650;
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px
}
.orbit-join-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}
.orbit-join-grid article {
    border:1px solid var(--orbit-line);
    border-radius:18px;
    padding:30px
}
.orbit-join-grid article>i {
    color:#066bfa;
    font-size:28px
}
.orbit-join-grid h3 {
    font-size:24px;
    font-weight:700;
    letter-spacing:-.025em;
    margin:15px 0 10px
}
.orbit-join-grid p {
    font-size:14px;
    color:var(--orbit-muted);
    max-width:420px;
    margin-bottom:22px
}
.orbit-articles {
    padding-top:0
}
.orbit-article-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px
}
.orbit-article-grid article {
    border-top:1px solid var(--orbit-line);
    padding-top:22px
}
.orbit-article-grid article>span {
    font-size:10px;
    font-weight:750;
    letter-spacing:.12em;
    color:#64748b
}
.orbit-article-grid h3 {
    font-size:17px;
    line-height:1.45;
    font-weight:700;
    margin:12px 0
}
.orbit-article-grid p {
    font-size:13px;
    color:var(--orbit-muted);
    margin-bottom:15px
}

@media(min-width:768px) {
    .orbit-home [id] {
    scroll-margin-top:100px
}

}

@media(max-width:1050px) {
    .orbit-shell {
    padding-inline:24px
}
.orbit-field {
    padding-inline:12px
}
.orbit-search--stay {
    grid-template-columns:1.2fr 1fr 1fr .8fr
}
.orbit-search--stay .orbit-button {
    grid-column:1/-1;
    margin:12px 0 0
}
.orbit-listing-grid {
    gap:18px
}
.orbit-card-top {
    flex-wrap:wrap;
    gap:5px
}
.orbit-destinations {
    grid-template-columns:repeat(2,1fr)
}
.orbit-guide-body {
    padding-inline:15px
}
.orbit-guide-body .orbit-card-bottom {
    flex-wrap:wrap;
    gap:0
}
.orbit-scene {
    height:220px
}

}

@media(max-width:700px) {
    .orbit-shell {
    padding-inline:20px
}
.orbit-hero {
    padding-top:30px
}
.orbit-eyebrow {
    font-size:10px;
    letter-spacing:.1em
}
.orbit-hero h1 {
    font-size:34px;
    margin-top:12px;
    line-height:1.13
}
.orbit-intro {
    font-size:14px
}
.orbit-desktop-break {
    display:none
}
.orbit-tabs {
    gap:4px;
    margin-bottom:14px
}
.orbit-tabs button {
    padding:10px 13px;
    font-size:13px;
    gap:7px
}
.orbit-tabs button i {
    font-size:17px
}
.orbit-search-box {
    margin-top:23px
}
.orbit-search {
    border-radius:16px;
    padding:12px;
    gap:0
}
.orbit-search--stay {
    grid-template-columns:1fr 1fr
}
.orbit-search--guide {
    grid-template-columns:1fr
}
.orbit-field {
    padding:12px 8px;
    gap:5px;
    border-right:0;
    border-bottom:1px solid var(--orbit-line)
}
.orbit-field--location {
    grid-column:1/-1
}
.orbit-field>span {
    font-size:11px
}
.orbit-field input,.orbit-field select {
    font-size:13px
}
.orbit-search--stay .orbit-field:nth-child(2) {
    border-right:1px solid var(--orbit-line)
}
.orbit-search--stay .orbit-field:nth-child(4) {
    grid-column:1/-1;
    flex-direction:row;
    align-items:center;
    justify-content:space-between
}
.orbit-search--stay .orbit-field:nth-child(4) select {
    width:65%;
    text-align:right
}
.orbit-search .orbit-button {
    grid-column:1/-1;
    margin:12px 0 0;
    width:100%;
    min-height:48px
}
.orbit-search-note {
    font-size:11px;
    margin-inline:6px!important
}
.orbit-reassurance {
    gap:10px 18px;
    padding:18px 0 22px;
    font-size:11px
}
.orbit-reassurance span {
    display:none
}
.orbit-scene {
    height:180px;
    border-radius:14px
}
.orbit-scene>div {
    left:20px;
    top:22px
}
.orbit-scene p {
    font-size:23px
}
.orbit-scene>div>span {
    font-size:9px
}
.orbit-scene>a {
    right:16px;
    bottom:16px;
    padding:7px 12px;
    font-size:11px
}
.orbit-section {
    padding-top:40px;
    padding-bottom:40px
}
.orbit-section-head {
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    margin-bottom:20px
}
.orbit-section-head h2 {
    font-size:27px
}
.orbit-section-head p:not(.orbit-eyebrow) {
    font-size:14px
}
.orbit-listing-grid {
    grid-template-columns:1fr;
    gap:30px
}
.orbit-card-photo {
    aspect-ratio:1.35
}
.orbit-stay-card h3 {
    font-size:18px
}
.orbit-card-top {
    flex-wrap:nowrap
}
.orbit-guide-photo {
    aspect-ratio:1.4
}
.orbit-guide-body {
    padding:0 18px 12px
}
.orbit-guide-body .orbit-card-bottom {
    flex-wrap:nowrap
}
.orbit-destinations {
    gap:12px
}
.orbit-destination {
    padding:18px 14px
}
.orbit-destination h3 {
    font-size:18px
}
.orbit-destination p {
    font-size:12px;
    min-height:58px
}
.orbit-destination>div {
    gap:0;
    flex-direction:column;
    margin-top:10px
}
.orbit-destination a {
    font-size:12px
}
.orbit-journeys {
    grid-template-columns:1fr;
    gap:24px;
    padding-top:22px
}
.orbit-journeys article+article {
    border-top:1px solid var(--orbit-line);
    padding-top:24px
}
.orbit-journeys li {
    padding-bottom:18px
}
.orbit-trust-grid {
    grid-template-columns:1fr;
    gap:28px
}
.orbit-trust-grid p {
    max-width:480px;
    margin:8px 0
}
.orbit-join-grid {
    grid-template-columns:1fr
}
.orbit-join-grid article {
    padding:24px
}
.orbit-join-grid h3 {
    font-size:23px
}
.orbit-join-grid .orbit-button {
    width:100%
}
.orbit-article-grid {
    grid-template-columns:1fr;
    gap:24px
}
.orbit-articles,.orbit-how {
    padding-top:0
}
.orbit-empty {
    padding:28px 20px
}
.orbit-empty h3 {
    font-size:21px
}
.orbit-empty p {
    font-size:14px
}

}

@media(prefers-reduced-motion:reduce) {
    .orbit-home * {
    transition:none!important;
    scroll-behavior:auto!important
}

}


@media (max-width: 360px) {
    .orbit-hero h1 { font-size: 29px; }
    .orbit-tabs button { font-size: 12px; padding-inline: 10px; }
}

/* Keep a small guide inventory balanced without empty card slots. */
.orbit-guide-section .orbit-listing-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.orbit-guide-card {
    flex: 1 1 280px;
    max-width: 390px;
}
.orbit-guide-section .orbit-empty {
    flex: 1 1 100%;
}
