/* Mobile usability layer for the website. The map keeps its own layout. */
.mobile-site-menu-toggle,
.mobile-site-drawer { display: none; }

.search-discovery {
    padding: 26px;
    border: 1px solid #e1e7ec;
    border-radius: 24px;
    background: #fff;
}

/* Mobile drawer redesign (reference 4641). Legacy overlaps receive a final specificity pass below. */
@media (max-width: 767px) {
    .mobile-site-menu-toggle { display: flex; flex-direction: column; gap: 4px; }
    .mobile-site-menu-toggle > span { display: block; width: 20px; height: 2px; border-radius: 999px; background: currentColor; }

    .mobile-site-drawer {
        --drawer-accent: #f87316;
        --drawer-text: #27343e;
        --drawer-muted: #7c878c;
        --drawer-warm: #ad5d36;
        --drawer-subtle: #fff5ef;
        --drawer-separator: #e9e9e5;
    }
    .mobile-site-drawer__backdrop { padding: 0; border: 0; background: rgba(13, 27, 39, .69); backdrop-filter: blur(1.5px); }
    .mobile-site-drawer__panel {
        inset: 0 auto 0 8px;
        width: clamp(288px, 74vw, 440px);
        max-height: 100dvh;
        overflow: hidden;
        border-radius: 0 20px 20px 0;
        background: #fff;
        box-shadow: 16px 0 40px rgba(14, 29, 42, .22);
    }
    .mobile-site-drawer__scroll {
        position: relative;
        z-index: 0;
        display: block;
        min-height: 100%;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0 24px calc(18px + env(safe-area-inset-bottom, 0px));
        scrollbar-width: none;
    }
    .mobile-site-drawer__scroll::-webkit-scrollbar { display: none; }

    .mobile-site-drawer__header {
        position: relative;
        z-index: 2;
        display: flex;
        min-height: calc(116px + env(safe-area-inset-top, 0px));
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        padding: calc(34px + env(safe-area-inset-top, 0px)) 0 19px 8px;
        border: 0;
    }
    .mobile-site-drawer__brand { display: grid; gap: 5px; color: var(--drawer-muted); text-decoration: none; }
    .mobile-site-drawer__brand img { width: min(218px, 100%); max-width: 100%; height: auto; max-height: none; object-fit: contain; object-position: left center; }
    .mobile-site-drawer__brand > span { font-size: 13px; font-weight: 500; line-height: 1.2; letter-spacing: .01em; }
    .mobile-site-drawer__close {
        display: grid;
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        place-items: center;
        margin-top: -5px;
        border: 0;
        border-radius: 14px !important;
        background: #f4f5f5 !important;
    }
    .mobile-site-drawer__close img { width: 24px !important; height: 24px !important; }
    .mobile-site-drawer__close:active { transform: scale(.96); }
    .mobile-site-drawer__mountains {
        position: absolute;
        z-index: -1;
        top: calc(72px + env(safe-area-inset-top, 0px));
        right: -74px;
        width: 380px;
        height: 190px;
        background: url('/static/img/community/community-mountains.webp') center bottom / cover no-repeat;
        opacity: .55;
        pointer-events: none;
        -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), rgba(0,0,0,.42) 58%, transparent 100%);
        mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), rgba(0,0,0,.42) 58%, transparent 100%);
    }

    .mobile-site-drawer__profile { position: relative; z-index: 1; padding: 2px 0 22px; border: 0; }
    .mobile-site-drawer__identity {
        display: grid;
        min-height: 106px;
        grid-template-columns: 82px minmax(0, 1fr) 24px;
        align-items: center;
        gap: 16px;
        color: var(--drawer-text);
        text-decoration: none;
    }
    .mobile-site-drawer__avatar {
        position: relative;
        display: grid;
        width: 82px;
        height: 82px;
        flex: 0 0 82px;
        place-items: center;
        overflow: visible;
        border: 3px solid var(--drawer-accent);
        border-radius: 50%;
        background: #fff;
    }
    .mobile-site-drawer__avatar .subscription-avatar-frame { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; border: 3px solid #fff; border-radius: inherit; background: #fff; }
    .mobile-site-drawer__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .mobile-site-drawer__avatar-badge { position: absolute; right: -5px; bottom: -3px; display: grid; width: 28px; height: 28px; place-items: center; overflow: hidden; border: 2px solid #fff; border-radius: 50%; background: var(--drawer-accent); }
    .mobile-site-drawer__avatar-badge img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
    .mobile-site-drawer__identity-copy { display: grid; min-width: 0; gap: 3px; }
    .mobile-site-drawer__identity-copy strong { overflow: hidden; color: var(--drawer-text); font-size: 20px; font-weight: 800; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy > span { overflow: hidden; color: var(--drawer-muted); font-size: 14px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy small { overflow: hidden; color: var(--drawer-warm); font-size: 13px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-chevron { width: 17px; height: 17px; opacity: .8; }

    .mobile-site-drawer__stats { display: grid; min-height: 72px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 4px 0 16px; overflow: hidden; border-radius: 18px; background: rgba(248, 249, 249, .95); }
    .mobile-site-drawer__stats a { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--drawer-text); text-decoration: none; }
    .mobile-site-drawer__stats strong { font-size: 20px; font-weight: 800; line-height: 1; }
    .mobile-site-drawer__stats span { color: var(--drawer-muted); font-size: 11px; font-weight: 500; white-space: nowrap; }
    .mobile-site-drawer__profile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
    .mobile-site-drawer__profile-action { position: relative; display: flex; min-width: 0; min-height: 58px; align-items: center; justify-content: flex-start; gap: 10px; padding: 8px 16px; border: 1px solid var(--drawer-separator); border-radius: 16px; background: rgba(255, 255, 255, .94); color: var(--drawer-text); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
    .mobile-site-drawer__profile-action > img { width: 24px; height: 24px; flex: 0 0 24px; }
    .mobile-site-drawer__profile-action:active { background: var(--drawer-subtle); transform: scale(.985); }
    .mobile-site-drawer__unread-dot:not(:empty) { position: absolute; top: 8px; right: 10px; display: block; width: 9px; height: 9px; overflow: hidden; border-radius: 50%; background: var(--drawer-accent); color: transparent; font-size: 0; }
    .mobile-site-drawer__unread-dot:empty { display: none; }
    .mobile-site-drawer__profile--guest { padding-top: 12px; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__identity { grid-template-columns: 70px minmax(0, 1fr); min-height: 92px; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__avatar { width: 70px; height: 70px; }

    .mobile-site-drawer__nav { display: grid; gap: 16px; padding-top: 4px; }
    .mobile-site-drawer__nav-group { display: grid; gap: 2px; }
    .mobile-site-drawer__nav-group--secondary { padding-top: 14px; border-top: 1px solid var(--drawer-separator); }
    .mobile-site-drawer__nav a { display: grid; min-height: 52px; grid-template-columns: 30px minmax(0, 1fr) 18px; align-items: center; gap: 14px; padding: 0 15px; border-radius: 14px; color: var(--drawer-text); font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none; }
    .mobile-site-drawer__nav a:active { background: #f7f7f5; }
    .mobile-site-drawer__nav a[aria-current="page"] { background: var(--drawer-subtle); color: var(--drawer-warm); }
    .mobile-site-drawer__nav-icon { width: 26px; height: 26px; object-fit: contain; }
    .mobile-site-drawer__nav-icon--active { display: none; }
    .mobile-site-drawer__nav a[aria-current="page"] .mobile-site-drawer__nav-icon--default { display: none; }
    .mobile-site-drawer__nav a[aria-current="page"] .mobile-site-drawer__nav-icon--active { display: block; }
    .mobile-site-drawer__nav-chevron { width: 16px; height: 16px; opacity: .5; }

    .mobile-site-drawer__promo { position: relative; display: flex; min-height: 116px; align-items: center; gap: 12px; margin-top: 24px; overflow: hidden; padding: 16px 18px; border-radius: 17px; color: #fff; text-decoration: none; isolation: isolate; }
    .mobile-site-drawer__promo::after { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg, rgba(13, 33, 39, .9) 0%, rgba(16, 35, 43, .62) 58%, rgba(20, 35, 40, .38) 100%); }
    .mobile-site-drawer__promo > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; transform: scaleX(-1); }
    .mobile-site-drawer__promo > span { display: grid; min-width: 0; gap: 6px; }
    .mobile-site-drawer__promo strong { max-width: 215px; font-size: 19px; font-weight: 800; line-height: 1.14; }
    .mobile-site-drawer__promo small { color: rgba(255,255,255,.78); font-size: 12px; font-weight: 500; }
    .mobile-site-drawer__promo b { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; margin-left: auto; border-radius: 13px; background: rgba(255,255,255,.21); font-size: 30px; font-weight: 300; line-height: 1; }

    .mobile-site-drawer__footer { margin-top: 24px; padding: 18px 8px 0; border-top: 1px solid var(--drawer-separator); }
    .mobile-site-drawer__preferences { display: grid; gap: 2px; }
    .mobile-site-drawer__theme { display: flex; width: 100%; min-height: 44px; min-width: 0; align-items: center; gap: 9px; padding: 0; border: 0; background: transparent; color: var(--drawer-text); font-size: 13px; font-weight: 600; text-align: left; }
    .mobile-site-drawer__moon { display: inline-block; width: 25px; font: 32px/1 Georgia, serif; transform: rotate(-13deg); }
    .mobile-site-drawer__switch { position: relative; width: 46px; height: 26px; flex: 0 0 46px; margin-left: auto; border-radius: 999px; background: #cbd3da; transition: background .2s ease; }
    .mobile-site-drawer__switch i { position: absolute; top: 3px; left: 3px; display: block; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(24,39,51,.18); transition: transform .2s ease; }
    html[data-theme="dark"] .mobile-site-drawer__switch { background: var(--drawer-accent); }
    html[data-theme="dark"] .mobile-site-drawer__switch i { transform: translateX(20px); }
    .mobile-site-drawer__language { display: flex; width: 100%; min-height: 44px; align-items: center; gap: 9px; padding: 0; color: var(--drawer-text); font-size: 13px; font-weight: 600; }
    .mobile-site-drawer__language > img:first-of-type { width: 25px; height: 25px; opacity: .72; }
    .mobile-site-drawer__language select { width: auto; max-width: none; min-height: 38px; margin-left: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font-size: 13px; font-weight: 700; appearance: none; }
    .mobile-site-drawer__language-chevron { width: 16px; height: 16px; opacity: .65; }
    .mobile-site-drawer__logout { display: flex; min-height: 46px; align-items: center; gap: 10px; margin-top: 8px; padding: 0; border-top: 1px solid var(--drawer-separator); color: #c64e4e; font-size: 13px; font-weight: 700; text-decoration: none; }
    .mobile-site-drawer__logout svg { width: 23px; height: 23px; flex: 0 0 23px; }
    .mobile-site-drawer__logout:active { opacity: .7; }
    .mobile-site-drawer__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 22px; color: #a5abad; font-size: 10px; font-weight: 500; }
    .mobile-site-drawer__meta > span:last-child { display: inline-flex; align-items: center; gap: 5px; }
    .mobile-site-drawer__meta img { width: 18px; height: 18px; opacity: .88; }

    html[data-theme="dark"] .mobile-site-drawer__panel { background: #14242d; }
    html[data-theme="dark"] .mobile-site-drawer__brand img { filter: none; }
    html[data-theme="dark"] .mobile-site-drawer__brand > span,
    html[data-theme="dark"] .mobile-site-drawer__identity-copy > span,
    html[data-theme="dark"] .mobile-site-drawer__stats span { color: #afbbc1; }
    html[data-theme="dark"] .mobile-site-drawer__close { background: #22343e !important; }
    html[data-theme="dark"] .mobile-site-drawer__close img,
    html[data-theme="dark"] .mobile-site-drawer__nav-icon:not(.mobile-site-drawer__nav-icon--active),
    html[data-theme="dark"] .mobile-site-drawer__nav-chevron,
    html[data-theme="dark"] .mobile-site-drawer__language img { filter: brightness(0) invert(1); }
    html[data-theme="dark"] .mobile-site-drawer__identity-copy strong,
    html[data-theme="dark"] .mobile-site-drawer__stats a,
    html[data-theme="dark"] .mobile-site-drawer__profile-action,
    html[data-theme="dark"] .mobile-site-drawer__nav a,
    html[data-theme="dark"] .mobile-site-drawer__theme,
    html[data-theme="dark"] .mobile-site-drawer__language { color: #eef3f5; }
    html[data-theme="dark"] .mobile-site-drawer__stats { background: rgba(32, 52, 62, .94); }
    html[data-theme="dark"] .mobile-site-drawer__profile-action { border-color: #344851; background: rgba(20,36,45,.9); }
    html[data-theme="dark"] .mobile-site-drawer__nav a[aria-current="page"] { background: #3a2e27; color: #ffb284; }
    html[data-theme="dark"] .mobile-site-drawer__nav-group--secondary,
    html[data-theme="dark"] .mobile-site-drawer__footer { border-color: #31434d; }
    html[data-theme="dark"] .mobile-site-drawer__language select { border: 0 !important; background: transparent !important; color: #eef3f5 !important; }
    html[data-theme="dark"] .mobile-site-drawer__logout { color: #ff9999; }
}

@media (max-width: 359px) {
    .mobile-site-drawer__scroll { padding-inline: 17px; }
    .mobile-site-drawer__header { padding-left: 4px; }
    .mobile-site-drawer__brand img { width: 176px; }
    .mobile-site-drawer__brand > span { font-size: 11px; }
    .mobile-site-drawer__identity { grid-template-columns: 70px minmax(0, 1fr) 18px; gap: 11px; }
    .mobile-site-drawer__avatar { width: 70px; height: 70px; }
    .mobile-site-drawer__identity-copy strong { font-size: 17px; }
    .mobile-site-drawer__stats strong { font-size: 18px; }
    .mobile-site-drawer__stats span { font-size: 9px; }
    .mobile-site-drawer__profile-action { padding-inline: 10px; font-size: 12px; }
    .mobile-site-drawer__nav a { gap: 10px; padding-inline: 10px; font-size: 14px; }
    .mobile-site-drawer__theme { gap: 6px; font-size: 11px; }
    .mobile-site-drawer__switch { width: 40px; flex-basis: 40px; }
    html[data-theme="dark"] .mobile-site-drawer__switch i { transform: translateX(14px); }
}

/* Mobile home hero — image-led outdoor composition matched to the app direction. */
@media (max-width: 620px) {
    body.page-home-redesign {
        background: #0b1116;
    }

    body.page-home-redesign .tt-home-v2 {
        overflow: hidden;
        background: #f5f7f8;
    }

    body.page-home-redesign .tt-home-hero {
        width: calc(100% - 12px);
        min-height: clamp(700px, calc(100svh - 8px), 900px);
        margin: 6px auto 0;
        border-radius: 24px;
        background: #102435 url("../img/home/hero/trailtrack-mobile-hero-v1.webp") 55% center / cover no-repeat !important;
        box-shadow: 0 20px 44px rgba(3, 10, 15, .32);
    }

    body.page-home-redesign .tt-home-hero::before {
        z-index: -1;
        background: rgba(3, 12, 21, .4);
    }

    body.page-home-redesign .tt-home-hero::after,
    html[data-theme="dark"] body.page-home-redesign .tt-home-hero::after {
        background: url("../img/home/hero/trailtrack-mobile-hero-v1.webp") 55% center / cover no-repeat;
        opacity: 1;
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(22px + env(safe-area-inset-top, 0px));
        left: calc(22px + env(safe-area-inset-left, 0px));
        width: 54px;
        height: 54px;
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 18px;
        background: rgba(255, 255, 255, .1);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 12px 28px rgba(3, 10, 15, .18);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
    }

    body.page-home-redesign .mobile-site-menu-toggle > img,
    html[data-theme="dark"] body.page-home-redesign .mobile-site-menu-toggle > img {
        width: 25px;
        height: 25px;
    }

    body.page-home-redesign .tt-home-nav {
        height: 92px;
        min-height: 92px;
        padding: 0 22px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(32px + env(safe-area-inset-top, 0px));
        left: 50%;
        display: flex;
        width: min(54vw, 222px);
        height: auto;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        transform: translateX(-50%);
    }

    body.page-home-redesign .tt-home-nav__logo img {
        width: 100%;
        max-height: 27px;
        object-fit: contain;
    }

    body.page-home-redesign .tt-home-nav__logo-subtitle {
        display: block;
        color: rgba(255, 255, 255, .58);
        font-size: 8px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: .28em;
        text-align: center;
        text-transform: uppercase;
        white-space: nowrap;
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(16px + env(safe-area-inset-top, 0px));
        right: calc(22px + env(safe-area-inset-right, 0px));
        transform: none;
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        flex: 0 0 54px !important;
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 18px;
        background: rgba(7, 18, 27, .16);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
    }

    body.page-home-redesign .tt-home-nav__search svg {
        width: 23px;
        height: 23px;
        stroke-width: 2;
    }

    body.page-home-redesign .tt-home-hero__body {
        min-height: 0;
        flex: 1;
        padding: 56px 18px 18px;
    }

    body.page-home-redesign .tt-home-hero__copy {
        min-height: 0;
        max-width: none;
    }

    body.page-home-redesign .tt-home-hero__eyebrow {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 18px 2px;
        color: rgba(255, 255, 255, .74);
        font-size: 9px;
        font-weight: 800;
        line-height: 1;
        letter-spacing: .16em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    body.page-home-redesign .tt-home-hero__eyebrow i {
        width: 3px;
        height: 3px;
        flex: 0 0 3px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .6);
    }

    body.page-home-redesign .tt-home-hero__copy h1 {
        width: min(100%, 390px);
        max-width: 390px;
        margin: 0;
        color: #fff;
        font-size: clamp(34px, 8.8vw, 40px);
        font-weight: 900;
        line-height: .98;
        letter-spacing: -.045em;
        overflow-wrap: normal;
        text-wrap: balance;
        text-shadow: 0 2px 22px rgba(3, 10, 15, .32);
    }

    body.page-home-redesign .tt-home-hero__copy h1 > span {
        display: block;
    }

    body.page-home-redesign .tt-home-hero__headline-stroke {
        display: block;
        width: min(58vw, 224px);
        height: 20px;
        margin: 4px 0 12px 0;
        background: transparent !important;
        object-fit: fill;
        object-position: left center;
    }

    body.page-home-redesign .tt-home-hero__copy > p {
        width: min(88%, 342px);
        max-width: 342px;
        margin: 0;
        color: rgba(255, 255, 255, .82);
        font-size: clamp(14px, 4vw, 17px);
        font-weight: 500;
        line-height: 1.45;
        text-shadow: 0 2px 14px rgba(3, 10, 15, .4);
    }

    body.page-home-redesign .tt-home-hero__buttons {
        display: grid;
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
        gap: 9px;
        margin: auto 0 0;
        padding-top: 24px;
    }

    body.page-home-redesign .tt-home-button {
        min-height: 56px;
        gap: 9px;
        padding: 0 12px;
        border-radius: 16px;
        font-size: 13px;
        font-weight: 800;
        box-shadow: 0 12px 28px rgba(2, 8, 12, .22);
    }

    body.page-home-redesign .tt-home-button img {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        filter: brightness(0) invert(1);
    }

    body.page-home-redesign .tt-home-button--orange {
        border-color: rgba(255, 119, 72, .75);
        background: #ff5b34;
        color: #fff;
    }

    body.page-home-redesign .tt-home-button--white {
        border-color: rgba(255, 255, 255, .14);
        background: rgba(13, 20, 24, .7);
        color: #fff;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    body.page-home-redesign .tt-home-hero__activities {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 2px;
        margin-top: 18px;
    }

    body.page-home-redesign .tt-home-hero__activities a {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 58px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 3px 1px 8px;
        color: rgba(255, 255, 255, .7);
        font-size: 9px;
        font-weight: 650;
        text-decoration: none;
    }

    body.page-home-redesign .tt-home-hero__activities a::after {
        position: absolute;
        right: 18%;
        bottom: 0;
        left: 18%;
        height: 2px;
        border-radius: 999px;
        background: transparent;
        content: "";
    }

    body.page-home-redesign .tt-home-hero__activities a.is-active {
        color: #fff;
    }

    body.page-home-redesign .tt-home-hero__activities a.is-active::after {
        background: #ff6537;
        box-shadow: 0 0 12px rgba(255, 101, 55, .55);
    }

    body.page-home-redesign .tt-home-hero__activities img {
        width: 24px;
        height: 24px;
        object-fit: contain;
        opacity: .8;
        filter: brightness(0) invert(1);
    }

    body.page-home-redesign .tt-home-hero__activities a.is-active img {
        opacity: 1;
        filter: invert(53%) sepia(99%) saturate(3138%) hue-rotate(339deg) brightness(103%) contrast(101%);
    }

    body.page-home-redesign .tt-route-finder {
        margin-top: 16px;
    }
}

@media (max-width: 359px) {
    body.page-home-redesign .tt-home-hero {
        width: calc(100% - 8px);
        min-height: 680px;
        margin-top: 4px;
        border-radius: 20px;
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(16px + env(safe-area-inset-top, 0px));
        left: calc(15px + env(safe-area-inset-left, 0px));
        width: 48px;
        height: 48px;
        border-radius: 16px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(25px + env(safe-area-inset-top, 0px));
        width: 174px;
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(12px + env(safe-area-inset-top, 0px));
        right: calc(15px + env(safe-area-inset-right, 0px));
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        border-radius: 16px;
    }

    body.page-home-redesign .tt-home-hero__body {
        padding: 40px 14px 13px;
    }

    body.page-home-redesign .tt-home-hero__eyebrow {
        gap: 5px;
        margin-bottom: 13px;
        font-size: 7.5px;
        letter-spacing: .12em;
    }

    body.page-home-redesign .tt-home-hero__copy h1 {
        font-size: 30px;
    }

    body.page-home-redesign .tt-home-hero__copy > p {
        width: 94%;
        font-size: 13px;
    }

    body.page-home-redesign .tt-home-button {
        min-height: 50px;
        gap: 6px;
        padding-inline: 8px;
        font-size: 11px;
    }

    body.page-home-redesign .tt-home-hero__activities {
        margin-top: 12px;
    }

    body.page-home-redesign .tt-home-hero__activities a {
        min-height: 53px;
        font-size: 8px;
    }
}

@media (max-width: 767px) {
    body.page-site-redesign.page-route-detail .route-detail-page {
        margin-top: 0 !important;
    }

    body.page-site-redesign.page-route-detail .route-detail-hero-chips {
        margin-top: 52px !important;
    }

    body.page-site-redesign.page-route-detail .route-map-passport {
        display: none !important;
    }
}
.search-discovery h2 { color: #172d38; font-size: 22px; font-weight: 850; }
.search-discovery p { margin-top: 6px; color: #60707e; font-size: 15px; line-height: 1.5; }
.search-discovery__suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.search-discovery__suggestions a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid #efd1c1;
    border-radius: 999px;
    color: #9e481e;
    background: #fff8f3;
    font-size: 13px;
    font-weight: 700;
}
.search-discovery__destinations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.search-discovery__destinations a {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    border-radius: 14px;
    color: #20343f;
    background: #f4f7f8;
    font-weight: 750;
}
html[data-theme="dark"] .search-discovery { border-color: #30404b; background: #13232b; }
html[data-theme="dark"] .search-discovery h2,
html[data-theme="dark"] .search-discovery__destinations a { color: #edf3f7; }
html[data-theme="dark"] .search-discovery p { color: #bac8d1; }
html[data-theme="dark"] .search-discovery__destinations a { background: #1d303a; }
html[data-theme="dark"] .search-discovery__suggestions a { border-color: #6b483b; color: #ffbd99; background: #332820; }

@media (max-width: 767px) {
    html:has(body.page-site-redesign:not(.page-map):not(.page-messages)) {
        scroll-padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    body.page-site-redesign:not(.page-map):not(.page-messages) {
        padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.page-site-redesign:not(.page-map):has(.mobile-create-menu-wrap):not(.page-route-detail):not(.page-post-detail) {
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.mobile-site-drawer-open { overflow: hidden !important; }

    .mobile-site-menu-toggle {
        position: fixed;
        z-index: 390;
        top: calc(16px + env(safe-area-inset-top, 0px));
        left: calc(14px + env(safe-area-inset-left, 0px));
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        border: 1px solid rgba(213, 221, 227, .85);
        border-radius: 15px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 6px 20px rgba(15, 23, 42, .13);
        color: #1b2833;
        backdrop-filter: blur(14px);
    }
    .mobile-site-menu-toggle svg { width: 22px; height: 22px; }
    .mobile-site-menu-toggle:focus-visible,
    .mobile-site-drawer :focus-visible { outline: 3px solid #ff8b5a; outline-offset: 2px; }

    .mobile-site-drawer {
        position: fixed;
        z-index: 800;
        inset: 0;
        display: block;
        visibility: hidden;
        pointer-events: none;
        transition: visibility .25s ease;
    }
    .mobile-site-drawer.is-open { visibility: visible; pointer-events: auto; }
    .mobile-site-drawer__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(9, 17, 26, .58);
        opacity: 0;
        transition: opacity .25s ease;
    }
    .mobile-site-drawer.is-open .mobile-site-drawer__backdrop { opacity: 1; }
    .mobile-site-drawer__panel {
        position: absolute;
        inset: 8px auto 8px 10px;
        display: flex;
        width: min(280px, 72vw);
        max-height: calc(100dvh - 16px);
        flex-direction: column;
        border-radius: 12px;
        background: #fff;
        box-shadow: 18px 0 48px rgba(10, 23, 34, .2);
        transform: translateX(-105%);
        transition: transform .28s cubic-bezier(.22, .75, .25, 1);
    }
    .mobile-site-drawer.is-open .mobile-site-drawer__panel { transform: translateX(0); }
    .mobile-site-drawer__header {
        display: flex;
        min-height: calc(62px + env(safe-area-inset-top, 0px));
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: calc(12px + env(safe-area-inset-top, 0px)) 12px 10px 16px;
        border-bottom: 1px solid #e8edf0;
    }
    .mobile-site-drawer__header img { display: block; width: 138px; max-height: 32px; object-fit: contain; object-position: left; }
    .mobile-site-drawer__header button {
        display: grid;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        place-items: center;
        border-radius: 13px;
        background: #f2f5f6;
        color: #263843;
    }
    .mobile-site-drawer__header button svg { width: 20px; height: 20px; }
    .mobile-site-drawer__scroll {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 6px 12px calc(20px + env(safe-area-inset-bottom, 0px));
    }
    .mobile-site-drawer__label {
        margin: 17px 8px 7px;
        color: #a54c27;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .09em;
        text-transform: uppercase;
    }
    .mobile-site-drawer__scroll > a,
    .mobile-site-drawer__scroll > button {
        display: flex;
        width: 100%;
        min-height: 42px;
        align-items: center;
        justify-content: space-between;
        padding: 9px 10px;
        border: 0;
        border-radius: 11px;
        background: transparent;
        color: #24333f;
        font-size: 12.5px;
        font-weight: 700;
        text-align: left;
        text-decoration: none;
    }
    .mobile-site-drawer__scroll > a[aria-current="page"] { background: #fff1e9; color: #bd4f20; }
    .mobile-site-drawer__scroll > a:active,
    .mobile-site-drawer__scroll > button:active { background: #f2f5f6; }
    .mobile-site-drawer__scroll > .mobile-site-drawer__logout { color: #bb4949; }
    .mobile-site-drawer__language {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 6px 14px;
        color: #24333f;
        font-size: 14px;
        font-weight: 700;
    }
    .mobile-site-drawer__language select {
        max-width: 130px;
        min-height: 38px;
        padding: 6px 9px;
        border: 1px solid #dce4e8;
        border-radius: 10px;
        background: #fff;
        color: inherit;
        font-size: 13px;
    }
    body.page-site-redesign #notifDropdown:not(.hidden) {
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        z-index: 900 !important;
    }
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .site-topbar-left { margin-left: 48px !important; }
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-notif-wrap {
        position: static !important;
        transform: none !important;
    }
    body.page-home-redesign .tt-home-nav__mobile-menu { display: none !important; }
    body.page-home-redesign .tt-home-nav__logo { margin-left: 58px; }
    body.page-home-redesign .tt-home-featured { display: none !important; }
    body.page-home-redesign .tt-home-featured__badge { top: 18px; left: 18px; }
    body.page-home-redesign .tt-home-featured__content > strong { font-size: 18px; }
    body.page-home-redesign .tt-home-featured__content > p { -webkit-line-clamp: 2; font-size: 12px; }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo__callouts {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        display: grid;
        width: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 0 16px 16px;
    }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo__callout {
        min-height: 98px;
        padding: 10px;
        border-width: 1px;
        border-radius: 15px;
        opacity: 1;
        transform: none;
        animation: none;
    }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo { overflow: hidden; }
    body.page-home-redesign .tt-home-region-list .region-showcase-card__tag:nth-child(n + 5),
    body.page-regions-index .region-showcase-card__tag:nth-child(n + 4) { display: inline-flex; }
    body.page-regions-index .region-showcase-card { height: auto !important; min-height: 300px; }
    body.page-regions-index .region-showcase-card__tags { overflow: visible; }
    body.page-site-redesign .mobile-create-menu-wrap { bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important; }

    body.page-site-redesign #mobile-bottom-nav > div {
        height: 64px !important;
        border-radius: 22px !important;
    }

    body.page-site-redesign #mobile-bottom-nav a {
        gap: 2px !important;
        min-height: 56px;
    }

    body.page-site-redesign #mobile-bottom-nav a span:last-child {
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        text-transform: none !important;
    }
    html[data-theme="dark"] body.page-site-redesign #mobile-bottom-nav .nav-icon-bg img {
        filter: brightness(0) invert(1);
    }
    html[data-theme="dark"] body.page-site-redesign #mobile-bottom-nav .nav-item-active .nav-icon-bg img {
        filter: none;
    }

    body.page-site-redesign:has(.site-main-offset :is(input, textarea, select):focus) .mobile-create-menu-wrap:not(:has(.mobile-create-menu-panel.is-open)) {
        opacity: 0;
        pointer-events: none;
    }

    body.page-routes-index .mobile-create-menu-wrap:not(.mobile-create-menu-wrap--search-clear) {
        opacity: 0;
        pointer-events: none;
    }
    body.page-routes-index .mobile-create-menu-wrap {
        transition: opacity .2s ease, transform .2s ease;
    }

    /* Route actions are the relevant controls here; a second floating action obscures them. */
    body.page-route-detail .mobile-create-menu-wrap { display: none !important; }
    body.page-route-detail .route-mobile-action-bar {
        z-index: 105;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.page-route-detail .route-elevation-extremes {
        position: relative;
        inset: auto;
        display: flex;
        padding: 16px 18px 4px;
    }
    body.page-post-detail .mobile-route-story-bar { bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; }
    body.page-route-detail.mobile-ux-ready .route-mobile-action-bar:not(.mobile-ux-after-hero),
    body.page-post-detail.mobile-ux-ready .mobile-route-story-bar:not(.mobile-ux-after-hero) {
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
    }
    body.page-route-detail .route-mobile-action-bar,
    body.page-post-detail .mobile-route-story-bar {
        transition: opacity .2s ease, transform .2s ease;
    }
    body.page-route-detail .route-detail-anchor-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        overflow: visible;
    }
    body.page-route-detail .route-detail-anchor-nav a {
        display: flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 6px 4px;
        text-align: center;
        white-space: normal;
    }

    /* A full-length article heading and summary must never escape a fixed-height cover. */
    body.page-post-detail .article-hero-card--cover {
        height: auto !important;
        min-height: 540px;
        overflow: hidden;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-title {
        width: 100%;
        max-width: 100%;
        font-size: clamp(27px, 7.7vw, 33px) !important;
        line-height: 1.12 !important;
        overflow-wrap: normal;
        hyphens: auto;
        text-wrap: pretty;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-subtitle {
        width: 100%;
        max-width: 100%;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-author-row { margin-top: 18px; }
    body.page-post-detail .article-hero-card--cover .article-hero-footer { margin-top: 18px; }

    /* The AI-guide help control is placed in normal flow instead of on the title. */
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro {
        display: flex;
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 24px 20px 20px;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro h1 {
        font-size: clamp(30px, 8vw, 36px);
        line-height: 1.08;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro p {
        font-size: 14px;
        line-height: 1.5;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro-mark,
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro::after { display: none; }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__how-button {
        position: static;
        min-height: 44px;
        margin-top: 2px;
        align-self: flex-start;
        font-size: 12px;
    }

    /* One readable set of metrics, without a horizontal scrollbar or duplicate row. */
    body.page-profile .profile-hero-stats-card {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0;
        overflow: hidden !important;
    }
    body.page-profile .profile-hero-stat {
        width: 100%;
        min-width: 0;
        min-height: 66px;
        padding: 8px 10px;
        border-right: 0 !important;
    }
    body.page-profile .profile-hero-stat:nth-child(odd) { border-right: 1px solid #e5e7eb !important; }
    body.page-profile .profile-hero-stat:nth-child(-n + 2) { border-bottom: 1px solid #e5e7eb; }
    body.page-profile .profile-hero-stat span {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: break-word;
    }
    body.page-profile .profile-mobile-stats { display: none; }
    body.page-profile .profile-mobile-rank__title { flex-wrap: wrap; gap: 4px 6px; }
    body.page-profile .profile-mobile-rank__title > span {
        flex: 0 0 auto !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
    }
    body.page-profile .profile-mobile-hub { display: none !important; }
    body.page-profile .profile-mobile-summary:not(:has(.profile-mobile-visitor-actions)) { display: none !important; }

    body.page-profile .profile-page .profile-content-layout > .profile-mobile-sidebar-toggle {
        display: flex !important;
        order: -2;
        width: 100%;
        min-height: 84px;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 15px 18px;
        border: 1px solid #e4e8ed;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 8px 28px rgba(22, 35, 49, .06);
        color: #1b2734;
        text-align: left;
    }
    body.page-profile .profile-mobile-sidebar-toggle__copy { display: grid; min-width: 0; gap: 3px; }
    body.page-profile .profile-mobile-sidebar-toggle__eyebrow {
        color: #ad633d;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    body.page-profile .profile-mobile-sidebar-toggle__copy strong { font-size: 16px; line-height: 1.25; }
    body.page-profile .profile-mobile-sidebar-toggle__copy small { color: #657383; font-size: 11px; line-height: 1.35; }
    body.page-profile .profile-mobile-sidebar-toggle__icon {
        display: grid;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        place-items: center;
        border-radius: 12px;
        background: #fff3eb;
        color: #d46b36;
    }
    body.page-profile .profile-mobile-sidebar-toggle__icon svg { width: 20px; height: 20px; transition: transform .2s ease; }
    body.page-profile .profile-mobile-sidebar-toggle[aria-expanded="true"] .profile-mobile-sidebar-toggle__icon svg { transform: rotate(180deg); }
    body.page-profile .profile-page .profile-content-layout > aside.profile-sidebar {
        display: none !important;
        order: -1;
        position: static !important;
        top: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: auto !important;
        align-self: stretch !important;
    }
    body.page-profile .profile-page .profile-content-layout > aside.profile-sidebar.is-open { display: grid !important; }

    body.page-search .search-results-page { min-height: 0 !important; }
    .search-discovery {
        padding: 22px 20px;
    }
    .search-discovery h2 { font-size: 20px; }
    .search-discovery p { font-size: 14px; }
    .search-discovery__destinations { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    html[data-theme="dark"] .mobile-site-menu-toggle {
        border-color: #3b4b56;
        background: rgba(23, 39, 49, .95);
        color: #f0f4f6;
    }
    html[data-theme="dark"] .mobile-site-drawer__panel { background: #13232d; }
    html[data-theme="dark"] .mobile-site-drawer__header { border-color: #32434e; }
    html[data-theme="dark"] .mobile-site-drawer__header img { filter: brightness(0) invert(1); }
    html[data-theme="dark"] .mobile-site-drawer__header button { background: #253843; color: #f2f5f7; }
    html[data-theme="dark"] .mobile-site-drawer__scroll > a,
    html[data-theme="dark"] .mobile-site-drawer__scroll > button,
    html[data-theme="dark"] .mobile-site-drawer__language { color: #eef3f6; }
    html[data-theme="dark"] .mobile-site-drawer__scroll > a[aria-current="page"] { background: #47352d; color: #ffb58e; }
    html[data-theme="dark"] .mobile-site-drawer__language select {
        border-color: #3b4c57 !important;
        background: #20323c !important;
        color: #eef3f6 !important;
    }
    html[data-theme="dark"] .mobile-site-drawer__scroll > .mobile-site-drawer__logout { color: #ff9999; }
    html[data-theme="dark"] body.page-profile .profile-page .profile-content-layout > .profile-mobile-sidebar-toggle {
        border-color: #354450;
        background: #1a2933;
        color: #f2f5f7;
    }
    html[data-theme="dark"] body.page-profile .profile-header-name {
        color: #1b2833 !important;
        text-shadow: none !important;
    }
    html[data-theme="dark"] body.page-profile .profile-mobile-sidebar-toggle__copy small { color: #b9c5ce; }
    html[data-theme="dark"] body.page-profile .profile-mobile-sidebar-toggle__icon { background: #493226; color: #ffb182; }
}

@media (prefers-reduced-motion: reduce) {
    body.page-routes-index .mobile-create-menu-wrap,
    body.page-route-detail .route-mobile-action-bar,
    body.page-post-detail .mobile-route-story-bar { transition: none; }
}

@media (max-width: 359px) {
    body.page-site-redesign #mobile-bottom-nav a span:last-child { font-size: 8.5px !important; }
    body.page-route-detail .route-detail-anchor-nav a { font-size: 11px; }
    body.page-route-detail .route-detail-hero-media { min-height: 520px !important; }
    body.page-post-detail .article-hero-card--cover .article-hero-author-row { flex-wrap: wrap; }
    body.page-post-detail .article-hero-card--cover .article-hero-follow { width: 100%; justify-content: center; }
}

@media (max-width: 767px) {
    .mobile-site-drawer__profile {
        padding: 12px 8px 14px;
        border-bottom: 1px solid #edf0f2;
    }
    .mobile-site-drawer__identity {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 11px;
        color: #1c2932;
        text-decoration: none;
    }
    .mobile-site-drawer__avatar {
        display: grid;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        place-items: center;
        overflow: hidden;
        border-radius: 50%;
        background: #fff0e8;
        color: #ca5524;
        font-size: 18px;
        font-weight: 850;
    }
    .mobile-site-drawer__avatar .subscription-avatar-frame { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; border-radius: inherit; }
    .mobile-site-drawer__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .mobile-site-drawer__identity-copy { display: grid; min-width: 0; gap: 2px; }
    .mobile-site-drawer__identity-copy strong { overflow: hidden; color: #1c2932; font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy > span { overflow: hidden; color: #78838b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy small { overflow: hidden; color: #a2512e; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__profile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
    .mobile-site-drawer__profile-action {
        display: flex;
        min-width: 0;
        min-height: 38px;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 6px 7px;
        border: 1px solid #e8eaeb;
        border-radius: 10px;
        background: #fff;
        color: #35424b;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
    }
    .mobile-site-drawer__profile-action svg { width: 16px; height: 16px; flex: 0 0 16px; color: #d45a2a; }
    .mobile-site-drawer__profile-action [data-messages-menu-badge]:not(:empty) { color: #d45a2a; font-size: 10px; font-weight: 800; }
    .mobile-site-drawer__chevron { width: 14px; height: 14px; margin-left: auto; transition: transform .18s ease; }
    [data-mobile-settings-toggle][aria-expanded="true"] .mobile-site-drawer__chevron { transform: rotate(180deg); }
    .mobile-site-drawer__settings { margin-top: 8px; padding: 5px 9px; border-radius: 10px; background: #f7f8f8; }
    .mobile-site-drawer__settings > button,
    .mobile-site-drawer__settings > form { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 4px; border: 0; background: transparent; color: #33414a; font-size: 12px; font-weight: 650; text-align: left; }
    .mobile-site-drawer__settings > button strong { color: #ad552e; font-size: 11px; }
    .mobile-site-drawer__settings .mobile-site-drawer__language { padding: 2px 4px; }
    .mobile-site-drawer__settings .mobile-site-drawer__language select { min-height: 32px; border-color: #e1e4e5; font-size: 11px; }
    .mobile-site-drawer__create {
        display: flex;
        width: 100%;
        min-height: 40px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-top: 9px;
        border: 1px solid #f6c9b3;
        border-radius: 11px;
        background: #fff4ee;
        color: #bc4e22;
        font-size: 12px;
        font-weight: 800;
    }
    .mobile-site-drawer__create svg { width: 17px; height: 17px; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__guest-title { color: #1b252b; font-size: 18px; font-weight: 850; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__profile-action { min-height: 40px; }

    .mobile-site-create-dialog {
        width: min(420px, calc(100vw - 32px));
        max-width: none;
        max-height: min(78dvh, 620px);
        margin: auto;
        padding: 18px;
        overflow: auto;
        border: 1px solid #e9ecee;
        border-radius: 20px;
        background: #fff;
        color: #202b31;
        box-shadow: 0 24px 70px rgba(9, 17, 26, .28);
    }
    .mobile-site-create-dialog::backdrop { background: rgba(9, 17, 26, .58); backdrop-filter: blur(3px); }
    .mobile-site-create-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
    .mobile-site-create-dialog__header > div > span { color: #ad552e; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
    .mobile-site-create-dialog__header h2 { margin: 3px 0 0; color: #1d272d; font-size: 21px; font-weight: 850; }
    .mobile-site-create-dialog__header button { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 11px; background: #f2f4f5; color: #3c4950; }
    .mobile-site-create-dialog__header button svg { width: 18px; height: 18px; }
    .mobile-site-create-dialog__items { display: grid; gap: 7px; }
    .mobile-site-create-dialog__items > a { display: flex; min-height: 57px; align-items: center; gap: 10px; padding: 8px; border: 1px solid #eceeef; border-radius: 13px; color: #26343c; text-decoration: none; }
    .mobile-site-create-dialog__items > a:active { background: #fff4ee; }
    .mobile-site-create-dialog__icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #fff0e8; }
    .mobile-site-create-dialog__icon img { width: 19px; height: 19px; object-fit: contain; }
    .mobile-site-create-dialog__items > a > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
    .mobile-site-create-dialog__items strong { font-size: 12px; font-weight: 800; }
    .mobile-site-create-dialog__items small { color: #7a858b; font-size: 10px; }
    .mobile-site-create-dialog__items b { margin-left: auto; color: #89939a; font-size: 22px; font-weight: 400; }

    body.page-home-redesign .tt-home-nav { position: relative; height: 62px; min-height: 62px; padding: 0 14px; }
    body.page-home-redesign .tt-home-nav__logo { position: absolute; top: 50%; left: 50%; width: 178px; height: 32px; margin: 0; transform: translate(-50%, -50%); }
    body.page-home-redesign .tt-home-nav__actions { position: absolute; top: 50%; right: 14px; display: flex; align-items: center; gap: 8px; transform: translateY(-50%); }
    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search,
    body.page-home-redesign .tt-home-nav__notif-wrap > .tt-home-nav__notif { display: inline-flex; box-sizing: border-box; width: 38px !important; min-width: 38px !important; max-width: 38px !important; height: 38px !important; flex: 0 0 38px !important; padding: 0; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .38); border-radius: 12px; background: rgba(12, 20, 25, .12); }
    body.page-home-redesign .tt-home-nav__notif-wrap { display: inline-flex; }
    body.page-home-redesign .tt-home-nav__user-wrap,
    body.page-home-redesign .tt-home-nav__mobile-menu,
    body.page-home-redesign .tt-home-nav__create-wrap,
    body.page-home-redesign .tt-home-nav__actions > a.tt-home-nav__profile { display: none !important; }
    body.page-home-redesign .tt-home-nav__icon { width: 38px; height: 38px; border-radius: 12px; }
    body.page-home-redesign .tt-home-nav__search svg,
    body.page-home-redesign .tt-home-nav__notif svg { width: 18px; height: 18px; stroke-width: 1.8; }
    body.page-home-redesign .tt-home-benefits { display: none !important; }
    body.page-home-redesign .tt-home-reports .tt-home-content-list,
    body.page-home-redesign .tt-home-publications .tt-home-content-list { gap: 14px; margin: 0; padding: 2px 2px 16px; scroll-snap-type: x mandatory; }
    body.page-home-redesign .tt-home-reports .tt-home-content-card,
    body.page-home-redesign .tt-home-publications .tt-home-content-card { width: 290px; min-width: 0; flex: 0 0 290px; scroll-snap-align: start; }
    body.page-home-redesign .tt-home-hero { display: flex; min-height: 520px; flex-direction: column; }
    body.page-home-redesign .tt-home-hero__body { display: flex; min-height: 0; flex: 1; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 18px 16px 16px; }
    body.page-home-redesign .tt-home-hero__copy { display: flex; max-width: none; flex: 1; flex-direction: column; }
    body.page-home-redesign .tt-home-hero__buttons { display: grid; width: 100%; max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 10px; margin: auto auto 0; padding-top: 28px; }
    body.page-home-redesign .tt-home-button { min-width: 0; min-height: 46px; gap: 6px; padding: 0 8px; font-size: 11px; white-space: nowrap; }
    body.page-home-redesign .tt-home-button img { width: 16px; height: 16px; flex: 0 0 16px; }

    html[data-theme="dark"] .mobile-site-drawer__profile { border-color: #32434e; }
    html[data-theme="dark"] .mobile-site-drawer__identity,
    html[data-theme="dark"] .mobile-site-drawer__identity-copy strong,
    html[data-theme="dark"] .mobile-site-create-dialog__header h2 { color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-drawer__profile-action,
    html[data-theme="dark"] .mobile-site-drawer__settings,
    html[data-theme="dark"] .mobile-site-create-dialog { border-color: #354853; background: #1a2d37; color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-drawer__settings > button,
    html[data-theme="dark"] .mobile-site-drawer__settings > form { color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-create-dialog__items > a { border-color: #354853; color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-create-dialog__header button { background: #2a3b45; color: #edf3f7; }
}

@media (max-width: 359px) {
    body.page-home-redesign .tt-home-nav__logo { width: 142px; }
    body.page-home-redesign .tt-home-nav__actions { right: 10px; gap: 5px; }
    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search,
    body.page-home-redesign .tt-home-nav__notif-wrap > .tt-home-nav__notif { width: 32px !important; min-width: 32px !important; max-width: 32px !important; height: 32px !important; flex: 0 0 32px !important; }
}

@media (max-width: 620px) {
    body.page-home-redesign .tt-home-reports .tt-home-content-card,
    body.page-home-redesign .tt-home-publications .tt-home-content-card { width: 82vw; flex-basis: 82vw; }
}

@media (max-width: 767px) {
    body.page-route-detail #main-content.site-main-offset {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: clip !important;
    }

    body.page-route-detail .route-detail-page {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 calc(var(--mobile-page-bottom-clearance, 98px) + 44px) !important;
        border-radius: 0 !important;
    }

    body.page-route-detail .route-detail-desktop-content,
    body.page-route-detail .route-detail-hero-card,
    body.page-route-detail .route-detail-hero-media {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }

    body.page-route-detail .route-detail-hero-card {
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.page-route-detail .route-detail-hero-media,
    body.page-route-detail .route-detail-hero-media::after,
    body.page-route-detail .route-detail-hero-image,
    body.page-route-detail .route-detail-hero-fallback {
        border-radius: 0 !important;
    }

    body.page-route-detail .route-detail-hero-media { padding: 14px 0 !important; }

    body.page-route-detail .route-detail-hero-chips { padding-inline: 16px !important; }

    body.page-route-detail .route-detail-hero-copy {
        position: relative !important;
        inset: auto !important;
        align-self: stretch !important;
        width: auto !important;
        max-width: none !important;
        margin: 32px 16px 0 !important;
    }

    body.page-route-detail .route-detail-hero-stats {
        box-sizing: border-box !important;
        width: 100% !important;
        margin-inline: auto !important;
        justify-content: center !important;
    }

    body.page-route-detail .route-detail-hero-stat {
        box-sizing: border-box !important;
        grid-template-columns: 25px auto !important;
        justify-content: center !important;
        padding-inline: 6px !important;
    }

    body.page-route-detail .route-detail-hero-actions {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        justify-content: center !important;
    }
}

@media (max-width: 767px) {
    body.page-post-detail #main-content.site-main-offset {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-inline: 0 !important;
        overflow-x: clip !important;
    }

    body.page-post-detail .post-detail-layout {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-inline: 0 !important;
        gap: 0 !important;
    }

    body.page-post-detail .post-detail-layout.has-route > .article-hero-card,
    body.page-post-detail .post-detail-main,
    body.page-post-detail .post-detail-lower,
    body.page-post-detail .post-detail-main > article,
    body.page-post-detail #post-detail-article {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        border-radius: 0 !important;
    }

    body.page-post-detail .post-detail-layout.has-route > .article-hero-card {
        border-inline: 0 !important;
        box-shadow: none !important;
    }

    body.page-post-detail #post-detail-article {
        border-inline: 0 !important;
        box-shadow: none !important;
    }

    body.page-post-detail .article-hero-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover {
        height: auto !important;
        min-height: 540px !important;
        padding: 16px !important;
        border-radius: 0 !important;
        clip-path: none !important;
    }

    body.page-post-detail .article-hero-card--cover::before,
    body.page-post-detail .article-hero-card--cover::after {
        border-radius: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-topline {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        align-items: start !important;
        gap: 8px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chips {
        box-sizing: border-box !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        gap: 6px !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chip {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 30px !important;
        flex: 0 1 auto !important;
        padding-inline: 9px !important;
        font-size: 9px !important;
        letter-spacing: .035em !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chip > span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-options {
        position: relative !important;
        inset: auto !important;
        z-index: 4 !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        flex: 0 0 40px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-icon-button {
        width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        border-radius: 14px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-title {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 16px !important;
        font-size: clamp(28px, 8.2vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
        text-wrap: pretty !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-subtitle {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 10px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-row {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-items: center !important;
        flex-direction: row !important;
        gap: 8px !important;
        margin-top: 18px !important;
        margin-bottom: 10px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 auto !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-copy {
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-copy strong {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-follow {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 44% !important;
        flex: 0 0 auto !important;
        gap: 5px !important;
        padding-inline: 9px !important;
        font-size: 10px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-follow-text {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-footer,
    body.page-post-detail .article-hero-card--cover .article-hero-footer > .article-hero-route-summary {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 0 !important;
        padding: 12px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat {
        box-sizing: border-box !important;
        min-width: 0 !important;
        gap: 6px !important;
        padding-inline: 8px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat > span {
        display: block !important;
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat strong,
    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat small {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat strong {
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat small {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

/* Final specificity pass for drawer rules that also exist in the legacy mobile layer above. */
@media (max-width: 767px) {
    body .mobile-site-drawer__backdrop { left: calc(8px + clamp(288px, 74vw, 432px)); }
    body .mobile-site-drawer__panel { inset: 0 auto 0 8px; width: clamp(288px, 74vw, 432px); max-height: 100dvh; overflow: hidden; border-radius: 0 20px 20px 0; background: #fff; }
    body .mobile-site-drawer__scroll { display: block; min-height: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; padding: 0 24px calc(18px + env(safe-area-inset-bottom, 0px)); }
    body .mobile-site-drawer__header { min-height: calc(116px + env(safe-area-inset-top, 0px)); align-items: flex-start; padding: calc(34px + env(safe-area-inset-top, 0px)) 0 19px 8px; border: 0; }
    body .mobile-site-drawer__header .mobile-site-drawer__brand img { width: min(218px, 100%); max-height: none; }
    body .mobile-site-drawer__profile { padding: 2px 0 22px; border: 0; }
    body .mobile-site-drawer__identity { display: grid; min-height: 106px; grid-template-columns: 82px minmax(0, 1fr) 24px; align-items: center; gap: 16px; }
    body .mobile-site-drawer__avatar { width: 82px; height: 82px; flex: 0 0 82px; overflow: visible; border: 3px solid var(--drawer-accent); background: #fff; }
    body .mobile-site-drawer__identity-copy strong { color: var(--drawer-text); font-size: 20px; font-weight: 800; }
    body .mobile-site-drawer__identity-copy > span { color: var(--drawer-muted); font-size: 14px; }
    body .mobile-site-drawer__identity-copy small { color: var(--drawer-warm); font-size: 13px; font-weight: 700; }
    body .mobile-site-drawer__profile-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
    body .mobile-site-drawer__profile-action { min-height: 58px; justify-content: flex-start; gap: 10px; padding: 8px 16px; border-radius: 16px; font-size: 14px; }
    body .mobile-site-drawer__profile-action > img { width: 24px; height: 24px; flex: 0 0 24px; }
    html[data-theme="dark"] body .mobile-site-drawer__panel { background: #14242d; }
}

@media (max-width: 359px) {
    body .mobile-site-drawer__scroll { padding-inline: 17px; }
    body .mobile-site-drawer__identity { grid-template-columns: 70px minmax(0, 1fr) 18px; gap: 11px; }
    body .mobile-site-drawer__avatar { width: 70px; height: 70px; }
}

@media (max-width: 767px) {
    body .mobile-site-drawer__header { min-height: calc(104px + env(safe-area-inset-top, 0px)); padding-bottom: 8px; }
    body .mobile-site-drawer__mountains { right: 0; max-width: 100%; }
    body .mobile-site-drawer__identity { grid-template-columns: 86px minmax(0, 1fr) 24px; gap: 15px; padding-left: 4px; }
    body .mobile-site-drawer__identity > * { position: relative; top: -4px; }
    body .mobile-site-drawer__avatar:has(> .subscription-avatar-frame > img[src*="avatar-fallback"]) { border-color: transparent; background: transparent; }
    body .mobile-site-drawer__avatar:has(> .subscription-avatar-frame > img[src*="avatar-fallback"]) > .subscription-avatar-frame { border: 0; background: transparent; }
    body .mobile-site-drawer__identity-chevron,
    body .mobile-site-drawer__nav-chevron { content: url('/static/img/mobile-sidebar/icons/chevron-down-default.svg'); transform: rotate(-90deg); }
    body .mobile-site-drawer__nav-group--secondary .mobile-site-drawer__nav-icon { filter: brightness(0) saturate(100%) invert(18%) sepia(15%) saturate(795%) hue-rotate(163deg) brightness(92%) contrast(91%); }
    body .mobile-site-drawer__promo { min-height: 116px; margin-top: 12px; padding: 16px 18px; }
    body .mobile-site-drawer__promo strong { color: #fff !important; }
    body .mobile-site-drawer__promo small { color: rgba(255,255,255,.78) !important; }
    html[data-theme="dark"] body .mobile-site-drawer__identity-chevron,
    html[data-theme="dark"] body .mobile-site-drawer__nav-chevron { filter: brightness(0) invert(1); }
}

@media (max-width: 430px) {
    body .mobile-site-drawer__identity { grid-template-columns: 70px minmax(0, 1fr) 18px; gap: 10px; padding-left: 0; }
    body .mobile-site-drawer__avatar { width: 70px; height: 70px; }
    body .mobile-site-drawer__profile-action { gap: 6px; padding-inline: 7px; font-size: 12px; }
    body .mobile-site-drawer__profile-action > img { width: 20px; height: 20px; flex-basis: 20px; }
    body .mobile-site-drawer__stats span { font-size: 9px; }
}

/* Compact mobile drawer typography aligned with the site's 14px mobile UI scale. */
@media (max-width: 767px) {
    body .mobile-site-menu-toggle {
        display: grid;
        place-items: center;
    }

    body .mobile-site-menu-toggle > img {
        display: block;
        width: 23px;
        height: 23px;
    }

    body .mobile-site-drawer__identity-copy strong {
        font-size: 16px;
        line-height: 1.2;
    }

    body .mobile-site-drawer__identity-copy > span {
        font-size: 12px;
        line-height: 1.25;
    }

    body .mobile-site-drawer__identity-copy small {
        font-size: 11px;
        line-height: 1.3;
    }

    body .mobile-site-drawer__stats strong {
        font-size: 18px;
    }

    body .mobile-site-drawer__stats span {
        font-size: 10px;
    }

    body .mobile-site-drawer__profile-actions {
        gap: 8px;
    }

    body .mobile-site-drawer__profile-action {
        min-height: 48px;
        justify-content: center;
        gap: 5px;
        padding: 7px 6px;
        border-radius: 14px;
        font-size: 12px;
        line-height: 1.2;
        text-align: center;
    }

    body .mobile-site-drawer__profile-action > img {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
    }

    body .mobile-site-drawer__profile-action > span,
    body .mobile-site-drawer__nav a > span,
    body .mobile-site-drawer__promo strong,
    body .mobile-site-drawer__promo small,
    body .mobile-site-drawer__theme > span:nth-child(2),
    body .mobile-site-drawer__meta > span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body .mobile-site-drawer__nav {
        gap: 10px;
    }

    body .mobile-site-drawer__nav-group {
        gap: 0;
    }

    body .mobile-site-drawer__nav-group--secondary {
        padding-top: 10px;
    }

    body .mobile-site-drawer__nav a {
        min-height: 46px;
        grid-template-columns: 24px minmax(0, 1fr) 14px;
        gap: 10px;
        padding: 0 12px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        white-space: nowrap;
    }

    body .mobile-site-drawer__nav-icon {
        width: 22px;
        height: 22px;
    }

    body .mobile-site-drawer__nav-chevron {
        width: 14px;
        height: 14px;
    }

    body .mobile-site-drawer__promo {
        min-height: 96px;
        gap: 8px;
        padding: 12px;
    }

    body .mobile-site-drawer__promo > span {
        flex: 1 1 auto;
        min-width: 0;
    }

    body .mobile-site-drawer__promo strong {
        font-size: 10.5px;
        line-height: 1.2;
        letter-spacing: -.02em;
    }

    body .mobile-site-drawer__promo small {
        font-size: 10px;
        letter-spacing: -.01em;
    }

    body .mobile-site-drawer__promo b {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        font-size: 22px;
    }

    body .mobile-site-drawer__theme,
    body .mobile-site-drawer__language select {
        font-size: 12px;
    }

    body .mobile-site-drawer__meta {
        font-size: 9px;
    }

    html[data-theme="dark"] body .mobile-site-menu-toggle > img,
    html[data-theme="dark"] body .mobile-site-drawer__profile-action > img {
        filter: brightness(0) invert(1);
    }
}

/* Guest drawer, preference typography and the balanced home masthead. */
@media (max-width: 767px) {
    body .mobile-site-drawer__profile--guest {
        padding-top: 8px;
    }

    body .mobile-site-drawer__profile--guest .mobile-site-drawer__profile-actions {
        margin-top: 0;
    }

    body .mobile-site-drawer__profile--guest .mobile-site-drawer__profile-action {
        min-height: 46px;
        font-size: 14px;
        font-weight: 600;
    }

    body .mobile-site-drawer__avatar-badge {
        box-sizing: border-box;
        width: auto;
        min-width: 28px;
        padding: 0 5px;
        overflow: visible;
        color: #fff;
        font-size: 11px;
        font-weight: 800;
        line-height: 1;
    }

    body .mobile-site-drawer__profile-actions--single {
        grid-template-columns: minmax(0, 1fr);
    }

    body .mobile-site-drawer__profile-actions--single .mobile-site-drawer__profile-action {
        width: 100%;
        min-height: 50px;
        justify-content: center;
        border: 1px solid var(--drawer-separator);
        background: rgba(255, 255, 255, .94);
        color: var(--drawer-text);
        font: inherit;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
    }

    body .mobile-site-drawer__profile-actions--single + .mobile-site-drawer__profile-actions--secondary {
        margin-top: 10px;
    }

    body .mobile-site-drawer__profile-actions--notifications {
        margin-top: 10px;
    }

    body .mobile-site-drawer__profile-actions--notifications + .mobile-site-drawer__profile-actions--secondary {
        margin-top: 10px;
    }

    body .mobile-site-drawer__profile-action > svg {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

    body .mobile-site-drawer__notification-count {
        position: absolute;
        top: 7px;
        right: 10px;
        display: grid;
        min-width: 19px;
        height: 19px;
        place-items: center;
        padding: 0 5px;
        border: 2px solid #fff;
        border-radius: 999px;
        background: var(--drawer-accent);
        color: #fff;
        font-size: 9px;
        font-weight: 800;
        line-height: 1;
    }

    body .mobile-site-drawer__notification-count.hidden {
        display: none;
    }

    body.page-home-redesign .tt-home-nav__notif-wrap,
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-notif-wrap {
        display: none !important;
    }

    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo,
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo .site-logo-mark,
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo .site-logo-img {
        width: clamp(170px, 50vw, 204px) !important;
        max-width: clamp(170px, 50vw, 204px) !important;
    }

    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo {
        height: 34px !important;
    }

    body .mobile-site-drawer__theme,
    body .mobile-site-drawer__language,
    body .mobile-site-drawer__language select {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(9px + env(safe-area-inset-top, 0px));
        left: calc(14px + env(safe-area-inset-left, 0px));
        width: 44px;
        height: 44px;
        border: 1px solid rgba(255, 255, 255, .38);
        border-radius: 12px;
        background: rgba(12, 20, 25, .12);
        box-shadow: none;
        color: #fff;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    body.page-home-redesign .mobile-site-menu-toggle > img,
    html[data-theme="dark"] body.page-home-redesign .mobile-site-menu-toggle > img {
        width: 22px;
        height: 22px;
        filter: brightness(0) invert(1);
    }

    body.page-home-redesign .tt-home-nav {
        height: 62px;
        min-height: 62px;
        padding: 0 14px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: 50%;
        left: 50%;
        width: clamp(170px, 50vw, 204px);
        height: 34px;
        margin: 0;
        transform: translate(-50%, -50%);
    }

    body.page-home-redesign .tt-home-nav__logo img {
        width: 100%;
        height: auto;
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: 50%;
        right: calc(14px + env(safe-area-inset-right, 0px));
        transform: translateY(-50%);
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        border-radius: 12px;
    }
}

@media (max-width: 359px) {
    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(11px + env(safe-area-inset-top, 0px));
        left: calc(10px + env(safe-area-inset-left, 0px));
        width: 40px;
        height: 40px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        width: clamp(164px, 52vw, 178px);
    }

    body.page-home-redesign .tt-home-nav__actions {
        right: calc(10px + env(safe-area-inset-right, 0px));
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo,
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo .site-logo-mark,
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-topbar-logo .site-logo-img {
        width: clamp(164px, 52vw, 178px) !important;
        max-width: clamp(164px, 52vw, 178px) !important;
    }
}

/* Keep the v62 home hero authoritative after legacy mobile header rules. */
@media (max-width: 620px) {
    body.page-home-redesign .tt-home-hero {
        min-height: clamp(700px, calc(100svh - 8px), 900px);
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(22px + env(safe-area-inset-top, 0px));
        left: calc(22px + env(safe-area-inset-left, 0px));
        width: 54px;
        height: 54px;
        border-radius: 18px;
    }

    body.page-home-redesign .tt-home-nav {
        height: 92px;
        min-height: 92px;
        padding: 0 22px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(32px + env(safe-area-inset-top, 0px));
        width: min(54vw, 222px);
        height: auto;
        transform: translateX(-50%);
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(16px + env(safe-area-inset-top, 0px));
        right: calc(22px + env(safe-area-inset-right, 0px));
        transform: none;
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
        border-radius: 18px;
    }

    body.page-home-redesign .tt-home-hero__body {
        padding: 56px 18px 18px;
    }

    body.page-home-redesign .tt-home-button {
        min-height: 56px;
        gap: 9px;
        padding: 0 12px;
        border-radius: 16px;
        font-size: 13px;
    }
}

@media (max-width: 359px) {
    body.page-home-redesign .tt-home-hero {
        min-height: 680px;
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(16px + env(safe-area-inset-top, 0px));
        left: calc(15px + env(safe-area-inset-left, 0px));
        width: 48px;
        height: 48px;
        border-radius: 16px;
    }

    body.page-home-redesign .tt-home-nav {
        height: 80px;
        min-height: 80px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(25px + env(safe-area-inset-top, 0px));
        width: 174px;
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(12px + env(safe-area-inset-top, 0px));
        right: calc(15px + env(safe-area-inset-right, 0px));
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        border-radius: 16px;
    }

    body.page-home-redesign .tt-home-hero__body {
        padding: 40px 14px 13px;
    }

    body.page-home-redesign .tt-home-button {
        min-height: 50px;
        gap: 6px;
        padding-inline: 8px;
        font-size: 11px;
    }
}

/* v67: final responsive edge-to-edge home hero and activity carousel overrides. */
@media (max-width: 620px) {
    body.page-home-redesign .tt-home-hero {
        width: 100%;
        min-height: 100svh;
        margin: 0;
        border-radius: 0;
    }

    body.page-home-redesign .tt-home-hero::after,
    html[data-theme="dark"] body.page-home-redesign .tt-home-hero::after {
        display: none;
    }

    body.page-home-redesign .tt-home-hero__slideshow {
        position: absolute;
        inset: 0;
        z-index: -2;
        display: block;
        overflow: hidden;
        pointer-events: none;
    }

    body.page-home-redesign .tt-home-hero__slideshow img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: transparent;
        object-fit: cover;
        object-position: 55% center;
        opacity: 0;
        transform: scale(1.015);
        transition: opacity 1.8s ease-in-out, transform 8.3s ease-out;
    }

    body.page-home-redesign .tt-home-hero__slideshow img.is-active {
        opacity: 1;
        transform: scale(1);
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(9px + env(safe-area-inset-top, 0px));
        left: calc(14px + env(safe-area-inset-left, 0px));
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    body.page-home-redesign .tt-home-nav {
        height: 68px;
        min-height: 68px;
        padding: 0 14px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(18px + env(safe-area-inset-top, 0px));
        width: min(54vw, 204px);
        height: auto;
        transform: translateX(-50%);
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(9px + env(safe-area-inset-top, 0px));
        right: calc(14px + env(safe-area-inset-right, 0px));
        transform: none;
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        border-radius: 12px;
    }

    body.page-home-redesign .tt-home-hero__body {
        padding: 70px 18px 18px;
    }

    body.page-home-redesign .tt-home-hero__activities {
        display: flex;
        width: 100vw;
        max-width: none;
        flex: 0 0 auto;
        gap: 6px;
        overflow-x: auto;
        overflow-y: hidden;
        margin: 14px 0 -4px -18px;
        padding: 0 18px 8px;
        scroll-behavior: smooth;
        scroll-padding-inline: 18px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.page-home-redesign .tt-home-hero__activities::-webkit-scrollbar {
        display: none;
    }

    body.page-home-redesign .tt-home-hero__activities button {
        position: relative;
        display: flex;
        width: 66px;
        min-width: 66px;
        min-height: 62px;
        flex: 0 0 66px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin: 0;
        border: 1px solid transparent;
        border-radius: 14px;
        outline: none;
        background: transparent;
        padding: 5px 3px 9px;
        color: rgba(255, 255, 255, .72);
        font: inherit;
        font-size: 9px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        cursor: pointer;
        scroll-snap-align: center;
        touch-action: manipulation;
        transition: border-color .25s ease, background .25s ease, color .25s ease, transform .2s ease;
    }

    body.page-home-redesign .tt-home-hero__activities button::after {
        position: absolute;
        right: 17px;
        bottom: 3px;
        left: 17px;
        height: 2px;
        border-radius: 999px;
        background: transparent;
        content: "";
        transition: background .25s ease, box-shadow .25s ease;
    }

    body.page-home-redesign .tt-home-hero__activities button img {
        width: 23px;
        height: 23px;
        object-fit: contain;
        opacity: .82;
        filter: brightness(0) invert(1);
        transition: filter .25s ease, opacity .25s ease, transform .25s ease;
    }

    body.page-home-redesign .tt-home-hero__activities button.is-active {
        border-color: rgba(255, 255, 255, .13);
        background: rgba(13, 20, 24, .3);
        color: #fff;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    body.page-home-redesign .tt-home-hero__activities button.is-active::after {
        background: #ff6537;
        box-shadow: 0 0 12px rgba(255, 101, 55, .62);
    }

    body.page-home-redesign .tt-home-hero__activities button.is-active img {
        opacity: 1;
        filter: invert(53%) sepia(99%) saturate(3138%) hue-rotate(339deg) brightness(103%) contrast(101%);
        transform: translateY(-1px);
    }

    body.page-home-redesign .tt-home-hero__activities button:focus-visible {
        border-color: rgba(255, 255, 255, .82);
        box-shadow: 0 0 0 2px rgba(255, 103, 29, .72);
    }
}

@media (max-width: 620px) and (prefers-reduced-motion: reduce) {
    body.page-home-redesign .tt-home-hero__slideshow img {
        transform: none;
        transition: none;
    }
}

@media (max-width: 359px) {
    body.page-home-redesign .tt-home-hero {
        min-height: 100svh;
        border-radius: 0;
    }

    body.page-home-redesign .mobile-site-menu-toggle {
        top: calc(11px + env(safe-area-inset-top, 0px));
        left: calc(10px + env(safe-area-inset-left, 0px));
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    body.page-home-redesign .tt-home-nav {
        height: 62px;
        min-height: 62px;
        padding: 0 10px;
    }

    body.page-home-redesign .tt-home-nav__logo {
        top: calc(18px + env(safe-area-inset-top, 0px));
        width: 164px;
    }

    body.page-home-redesign .tt-home-nav__actions {
        top: calc(11px + env(safe-area-inset-top, 0px));
        right: calc(10px + env(safe-area-inset-right, 0px));
    }

    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
        border-radius: 12px;
    }

    body.page-home-redesign .tt-home-hero__body {
        padding: 60px 14px 13px;
    }

    body.page-home-redesign .tt-home-hero__activities {
        width: 100vw;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
        scroll-padding-inline: 14px;
    }

    body.page-home-redesign .tt-home-hero__activities button {
        width: 62px;
        min-width: 62px;
        min-height: 58px;
        flex-basis: 62px;
        font-size: 8.5px;
    }
}

/* Keep social actions paired and align all account preferences on the same inset. */
@media (max-width: 767px) {
    body .mobile-site-drawer__profile-actions--secondary > :only-child {
        grid-column: 1 / -1;
    }

    body .mobile-site-drawer__profile-actions--secondary .mobile-site-drawer__profile-action {
        gap: 4px;
        padding-inline: 4px;
        font-size: 11px;
    }

    body .mobile-site-drawer__profile-actions--secondary .mobile-site-drawer__profile-action > img {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
    }

    body .mobile-site-drawer__profile-actions--secondary .mobile-site-drawer__profile-action > svg {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
    }

    body .mobile-site-drawer__profile-actions--secondary .mobile-site-drawer__notification-count {
        top: -6px;
        right: -5px;
        z-index: 1;
    }

    body .mobile-site-drawer__footer-settings,
    body .mobile-site-drawer__theme,
    body .mobile-site-drawer__language {
        box-sizing: border-box;
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        gap: 9px;
        padding: 0 8px;
    }

    body .mobile-site-drawer__footer-settings {
        color: var(--drawer-text);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none;
        white-space: nowrap;
    }

    body .mobile-site-drawer__footer-settings > img:first-child {
        width: 25px;
        height: 25px;
        flex: 0 0 25px;
    }

    body .mobile-site-drawer__footer-chevron {
        width: 16px;
        height: 16px;
        margin-left: auto;
        opacity: .65;
        transform: rotate(-90deg);
    }

    body .mobile-site-drawer__language {
        justify-content: flex-start;
    }

    body .mobile-site-drawer__footer-settings:focus-visible {
        outline: 2px solid var(--drawer-accent);
        outline-offset: -2px;
    }

    html[data-theme="dark"] body .mobile-site-drawer__footer-settings {
        color: #eef3f5;
    }

    html[data-theme="dark"] body .mobile-site-drawer__footer-settings img {
        filter: brightness(0) invert(1);
    }
}
