/* =============================================================
   Founding 100 offer — homepage banner, Basic package card,
   ribbons. Loaded only while the offer is active.
   Palette: navy · gold · cream only.
   ============================================================= */

.tmo-home, .tmo-ribbon, .tmo-price, .tmo-corner, .tmo-terms, .tmo-offer-card {
    --tmo-navy: #1a2349;
    --tmo-navy-dk: #0f1530;
    --tmo-gold: #bc955c;
    --tmo-gold-lt: #f0c97a;
    --tmo-gold-pale: #fbe7b0;
    --tmo-gold-dk: #924f18;
    --tmo-cream: #fbf7ef;
    --tmo-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

/* ── Homepage banner ───────────────────────────────────────── */
/* Edge-to-edge navy band; the content sits in the page's Bootstrap .container
   so it lines up with the sections above and below. */
.tm-offer-banner-wrap.tmo-home {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0;
    color: #fff;
    background:
        radial-gradient(60% 120% at 0% 0%, rgba(240,201,122,.12), transparent 60%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 18px),
        linear-gradient(140deg, #1d2753 0%, var(--tmo-navy) 40%, var(--tmo-navy-dk) 100%);
}
/* thin gold hairlines along the top and bottom edges */
.tm-offer-banner-wrap.tmo-home::before,
.tm-offer-banner-wrap.tmo-home::after {
    content: "";
    position: absolute; left: 0; right: 0; height: 1px; z-index: 1;
    background: linear-gradient(90deg, transparent, rgba(240,201,122,.75) 25%, rgba(251,231,176,.95) 50%, rgba(240,201,122,.75) 75%, transparent);
}
.tm-offer-banner-wrap.tmo-home::before { top: 0; }
.tm-offer-banner-wrap.tmo-home::after  { bottom: 0; }
.tmo-home .tmo-home__card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 470px);
    align-items: center;
    gap: 40px 64px;
    padding: 76px 0;
}
/* soft drifting gold light */
.tmo-home__glow {
    position: absolute; z-index: -1; pointer-events: none;
    border-radius: 50%;
    filter: blur(60px);
}
.tmo-home__glow--a { width: 420px; height: 420px; right: 4%; top: -160px; background: rgba(188,149,92,.30); animation: tmoDrift 14s ease-in-out infinite alternate; }
.tmo-home__glow--b { width: 360px; height: 360px; left: 28%; bottom: -220px; background: rgba(240,201,122,.14); animation: tmoDrift 18s ease-in-out infinite alternate-reverse; }
@keyframes tmoDrift { from { transform: translate(0, 0); } to { transform: translate(-40px, 30px); } }
/* oversized outlined "100" watermark */
.tmo-home__mark {
    position: absolute; z-index: -1; pointer-events: none;
    left: -10px; bottom: -70px;
    font-family: var(--tmo-serif);
    font-size: 260px; font-weight: 700; line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(240,201,122,.10);
    letter-spacing: -.04em;
    user-select: none;
}
.tmo-home .tmo-home__copy, .tmo-pass { position: relative; min-width: 0; }

.tmo-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: 100%;
    padding: 7px 16px 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tmo-gold-pale), var(--tmo-gold-lt) 35%, var(--tmo-gold));
    color: var(--tmo-navy-dk);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(188,149,92,.30);
}
.tmo-pill__txt { position: relative; z-index: 1; }
.tmo-pill__dot { position: relative; z-index: 1; width: 7px; height: 7px; border-radius: 50%; background: var(--tmo-navy); box-shadow: 0 0 0 3px rgba(26,35,73,.18); flex: none; }
.tmo-pill::after {                       /* soft shimmer sweep */
    content: "";
    position: absolute; top: 0; bottom: 0; left: -60%;
    width: 50%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.6), transparent);
    animation: tmoShimmer 4.5s ease-in-out infinite;
}
@keyframes tmoShimmer {
    0%, 55% { transform: translateX(0); }
    100%    { transform: translateX(380%); }
}

.tmo-home .tmo-home__title {
    margin: 22px 0 16px;
    font-family: var(--tmo-serif);
    font-size: clamp(32px, 3.6vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    color: #fff;
    letter-spacing: -.015em;
}
.tmo-home__free {
    position: relative;
    display: inline-block;
    font-style: italic;
    padding-right: .06em;
    background: linear-gradient(120deg, var(--tmo-gold-pale) 0%, var(--tmo-gold-lt) 35%, var(--tmo-gold) 70%, var(--tmo-gold-lt) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: var(--tmo-gold-lt);
    -webkit-text-fill-color: transparent;
}
.tmo-home__free::after {                  /* hand-drawn style underline */
    content: "";
    position: absolute; left: 2%; right: 4%; bottom: -.04em;
    height: .1em;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--tmo-gold) 15%, var(--tmo-gold-lt) 85%, transparent);
    opacity: .8;
}
.tmo-br { display: none; }
.tmo-home .tmo-home__sub {
    margin: 0;
    max-width: 540px;
    color: rgba(255,255,255,.74);
    font-size: 16px;
    line-height: 1.7;
}

.tmo-home__perks {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin: 24px 0 0; padding: 0; list-style: none;
}
.tmo-home__perks li {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 14px 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(240,201,122,.22);
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.9);
    font-size: 13.5px; font-weight: 600;
}
.tmo-tick {
    position: relative; flex: none;
    width: 18px; height: 18px; border-radius: 50%;
    background: linear-gradient(135deg, var(--tmo-gold-lt), var(--tmo-gold));
}
.tmo-tick::after {
    content: ""; position: absolute; left: 6px; top: 3.5px;
    width: 5px; height: 9px;
    border: solid var(--tmo-navy-dk); border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.tmo-scarcity { margin-top: 26px; max-width: 440px; }
.tmo-scarcity__txt {
    display: flex; align-items: center; gap: 10px;
    color: var(--tmo-gold-pale);
    font-size: 14px; font-weight: 600; letter-spacing: .2px;
}
.tmo-scarcity__txt strong { color: var(--tmo-gold-lt); font-size: 16px; }
.tmo-live {                               /* gentle "live" beacon */
    position: relative; flex: none;
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--tmo-gold-lt);
}
.tmo-live::after {
    content: ""; position: absolute; inset: -4px; border-radius: 50%;
    border: 1px solid var(--tmo-gold-lt);
    animation: tmoBeacon 2.4s ease-out infinite;
}
@keyframes tmoBeacon { from { transform: scale(.6); opacity: .9; } to { transform: scale(2); opacity: 0; } }
.tmo-progress {
    margin-top: 10px;
    height: 5px;
    border-radius: 999px;
    background: rgba(240,201,122,.16);
    overflow: hidden;
}
.tmo-progress__bar {
    display: block;
    height: 100%;
    min-width: 5px;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tmo-gold), var(--tmo-gold-lt));
}

/* ── The "Founding Member Pass" panel ── */
.tmo-pass {
    padding: 26px 28px 24px;
    border-radius: 22px;
    border: 1px solid rgba(240,201,122,.32);
    background:
        linear-gradient(160deg, rgba(255,255,255,.085), rgba(255,255,255,.025) 55%, rgba(188,149,92,.07));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 48px -18px rgba(0,0,0,.45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.tmo-pass__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.tmo-pass__label {
    color: var(--tmo-gold-lt);
    font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
}
.tmo-pass__plan {
    padding: 4px 10px; border-radius: 999px;
    background: rgba(240,201,122,.12);
    color: rgba(255,255,255,.82);
    font-size: 11.5px; font-weight: 600;
}
.tmo-pass__price { display: flex; align-items: center; gap: 16px; margin-top: 14px; }
.tmo-pass__zero {
    font-family: var(--tmo-serif);
    font-size: clamp(64px, 6.4vw, 84px);
    font-weight: 700;
    line-height: .95;
    background: linear-gradient(140deg, var(--tmo-gold-pale) 0%, var(--tmo-gold-lt) 30%, var(--tmo-gold) 65%, var(--tmo-gold-dk) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: var(--tmo-gold-lt);
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 6px 18px rgba(188,149,92,.25));
}
.tmo-pass__was { display: flex; flex-direction: column; gap: 6px; }
.tmo-pass__was s { color: rgba(255,255,255,.5); font-size: 17px; font-weight: 600; text-decoration-thickness: 1.5px; }
.tmo-pass__save {
    align-self: flex-start;
    padding: 4px 10px; border-radius: 6px;
    background: rgba(240,201,122,.14);
    border: 1px solid rgba(240,201,122,.3);
    color: var(--tmo-gold-pale);
    font-size: 12px; font-weight: 700; letter-spacing: .3px;
}
.tmo-pass__rule {
    height: 0; margin: 22px 0 18px;
    border-top: 1px dashed rgba(240,201,122,.32);
}
.tmo-pass__cd-lbl {
    margin-bottom: 10px;
    color: rgba(255,255,255,.6);
    font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}

.tmo-countdown { display: flex; align-items: flex-start; gap: 6px; margin: 0 0 22px; }
.tmo-countdown__unit {
    flex: 1 1 0; min-width: 0;
    padding: 12px 6px 9px;
    border-radius: 14px;
    border: 1px solid rgba(240,201,122,.22);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    text-align: center;
    overflow: hidden;
}
.tmo-countdown__unit b {
    display: block;
    font-family: var(--tmo-serif);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.05;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
.tmo-countdown__unit b.is-tick { animation: tmoTick .45s cubic-bezier(.2,.8,.2,1); }
@keyframes tmoTick { from { transform: translateY(-35%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.tmo-countdown__unit--s b { color: var(--tmo-gold-lt); }
.tmo-countdown__unit span {
    display: block;
    margin-top: 4px;
    color: var(--tmo-gold-lt);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.tmo-countdown__sep {
    align-self: center;
    margin-top: -14px;
    color: rgba(240,201,122,.55);
    font-family: var(--tmo-serif);
    font-size: 22px; font-style: normal; font-weight: 700;
}

.tmo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tmo-btn svg { width: 18px; height: 18px; flex: none; }
.tmo-btn--block { display: flex; width: 100%; min-height: 56px; font-size: 16px; }
.tmo-btn--gold {
    position: relative; overflow: hidden;
    background: linear-gradient(135deg, var(--tmo-gold-pale) 0%, var(--tmo-gold-lt) 25%, var(--tmo-gold) 65%, var(--tmo-gold-dk) 100%);
    color: var(--tmo-navy-dk) !important;
    box-shadow: 0 14px 30px -8px rgba(188,149,92,.6), inset 0 1px 0 rgba(255,255,255,.45);
}
.tmo-btn--gold::after {
    content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
    animation: tmoShimmer 5.5s ease-in-out infinite;
}
.tmo-btn--gold:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -8px rgba(188,149,92,.7), inset 0 1px 0 rgba(255,255,255,.45); }
.tmo-btn__arrow { transition: transform .2s ease; }
.tmo-btn--gold:hover .tmo-btn__arrow { transform: translateX(4px); }
.tmo-btn--ghost {
    color: #fff !important;
    border: 1px solid rgba(240,201,122,.4);
    background: rgba(255,255,255,.04);
}
.tmo-btn--ghost:hover { background: rgba(240,201,122,.12); transform: translateY(-2px); }
.tmo-btn:focus-visible, .tmo-pass__call:focus-visible { outline: 2px solid var(--tmo-gold-lt); outline-offset: 3px; }
.tmo-pass__alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin-top: 14px; }
.tmo-pass__alt .tmo-btn { min-height: 46px; padding: 11px 18px; font-size: 14.5px; }
.tmo-pass__call {
    display: inline-flex; align-items: center; gap: 7px;
    color: rgba(255,255,255,.78) !important;
    font-size: 14px; font-weight: 600;
    text-decoration: none !important;
}
.tmo-pass__call svg { width: 16px; height: 16px; color: var(--tmo-gold-lt); }
.tmo-pass__call:hover { color: var(--tmo-gold-lt) !important; }

@media (max-width: 1100px) {
    .tmo-home .tmo-home__card { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); padding: 64px 0; gap: 36px 44px; }
}
@media (max-width: 991px) {
    .tmo-home .tmo-home__card { grid-template-columns: 1fr; padding: 56px 0; text-align: left; }
    .tmo-pass { max-width: 560px; width: 100%; }
    .tmo-home__mark { font-size: 200px; }
}
@media (max-width: 640px) {
    .tmo-home .tmo-home__card { padding: 44px 0 40px; gap: 28px; }
    .tmo-pill { font-size: 10px; letter-spacing: 1px; padding: 6px 12px 6px 10px; }
    .tmo-br { display: inline; }
    .tmo-home .tmo-home__sub { font-size: 14.5px; }
    .tmo-home__perks li { font-size: 12.5px; padding: 7px 12px 7px 8px; }
    .tmo-home__mark { font-size: 150px; bottom: -40px; }
    .tmo-pass { padding: 20px 16px 18px; border-radius: 18px; }
    .tmo-pass__zero { font-size: 60px; }
    .tmo-countdown { gap: 3px; }
    .tmo-countdown__unit { padding: 10px 2px 8px; border-radius: 11px; }
    .tmo-countdown__unit b { font-size: 24px; }
    .tmo-countdown__unit span { font-size: 9px; letter-spacing: .8px; }
    .tmo-countdown__sep { font-size: 16px; margin-top: -12px; }
    .tmo-pass__alt .tmo-btn { flex: 1 1 100%; }
    .tmo-pass__alt { justify-content: center; }
}

/* ── Compact height + highlighted contact buttons ── */
.tmo-home .tmo-home__card { padding: 44px 0; gap: 28px 56px; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); }
.tmo-home .tmo-home__title { margin: 14px 0 10px; font-size: clamp(30px, 3vw, 44px); line-height: 1.1; }
.tmo-home .tmo-home__sub { font-size: 15px; line-height: 1.6; max-width: 600px; }
.tmo-home__perks { margin-top: 16px; gap: 8px; }
.tmo-home__perks li { padding: 6px 12px 6px 8px; font-size: 13px; }
.tmo-scarcity { margin-top: 16px; }
.tmo-home__mark { font-size: 200px; bottom: -56px; }

.tmo-pass { padding: 18px 20px; border-radius: 20px; }
.tmo-pass__price { margin-top: 8px; gap: 14px; }
.tmo-pass__zero { font-size: clamp(48px, 4.6vw, 60px); }
.tmo-pass__was s { font-size: 15px; }
.tmo-pass__rule { margin: 12px 0 10px; }
.tmo-pass__cd-lbl { margin-bottom: 7px; font-size: 10.5px; }
.tmo-countdown { margin-bottom: 14px; }
.tmo-countdown__unit { padding: 7px 4px 6px; border-radius: 12px; }
.tmo-countdown__unit b { font-size: 26px; }
.tmo-countdown__unit span { margin-top: 2px; font-size: 9.5px; }
.tmo-countdown__sep { font-size: 18px; margin-top: -12px; }
.tmo-btn--block { min-height: 50px; font-size: 15.5px; }

.tmo-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(196px, 1fr)); gap: 10px; margin-top: 10px; }
.tmo-contact__btn {
    display: flex; align-items: center; gap: 10px;
    min-width: 0;
    padding: 8px 10px 8px 7px;
    border-radius: 14px;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tmo-contact__btn:hover { transform: translateY(-2px); }
.tmo-contact__btn:focus-visible { outline: 2px solid var(--tmo-gold-lt); outline-offset: 3px; }
.tmo-contact__ico {
    flex: none;
    display: grid; place-items: center;
    width: 34px; height: 34px; border-radius: 50%;
}
.tmo-contact__ico svg { width: 18px; height: 18px; }
.tmo-contact__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.tmo-contact__txt small { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; opacity: .8; }
.tmo-contact__txt strong { font-size: 14.5px; font-weight: 800; white-space: nowrap; }
/* WhatsApp — brand green so it is recognised at a glance */
.tmo-contact__btn--wa {
    background: rgba(37,211,102,.12);
    border: 1px solid rgba(37,211,102,.55);
    color: #fff !important;
}
.tmo-contact__btn--wa .tmo-contact__ico { background: #25d366; color: #fff; box-shadow: 0 6px 16px rgba(37,211,102,.35); }
.tmo-contact__btn--wa small { color: #8af0b4; }
.tmo-contact__btn--wa:hover { background: rgba(37,211,102,.2); box-shadow: 0 10px 24px -8px rgba(37,211,102,.45); }
/* Call — gold */
.tmo-contact__btn--call {
    background: rgba(240,201,122,.10);
    border: 1px solid rgba(240,201,122,.55);
    color: #fff !important;
}
.tmo-contact__btn--call .tmo-contact__ico { background: linear-gradient(135deg, var(--tmo-gold-lt), var(--tmo-gold)); color: var(--tmo-navy-dk); box-shadow: 0 6px 16px rgba(188,149,92,.35); }
.tmo-contact__btn--call small { color: var(--tmo-gold-lt); }
.tmo-contact__btn--call strong { color: var(--tmo-gold-pale); letter-spacing: .2px; }
.tmo-contact__btn--call:hover { background: rgba(240,201,122,.18); box-shadow: 0 10px 24px -8px rgba(188,149,92,.45); }

@media (max-width: 1100px) {
    .tmo-home .tmo-home__card { padding: 40px 0; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 28px 40px; }
}
@media (max-width: 991px) {
    .tmo-home .tmo-home__card { grid-template-columns: 1fr; padding: 36px 0; gap: 24px; }
    .tmo-home__mark { display: none; }
}
@media (max-width: 640px) {
    .tmo-home .tmo-home__card { padding: 28px 0 26px; gap: 20px; }
    .tmo-home .tmo-home__title { font-size: 28px; margin: 12px 0 8px; }
    .tmo-home .tmo-home__sub { font-size: 14px; }
    .tmo-home__perks { margin-top: 12px; gap: 6px; }
    .tmo-home__perks li { font-size: 12px; padding: 5px 10px 5px 6px; }
    .tmo-tick { width: 16px; height: 16px; }
    .tmo-tick::after { left: 5px; top: 3px; width: 4.5px; height: 8px; }
    .tmo-scarcity { margin-top: 12px; }
    .tmo-pass { padding: 16px 14px; }
    .tmo-pass__zero { font-size: 50px; }
    .tmo-countdown__unit b { font-size: 22px; }
    .tmo-contact { grid-template-columns: 1fr; gap: 8px; }
    .tmo-contact__btn { padding: 7px 8px 7px 7px; gap: 8px; border-radius: 12px; }
    .tmo-contact__ico { width: 32px; height: 32px; }
    .tmo-contact__ico svg { width: 17px; height: 17px; }
    .tmo-contact__txt small { font-size: 9.5px; letter-spacing: .8px; }
    .tmo-contact__txt strong { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .tmo-contact__btn, .tmo-contact__btn:hover { transition: none; transform: none; }
}

/* Standard-height digits (Playfair defaults to old-style figures, so "₹0" read as "₹o") */
.tmo-pass__zero, .tmo-countdown__unit b, .tmo-home__title { font-variant-numeric: lining-nums tabular-nums; }

/* ── Card variant (/add-listing): rounded navy card inside the page container ── */
.tmo-home.tmo-home--card { margin: 0 0 64px; color: #fff; }
.tmo-home.tmo-home--card .tmo-home__card {
    padding: 38px 44px;
    border-radius: 26px;
    border: 1px solid transparent;
    color: #fff;
    background:
        radial-gradient(55% 80% at 100% 0%, rgba(188,149,92,.24), transparent 60%) padding-box,
        radial-gradient(60% 90% at 0% 100%, rgba(240,201,122,.10), transparent 60%) padding-box,
        repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 18px) padding-box,
        linear-gradient(140deg, #1d2753 0%, var(--tmo-navy) 40%, var(--tmo-navy-dk) 100%) padding-box,
        linear-gradient(135deg, rgba(251,231,176,.9), rgba(188,149,92,.35) 30%, rgba(146,79,24,.25) 55%, rgba(240,201,122,.85)) border-box;
    box-shadow: 0 28px 60px -24px rgba(15,21,48,.55);
    overflow: hidden;
}
.tmo-home.tmo-home--card .tmo-home__mark { left: 18px; bottom: -60px; }
@media (max-width: 1199px) {
    .tmo-home.tmo-home--card .tmo-home__card { padding: 34px 32px; }
}
@media (max-width: 991px) {
    .tmo-home.tmo-home--card { margin-bottom: 52px; }
    .tmo-home.tmo-home--card .tmo-home__card { padding: 30px 26px; }
}
@media (max-width: 640px) {
    .tmo-home.tmo-home--card { margin-bottom: 40px; }
    .tmo-home.tmo-home--card .tmo-home__card { padding: 24px 16px 18px; border-radius: 20px; }
}

/* ── Ribbon (add-listing) / strip (pricing) ────────────────── */
.tmo-ribbon { display: flex; justify-content: center; margin: 0 0 18px; }
.tmo-ribbon__in {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 10px;
    max-width: 100%;
    padding: 9px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tmo-navy), var(--tmo-navy-dk));
    border: 1px solid rgba(240,201,122,.55);
    box-shadow: 0 8px 22px rgba(15,21,48,.14);
    color: rgba(255,255,255,.86);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}
.tmo-ribbon__star { color: var(--tmo-gold-lt); }
.tmo-ribbon__part--lead { color: var(--tmo-gold-lt); font-weight: 800; }
.tmo-ribbon__dot { color: rgba(240,201,122,.6); }
.tmo-ribbon--strip { margin: 34px auto 6px; max-width: 760px; }
.tmo-ribbon--strip .tmo-ribbon__in { display: flex; width: 100%; border-radius: 14px; padding: 12px 20px; }
@media (max-width: 576px) {
    .tmo-ribbon__in { border-radius: 16px; padding: 9px 14px; font-size: 12.5px; }
    .tmo-ribbon__dot { display: none; }
    .tmo-ribbon__part { flex-basis: 100%; }
}

/* ── Animated announcement bar (/add-listing top) ─────────── */
@property --tmo-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.tmo-flash-wrap { display: flex; justify-content: center; margin: 0 0 22px; }
.tmo-flash {
    --tmo-navy: #1a2349; --tmo-navy-dk: #0f1530;
    --tmo-gold: #bc955c; --tmo-gold-lt: #f0c97a; --tmo-gold-pale: #fbe7b0; --tmo-gold-dk: #924f18;
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding: 1.5px;                                   /* the travelling gold border */
    border-radius: 999px;
    text-decoration: none !important;
    background: conic-gradient(from var(--tmo-angle),
        rgba(240,201,122,.25) 0deg, var(--tmo-gold-pale) 40deg, var(--tmo-gold) 80deg,
        rgba(240,201,122,.25) 140deg, rgba(240,201,122,.25) 220deg, var(--tmo-gold-lt) 280deg, rgba(240,201,122,.25) 330deg);
    animation: tmoSpin 5s linear infinite, tmoGlow 2.8s ease-in-out infinite;
    transition: transform .2s ease;
}
.tmo-flash:hover { transform: translateY(-2px); }
.tmo-flash:focus-visible { outline: 2px solid var(--tmo-gold-lt); outline-offset: 4px; }
@keyframes tmoSpin { to { --tmo-angle: 360deg; } }
@keyframes tmoGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(240,201,122,0), 0 10px 26px rgba(15,21,48,.25); }
    50%      { box-shadow: 0 0 22px 2px rgba(240,201,122,.35), 0 10px 26px rgba(15,21,48,.25); }
}
.tmo-flash__inner {
    position: relative;
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 6px 14px;
    padding: 7px 8px 7px 8px;
    border-radius: 999px;
    background:
        radial-gradient(120% 200% at 0% 50%, rgba(240,201,122,.14), transparent 45%),
        linear-gradient(135deg, #1d2753, var(--tmo-navy-dk));
    color: rgba(255,255,255,.86);
    font-size: 14px; font-weight: 600; line-height: 1.35;
    overflow: hidden;
}
.tmo-flash__inner::after {                            /* shimmer sweep */
    content: "";
    position: absolute; top: 0; bottom: 0; left: -30%; width: 22%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.16), transparent);
    transform: skewX(-18deg);
    animation: tmoSweep 3.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes tmoSweep { 0%, 35% { left: -30%; } 100% { left: 130%; } }

.tmo-flash__badge {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 5px 11px 5px 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--tmo-gold-pale), var(--tmo-gold-lt) 40%, var(--tmo-gold));
    color: var(--tmo-navy-dk);
    font-size: 10.5px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase;
    white-space: nowrap;
}
.tmo-flash__ping { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--tmo-navy); }
.tmo-flash__ping::after {
    content: ""; position: absolute; inset: 0; border-radius: 50%;
    background: var(--tmo-navy);
    animation: tmoPing 1.6s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes tmoPing { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(2.6); opacity: 0; } }

.tmo-flash__main { position: relative; z-index: 1; color: #fff; font-size: 15px; white-space: nowrap; }
.tmo-flash__spark { display: inline-block; margin-right: 4px; color: var(--tmo-gold-lt); animation: tmoTwinkle 2.2s ease-in-out infinite; }
@keyframes tmoTwinkle { 0%, 100% { opacity: 1; transform: scale(1) rotate(0); } 50% { opacity: .45; transform: scale(.7) rotate(45deg); } }
.tmo-flash__gold {
    font-weight: 800;
    background: linear-gradient(100deg, var(--tmo-gold) 0%, var(--tmo-gold-pale) 25%, var(--tmo-gold-lt) 50%, var(--tmo-gold) 75%, var(--tmo-gold-pale) 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text; background-clip: text;
    color: var(--tmo-gold-lt);
    -webkit-text-fill-color: transparent;
    animation: tmoTextShine 3.2s linear infinite;
}
@keyframes tmoTextShine { to { background-position: -200% 0; } }

.tmo-flash__meta {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; gap: 10px;
    color: rgba(255,255,255,.72); font-size: 13.5px; font-weight: 500;
    white-space: nowrap;
}
.tmo-flash__dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(240,201,122,.7); }

.tmo-flash__cta {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(240,201,122,.55);
    color: var(--tmo-gold-lt);
    font-size: 13px; font-weight: 800; letter-spacing: .3px;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease;
}
.tmo-flash:hover .tmo-flash__cta { background: var(--tmo-gold-lt); color: var(--tmo-navy-dk); }

@media (max-width: 767px) {
    .tmo-flash { border-radius: 22px; }
    .tmo-flash__inner { border-radius: 21px; padding: 12px 14px; gap: 8px 10px; }
    .tmo-flash__main { white-space: normal; text-align: center; flex-basis: 100%; font-size: 15px; }
    .tmo-flash__meta { font-size: 12.5px; }
}
@media (max-width: 400px) {
    .tmo-flash__meta { flex-wrap: wrap; justify-content: center; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
    .tmo-flash, .tmo-flash__inner::after, .tmo-flash__ping::after, .tmo-flash__spark, .tmo-flash__gold { animation: none; }
    .tmo-flash { box-shadow: 0 0 18px rgba(240,201,122,.25); }
    .tmo-flash:hover { transform: none; }
}

/* ── "Live deals right now" (/add-quick-deal) ─────────────── */
.tmo-live-deals {
    --tmo-navy: #1a2349; --tmo-gold: #bc955c; --tmo-gold-lt: #f0c97a; --tmo-gold-dk: #924f18;
    padding: 0 0 70px;
    background: var(--tm-bg, #f8f6f1);
}
.tmo-live-deals__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 22px; }
.tmo-live-deals__eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 5px 12px; border-radius: 999px;
    background: rgba(188,149,92,.14); color: var(--tmo-gold-dk);
    font-size: 11px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase;
}
.tmo-live-deals__dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: #22a35a; }
.tmo-live-deals__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #22a35a; animation: tmoPing 1.8s cubic-bezier(0,0,.2,1) infinite; }
.tmo-live-deals h2 { margin: 10px 0 6px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; color: var(--tmo-navy); }
.tmo-live-deals h2 em { color: var(--tmo-gold); font-style: italic; }
.tmo-live-deals__head p { margin: 0; color: #64748b; font-size: 14.5px; }
.tmo-live-deals__all {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 16px; border-radius: 999px;
    border: 1px solid rgba(188,149,92,.5); background: #fff;
    color: var(--tmo-navy) !important; font-size: 14px; font-weight: 700; text-decoration: none !important;
    transition: background-color .2s ease, transform .2s ease;
}
.tmo-live-deals__all:hover { background: #fbf7ef; transform: translateY(-1px); }
.tmo-live-deals__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tmo-deal {
    display: flex; flex-direction: column;
    border-radius: 18px; overflow: hidden;
    background: #fff; border: 1px solid #ece3d4;
    box-shadow: 0 6px 18px rgba(15,21,48,.06);
    text-decoration: none !important; color: inherit !important;
    transition: transform .25s ease, box-shadow .25s ease;
}
.tmo-deal:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(15,21,48,.12); }
.tmo-deal__img { position: relative; display: block; aspect-ratio: 1 / 1; background: #f1ece2; overflow: hidden; }
.tmo-deal__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.tmo-deal:hover .tmo-deal__img img { transform: scale(1.04); }
.tmo-deal__tag {
    position: absolute; top: 12px; left: 12px;
    padding: 4px 10px; border-radius: 999px;
    background: rgba(26,35,73,.88); color: var(--tmo-gold-lt);
    font-size: 11px; font-weight: 800; letter-spacing: .6px;
}
.tmo-deal__body { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 16px; flex: 1; }
.tmo-deal__title { color: var(--tmo-navy); font-size: 16px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tmo-deal__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; color: #64748b; font-size: 12.5px; }
.tmo-deal__meta span { display: inline-flex; align-items: center; gap: 5px; }
.tmo-deal__meta svg { width: 13px; height: 13px; color: var(--tmo-gold); }
.tmo-deal__cta { margin-top: auto; padding-top: 4px; color: var(--tmo-gold-dk); font-size: 13.5px; font-weight: 800; }
@media (max-width: 991px) {
    .tmo-live-deals__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .tmo-live-deals { padding-bottom: 48px; }
    .tmo-live-deals__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 6px; margin: 0 -12px; padding-left: 12px; padding-right: 12px; }
    .tmo-deal { flex: 0 0 78%; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
    .tmo-live-deals__dot::after { animation: none; }
    .tmo-deal, .tmo-deal:hover, .tmo-deal__img img, .tmo-deal:hover .tmo-deal__img img { transition: none; transform: none; }
}

/* Narrow phones: the corner tab and the card pill would collide on the top edge,
   so the tab drops inside the card, just under the pill. */
@media (max-width: 480px) {
    .tm-pkg .tmo-corner, .pg-card .tmo-corner {
        position: relative; top: auto; right: auto;
        align-self: flex-start; display: inline-block;
        margin: -6px 0 14px; font-size: 10px;
    }
}

/* /add-quick-deal hero: clear the fixed 72px top bar on phones & tablets (the hero's
   own mobile padding is only 48–60px, so the first row slid under the bar). */
@media (max-width: 991px) { .tm-hero.tm-hero--deal { padding-top: 92px; } }
@media (max-width: 576px) { .tm-hero.tm-hero--deal { padding-top: 88px; } }

/* ── Basic package card (add-listing .tm-pkg & pricing .pg-card) ── */
.tmo-offer-card {
    border-color: var(--tmo-gold) !important;
    box-shadow: 0 0 0 1px rgba(188,149,92,.45), 0 16px 42px rgba(188,149,92,.22) !important;
}
.tmo-offer-card:hover { box-shadow: 0 0 0 1px rgba(188,149,92,.6), 0 22px 50px rgba(188,149,92,.30) !important; }

.tmo-corner {
    position: absolute;
    top: -13px; right: 22px;
    z-index: 2;
    padding: 6px 13px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--tmo-gold-lt), var(--tmo-gold) 60%, var(--tmo-gold-dk));
    color: var(--tmo-navy-dk);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 1.2px;
    line-height: 1.3;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(188,149,92,.35);
    overflow: hidden;
}
.tmo-corner__txt { position: relative; z-index: 1; }
.tmo-corner::after {
    content: "";
    position: absolute; top: 0; bottom: 0; left: -60%;
    width: 45%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.6), transparent);
    animation: tmoShimmer 5s ease-in-out infinite;
}
.pg-card .tmo-corner { right: 28px; font-size: 11px; }

.tmo-price { text-align: right; }
.tmo-price__free {
    font-size: 1.95rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .02em;
    color: var(--tmo-gold);
    background: linear-gradient(135deg, var(--tmo-gold) 0%, var(--tmo-gold-dk) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tmo-price__was { margin-top: 6px; font-size: 11.5px; font-weight: 500; color: #94a3b8; }
.tmo-price__was s { text-decoration-thickness: 1px; }
.tmo-price__note {
    margin-top: 6px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--tmo-gold-dk);
    white-space: nowrap;
}
/* add-listing cards are narrow: let the note wrap so the title column keeps its width */
.tm-pkg .tmo-price { white-space: normal; }
.tm-pkg .tmo-price__was { white-space: nowrap; }
.tm-pkg .tmo-price__note { white-space: normal; max-width: 136px; margin-left: auto; line-height: 1.35; }
.pg-card .tmo-price__free { font-family: var(--pg-serif, var(--tmo-serif)); font-size: 38px; font-weight: 700; }
.pg-card .tmo-price__was { font-size: 12px; }

/* Gold CTA on the offer Basic card (replaces Basic's orange) */
.tm-pkg--basic.tmo-offer-card .tm-pkg-btn {
    background: linear-gradient(135deg, var(--tmo-gold) 0%, var(--tmo-gold-dk) 100%);
    box-shadow: 0 8px 18px rgba(188,149,92,.38);
}
.pg-card--basic.tmo-offer-card .pg-card-cta a {
    background: linear-gradient(135deg, var(--tmo-gold) 0%, var(--tmo-gold-dk) 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(188,149,92,.32);
}

/* ── add-listing: selected package + terms ─────────────────── */
.tmo-sel-free { color: var(--tm-gold-dk, #924f18); font-weight: 700; font-size: .85rem; }
.tmo-terms {
    margin: 4px 0 16px;
    padding: 11px 14px;
    border-radius: 10px;
    border-left: 3px solid var(--tmo-gold);
    background: var(--tmo-cream);
    color: #475569;
    font-size: 12.5px;
    line-height: 1.55;
}
.tmo-terms strong { color: var(--tmo-navy); }

@media (prefers-reduced-motion: reduce) {
    .tmo-pill::after, .tmo-corner::after, .tmo-btn--gold::after, .tmo-live::after { animation: none; display: none; }
    .tmo-home__glow { animation: none; }
    .tmo-countdown__unit b.is-tick { animation: none; }
    .tmo-btn, .tmo-btn:hover, .tmo-btn__arrow { transition: none; transform: none; }
}
