@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,500;6..72,700&display=swap");

@font-face {
    font-family: "Josefin Sans";
    src: url("./fonts/JosefinSans-wght.ttf") format("truetype");
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Josefin Sans";
    src: url("./fonts/JosefinSans-Italic-wght.ttf") format("truetype");
    font-weight: 100 700;
    font-style: italic;
    font-display: swap;
}

body.tp-portal-v6-body {
    --tp-pv6-bg: #0a0c0f;
    --tp-pv6-panel: rgba(15, 18, 21, 0.8);
    --tp-pv6-panel-soft: rgba(18, 22, 27, 0.58);
    --tp-pv6-line: rgba(255, 255, 255, 0.1);
    --tp-pv6-text: #f6f1e7;
    --tp-pv6-muted: rgba(246, 241, 231, 0.72);
    --tp-pv6-warm: rgb(var(--tp-accent-b, 252, 209, 22));
    --tp-pv6-rich: rgb(var(--tp-accent-a, 206, 17, 38));
    --tp-pv6-leaf: rgb(var(--tp-accent-c, 0, 107, 63));
    --tp-pv6-shadow: 0 30px 90px rgba(0, 0, 0, 0.33);
    background:
        radial-gradient(900px 600px at 8% 0%, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), transparent 60%),
        radial-gradient(760px 480px at 46% 6%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16), transparent 62%),
        radial-gradient(900px 700px at 100% 12%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18), transparent 55%),
        linear-gradient(180deg, #08090c 0%, #0d1014 48%, #10151a 100%);
    color: var(--tp-pv6-text);
    overflow-x: hidden;
    padding-top: 0 !important;
}

body.tp-portal-v6-body #masthead,
body.tp-portal-v6-body .site-header,
body.tp-portal-v6-body .header,
body.tp-portal-v6-body .site-navigation,
body.tp-portal-v6-body #colophon,
body.tp-portal-v6-body .site-footer,
body.tp-portal-v6-body footer[role="contentinfo"],
body.tp-portal-v6-body .tpops,
body.tp-portal-v6-body #tpops-panel,
body.tp-portal-v6-body .tpops-dock,
body.tp-portal-v6-body .tpus-passportFab,
body.tp-portal-v6-body .tpus-passportChips,
body.tp-portal-v6-body #tp-spaces-cta-float {
    display: none !important;
}

body.tp-portal-v6-body #page,
body.tp-portal-v6-body .site,
body.tp-portal-v6-body #content,
body.tp-portal-v6-body .site-content {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tp-pv6--savedhubOpen {
    overflow: hidden;
}

.tp-pv6 {
    position: relative;
    min-height: 100vh;
    padding-bottom: 132px;
    font-family: "Josefin Sans", "Segoe UI", sans-serif;
    color: var(--tp-pv6-text);
    --tpv1-text: var(--tp-pv6-text);
    --tpv1-muted: var(--tp-pv6-muted);
    --tpv1-muted2: rgba(246, 241, 231, 0.56);
    --tpv1-glass: rgba(255, 255, 255, 0.08);
    --tpv1-glass-strong: rgba(255, 255, 255, 0.12);
    --tpv1-border: rgba(255, 255, 255, 0.16);
    --tpv1-shadow: var(--tp-pv6-shadow);
    --tpv1-radius: 18px;
    --tpv1-accent-a: var(--tp-accent-a, 206, 17, 38);
    --tpv1-accent-b: var(--tp-accent-b, 252, 209, 22);
    --tpv1-accent-c: var(--tp-accent-c, 0, 107, 63);
    --tpv1-red: rgb(var(--tpv1-accent-a));
    --tpv1-gold: rgb(var(--tpv1-accent-b));
    --tpv1-green: rgb(var(--tpv1-accent-c));
    --tpv1-accent: var(--tpv1-red);
    --tpv1-accent2: var(--tpv1-green);
}

.tp-pv6__ambient {
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(520px 360px at 12% 18%, rgba(var(--tp-accent-a, 206, 17, 38), 0.08), transparent 68%),
        radial-gradient(460px 280px at 46% 10%, rgba(255, 220, 132, 0.08), transparent 68%),
        radial-gradient(600px 420px at 82% 10%, rgba(var(--tp-accent-c, 0, 107, 63), 0.08), transparent 60%);
}

.tp-pv6__topbar,
.tp-pv6__hero,
.tp-pv6__adBand,
.tp-pv6__section {
    position: relative;
    z-index: 1;
}

.tp-pv6__topbar,
.tp-pv6__hero,
.tp-pv6__adBand,
.tp-pv6__section {
    width: min(1320px, calc(100% - 28px));
    margin-left: auto;
    margin-right: auto;
}

.tp-pv6__topbar {
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.tp-pv6__adBand {
    margin-top: 14px;
    padding: 10px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.045)),
        rgba(12, 14, 18, 0.74);
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(18px);
}

.tp-pv6__adLabel {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 6px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(246, 241, 231, 0.66);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.tp-pv6__adBand .tpac-slot {
    min-width: 0;
    display: grid;
    gap: 10px;
}

.tp-pv6__adBand .tpac-slot-ad {
    min-width: 0;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(150px, 280px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
}

.tp-pv6__adBand .tpac-slot-media {
    display: block;
    min-height: 92px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.07);
}

.tp-pv6__adBand .tpac-slot-media img {
    width: 100%;
    height: 100%;
    min-height: 92px;
    aspect-ratio: 16 / 6;
    object-fit: cover;
}

.tp-pv6__adBand .tpac-slot-ad h3 {
    margin: 0;
    font-size: clamp(18px, 2vw, 28px);
    line-height: 1.05;
    letter-spacing: 0;
    color: #fff8e8;
}

.tp-pv6__adBand .tpac-slot-ad p {
    margin: 5px 0 0;
    max-width: 62ch;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(246, 241, 231, 0.74);
}

.tp-pv6__adBand .tpac-slot-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.42);
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.14);
    color: #fff8e8;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 820px) {
    .tp-pv6__adBand {
        grid-template-columns: 1fr;
    }

    .tp-pv6__adLabel {
        writing-mode: horizontal-tb;
        transform: none;
        justify-self: start;
        align-self: auto;
        padding: 7px 10px;
    }

    .tp-pv6__adBand .tpac-slot-ad {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tp-pv6__adBand .tpac-slot-media,
    .tp-pv6__adBand .tpac-slot-media img {
        min-height: 120px;
    }

    .tp-pv6__adBand .tpac-slot-cta {
        width: 100%;
    }
}

.tp-pv6__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.tp-pv6__brandMark {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.46) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.22) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.46) 100%),
        rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.tp-pv6__brandMark::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: inherit;
    background: rgba(8, 9, 11, 0.42);
}

.tp-pv6__brandMark > span,
.tp-pv6__brandIcon {
    position: relative;
    z-index: 1;
}

.tp-pv6__brandIcon {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tp-pv6__brandText,
.tp-pv6__sectionKicker,
.tp-pv6__eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 11px;
}

.tp-pv6__topActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__topLink,
.tp-pv6__inlineLink {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    padding: 10px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
    backdrop-filter: blur(14px);
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__topLink:hover,
.tp-pv6__inlineLink:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.34);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), rgba(var(--tp-accent-b, 252, 209, 22), 0.08), rgba(var(--tp-accent-c, 0, 107, 63), 0.14));
}

.tp-pv6__topLink--button {
    appearance: none;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    font: inherit;
    cursor: pointer;
}

.tp-pv6 a:focus-visible,
.tp-pv6 button:focus-visible,
.tp-pv6 input:focus-visible,
.tp-pv6 select:focus-visible,
.tp-pv6 textarea:focus-visible,
.tp-pv6 iframe:focus-visible {
    outline: 2px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.92);
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(var(--tp-accent-b, 252, 209, 22), 0.16);
}

.tp-pv6__hero {
    position: relative;
    isolation: isolate;
    margin-top: 18px;
    min-height: min(880px, calc(100vh - 82px));
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(12, 14, 18, 0.72);
    box-shadow: var(--tp-pv6-shadow);
}

.tp-pv6__hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 8px;
    z-index: 4;
    background: linear-gradient(
        90deg,
        rgba(var(--tp-accent-a, 206, 17, 38), 0.98) 0%,
        rgba(var(--tp-accent-a, 206, 17, 38), 0.98) 33.33%,
        rgba(var(--tp-accent-b, 252, 209, 22), 0.98) 33.33%,
        rgba(var(--tp-accent-b, 252, 209, 22), 0.98) 66.66%,
        rgba(var(--tp-accent-c, 0, 107, 63), 0.98) 66.66%,
        rgba(var(--tp-accent-c, 0, 107, 63), 0.98) 100%
    );
}

.tp-pv6__hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 2;
    border-radius: 26px;
    pointer-events: none;
    background:
        radial-gradient(520px 240px at 14% 10%, rgba(var(--tp-accent-a, 206, 17, 38), 0.24), transparent 72%),
        radial-gradient(620px 280px at 56% 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.18), transparent 70%),
        radial-gradient(560px 280px at 100% 12%, rgba(var(--tp-accent-c, 0, 107, 63), 0.22), transparent 68%);
    opacity: 0.92;
}

.tp-pv6__heroMedia {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.tp-pv6__stageImage {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.05);
    transition: transform 1200ms ease;
}

.tp-pv6__heroShade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(108deg, rgba(7, 8, 10, 0.94) 0%, rgba(7, 8, 10, 0.52) 40%, rgba(7, 8, 10, 0.18) 100%),
        linear-gradient(125deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.24) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.1) 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.6) 100%);
}

.tp-pv6__heroGrid {
    position: relative;
    z-index: 3;
    min-height: min(880px, calc(100vh - 82px));
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(290px, 0.7fr);
    align-items: end;
    gap: 30px;
    padding: 48px;
}

.tp-pv6__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(246, 241, 231, 0.94);
}

.tp-pv6__eyebrowFlag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255, 239, 201, 0.28);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.54) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.3) 55%, rgba(var(--tp-accent-c, 0, 107, 63), 0.42) 100%);
    color: #fffdf8;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.32);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.tp-pv6__eyebrowFlag::after {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 999px;
    background: rgba(10, 11, 13, 0.92);
}

.tp-pv6__title {
    margin: 16px 0 12px;
    max-width: 10ch;
    font-size: clamp(62px, 10vw, 124px);
    line-height: 0.88;
    letter-spacing: -0.05em;
    font-weight: 630;
    text-wrap: balance;
}

.tp-pv6__summary,
.tp-pv6__sectionCopy,
.tp-pv6__laneCopy,
.tp-pv6__utilityCopy,
.tp-pv6__promptCopy,
.tp-pv6__heroFeatureCopy,
.tp-pv6__placeCopy {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--tp-pv6-muted);
    line-height: 1.68;
}

.tp-pv6__summary {
    max-width: 58ch;
    font-size: 19px;
}

.tp-pv6__heroCopy .tp-portal-v1__modeRow {
    margin-top: 22px;
    max-width: 720px;
}

.tp-pv6__heroCopy .tp-portal-v1__modeChip {
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, rgba(var(--tpv1-accent-a), 0.24), rgba(var(--tpv1-accent-b), 0.18), rgba(var(--tpv1-accent-c), 0.24));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.tp-pv6__heroCopy .tp-portal-v1__modeChip:hover {
    background: linear-gradient(135deg, rgba(var(--tpv1-accent-a), 0.32), rgba(var(--tpv1-accent-b), 0.2), rgba(var(--tpv1-accent-c), 0.3));
}

.tp-pv6__search {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(180px, 0.7fr) auto;
    gap: 10px;
    padding: 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(13, 16, 20, 0.74);
    backdrop-filter: blur(18px);
}

.tp-pv6__search input {
    min-width: 0;
    border: 0;
    border-radius: 14px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--tp-pv6-text);
    font: inherit;
}

.tp-pv6__search input::placeholder {
    color: rgba(246, 241, 231, 0.5);
}

.tp-pv6__search input:focus {
    outline: 2px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.38);
    outline-offset: 0;
}

.tp-pv6__button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: 14px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-weight: 700;
    cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.tp-pv6__button:hover {
    transform: translateY(-1px);
}

.tp-pv6__button--primary {
    border: 1px solid rgba(255, 255, 255, 0.22);
    background:
        linear-gradient(0deg, rgba(6, 8, 10, 0.18), rgba(6, 8, 10, 0.18)),
        linear-gradient(92deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.94) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.98) 54%, rgba(var(--tp-accent-c, 0, 107, 63), 0.94) 100%);
    color: #fffdf8;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.tp-pv6__button--ghost {
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
    color: var(--tp-pv6-text);
}

.tp-pv6__button--soft {
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.22) 100%);
    color: var(--tp-pv6-text);
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.24);
}

.tp-pv6__heroActions {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.tp-pv6__chipRow {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__chip {
    color: inherit;
    text-decoration: none;
    padding: 9px 13px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.16);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14) 100%);
    font-size: 13px;
}

.tp-pv6__chip--active {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.38);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.22) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.22) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.tp-pv6__focusBar {
    margin-top: 18px;
    display: grid;
    grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 22px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.2);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12), rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12)),
        rgba(7, 10, 13, 0.44);
    backdrop-filter: blur(16px);
}

.tp-pv6__focusReadout {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.tp-pv6__focusReadout strong {
    color: #fff8e8;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.2;
}

.tp-pv6__focusForm {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    min-width: 0;
}

.tp-pv6__focusInput {
    width: 100%;
    min-height: 40px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.08);
    color: #fffdf8;
    padding: 0 12px;
    font: 600 13px/1.2 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6__focusInput::placeholder {
    color: rgba(246, 241, 231, 0.54);
}

.tp-pv6__focusButton {
    min-height: 40px;
    border-radius: 14px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.24);
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.14);
    color: #fff8e8;
    padding: 0 12px;
    font: 800 12px/1 "Manrope", "Segoe UI", sans-serif;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    white-space: nowrap;
}

.tp-pv6__focusButton--soft {
    background: rgba(var(--tp-accent-c, 0, 107, 63), 0.15);
    border-color: rgba(var(--tp-accent-c, 0, 107, 63), 0.28);
}

.tp-pv6__focusButton--ghost {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.tp-pv6__focusStatus {
    grid-column: 1 / -1;
    min-height: 0;
    margin: -2px 2px 0;
    color: rgba(246, 241, 231, 0.68);
    font: 600 12px/1.35 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6__heroRail {
    align-self: stretch;
    display: grid;
    gap: 14px;
    align-content: end;
}

.tp-pv6__heroActionPanel {
    position: relative;
    overflow: hidden;
}

.tp-pv6__heroActionPanel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.98) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.98) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.98) 100%);
}

.tp-pv6__heroActionPanel .tp-portal-v1__panelHeader {
    padding-top: 22px;
}

.tp-pv6__heroActionPanel .tp-portal-v1__panelLink {
    border-color: rgba(var(--tpv1-accent-b), 0.26);
    background: rgba(255, 255, 255, 0.08);
}

.tp-pv6__heroActionPanel .tp-portal-v1__button--submit {
    border-color: rgba(255, 255, 255, 0.22);
    background:
        linear-gradient(0deg, rgba(6, 8, 10, 0.18), rgba(6, 8, 10, 0.18)),
        linear-gradient(92deg, rgba(var(--tpv1-accent-a), 0.94) 0%, rgba(var(--tpv1-accent-b), 0.98) 54%, rgba(var(--tpv1-accent-c), 0.94) 100%);
    color: #fffdf8;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.tp-pv6__heroActionPanel .tp-portal-v1__hint a {
    text-decoration-color: rgba(var(--tpv1-accent-b), 0.42);
}

.tp-pv6__heroJourney,
.tp-pv6__receipt {
    display: grid;
    gap: 12px;
    padding: 15px 16px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 38%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14) 100%),
        rgba(10, 12, 16, 0.54);
}

.tp-pv6__receiptIntro {
    display: grid;
    gap: 6px;
}

.tp-pv6__receiptEyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.24);
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.1);
    color: #fff4d7;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tp-pv6__receiptTitle {
    color: #fff7ea;
    font-family: "Fraunces", "Georgia", serif;
    font-size: clamp(1rem, 1.9vw, 1.18rem);
    line-height: 1.28;
}

.tp-pv6__receiptCopy {
    margin: 0;
    color: rgba(244, 237, 224, 0.8);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    line-height: 1.55;
}

.tp-pv6__receiptChips,
.tp-pv6__receiptActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__receiptChip,
.tp-pv6__receiptAction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 247, 234, 0.92);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.tp-pv6__receiptChip[hidden],
.tp-pv6__receiptAction[hidden] {
    display: none;
}

.tp-pv6__receiptAction:hover,
.tp-pv6__receiptAction:focus-visible {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-1px);
}

.tp-pv6__heroJourney[data-stage="loading"],
.tp-pv6__receipt[data-stage="saved"],
.tp-pv6__receipt[data-stage="winner"] {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
}

.tp-pv6__heroJourney[data-stage="loading"] .tp-pv6__receiptEyebrow {
    background: rgba(var(--tp-accent-a, 206, 17, 38), 0.14);
    border-color: rgba(var(--tp-accent-a, 206, 17, 38), 0.24);
}

.tp-pv6__receipt[data-stage="saved"] .tp-pv6__receiptEyebrow,
.tp-pv6__receipt[data-stage="winner"] .tp-pv6__receiptEyebrow {
    background: rgba(var(--tp-accent-c, 0, 107, 63), 0.18);
    border-color: rgba(var(--tp-accent-c, 0, 107, 63), 0.28);
}

.tp-pv6__heroStatsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__legacyTicker .tp-portal-v1__tickerCard {
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 44%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14) 100%),
        rgba(10, 12, 16, 0.72);
    backdrop-filter: blur(18px);
}

.tp-pv6__stat,
.tp-pv6__heroFeature,
.tp-pv6__laneCard,
.tp-pv6__placeCard,
.tp-pv6__stack,
.tp-pv6__promptCard,
.tp-pv6__listCard,
.tp-pv6__panel,
.tp-pv6__dock {
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, rgba(16, 19, 24, 0.86) 0%, rgba(11, 13, 17, 0.88) 100%);
    backdrop-filter: blur(18px);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.2);
}

.tp-pv6__stat {
    position: relative;
    min-height: 118px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}

.tp-pv6__stat::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.96) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.96) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.96) 100%);
}

.tp-pv6__stat--cta {
    text-decoration: none;
    color: inherit;
    background: linear-gradient(145deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(255, 255, 255, 0.05) 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.2) 100%);
}

.tp-pv6__stat--cta .tp-pv6__statValue {
    font-size: 24px;
    line-height: 1.12;
}

.tp-pv6__statValue {
    display: block;
    font-size: 34px;
    line-height: 1;
}

.tp-pv6__statLabel {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--tp-pv6-muted);
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6__heroFeature {
    padding: 22px;
}

.tp-pv6__heroFeatureTitle,
.tp-pv6__sectionTitle,
.tp-pv6__placeTitle,
.tp-pv6__promptTitle {
    font-family: "Newsreader", Georgia, serif;
    font-weight: 700;
}

.tp-pv6__heroFeatureTitle {
    margin: 10px 0 8px;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.02;
}

.tp-pv6__heroFeatureMeta,
.tp-pv6__placeMeta,
.tp-pv6__listMeta,
.tp-pv6__laneLocation {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.62);
    font-size: 13px;
}

.tp-pv6__section {
    margin-top: 20px;
    padding: 28px;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 420ms ease, transform 420ms ease;
}

.tp-pv6__section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.tp-pv6__sectionIntro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
    gap: 18px;
    align-items: end;
    margin-bottom: 20px;
}

.tp-pv6__sectionTitle {
    margin: 10px 0 0;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1;
}

.tp-pv6__laneGrid,
.tp-pv6__cardGrid,
.tp-pv6__promptGrid,
.tp-pv6__homeGrid {
    display: grid;
    gap: 16px;
}

.tp-pv6__laneGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tp-pv6__cardGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tp-pv6__promptGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tp-pv6__homeGrid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) minmax(280px, 0.82fr);
    align-items: start;
}

.tp-pv6__laneCard {
    padding: 22px;
    color: inherit;
    text-decoration: none;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.tp-pv6__laneCard:nth-child(4n + 1) {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(16, 19, 24, 0.86) 0%, rgba(11, 13, 17, 0.88) 100%);
}

.tp-pv6__laneCard:nth-child(4n + 2) {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-b, 252, 209, 22), 0.14), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(16, 19, 24, 0.86) 0%, rgba(11, 13, 17, 0.88) 100%);
}

.tp-pv6__laneCard:nth-child(4n + 3) {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-c, 0, 107, 63), 0.16), rgba(255, 255, 255, 0.04)),
        linear-gradient(180deg, rgba(16, 19, 24, 0.86) 0%, rgba(11, 13, 17, 0.88) 100%);
}

.tp-pv6__laneCard:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.2);
}

.tp-pv6__laneIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    margin-bottom: 16px;
    font-size: 18px;
}

.tp-pv6__laneTitle,
.tp-pv6__stackTitle,
.tp-pv6__listTitle {
    display: block;
    font-size: 20px;
    line-height: 1.16;
}

.tp-pv6__laneLocation,
.tp-pv6__laneCopy {
    display: block;
    margin-top: 10px;
}

.tp-pv6__panel {
    padding: 22px;
}

.tp-pv6__section--hubStage .tp-pv6__panel {
    background:
        linear-gradient(180deg, rgba(12, 15, 19, 0.9) 0%, rgba(8, 10, 14, 0.94) 100%);
}

.tp-pv6__panelTop {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.tp-pv6__panelTitle {
    margin: 10px 0 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1;
}

.tp-pv6__section--flights {
    overflow: hidden;
    background:
        radial-gradient(560px 280px at 0% 0%, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), transparent 66%),
        radial-gradient(520px 280px at 56% 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12), transparent 62%),
        radial-gradient(560px 320px at 100% 0%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18), transparent 64%),
        linear-gradient(180deg, rgba(13, 16, 20, 0.96), rgba(8, 10, 14, 0.98));
}

.tp-pv6__section--utility {
    overflow: hidden;
    background:
        radial-gradient(540px 300px at 8% 0%, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), transparent 62%),
        radial-gradient(520px 280px at 48% 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12), transparent 62%),
        radial-gradient(620px 340px at 100% 0%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16), transparent 64%),
        linear-gradient(180deg, rgba(15, 19, 24, 0.96), rgba(9, 11, 15, 0.99));
}

.tp-pv6__flightGrid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 18px;
    align-items: start;
}

.tp-pv6__flightStudio,
.tp-pv6__flightMapPanel {
    display: grid;
    gap: 18px;
}

.tp-pv6__flightForm {
    display: grid;
    gap: 14px;
}

.tp-pv6__flightField,
.tp-pv6__flightFieldRow {
    min-width: 0;
}

.tp-pv6__flightFieldRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__flightActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__flightHint,
.tp-pv6__flightStatus,
.tp-pv6__toolShowcaseText,
.tp-pv6__toolPreviewCopy {
    margin: 0;
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.76);
    line-height: 1.6;
    font-size: 14px;
}

.tp-pv6__flightStatus {
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.18);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.08) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12) 54%, rgba(var(--tp-accent-c, 0, 107, 63), 0.08) 100%),
        rgba(255, 255, 255, 0.04);
    color: #fff0c0;
}

.tp-pv6__flightRouteRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__flightRoute {
    appearance: none;
    width: 100%;
    display: grid;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14) 100%),
        rgba(255, 255, 255, 0.04);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.tp-pv6__flightRoute:hover,
.tp-pv6__flightRoute.is-active {
    transform: translateY(-2px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
}

.tp-pv6__flightRoute.is-active {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.24) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.2) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.22) 100%),
        rgba(255, 255, 255, 0.06);
}

.tp-pv6__flightRouteTop {
    display: block;
    font-size: 18px;
    line-height: 1.1;
}

.tp-pv6__flightRouteCopy {
    display: block;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(246, 241, 231, 0.74);
}

.tp-pv6__flightMapShell {
    overflow: hidden;
    min-height: 420px;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(180deg, rgba(7, 9, 12, 0.74), rgba(7, 9, 12, 0.9));
}

.tp-pv6__flightMap {
    width: 100%;
    min-height: 420px;
    display: block;
    border: 0;
    background: #07090d;
}

.tp-pv6__flightWidgetGrid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6__flightWidgetCard {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(180deg, rgba(16, 19, 24, 0.88), rgba(11, 13, 17, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tp-pv6__flightWidgetCard--converter {
    grid-column: span 2;
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12) 100%),
        linear-gradient(180deg, rgba(16, 19, 24, 0.88), rgba(11, 13, 17, 0.94));
}

.tp-pv6__flightWidgetTop {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.tp-pv6__flightWidgetTitle {
    margin: 10px 0 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: 26px;
    line-height: 0.98;
}

.tp-pv6__flightWidgetMount {
    position: relative;
    min-height: 188px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12) 100%),
        rgba(255, 255, 255, 0.03);
}

.tp-pv6__flightWidgetMount.is-loading::after {
    content: "Loading live fares…";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    color: rgba(246, 241, 231, 0.84);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 14px;
    background: rgba(7, 9, 12, 0.58);
}

.tp-pv6__flightWidgetMount > * {
    width: 100%;
}

.tp-pv6__flightWidgetFallback {
    display: grid;
    place-items: center;
    min-height: 188px;
    padding: 18px;
    text-align: center;
    color: rgba(246, 241, 231, 0.78);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.tp-pv6__fxControls {
    display: grid;
    gap: 12px;
}

.tp-pv6__fxInputRow {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.tp-pv6__fxPresetRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__flightStatus--fx {
    margin-top: 0;
}

.tp-pv6__fxGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__fxRate {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
}

.tp-pv6__fxCode,
.tp-pv6__fxMeta {
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6__fxCode {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 241, 231, 0.68);
}

.tp-pv6__fxValue {
    font-size: 22px;
    line-height: 1.05;
    word-break: break-word;
}

.tp-pv6__fxMeta {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(246, 241, 231, 0.74);
}

.tp-pv6__toolShowcaseList {
    display: grid;
    gap: 18px;
}

.tp-pv6__section--utility .tp-pv6__toolShowcaseList {
    margin-top: 4px;
}

.tp-pv6__toolShowcase {
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tp-pv6__toolShowcase--red {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.1) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.08) 100%),
        linear-gradient(180deg, rgba(18, 20, 24, 0.92), rgba(9, 12, 16, 0.96));
}

.tp-pv6__toolShowcase--gold {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.1) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.18) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.1) 100%),
        linear-gradient(180deg, rgba(18, 20, 24, 0.92), rgba(9, 12, 16, 0.96));
}

.tp-pv6__toolShowcase--green {
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.08) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.1) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18) 100%),
        linear-gradient(180deg, rgba(18, 20, 24, 0.92), rgba(9, 12, 16, 0.96));
}

.tp-pv6__toolShowcaseIntro {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(280px, 0.98fr);
    gap: 20px;
    align-items: start;
}

.tp-pv6__toolShowcaseCopy {
    display: grid;
    gap: 14px;
}

.tp-pv6__toolShowcaseTitle {
    margin: 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 0.96;
}

.tp-pv6__toolBulletList {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.8);
    font-size: 14px;
    line-height: 1.6;
}

.tp-pv6__toolShowcaseActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.tp-pv6__toolShowcasePreview {
    min-width: 0;
}

.tp-pv6__toolPreviewGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__toolPreviewCard {
    display: grid;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(180deg, rgba(14, 16, 20, 0.9), rgba(9, 11, 15, 0.96));
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__toolPreviewCard:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.24);
}

.tp-pv6__toolPreviewMedia {
    display: block;
    aspect-ratio: 1.18 / 1;
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18) 100%);
}

.tp-pv6__toolPreviewMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__toolPreviewFallback {
    display: flex;
    align-items: end;
    width: 100%;
    height: 100%;
    padding: 16px;
    font-family: "Newsreader", Georgia, serif;
    font-size: 24px;
    line-height: 0.98;
}

.tp-pv6__toolPreviewBody {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.tp-pv6__toolPreviewBody > span {
    min-width: 0;
}

.tp-pv6__toolPreviewMeta {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.62);
    font-size: 12px;
    line-height: 1.4;
}

.tp-pv6__toolPreviewTitle {
    font-family: "Newsreader", Georgia, serif;
    font-size: 24px;
    line-height: 1;
}

.tp-pv6__toolPreviewCopy {
    display: block;
}

.tp-pv6__toolShowcaseFallback {
    display: grid;
    gap: 10px;
    min-height: 100%;
    align-content: start;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.8);
    line-height: 1.6;
}

.tp-pv6__toolPathGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6__toolPath {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 42%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16) 100%),
        rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tp-pv6__toolPathTop,
.tp-pv6__toolPathActions,
.tp-pv6__toolPathLinks {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tp-pv6__toolPathLinks {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.tp-pv6__toolPathKicker,
.tp-pv6__toolTag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(7, 9, 12, 0.28);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(246, 241, 231, 0.8);
}

.tp-pv6__toolPathIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 14px;
    background: rgba(7, 9, 12, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 18px;
}

.tp-pv6__toolPathTitle {
    margin: 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(24px, 2.5vw, 30px);
    line-height: 1.04;
}

.tp-pv6__toolPathCopy {
    margin: 0;
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: rgba(246, 241, 231, 0.78);
    line-height: 1.62;
    font-size: 14px;
}

.tp-pv6__toolTagRow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tp-pv6__toolTag {
    font-size: 10px;
    letter-spacing: 0.12em;
    color: rgba(246, 241, 231, 0.72);
}

.tp-pv6__toolPathPrimary,
.tp-pv6__toolPathLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 999px;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__toolPathPrimary {
    padding: 0 16px;
    background:
        linear-gradient(0deg, rgba(6, 8, 10, 0.14), rgba(6, 8, 10, 0.14)),
        linear-gradient(90deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.86) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.9) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.86) 100%);
    color: #fffdf8;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tp-pv6__toolPathLink {
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: var(--tp-pv6-text);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.tp-pv6__toolPathPrimary:hover,
.tp-pv6__toolPathLink:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.2);
}

.tp-pv6__toolGrid,
.tp-pv6__launchList {
    display: grid;
    gap: 12px;
}

.tp-pv6__toolTile,
.tp-pv6__launchItem {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.04);
    color: inherit;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__toolTile:hover,
.tp-pv6__launchItem:hover,
.tp-pv6__miniLink:hover,
.tp-pv6__dockItem:hover,
.tp-pv6__chip:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.2);
}

.tp-pv6__toolIcon,
.tp-pv6__launchEmoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 18px;
}

.tp-pv6__toolBody,
.tp-pv6__launchBody {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.tp-pv6__toolTitle,
.tp-pv6__launchName {
    font-size: 18px;
    line-height: 1.15;
}

.tp-pv6__toolDesc,
.tp-pv6__launchDesc,
.tp-pv6__panelMeta,
.tp-pv6__empty {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--tp-pv6-muted);
    line-height: 1.6;
    font-size: 14px;
}

.tp-pv6__toolCta {
    margin-left: auto;
    padding-top: 4px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.64);
    white-space: nowrap;
}

.tp-pv6__launchpadGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__panel--launchpadExpanded {
    background:
        radial-gradient(circle at top left, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), transparent 34%),
        radial-gradient(circle at top right, rgba(var(--tp-accent-b, 252, 209, 22), 0.18), transparent 30%),
        radial-gradient(circle at bottom right, rgba(var(--tp-accent-c, 0, 107, 63), 0.18), transparent 34%),
        linear-gradient(180deg, rgba(11, 14, 18, 0.96), rgba(9, 11, 16, 0.94));
}

.tp-pv6__panel--launchpadExpanded .tp-pv6__launchpadGrid {
    margin-top: 18px;
}

.tp-pv6__linkRow--launchpad {
    margin-top: 16px;
}

.tp-pv6__panel--launchpadExpanded .tp-pv6__launchItem {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.tp-pv6__panel--launchpadExpanded .tp-pv6__launchEmoji {
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.2), rgba(var(--tp-accent-b, 252, 209, 22), 0.18) 55%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16));
}

.tp-pv6__launchColumn {
    min-width: 0;
}

.tp-pv6__launchKicker,
.tp-pv6__miniTitle {
    margin-bottom: 10px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(246, 241, 231, 0.64);
}

.tp-pv6__miniSection + .tp-pv6__miniSection {
    margin-top: 18px;
}

.tp-pv6__miniChipGroup,
.tp-pv6__linkRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__linkRow {
    margin-top: 18px;
}

.tp-pv6__miniLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    color: inherit;
    text-decoration: none;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__miniLink--button,
.tp-pv6__chip--button {
    appearance: none;
    cursor: pointer;
}

.tp-pv6__placeCard {
    overflow: hidden;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.tp-pv6__placeMedia {
    display: block;
    aspect-ratio: 1.12 / 1;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16) 100%);
    overflow: hidden;
}

.tp-pv6__placeMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__placeFallback {
    display: flex;
    align-items: end;
    justify-content: start;
    width: 100%;
    height: 100%;
    padding: 20px;
    font-family: "Newsreader", Georgia, serif;
    font-size: 30px;
    line-height: 0.98;
}

.tp-pv6__placeBody {
    padding: 20px;
}

.tp-pv6__placeCard:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
}

.tp-pv6__section--spotlightStage .tp-pv6__cardGrid {
    gap: 18px;
}

.tp-pv6--vertical .tp-pv6__hero {
    min-height: clamp(640px, 76vh, 880px);
}

.tp-pv6--vertical .tp-pv6__heroGrid {
    align-items: center;
}

.tp-pv6--vertical .tp-pv6__title {
    max-width: 12ch;
}

.tp-pv6--schoolfinder {
    --tp-accent-a: 34, 92, 179;
    --tp-accent-b: 247, 188, 67;
    --tp-accent-c: 22, 143, 111;
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie {
    --tp-accent-a: 21, 128, 104;
    --tp-accent-b: 246, 166, 151;
    --tp-accent-c: 67, 138, 192;
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--abacus {
    --tp-accent-a: 31, 70, 145;
    --tp-accent-b: 238, 183, 70;
    --tp-accent-c: 47, 151, 118;
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--blocksandbricks {
    --tp-accent-a: 41, 117, 87;
    --tp-accent-b: 226, 187, 92;
    --tp-accent-c: 72, 137, 168;
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--celebrations {
    --tp-accent-a: 181, 55, 108;
    --tp-accent-b: 247, 190, 78;
    --tp-accent-c: 49, 155, 154;
    font-family: "Josefin Sans", "Manrope", sans-serif;
}

body.tp-portal-v6-body:has(.tp-pv6--schoolfinder) {
    background: radial-gradient(840px 540px at 12% 2%, rgba(34, 92, 179, 0.22), transparent 62%), linear-gradient(180deg, #08111f, #0d1517 54%, #11150f);
}

body.tp-portal-v6-body:has(.tp-pv6--askannie) {
    background: radial-gradient(760px 520px at 80% 0%, rgba(246, 166, 151, 0.2), transparent 62%), linear-gradient(180deg, #071512, #0f191b 58%, #121416);
}

body.tp-portal-v6-body:has(.tp-pv6--abacus) {
    background: radial-gradient(780px 520px at 12% 0%, rgba(238, 183, 70, 0.18), transparent 60%), linear-gradient(180deg, #071020, #0d111b 56%, #10140f);
}

body.tp-portal-v6-body:has(.tp-pv6--blocksandbricks) {
    background: radial-gradient(820px 560px at 10% 0%, rgba(226, 187, 92, 0.17), transparent 60%), linear-gradient(180deg, #07130d, #11150f 58%, #111820);
}

body.tp-portal-v6-body:has(.tp-pv6--celebrations) {
    background: radial-gradient(780px 520px at 82% 0%, rgba(247, 190, 78, 0.2), transparent 62%), linear-gradient(180deg, #190817, #14101c 56%, #0f1516);
}

.tp-pv6--vertical .tp-pv6__heroActionPanel,
.tp-pv6--vertical .tp-pv6__lensShell,
.tp-pv6--vertical .tp-pv6__toolShowcase,
.tp-pv6--vertical .tp-pv6__panel--launchpad {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tp-pv6--vertical .tp-pv6__heroActionPanel {
    background:
        radial-gradient(360px 220px at 12% 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16), transparent 68%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
}

.tp-pv6--vertical .tp-pv6__lensTab.is-active {
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.18);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.35);
}

.tp-pv6__section--verticalStart {
    border-radius: 34px;
    background:
        radial-gradient(620px 320px at 8% 8%, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), transparent 66%),
        radial-gradient(620px 320px at 100% 0%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14), transparent 64%),
        linear-gradient(180deg, rgba(12, 15, 19, 0.86), rgba(8, 10, 14, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.22);
}

.tp-pv6__verticalStartGrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
    gap: 18px;
    align-items: stretch;
}

.tp-pv6__verticalDecisionGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6__verticalDecisionCard,
.tp-pv6__verticalGuide {
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tp-pv6__verticalDecisionCard {
    display: flex;
    min-height: 210px;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    padding: 22px;
    color: inherit;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.tp-pv6__verticalDecisionCard:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
    background: rgba(255, 255, 255, 0.065);
}

.tp-pv6__verticalDecisionCard strong {
    display: block;
    color: #fff8e8;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 0.98;
    letter-spacing: 0;
}

.tp-pv6__verticalDecisionCard > span:last-child {
    color: rgba(246, 241, 231, 0.68);
    font-size: 14px;
    line-height: 1.55;
}

.tp-pv6__verticalGuide {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.tp-pv6__verticalGuide ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.tp-pv6__verticalGuide li {
    position: relative;
    padding-left: 20px;
    color: rgba(246, 241, 231, 0.74);
    font-size: 14px;
    line-height: 1.5;
}

.tp-pv6__verticalGuide li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgb(var(--tp-accent-b, 252, 209, 22));
}

.tp-pv6__verticalLocationList a,
.tp-pv6__verticalTool {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.tp-pv6__verticalLocationList a {
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.055);
}

.tp-pv6__verticalLocationList small {
    color: rgba(246, 241, 231, 0.54);
    font-size: 11px;
    text-align: right;
}

.tp-pv6__verticalToolbelt {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6__verticalTool {
    justify-content: flex-start;
    min-height: 56px;
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tp-pv6__verticalTool span {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.18);
}

.tp-pv6__verticalTool strong {
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
}

.tp-pv6__section--chopbar .tp-pv6__cardGrid {
    gap: 18px;
}

.tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(280px, 0.84fr);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), rgba(var(--tp-accent-b, 252, 209, 22), 0.1) 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12) 100%),
        linear-gradient(180deg, rgba(16, 19, 24, 0.9), rgba(11, 13, 17, 0.9));
}

.tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeMedia {
    aspect-ratio: auto;
    min-height: 100%;
}

.tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeBody {
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeTitle {
    font-size: clamp(38px, 4vw, 56px);
    line-height: 0.92;
}

.tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeCopy {
    font-size: 15px;
    max-width: 36ch;
}

.tp-pv6__section--chopbar .tp-pv6__placeCard:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
    background:
        linear-gradient(138deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12), rgba(var(--tp-accent-b, 252, 209, 22), 0.14) 48%, rgba(101, 55, 22, 0.18) 100%),
        linear-gradient(180deg, rgba(18, 15, 12, 0.92), rgba(10, 9, 8, 0.94));
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.16);
}

.tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeMedia {
    aspect-ratio: auto;
    min-height: 100%;
}

.tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeBody {
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeTitle {
    font-size: clamp(34px, 3.7vw, 50px);
    line-height: 0.95;
}

.tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeCopy {
    font-size: 15px;
    max-width: 38ch;
}

.tp-pv6__placeMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tp-pv6__placeTitle {
    margin: 10px 0 10px;
    font-size: 32px;
    line-height: 1;
}

.tp-pv6__placeTitle a {
    color: inherit;
    text-decoration: none;
}

.tp-pv6__placeFooter {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: rgba(246, 241, 231, 0.54);
    font-size: 12px;
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6__rankBoard {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6__rankItem {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.1), rgba(var(--tp-accent-b, 252, 209, 22), 0.07) 52%, rgba(var(--tp-accent-c, 0, 107, 63), 0.1)),
        rgba(255, 255, 255, 0.035);
}

.tp-pv6__rankNumber {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(246, 241, 231, 0.86);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
}

.tp-pv6__rankBody {
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.tp-pv6__rankSignal,
.tp-pv6__trendPill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.1);
    color: rgba(246, 241, 231, 0.9);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
}

.tp-pv6__rankTitle {
    display: block;
    margin-top: 8px;
    font-family: "Newsreader", Georgia, serif;
    font-size: 26px;
    line-height: 0.98;
}

.tp-pv6__rankMeta,
.tp-pv6__rankCounts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    color: rgba(246, 241, 231, 0.58);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
}

.tp-pv6__rankCounts {
    justify-content: end;
    text-align: right;
    margin-top: 0;
    max-width: 140px;
}

.tp-pv6__splitGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tp-pv6__stack {
    padding: 20px;
}

.tp-pv6__listCard {
    display: block;
    margin-top: 12px;
    padding: 16px 18px;
    color: inherit;
    text-decoration: none;
}

.tp-pv6__listMeta {
    display: block;
    margin-top: 8px;
}

.tp-pv6__promptCard {
    padding: 0;
    overflow: hidden;
}

.tp-pv6__promptMedia {
    display: block;
    position: relative;
    aspect-ratio: 1.7 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.2), rgba(var(--tp-accent-b, 252, 209, 22), 0.12), rgba(var(--tp-accent-c, 0, 107, 63), 0.2));
}

.tp-pv6__promptMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__promptMedia::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6, 8, 10, 0.08) 0%, rgba(6, 8, 10, 0.62) 100%),
        radial-gradient(680px 240px at 20% 0%, rgba(255, 255, 255, 0.16), transparent 62%);
}

.tp-pv6__promptBody {
    padding: 20px 22px 22px;
}

.tp-pv6__promptTitle {
    margin: 10px 0 10px;
    font-size: 30px;
    line-height: 1;
}

.tp-pv6__promptCopy {
    min-height: 110px;
}

.tp-pv6__section--planner {
    margin-bottom: 12px;
}

.tp-pv6__dock {
    position: fixed;
    left: 50%;
    bottom: calc(12px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(1180px, calc(100% - 16px));
    padding: 10px;
    z-index: 1000200;
    border-radius: 999px;
}

.tp-pv6__dockInner {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}

.tp-pv6__dockInner::-webkit-scrollbar {
    display: none;
}

.tp-pv6__dockItem {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: inherit;
    text-decoration: none;
    font-family: "Manrope", "Segoe UI", sans-serif;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__dockItem--surprise {
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16) 100%);
}

.tp-pv6__dockIcon {
    font-size: 15px;
    line-height: 1;
}

.tp-pv6__dockLabel {
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.tp-pv6 .tp-portal-v1__ticker,
.tp-pv6 .tp-portal-v1__section {
    position: relative;
    z-index: 1;
    width: min(1320px, calc(100% - 28px));
    margin-left: auto;
    margin-right: auto;
    background: transparent;
}

.tp-pv6 .tp-portal-v1__container {
    width: 100%;
    max-width: none;
    padding: 0;
}

.tp-pv6 .tp-portal-v1__tickerCard,
.tp-pv6 .tp-portal-v1__newsLead,
.tp-pv6 .tp-portal-v1__newsItem,
.tp-pv6 .tp-portal-v1__card,
.tp-pv6 .tp-portal-v1__mosaicCard,
.tp-pv6 .tp-portal-v5__hubCard,
.tp-pv6 .tp-portal-v5__experienceCard {
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.2);
}

.tp-pv6 .tp-portal-v1__sectionHeader {
    margin-bottom: 18px;
}

.tp-pv6 .tp-portal-v1__p {
    color: var(--tp-pv6-muted);
}

.tp-pv6__cardGrid--spotlight .tp-pv6__placeCard:first-child {
    grid-column: span 2;
}

.tp-pv6__cardGrid--spotlight .tp-pv6__placeCard:first-child .tp-pv6__placeMedia {
    aspect-ratio: 1.8 / 1;
}

.tp-pv6__cardGrid--chopbar .tp-pv6__placeCard:first-child {
    grid-column: span 2;
}

.tp-pv6__cardGrid--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeMedia {
    aspect-ratio: 1.65 / 1;
}

.tp-pv6__section--geoDiscovery {
    background:
        linear-gradient(180deg, rgba(13, 15, 20, 0.96), rgba(8, 10, 14, 0.98));
}

.tp-pv6__geoDiscoveryGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tp-pv6__geoGroup {
    --tp-pv6-geo-a: var(--tp-accent-a, 206, 17, 38);
    --tp-pv6-geo-b: var(--tp-accent-b, 252, 209, 22);
    --tp-pv6-geo-c: var(--tp-accent-c, 0, 107, 63);
    display: grid;
    gap: 16px;
    padding: 18px;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(var(--tp-pv6-geo-a), 0.12), rgba(var(--tp-pv6-geo-b), 0.07) 54%, rgba(var(--tp-pv6-geo-c), 0.1)),
        rgba(255, 255, 255, 0.035);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.tp-pv6__geoGroup--restaurants {
    --tp-pv6-geo-a: 190, 72, 44;
    --tp-pv6-geo-b: 245, 175, 79;
    --tp-pv6-geo-c: 112, 150, 84;
}

.tp-pv6__geoGroup--markets {
    --tp-pv6-geo-a: 42, 130, 110;
    --tp-pv6-geo-b: 214, 162, 83;
    --tp-pv6-geo-c: 138, 87, 155;
}

.tp-pv6__geoGroup--parks {
    --tp-pv6-geo-a: 56, 139, 92;
    --tp-pv6-geo-b: 116, 169, 102;
    --tp-pv6-geo-c: 48, 113, 150;
}

.tp-pv6__geoGroup--activities {
    --tp-pv6-geo-a: 66, 111, 186;
    --tp-pv6-geo-b: 215, 96, 85;
    --tp-pv6-geo-c: 241, 179, 84;
}

.tp-pv6__geoGroup--leisure {
    --tp-pv6-geo-a: 92, 132, 176;
    --tp-pv6-geo-b: 119, 187, 157;
    --tp-pv6-geo-c: 161, 118, 181;
}

.tp-pv6__geoGroup--cinemas {
    --tp-pv6-geo-a: 125, 83, 177;
    --tp-pv6-geo-b: 216, 91, 128;
    --tp-pv6-geo-c: 64, 92, 164;
}

.tp-pv6__geoGroupHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.tp-pv6__geoGroupTitle {
    margin: 8px 0 0;
    color: #fff8e8;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 0.96;
}

.tp-pv6__geoGroupCopy {
    margin: 0;
    color: rgba(246, 241, 231, 0.68);
    font-size: 14px;
    line-height: 1.55;
}

.tp-pv6__geoExperience {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tp-pv6__geoExperience span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-pv6-geo-b), 0.28);
    background: rgba(var(--tp-pv6-geo-a), 0.12);
    color: rgba(255, 248, 232, 0.82);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.tp-pv6__geoLead {
    display: grid;
    grid-template-columns: minmax(150px, 0.76fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    overflow: hidden;
    min-height: 210px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: inherit;
    text-decoration: none;
}

.tp-pv6__geoLeadMedia {
    display: block;
    min-height: 100%;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), rgba(var(--tp-accent-c, 0, 107, 63), 0.16));
}

.tp-pv6__geoLeadMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__geoLeadBody {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 18px 18px 18px 0;
}

.tp-pv6__geoLeadBody strong {
    color: #fff8e8;
    font-family: "Newsreader", Georgia, serif;
    font-size: 28px;
    line-height: 0.98;
}

.tp-pv6__geoLeadBody > span:not(.tp-pv6__placeMeta) {
    color: rgba(246, 241, 231, 0.66);
    font-size: 13px;
    line-height: 1.48;
}

.tp-pv6__geoMiniList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6__geoMiniList a {
    min-width: 0;
    display: flex;
    min-height: 82px;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    padding: 13px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
    color: inherit;
    text-decoration: none;
}

.tp-pv6__geoMiniList span {
    color: rgba(255, 248, 232, 0.9);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.tp-pv6__geoMiniList small {
    color: rgba(246, 241, 231, 0.52);
    font-size: 11px;
    line-height: 1.25;
}

.tp-pv6__section--schoolRegions {
    background:
        linear-gradient(145deg, rgba(var(--tp-accent-a, 34, 92, 179), 0.14), rgba(var(--tp-accent-b, 247, 188, 67), 0.06) 48%, rgba(var(--tp-accent-c, 22, 143, 111), 0.12)),
        linear-gradient(180deg, rgba(13, 15, 20, 0.96), rgba(8, 10, 14, 0.98));
}

.tp-pv6__schoolRegionGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.tp-pv6__schoolRegion {
    min-width: 0;
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.tp-pv6__schoolRegion--lead {
    grid-column: span 2;
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-c, 22, 143, 111), 0.18), rgba(var(--tp-accent-b, 247, 188, 67), 0.08)),
        rgba(255, 255, 255, 0.055);
}

.tp-pv6__schoolRegionHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.tp-pv6__schoolRegionTitle {
    margin: 8px 0 0;
    color: #fff8e8;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1;
}

.tp-pv6__schoolRegionCopy {
    margin: 0;
    max-width: 780px;
    color: rgba(246, 241, 231, 0.68);
    font-size: 14px;
    line-height: 1.55;
}

.tp-pv6__schoolRegionList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__schoolRegion--lead .tp-pv6__schoolRegionList {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tp-pv6__schoolRegionItem {
    min-width: 0;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 118px;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: inherit;
    text-decoration: none;
}

.tp-pv6__schoolRegionThumb {
    display: block;
    min-height: 118px;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 34, 92, 179), 0.18), rgba(var(--tp-accent-c, 22, 143, 111), 0.18));
}

.tp-pv6__schoolRegionThumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__schoolRegionThumb .tp-pv6__placeFallback {
    padding: 10px;
    font-size: 16px;
}

.tp-pv6__schoolRegionItemBody {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 12px;
}

.tp-pv6__schoolRegionItemBody strong {
    color: #fff8e8;
    font-size: 14px;
    line-height: 1.2;
}

.tp-pv6__schoolRegionItemBody > span:not(.tp-pv6__placeMeta) {
    color: rgba(246, 241, 231, 0.62);
    font-size: 12px;
    line-height: 1.35;
}

.tp-pv6__schoolRegionEmpty {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 86px;
    padding: 14px;
    border-radius: 18px;
    border: 1px dashed rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.035);
    color: rgba(246, 241, 231, 0.66);
    font-size: 13px;
}

.tp-pv6__homeGrid--hub {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tp-pv6__panel--lens .tp-portal-v5__lensGrid {
    margin-top: 6px;
}

.tp-pv6__section--rail {
    overflow: hidden;
}

.tp-pv6__section--play {
    overflow: hidden;
    background:
        radial-gradient(720px 340px at 0% 0%, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), transparent 62%),
        radial-gradient(760px 360px at 100% 0%, rgba(var(--tp-accent-c, 0, 107, 63), 0.18), transparent 64%),
        linear-gradient(180deg, rgba(13, 15, 20, 0.94), rgba(8, 10, 14, 0.98));
}

.tp-pv6__playGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tp-pv6__playGrid .tp-pv6__swipeGame {
    margin-top: 0;
}

.tp-pv6__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px, 320px);
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none;
}

.tp-pv6__rail::-webkit-scrollbar {
    display: none;
}

.tp-pv6__railCard {
    display: grid;
    gap: 0;
    min-width: 0;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, rgba(16, 19, 24, 0.86) 0%, rgba(11, 13, 17, 0.88) 100%);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.2);
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__railCard:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.2);
}

.tp-pv6__railMedia {
    display: block;
    aspect-ratio: 1.08 / 1;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.16) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16) 100%);
}

.tp-pv6__railMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__railFallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: end;
    padding: 18px;
    font-family: "Newsreader", Georgia, serif;
    font-size: 28px;
    line-height: 0.98;
}

.tp-pv6__railBody {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.tp-pv6__section--afterglow .tp-pv6__rail {
    grid-auto-columns: minmax(260px, 360px);
    gap: 16px;
}

.tp-pv6__section--afterglow .tp-pv6__railCard {
    border-radius: 26px;
}

.tp-pv6__railMeta {
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    line-height: 1.35;
    color: rgba(246, 241, 231, 0.62);
}

.tp-pv6__railTitle {
    font-family: "Newsreader", Georgia, serif;
    font-size: 28px;
    line-height: 0.98;
}

.tp-pv6__button--compact {
    padding: 10px 14px;
    font-size: 13px;
}

.tp-pv6__legacyTicker,
.tp-pv6__legacySection {
    position: relative;
    overflow: hidden;
}

.tp-pv6__legacyTicker::before,
.tp-pv6__legacySection::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    z-index: 1;
    background: linear-gradient(90deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.96) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.96) 50%, rgba(var(--tp-accent-c, 0, 107, 63), 0.96) 100%);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaic {
    gap: 16px;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard {
    min-height: 220px;
    border-radius: 28px;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard::before {
    background-repeat: no-repeat;
    background-position: center, center, center, center;
    background-size: auto, auto, auto, cover;
    filter: saturate(1.08) contrast(1.08);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard::after {
    background:
        linear-gradient(180deg, rgba(4, 6, 8, 0.04) 0%, rgba(4, 6, 8, 0.72) 86%),
        radial-gradient(760px 260px at 28% 8%, rgba(255, 255, 255, 0.12), transparent 62%);
    opacity: 0.96;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--beach::before {
    background:
        radial-gradient(900px 420px at 22% 18%, rgba(var(--tp-accent-b, 252, 209, 22), 0.22), transparent 62%),
        radial-gradient(820px 380px at 85% 70%, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), transparent 58%),
        radial-gradient(760px 340px at 55% 95%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14), transparent 60%),
        var(--tpv3-collection-image, none);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--heritage::before,
.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--kerala::before {
    background:
        radial-gradient(900px 420px at 25% 22%, rgba(var(--tp-accent-a, 206, 17, 38), 0.22), transparent 62%),
        radial-gradient(720px 360px at 85% 35%, rgba(var(--tp-accent-b, 252, 209, 22), 0.14), transparent 60%),
        radial-gradient(760px 360px at 70% 88%, rgba(var(--tp-accent-c, 0, 107, 63), 0.16), transparent 60%),
        var(--tpv3-collection-image, none);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--mountain::before,
.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--wellness::before {
    background:
        radial-gradient(900px 420px at 22% 18%, rgba(var(--tp-accent-c, 0, 107, 63), 0.22), transparent 62%),
        radial-gradient(820px 380px at 85% 55%, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), transparent 58%),
        radial-gradient(760px 340px at 55% 95%, rgba(var(--tp-accent-b, 252, 209, 22), 0.12), transparent 60%),
        var(--tpv3-collection-image, none);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard--food::before {
    background:
        radial-gradient(900px 420px at 22% 18%, rgba(var(--tp-accent-a, 206, 17, 38), 0.2), transparent 62%),
        radial-gradient(820px 380px at 80% 70%, rgba(var(--tp-accent-b, 252, 209, 22), 0.18), transparent 58%),
        radial-gradient(760px 340px at 55% 95%, rgba(var(--tp-accent-c, 0, 107, 63), 0.14), transparent 60%),
        var(--tpv3-collection-image, none);
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(1) {
    grid-column: span 7;
    min-height: 340px;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(2) {
    grid-column: span 5;
    min-height: 340px;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(3) {
    grid-column: span 4;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(4) {
    grid-column: span 8;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicTitle {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(22px, 3vw, 40px);
    line-height: 0.95;
}

.tp-pv6__legacySection--collections .tp-portal-v1__mosaicDesc {
    max-width: 34ch;
    color: rgba(246, 241, 231, 0.8);
}

.tp-pv6__legacySection--news .tp-portal-v1__newsLead,
.tp-pv6__legacySection--events .tp-portal-v5__hubCard {
    border-radius: 28px;
}

.tp-pv6__legacySection--news .tp-portal-v1__newsLeadMedia {
    aspect-ratio: 1.48 / 1;
}

.tp-pv6__heroVisualRow {
    margin-top: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.88fr);
    grid-template-rows: repeat(2, minmax(132px, 1fr));
    gap: 14px;
}

.tp-pv6__heroVisualCard {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    padding: 10px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(145deg, rgba(12, 15, 18, 0.84), rgba(16, 18, 22, 0.58));
    color: inherit;
    text-decoration: none;
    backdrop-filter: blur(14px);
    position: relative;
    overflow: hidden;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.tp-pv6__heroVisualCard::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.08), transparent 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.1));
    opacity: 0.84;
    pointer-events: none;
}

.tp-pv6__heroVisualCard:first-child {
    grid-row: 1 / span 2;
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    border-radius: 26px;
    min-height: 100%;
}

.tp-pv6__heroVisualCard:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
}

.tp-pv6__heroVisualMedia {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(var(--tp-accent-b, 252, 209, 22), 0.12), rgba(var(--tp-accent-c, 0, 107, 63), 0.2));
}

.tp-pv6__heroVisualMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 520ms ease;
}

.tp-pv6__heroVisualCard:hover .tp-pv6__heroVisualMedia img,
.tp-pv6__placeCard:hover .tp-pv6__placeMedia img,
.tp-pv6__railCard:hover .tp-pv6__railMedia img,
.tp-pv6__lensCard:hover .tp-pv6__lensCardMedia img,
.tp-pv6__browseCard:hover .tp-pv6__browseMedia img,
.tp-pv6__swipeCard:hover .tp-pv6__swipeCardMedia img,
.tp-pv6__knockoutCard:hover .tp-pv6__knockoutMedia img {
    transform: scale(1.06);
}

.tp-pv6__heroVisualBody,
.tp-pv6__lensCardBody,
.tp-pv6__browseBody,
.tp-pv6__swipeCardBody,
.tp-pv6__knockoutBody {
    min-width: 0;
    display: grid;
    gap: 6px;
    position: relative;
    z-index: 1;
}

.tp-pv6__heroVisualCard:first-child .tp-pv6__heroVisualMedia {
    aspect-ratio: 1.02 / 1;
    border-radius: 0;
}

.tp-pv6__heroVisualCard:first-child .tp-pv6__heroVisualBody {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    gap: 8px;
}

.tp-pv6__heroVisualTitle,
.tp-pv6__lensCardTitle,
.tp-pv6__browseTitle,
.tp-pv6__swipeCardTitle,
.tp-pv6__knockoutTitle {
    font-family: "Newsreader", Georgia, serif;
    font-size: 22px;
    line-height: 0.98;
}

.tp-pv6__heroVisualCard:first-child .tp-pv6__heroVisualTitle {
    font-size: clamp(28px, 4vw, 42px);
    line-height: 0.92;
}

.tp-pv6__heroVisualMeta,
.tp-pv6__lensCardMeta,
.tp-pv6__browseBadge,
.tp-pv6__browseMeta,
.tp-pv6__swipeCardMeta,
.tp-pv6__knockoutMeta {
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(246, 241, 231, 0.68);
}

.tp-pv6__section--lensStage {
    padding-top: 32px;
}

.tp-pv6__section--spotlightStage,
.tp-pv6__section--chopbar,
.tp-pv6__section--rankings,
.tp-pv6__legacySection--collections,
.tp-pv6__section--afterglow {
    border-radius: 34px;
    background:
        radial-gradient(620px 320px at 0% 0%, rgba(var(--tp-accent-a, 206, 17, 38), 0.12), transparent 64%),
        radial-gradient(620px 320px at 100% 0%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12), transparent 64%),
        linear-gradient(180deg, rgba(12, 15, 19, 0.82), rgba(8, 10, 14, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.22);
}

.tp-pv6__section--cityStage {
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-b, 252, 209, 22), 0.08), transparent 40%),
        linear-gradient(180deg, rgba(14, 17, 22, 0.72), rgba(9, 11, 15, 0.84));
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.tp-pv6__section--hubStage {
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(8, 10, 14, 0.88), rgba(11, 13, 18, 0.94)),
        rgba(8, 10, 14, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tp-pv6__lensShell {
    display: grid;
    gap: 18px;
}

.tp-pv6__lensTabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__lensTab {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.05);
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tp-pv6__lensTab.is-active {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.34);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(var(--tp-accent-b, 252, 209, 22), 0.22), rgba(var(--tp-accent-c, 0, 107, 63), 0.18));
    color: #fff5df;
}

.tp-pv6__lensPanel {
    display: none;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
    gap: 18px;
}

.tp-pv6__lensPanel.is-active {
    display: grid;
}

.tp-pv6__lensLead,
.tp-pv6__swipeGame {
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(160deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.14), transparent 34%),
        linear-gradient(180deg, rgba(15, 18, 22, 0.92), rgba(10, 12, 16, 0.92));
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
}

.tp-pv6__lensActionRow {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__lensCardGrid,
.tp-pv6__browseGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tp-pv6__lensCard,
.tp-pv6__browseCard {
    display: grid;
    gap: 0;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, rgba(16, 19, 24, 0.9), rgba(10, 12, 16, 0.92));
    color: inherit;
    text-decoration: none;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.2);
}

.tp-pv6__lensCardMedia,
.tp-pv6__browseMedia {
    display: block;
    aspect-ratio: 1.16 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(var(--tp-accent-b, 252, 209, 22), 0.12), rgba(var(--tp-accent-c, 0, 107, 63), 0.2));
}

.tp-pv6__lensCardMedia img,
.tp-pv6__browseMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__lensFallback,
.tp-pv6__browseFallback,
.tp-pv6__swipeCardFallback,
.tp-pv6__knockoutFallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: end;
    padding: 18px;
    background: linear-gradient(180deg, rgba(13, 15, 19, 0.12), rgba(13, 15, 19, 0.88));
}

.tp-pv6__lensCardBody,
.tp-pv6__browseBody {
    padding: 16px 16px 18px;
}

.tp-pv6__lensCardCopy,
.tp-pv6__browseCopy,
.tp-pv6__swipeCardCopy,
.tp-pv6__knockoutCopy {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--tp-pv6-muted);
    line-height: 1.6;
    font-size: 14px;
}

.tp-pv6__browseBadge {
    display: inline-flex;
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
}

.tp-pv6__browseMiniList {
    display: grid;
    gap: 8px;
    margin: 4px 0 2px;
}

.tp-pv6__browseMiniList > span {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
}

.tp-pv6__browseMiniList strong {
    color: rgba(255, 248, 232, 0.9);
    font-size: 12px;
    line-height: 1.2;
}

.tp-pv6__browseMiniList small {
    color: rgba(246, 241, 231, 0.55);
    font-size: 11px;
    line-height: 1.25;
}

.tp-pv6__swipeGame {
    margin-top: 18px;
}

.tp-pv6__swipeHead,
.tp-pv6__swipeActions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.tp-pv6__swipeStage {
    position: relative;
    min-height: 360px;
    margin-top: 16px;
}

.tp-pv6__swipeDeck {
    position: relative;
    min-height: 360px;
}

.tp-pv6__swipeCard {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(10, 12, 16, 0.82);
    touch-action: pan-y;
    user-select: none;
    cursor: grab;
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.3);
}

.tp-pv6__swipeCard.is-dragging {
    cursor: grabbing;
}

.tp-pv6__swipeCard--next {
    transform: translate3d(0, 16px, 0) scale(0.96);
    opacity: 0.68;
}

.tp-pv6__swipeCardMedia,
.tp-pv6__swipeCardShade {
    position: absolute;
    inset: 0;
}

.tp-pv6__swipeCardMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__swipeCardShade {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.42) 52%, rgba(0, 0, 0, 0.88) 100%),
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.16), rgba(var(--tp-accent-b, 252, 209, 22), 0.08), rgba(var(--tp-accent-c, 0, 107, 63), 0.14));
}

.tp-pv6__swipeCardBody {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 2;
}

.tp-pv6__swipeStamp {
    position: absolute;
    top: 18px;
    z-index: 3;
    padding: 9px 12px;
    border-radius: 999px;
    border: 2px solid currentColor;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0;
}

.tp-pv6__swipeStamp--save {
    left: 18px;
    color: #f5d963;
}

.tp-pv6__swipeStamp--skip {
    right: 18px;
    color: #ff8b98;
}

.tp-pv6__swipeCard.is-save .tp-pv6__swipeStamp--save,
.tp-pv6__swipeCard.is-skip .tp-pv6__swipeStamp--skip {
    opacity: 1;
}

.tp-pv6__swipeActions {
    margin-top: 16px;
}

.tp-pv6__swipeEmpty {
    min-height: 320px;
    display: grid;
    place-items: center;
    gap: 8px;
    padding: 22px;
    text-align: center;
    border-radius: 24px;
    border: 1px dashed rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.03);
    color: var(--tp-pv6-muted);
}

.tp-pv6__knockoutStage {
    margin-top: 16px;
}

.tp-pv6__knockoutDeck {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.tp-pv6__knockoutCard {
    position: relative;
    min-height: 400px;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(10, 12, 16, 0.82);
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.3);
}

.tp-pv6__knockoutMedia,
.tp-pv6__knockoutShade {
    position: absolute;
    inset: 0;
}

.tp-pv6__knockoutMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__knockoutShade {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.42) 54%, rgba(0, 0, 0, 0.9) 100%),
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(var(--tp-accent-b, 252, 209, 22), 0.1), rgba(var(--tp-accent-c, 0, 107, 63), 0.14));
}

.tp-pv6__knockoutBadge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.08);
    color: #fff4d7;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tp-pv6__knockoutBody {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 82px;
    z-index: 2;
}

.tp-pv6__knockoutActions {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__knockoutActions .tp-pv6__button {
    width: auto;
    flex: 1 1 0;
}

.tp-pv6__knockoutVs {
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 999px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.22), rgba(var(--tp-accent-b, 252, 209, 22), 0.18), rgba(var(--tp-accent-c, 0, 107, 63), 0.2)),
        rgba(14, 16, 21, 0.96);
    color: #fff5dc;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.tp-pv6__knockoutFooter {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.tp-pv6__knockoutHint {
    color: var(--tp-pv6-muted);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.tp-pv6__knockoutWinner {
    display: grid;
    gap: 16px;
}

.tp-pv6__knockoutWinnerLabel {
    display: inline-flex;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.24);
    background: rgba(var(--tp-accent-b, 252, 209, 22), 0.08);
    color: #fff2cb;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tp-pv6__knockoutCard--winner {
    min-height: 440px;
}

.tp-pv6__knockoutWinnerActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 1120px) {
    .tp-pv6__heroGrid,
    .tp-pv6__sectionIntro,
    .tp-pv6__heroVisualRow,
    .tp-pv6__laneGrid,
    .tp-pv6__toolPathGrid,
    .tp-pv6__cardGrid,
    .tp-pv6__promptGrid,
    .tp-pv6__splitGrid,
    .tp-pv6__playGrid,
    .tp-pv6__geoDiscoveryGrid,
    .tp-pv6__schoolRegionGrid,
    .tp-pv6__lensPanel,
    .tp-pv6__lensCardGrid,
    .tp-pv6__browseGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__verticalStartGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__heroGrid {
        align-items: end;
    }

    .tp-pv6__flightGrid,
    .tp-pv6__toolShowcaseIntro {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightWidgetGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__focusBar {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightWidgetCard--converter {
        grid-column: span 2;
    }

    .tp-pv6__homeGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__cardGrid--spotlight .tp-pv6__placeCard:first-child {
        grid-column: span 2;
    }

    .tp-pv6__cardGrid--chopbar .tp-pv6__placeCard:first-child {
        grid-column: span 2;
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(1),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(2),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(3),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(4) {
        grid-column: span 6;
        min-height: 260px;
    }

    .tp-pv6__knockoutDeck {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .tp-pv6__topbar,
    .tp-pv6__hero,
    .tp-pv6__section,
    .tp-pv6 .tp-portal-v1__ticker,
    .tp-pv6 .tp-portal-v1__section {
        width: min(100% - 18px, 1320px);
    }

    .tp-pv6__hero {
        min-height: auto;
    }

    .tp-pv6__heroGrid,
    .tp-pv6__sectionIntro,
    .tp-pv6__heroVisualRow,
    .tp-pv6__laneGrid,
    .tp-pv6__cardGrid,
    .tp-pv6__promptGrid,
    .tp-pv6__splitGrid,
    .tp-pv6__search,
    .tp-pv6__homeGrid,
    .tp-pv6__playGrid,
    .tp-pv6__schoolRegionGrid,
    .tp-pv6__schoolRegionList,
    .tp-pv6__launchpadGrid,
    .tp-pv6__lensPanel,
    .tp-pv6__lensCardGrid,
    .tp-pv6__browseGrid,
    .tp-pv6__rankBoard {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightGrid,
    .tp-pv6__toolShowcaseIntro {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightWidgetGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__flightWidgetCard--converter {
        grid-column: span 2;
    }

    .tp-pv6__heroGrid {
        min-height: auto;
        padding: 20px;
    }

    .tp-pv6__heroShade {
        background:
            linear-gradient(180deg, rgba(7, 8, 10, 0.3) 0%, rgba(7, 8, 10, 0.82) 48%, rgba(7, 8, 10, 0.96) 100%),
            linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.58) 100%);
    }

    .tp-pv6__heroMedia {
        min-height: 360px;
    }

    .tp-pv6__title {
        max-width: 8ch;
        font-size: clamp(44px, 16vw, 72px);
    }

    .tp-pv6__section {
        padding: 20px;
    }

    .tp-pv6__toolPathActions {
        align-items: flex-start;
        flex-direction: column;
    }

    .tp-pv6__flightFieldRow,
    .tp-pv6__flightRouteRow {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__heroFeatureTitle,
    .tp-pv6__placeTitle,
    .tp-pv6__promptTitle {
        font-size: 26px;
    }

    .tp-pv6__cardGrid--spotlight .tp-pv6__placeCard:first-child {
        grid-column: auto;
    }

    .tp-pv6__cardGrid--chopbar .tp-pv6__placeCard:first-child {
        grid-column: auto;
    }

    .tp-pv6__schoolRegion--lead {
        grid-column: auto;
    }

    .tp-pv6__schoolRegion--lead .tp-pv6__schoolRegionList {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__heroVisualCard:first-child {
        grid-row: auto;
        grid-template-columns: 74px minmax(0, 1fr);
        padding: 10px;
        min-height: 0;
        border-radius: 18px;
    }

    .tp-pv6__heroVisualCard:first-child .tp-pv6__heroVisualMedia {
        aspect-ratio: 1 / 1;
        border-radius: 14px;
    }

    .tp-pv6__heroVisualCard:first-child .tp-pv6__heroVisualBody {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        gap: 6px;
    }

    .tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeBody {
        padding: 20px;
    }

    .tp-pv6__section--spotlightStage .tp-pv6__placeCard:first-child .tp-pv6__placeTitle {
        font-size: 32px;
    }

    .tp-pv6__section--chopbar .tp-pv6__placeCard:first-child {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeBody {
        padding: 20px;
    }

    .tp-pv6__section--chopbar .tp-pv6__placeCard:first-child .tp-pv6__placeTitle {
        font-size: 30px;
    }

    .tp-pv6__verticalDecisionGrid,
    .tp-pv6__rankBoard,
    .tp-pv6__geoDiscoveryGrid,
    .tp-pv6__geoMiniList {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__geoLead {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__geoLeadBody {
        padding: 0 18px 18px;
    }

    .tp-pv6__verticalDecisionCard {
        min-height: 180px;
    }

    .tp-pv6__rail {
        grid-auto-columns: minmax(220px, 82vw);
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaic {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(1),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(2),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(3),
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(4) {
        grid-column: auto;
        min-height: 240px;
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard,
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(n) {
        width: 100%;
        min-width: 0;
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicInner {
        min-width: 0;
    }

    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicTitle,
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicDesc,
    .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCta {
        overflow-wrap: normal;
        word-break: normal;
        hyphens: manual;
    }

    .tp-pv6__promptCopy {
        min-height: 0;
    }

    .tp-pv6__toolPreviewGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__fxGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__swipeStage,
    .tp-pv6__swipeDeck {
        min-height: 320px;
    }

    .tp-pv6__knockoutCard,
    .tp-pv6__knockoutCard--winner {
        min-height: 360px;
    }

    .tp-pv6__knockoutVs {
        width: 58px;
        height: 58px;
    }

    .tp-pv6__dock {
        width: min(100% - 12px, 1180px);
        padding: 8px;
    }
}

@media (max-width: 560px) {
    .tp-pv6__topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .tp-pv6__topActions,
    .tp-pv6__heroActions,
    .tp-pv6__chipRow {
        width: 100%;
    }

    .tp-pv6__button {
        width: 100%;
    }

    .tp-pv6__focusForm {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__focusButton {
        width: 100%;
    }

    .tp-pv6__flightActions,
    .tp-pv6__toolShowcaseActions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightWidgetGrid,
    .tp-pv6__toolPreviewGrid,
    .tp-pv6__verticalDecisionGrid,
    .tp-pv6__verticalToolbelt {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__flightWidgetCard--converter {
        grid-column: auto;
    }

    .tp-pv6__fxGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__rankItem {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .tp-pv6__rankCounts {
        grid-column: 2;
        justify-content: start;
        text-align: left;
        max-width: none;
    }

    .tp-pv6__section,
    .tp-pv6__heroGrid {
        padding: 16px;
    }

    .tp-pv6__heroVisualCard {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .tp-pv6__heroVisualCard:first-child {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .tp-pv6__railTitle {
        font-size: 24px;
    }

    .tp-pv6__swipeActions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6__knockoutActions,
    .tp-pv6__knockoutWinnerActions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
}

.tp-pv6__placeMetaWrap {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.tp-pv6__savedPill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(var(--tp-accent-b, 252, 209, 22), 0.28);
    background: linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.18), rgba(var(--tp-accent-b, 252, 209, 22), 0.18), rgba(var(--tp-accent-c, 0, 107, 63), 0.18));
    color: var(--tp-pv6-text);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.tp-pv6__savedPill[hidden] {
    display: none !important;
}

.tp-pv6__placeActions {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__placeCard.is-saved {
    border-color: rgba(var(--tp-accent-b, 252, 209, 22), 0.26);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 46%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12) 100%),
        linear-gradient(180deg, rgba(16, 19, 24, 0.92), rgba(10, 12, 16, 0.92));
}

.tp-pv6__savedStage {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
    gap: 18px;
}

.tp-pv6__savedLead,
.tp-pv6__savedShelfShell {
    padding: 24px;
}

.tp-pv6__savedStats {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6__savedStat {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

.tp-pv6__savedStatValue {
    display: block;
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 0.94;
}

.tp-pv6__savedStatLabel {
    display: block;
    margin-top: 6px;
    color: rgba(246, 241, 231, 0.64);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.tp-pv6__savedActions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__savedMeta {
    margin-top: 14px;
    color: rgba(246, 241, 231, 0.72);
}

.tp-pv6__savedShelfHead {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.tp-pv6__savedShelf {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6__savedCard,
.tp-pv6__savedHubItem {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(135deg, rgba(var(--tp-accent-a, 206, 17, 38), 0.12) 0%, rgba(var(--tp-accent-b, 252, 209, 22), 0.08) 48%, rgba(var(--tp-accent-c, 0, 107, 63), 0.12) 100%),
        rgba(14, 17, 22, 0.92);
}

.tp-pv6__savedCardMedia,
.tp-pv6__savedHubItemMedia {
    display: block;
    min-height: 118px;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.tp-pv6__savedCardMedia img,
.tp-pv6__savedHubItemMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6__savedCardFallback,
.tp-pv6__savedHubItemFallback {
    display: flex;
    align-items: end;
    width: 100%;
    height: 100%;
    padding: 16px;
    font-family: "Newsreader", Georgia, serif;
    font-size: 24px;
    line-height: 0.96;
}

.tp-pv6__savedCardBody,
.tp-pv6__savedHubItemBody {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.tp-pv6__savedCardMeta,
.tp-pv6__savedHubItemMeta {
    color: rgba(246, 241, 231, 0.58);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.tp-pv6__savedCardTitle,
.tp-pv6__savedHubItemTitle {
    margin: 10px 0 0;
    font-size: 24px;
    line-height: 1;
}

.tp-pv6__savedCardActions,
.tp-pv6__savedHubItemActions {
    margin-top: auto;
    padding-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__savedEmpty,
.tp-pv6__savedHubEmpty {
    padding: 20px;
    border-radius: 22px;
    border: 1px dashed rgba(var(--tp-accent-b, 252, 209, 22), 0.22);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(246, 241, 231, 0.76);
}

.tp-pv6__savedEmpty strong {
    display: block;
    margin-bottom: 8px;
    color: var(--tp-pv6-text);
}

.tp-pv6__savedEmpty .tp-pv6__miniLink {
    margin-top: 14px;
}

.tp-pv6__savedHub {
    position: fixed;
    inset: 0;
    z-index: 1000500;
}

.tp-pv6__savedHubBackdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(10px);
}

.tp-pv6__savedHubDialog {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1120px, calc(100% - 24px));
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(180deg, rgba(15, 18, 23, 0.98), rgba(8, 10, 14, 0.98)),
        rgba(7, 8, 11, 0.94);
    box-shadow: 0 40px 120px rgba(0, 0, 0, 0.5);
}

.tp-pv6__savedHubTop,
.tp-pv6__savedHubBody {
    padding: 20px 22px;
}

.tp-pv6__savedHubTop {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tp-pv6__savedHubTitle {
    margin: 8px 0 0;
    font-size: clamp(30px, 3vw, 40px);
    line-height: 0.96;
}

.tp-pv6__savedHubTopActions,
.tp-pv6__savedHubActions,
.tp-pv6__savedHubFilters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tp-pv6__savedHubStatus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.tp-pv6__savedHubSearch {
    width: 100%;
}

.tp-pv6__savedHubMeta {
    margin-top: 12px;
    color: rgba(246, 241, 231, 0.66);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
}

.tp-pv6__savedHubFilters {
    margin-top: 16px;
}

.tp-pv6__savedHubList {
    margin-top: 18px;
    max-height: calc(100vh - 290px);
    overflow: auto;
    display: grid;
    gap: 14px;
    padding-right: 4px;
    scrollbar-width: none;
}

.tp-pv6__savedHubList::-webkit-scrollbar {
    display: none;
}

.tp-pv6__savedHubActions {
    margin-top: 18px;
}

@media (max-width: 980px) {
    .tp-pv6__savedStage {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__savedShelf {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .tp-pv6__savedStats {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__savedCard,
    .tp-pv6__savedHubItem {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6__savedCardMedia,
    .tp-pv6__savedHubItemMedia {
        min-height: 180px;
    }

    .tp-pv6__savedHubDialog {
        top: 12px;
        width: calc(100% - 12px);
        max-height: calc(100vh - 24px);
    }

    .tp-pv6__savedHubTop {
        flex-direction: column;
    }
}

body.tp-portal-v6special-schoolfinder {
    --tp-pv6-bg: #f5f8f4;
    --tp-pv6-panel: #ffffff;
    --tp-pv6-panel-soft: rgba(255, 255, 255, 0.88);
    --tp-pv6-line: #dfe8df;
    --tp-pv6-text: #101828;
    --tp-pv6-muted: #55616b;
    --tp-pv6-warm: #f2b91f;
    --tp-pv6-rich: #17233a;
    --tp-pv6-leaf: #078a4f;
    --tp-pv6-shadow: 0 24px 70px rgba(16, 24, 40, 0.13);
    background:
        linear-gradient(180deg, #f8fbf6 0%, #edf5ed 44%, #f7faf7 100%);
    color: #101828;
}

body.tp-portal-v6-body:has(.tp-pv6--schoolfinder) {
    background:
        linear-gradient(180deg, #f8fbf6 0%, #edf5ed 44%, #f7faf7 100%);
}

.tp-pv6--schoolfinder {
    padding-bottom: 42px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(245, 248, 244, 0.94) 48%, #f7faf7 100%);
    color: #101828;
    font-family: "Manrope", "Segoe UI", sans-serif;
    --tpv1-text: #101828;
    --tpv1-muted: #55616b;
    --tpv1-muted2: #6d7782;
    --tpv1-glass: #ffffff;
    --tpv1-glass-strong: #ffffff;
    --tpv1-border: #dfe8df;
    --tpv1-shadow: 0 18px 54px rgba(16, 24, 40, 0.1);
    --tpv1-radius: 8px;
    --tpv1-accent-a: 17, 103, 177;
    --tpv1-accent-b: 242, 185, 31;
    --tpv1-accent-c: 7, 138, 79;
    --tpv1-red: #1167b1;
    --tpv1-gold: #f2b91f;
    --tpv1-green: #078a4f;
    --tpv1-accent: #1167b1;
    --tpv1-accent2: #078a4f;
}

.tp-pv6--schoolfinder .tp-pv6__ambient,
.tp-pv6--schoolfinder .tp-pv6__dock {
    display: none;
}

.tp-pv6--schoolfinder .tp-pv6__topbar {
    width: min(1440px, calc(100% - 48px));
    min-height: 74px;
    padding: 16px 0 12px;
    color: #17233a;
}

.tp-pv6--schoolfinder .tp-pv6__brand {
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__brandMark {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #ffffff;
    border-color: rgba(7, 138, 79, 0.18);
    box-shadow: 0 12px 28px rgba(16, 24, 40, 0.08);
}

.tp-pv6--schoolfinder .tp-pv6__brandMark::after {
    display: none;
}

.tp-pv6--schoolfinder .tp-pv6__brandText {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.tp-pv6--schoolfinder .tp-pv6__topActions {
    align-items: center;
    gap: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__topLink,
.tp-pv6--schoolfinder .tp-pv6__inlineLink {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 13px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    color: #263241;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
    backdrop-filter: none;
}

.tp-pv6--schoolfinder .tp-pv6__topLink:hover,
.tp-pv6--schoolfinder .tp-pv6__inlineLink:hover {
    transform: none;
    border-color: rgba(7, 138, 79, 0.22);
    background: #ffffff;
    color: #064d2d;
}

.tp-pv6--schoolfinder .tp-pv6__topLink--saved {
    background: #ffffff;
    border-color: #dfe8df;
}

.tp-pv6--schoolfinder .tp-pv6__topLink--signIn {
    background: #078a4f;
    border-color: #078a4f;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__hero {
    width: 100%;
    min-height: min(820px, calc(100vh - 72px));
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    border: 0;
    background: #e7f1e8;
    box-shadow: none;
}

.tp-pv6--schoolfinder .tp-pv6__hero::before,
.tp-pv6--schoolfinder .tp-pv6__hero::after {
    display: none;
}

.tp-pv6--schoolfinder .tp-pv6__heroMedia {
    inset: 0;
    opacity: 1;
}

.tp-pv6--schoolfinder .tp-pv6__stageImage {
    filter: saturate(1.08) contrast(1.02) brightness(1.02);
}

.tp-pv6--schoolfinder .tp-pv6__heroShade {
    background:
        linear-gradient(90deg, rgba(248, 251, 246, 0.96) 0%, rgba(248, 251, 246, 0.88) 33%, rgba(248, 251, 246, 0.36) 67%, rgba(248, 251, 246, 0.1) 100%),
        linear-gradient(180deg, rgba(248, 251, 246, 0.62) 0%, rgba(248, 251, 246, 0.14) 42%, rgba(248, 251, 246, 0.64) 100%);
}

.tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
    position: relative;
    z-index: 2;
    width: min(1440px, calc(100% - 72px));
    min-height: min(720px, calc(100vh - 92px));
    margin: 0 auto;
    padding: 72px 0 52px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.82fr);
    gap: 44px;
    align-items: center;
}

.tp-pv6--schoolfinder .tp-pv6__sfHeroCopy {
    display: grid;
    gap: 24px;
    align-content: center;
    max-width: 830px;
}

.tp-pv6--schoolfinder .tp-pv6__sfBasePill {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid rgba(7, 138, 79, 0.18);
    background: rgba(255, 255, 255, 0.88);
    color: #334155;
    box-shadow: 0 12px 34px rgba(16, 24, 40, 0.08);
    backdrop-filter: blur(14px);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.tp-pv6--schoolfinder .tp-pv6__sfBasePill strong {
    color: #064d2d;
}

.tp-pv6--schoolfinder .tp-pv6__sfFlag {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #fff7da;
    font-size: 15px;
}

.tp-pv6--schoolfinder .tp-pv6__sfTitle {
    max-width: 760px;
    margin: 0;
    color: #101828;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(62px, 8vw, 108px);
    font-weight: 700;
    line-height: 0.94;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfSummary {
    max-width: 660px;
    margin: 0;
    color: #263241;
    font-size: clamp(18px, 1.6vw, 22px);
    font-weight: 600;
    line-height: 1.5;
}

.tp-pv6--schoolfinder .tp-pv6__sfSearch {
    max-width: 980px;
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(150px, 0.95fr) minmax(160px, 1fr) auto;
    align-items: end;
    gap: 12px;
    padding: 14px;
    border-radius: 8px;
    border: 1px solid rgba(223, 232, 223, 0.96);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 26px 70px rgba(16, 24, 40, 0.16);
    backdrop-filter: blur(18px);
}

.tp-pv6--schoolfinder .tp-pv6__sfField {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.tp-pv6--schoolfinder .tp-pv6__sfField span {
    color: #5f6b76;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--schoolfinder .tp-pv6__sfField input,
.tp-pv6--schoolfinder .tp-pv6__sfField select {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #d7e2d7;
    background: #ffffff;
    color: #101828;
    font: 800 14px/1.2 "Manrope", "Segoe UI", sans-serif;
    box-shadow: none;
}

.tp-pv6--schoolfinder .tp-pv6__sfField select {
    appearance: none;
    padding-right: 30px;
    background-image:
        linear-gradient(45deg, transparent 50%, #344054 50%),
        linear-gradient(135deg, #344054 50%, transparent 50%);
    background-position:
        calc(100% - 18px) 52%,
        calc(100% - 13px) 52%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.tp-pv6--schoolfinder .tp-pv6__sfSearchButton {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border-radius: 8px;
    border: 1px solid #078a4f;
    background: #078a4f;
    color: #ffffff;
    font: 900 14px/1 "Manrope", "Segoe UI", sans-serif;
    cursor: pointer;
    box-shadow: 0 16px 36px rgba(7, 138, 79, 0.22);
}

.tp-pv6--schoolfinder .tp-pv6__sfSearchButton:hover {
    background: #066f40;
}

.tp-pv6--schoolfinder .tp-pv6__sfRegionRail {
    max-width: 940px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 9px;
    border-radius: 8px;
    border: 1px solid rgba(223, 232, 223, 0.92);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 12px 34px rgba(16, 24, 40, 0.08);
    scrollbar-width: none;
}

.tp-pv6--schoolfinder .tp-pv6__sfRegionRail::-webkit-scrollbar {
    display: none;
}

.tp-pv6--schoolfinder .tp-pv6__sfRegionRail > span {
    flex: 0 0 auto;
    color: #5f6b76;
    font-size: 12px;
    font-weight: 900;
}

.tp-pv6--schoolfinder .tp-pv6__sfRegionRail a {
    flex: 0 0 auto;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 8px;
    border: 1px solid #dfe8df;
    background: #ffffff;
    color: #243142;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.tp-pv6--schoolfinder .tp-pv6__sfRegionRail a.is-active {
    background: #078a4f;
    border-color: #078a4f;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
    align-self: center;
    min-width: 0;
    display: grid;
    gap: 18px;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid rgba(223, 232, 223, 0.92);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 32px 90px rgba(16, 24, 40, 0.18);
    backdrop-filter: blur(18px);
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead,
.tp-pv6--schoolfinder .tp-pv6__sfCompareFoot {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead h2 {
    margin: 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead p,
.tp-pv6--schoolfinder .tp-pv6__sfCompareFoot span {
    margin: 6px 0 0;
    color: #5f6b76;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead a,
.tp-pv6--schoolfinder .tp-pv6__sfCompareFoot button {
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid rgba(7, 138, 79, 0.22);
    background: #f2fbf6;
    color: #064d2d;
    text-decoration: none;
    font: 900 12px/1 "Manrope", "Segoe UI", sans-serif;
    cursor: pointer;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareList {
    display: grid;
    gap: 12px;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareRow {
    min-width: 0;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #e1e9e1;
    background: #fbfdfb;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.06);
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareRow:hover {
    border-color: rgba(7, 138, 79, 0.32);
    transform: translateY(-1px);
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareThumb {
    display: block;
    width: 76px;
    height: 76px;
    overflow: hidden;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(7, 138, 79, 0.16), rgba(242, 185, 31, 0.22)),
        #eef6ef;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareThumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareBody {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareBody strong {
    color: #101828;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareMeta {
    color: #5f6b76;
    font-size: 12px;
    font-weight: 750;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareTags,
.tp-pv6--schoolfinder .tp-pv6__sfCheckList {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tp-pv6--schoolfinder .tp-pv6__sfCheckList {
    grid-column: 2;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareTags span,
.tp-pv6--schoolfinder .tp-pv6__sfCheckList span {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareTags span {
    background: #eef5ff;
    color: #174d82;
}

.tp-pv6--schoolfinder .tp-pv6__sfCheckList span {
    background: #effaf4;
    color: #08623a;
}

.tp-pv6--schoolfinder .tp-pv6__sfCheckList span::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 999px;
    background: #078a4f;
}

.tp-pv6--schoolfinder .tp-pv6__sfCheckList span.is-pending {
    background: #fff8de;
    color: #8a6200;
}

.tp-pv6--schoolfinder .tp-pv6__sfCheckList span.is-pending::before {
    background: #f2b91f;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareFoot {
    align-items: center;
    padding-top: 2px;
}

.tp-pv6--schoolfinder .tp-pv6__sfStatStrip {
    position: relative;
    z-index: 3;
    width: min(1180px, calc(100% - 72px));
    margin: -22px auto 30px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #dfe8df;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 60px rgba(16, 24, 40, 0.12);
}

.tp-pv6--schoolfinder .tp-pv6__sfStat {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    padding: 18px;
    border-right: 1px solid #e5ece5;
}

.tp-pv6--schoolfinder .tp-pv6__sfStat:last-child {
    border-right: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfStatIcon {
    grid-row: span 3;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #effaf4;
    color: #078a4f;
    font-size: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__sfStatIcon--gold {
    background: #fff8de;
    color: #956a00;
}

.tp-pv6--schoolfinder .tp-pv6__sfStatIcon--blue {
    background: #eef5ff;
    color: #1167b1;
}

.tp-pv6--schoolfinder .tp-pv6__sfStat strong {
    color: #101828;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

.tp-pv6--schoolfinder .tp-pv6__sfStat span:not(.tp-pv6__sfStatIcon) {
    color: #344054;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.tp-pv6--schoolfinder .tp-pv6__sfStat small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.tp-pv6--schoolfinder .tp-pv6__section,
.tp-pv6--schoolfinder .tp-pv6__legacySection,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker {
    width: min(1320px, calc(100% - 48px));
    border-radius: 8px;
    border: 1px solid #dfe8df;
    background: rgba(255, 255, 255, 0.84);
    color: #101828;
    box-shadow: 0 18px 54px rgba(16, 24, 40, 0.08);
}

.tp-pv6--schoolfinder .tp-pv6__section {
    margin-top: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__section--schoolRegions {
    margin-top: 8px;
    background:
        linear-gradient(135deg, rgba(7, 138, 79, 0.09), rgba(242, 185, 31, 0.1) 46%, rgba(17, 103, 177, 0.07)),
        #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__sectionKicker,
.tp-pv6--schoolfinder .tp-portal-v1__kicker,
.tp-pv6--schoolfinder .tp-portal-v5__kicker {
    color: #078a4f;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sectionTitle,
.tp-pv6--schoolfinder .tp-pv6__heroFeatureTitle,
.tp-pv6--schoolfinder .tp-pv6__panelTitle,
.tp-pv6--schoolfinder .tp-portal-v1__sectionTitle,
.tp-pv6--schoolfinder .tp-portal-v5__sectionTitle,
.tp-pv6--schoolfinder .tp-portal-v5__cardTitle {
    color: #101828;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sectionCopy,
.tp-pv6--schoolfinder .tp-pv6__laneLocation,
.tp-pv6--schoolfinder .tp-pv6__laneCopy,
.tp-pv6--schoolfinder .tp-pv6__placeCopy,
.tp-pv6--schoolfinder .tp-pv6__placeMeta,
.tp-pv6--schoolfinder .tp-pv6__listMeta,
.tp-pv6--schoolfinder .tp-pv6__stackCopy,
.tp-pv6--schoolfinder .tp-portal-v1__sectionIntro p,
.tp-pv6--schoolfinder .tp-portal-v5__sectionCopy,
.tp-pv6--schoolfinder .tp-portal-v5__cardCopy {
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__panel,
.tp-pv6--schoolfinder .tp-pv6__laneCard,
.tp-pv6--schoolfinder .tp-pv6__placeCard,
.tp-pv6--schoolfinder .tp-pv6__promptCard,
.tp-pv6--schoolfinder .tp-pv6__listCard,
.tp-pv6--schoolfinder .tp-pv6__stack,
.tp-pv6--schoolfinder .tp-pv6__railCard,
.tp-pv6--schoolfinder .tp-pv6__homeCell,
.tp-pv6--schoolfinder .tp-pv6__toolShowcase,
.tp-pv6--schoolfinder .tp-pv6__lensShell,
.tp-pv6--schoolfinder .tp-portal-v1__panel,
.tp-pv6--schoolfinder .tp-portal-v5__card,
.tp-pv6--schoolfinder .tp-portal-v5__experienceCard,
.tp-pv6--schoolfinder .tp-portal-v5__itineraryCard {
    border-radius: 8px;
    border-color: #e1e9e1;
    background: #ffffff;
    color: #101828;
    box-shadow: 0 14px 40px rgba(16, 24, 40, 0.07);
}

.tp-pv6--schoolfinder .tp-pv6__laneCard:nth-child(n) {
    background: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__laneCard:hover,
.tp-pv6--schoolfinder .tp-pv6__placeCard:hover,
.tp-pv6--schoolfinder .tp-pv6__promptCard:hover,
.tp-pv6--schoolfinder .tp-pv6__railCard:hover {
    border-color: rgba(7, 138, 79, 0.3);
    box-shadow: 0 18px 48px rgba(16, 24, 40, 0.1);
}

.tp-pv6--schoolfinder .tp-pv6__laneIcon,
.tp-pv6--schoolfinder .tp-pv6__promptIcon,
.tp-pv6--schoolfinder .tp-pv6__listIcon {
    border-radius: 8px;
    background: #effaf4;
    color: #078a4f;
}

.tp-pv6--schoolfinder .tp-pv6__laneTitle,
.tp-pv6--schoolfinder .tp-pv6__stackTitle,
.tp-pv6--schoolfinder .tp-pv6__listTitle,
.tp-pv6--schoolfinder .tp-pv6__placeTitle,
.tp-pv6--schoolfinder .tp-pv6__promptTitle {
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__button,
.tp-pv6--schoolfinder .tp-pv6__focusButton,
.tp-pv6--schoolfinder .tp-portal-v1__button,
.tp-pv6--schoolfinder .tp-portal-v5__button {
    border-radius: 8px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-weight: 900;
}

.tp-pv6--schoolfinder .tp-pv6__button--primary,
.tp-pv6--schoolfinder .tp-portal-v1__button--submit,
.tp-pv6--schoolfinder .tp-portal-v5__button--primary {
    border-color: #078a4f;
    background: #078a4f;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__button--ghost,
.tp-pv6--schoolfinder .tp-pv6__button--soft,
.tp-pv6--schoolfinder .tp-portal-v1__button,
.tp-pv6--schoolfinder .tp-portal-v5__button {
    border-color: #dfe8df;
    background: #ffffff;
    color: #064d2d;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid {
    gap: 14px;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion {
    border-radius: 8px;
    border-color: #dfe8df;
    background: #ffffff;
    box-shadow: 0 14px 40px rgba(16, 24, 40, 0.07);
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
    background:
        linear-gradient(135deg, rgba(7, 138, 79, 0.08), rgba(242, 185, 31, 0.11)),
        #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionTitle,
.tp-pv6--schoolfinder .tp-pv6__schoolRegionItemBody strong {
    color: #101828;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionCopy,
.tp-pv6--schoolfinder .tp-pv6__schoolRegionItemBody > span:not(.tp-pv6__placeMeta) {
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionItem {
    border-radius: 8px;
    border-color: #e1e9e1;
    background: #fbfdfb;
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionThumb {
    background: linear-gradient(135deg, rgba(7, 138, 79, 0.12), rgba(242, 185, 31, 0.16));
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionEmpty {
    border-radius: 8px;
    border-color: #dfe8df;
    background: #f8fbf6;
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__legacySection::before,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker::before {
    background: linear-gradient(90deg, #078a4f 0%, #f2b91f 52%, #1167b1 100%);
}

.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard {
    border-radius: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard::after {
    background:
        linear-gradient(180deg, rgba(16, 24, 40, 0.02) 0%, rgba(16, 24, 40, 0.62) 86%),
        radial-gradient(760px 260px at 28% 8%, rgba(255, 255, 255, 0.18), transparent 62%);
}

.tp-pv6--schoolfinder .tp-portal-v1__mosaicTitle {
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__savedHubDialog {
    border-radius: 8px;
}

@media (max-width: 1120px) {
    .tp-pv6--schoolfinder .tp-pv6__topbar {
        width: min(100% - 32px, 1120px);
        flex-wrap: wrap;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        width: min(100% - 40px, 980px);
        min-height: auto;
        grid-template-columns: minmax(0, 1fr);
        padding: 54px 0 42px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
        max-width: 760px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearch {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearchButton {
        grid-column: span 2;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStatStrip {
        width: min(100% - 40px, 760px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStat:nth-child(2) {
        border-right: 0;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStat:nth-child(-n + 2) {
        border-bottom: 1px solid #e5ece5;
    }

    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        width: min(100% - 32px, 980px);
    }
}

@media (max-width: 760px) {
    .tp-pv6--schoolfinder .tp-pv6__topbar {
        width: calc(100% - 24px);
        padding-top: 12px;
        align-items: flex-start;
    }

    .tp-pv6--schoolfinder .tp-pv6__topActions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .tp-pv6--schoolfinder .tp-pv6__topLink,
    .tp-pv6--schoolfinder .tp-pv6__inlineLink {
        min-width: 0;
        padding: 8px 6px;
        font-size: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__hero {
        min-height: auto;
    }

    .tp-pv6--schoolfinder .tp-pv6__heroShade {
        background:
            linear-gradient(180deg, rgba(248, 251, 246, 0.98) 0%, rgba(248, 251, 246, 0.9) 54%, rgba(248, 251, 246, 0.72) 100%);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        width: calc(100% - 24px);
        gap: 28px;
        padding: 34px 0 34px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfBasePill {
        max-width: 100%;
        flex-wrap: wrap;
        line-height: 1.25;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfTitle {
        font-size: clamp(44px, 14vw, 64px);
        line-height: 0.96;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSummary {
        font-size: 16px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearch {
        grid-template-columns: minmax(0, 1fr);
        padding: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearchButton {
        grid-column: auto;
        width: 100%;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfRegionRail {
        margin-right: -12px;
        padding-right: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
        padding: 16px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareHead,
    .tp-pv6--schoolfinder .tp-pv6__sfCompareFoot {
        flex-direction: column;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareRow {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareThumb {
        width: 68px;
        height: 68px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStatStrip {
        width: calc(100% - 24px);
        margin-top: -10px;
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStat,
    .tp-pv6--schoolfinder .tp-pv6__sfStat:nth-child(n) {
        border-right: 0;
        border-bottom: 1px solid #e5ece5;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStat:last-child {
        border-bottom: 0;
    }

    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        width: calc(100% - 24px);
        padding: 18px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sectionIntro {
        grid-template-columns: minmax(0, 1fr);
    }
}

body.tp-portal-v6special-schoolfinder::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(16, 24, 40, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16, 24, 40, 0.035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.72) 18%, rgba(0, 0, 0, 0.5) 100%);
}

.tp-pv6--schoolfinder {
    padding-bottom: 118px;
}

.tp-pv6--schoolfinder .tp-pv6__topbar,
.tp-pv6--schoolfinder .tp-pv6__sfHeroGrid,
.tp-pv6--schoolfinder .tp-pv6__section,
.tp-pv6--schoolfinder .tp-pv6__legacySection,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker {
    width: min(1680px, calc(100% - 72px));
}

.tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.68fr);
    gap: clamp(34px, 4vw, 72px);
}

.tp-pv6--schoolfinder .tp-pv6__sfComparePanel,
.tp-pv6--schoolfinder .tp-pv6__section,
.tp-pv6--schoolfinder .tp-pv6__legacySection,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker,
.tp-pv6--schoolfinder .tp-pv6__panel,
.tp-pv6--schoolfinder .tp-pv6__laneCard,
.tp-pv6--schoolfinder .tp-pv6__placeCard,
.tp-pv6--schoolfinder .tp-pv6__promptCard,
.tp-pv6--schoolfinder .tp-pv6__listCard,
.tp-pv6--schoolfinder .tp-pv6__stack,
.tp-pv6--schoolfinder .tp-pv6__railCard,
.tp-pv6--schoolfinder .tp-pv6__toolShowcase,
.tp-pv6--schoolfinder .tp-pv6__lensShell,
.tp-pv6--schoolfinder .tp-pv6__lensLead,
.tp-pv6--schoolfinder .tp-pv6__swipeGame,
.tp-pv6--schoolfinder .tp-pv6__verticalDecisionCard,
.tp-pv6--schoolfinder .tp-pv6__verticalGuide,
.tp-pv6--schoolfinder .tp-pv6__schoolRegion,
.tp-pv6--schoolfinder .tp-pv6__browseCard,
.tp-pv6--schoolfinder .tp-pv6__lensCard,
.tp-pv6--schoolfinder .tp-portal-v1__tickerCard,
.tp-pv6--schoolfinder .tp-portal-v1__newsLead,
.tp-pv6--schoolfinder .tp-portal-v1__newsCard,
.tp-pv6--schoolfinder .tp-portal-v5__eventCard,
.tp-pv6--schoolfinder .tp-portal-v5__experienceCard {
    border-radius: 8px;
    border: 1px solid rgba(210, 222, 213, 0.78);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(249, 252, 249, 0.74)),
        rgba(255, 255, 255, 0.72);
    color: #101828;
    box-shadow: 0 18px 54px rgba(16, 24, 40, 0.08);
    backdrop-filter: blur(18px);
}

.tp-pv6--schoolfinder .tp-pv6__section,
.tp-pv6--schoolfinder .tp-pv6__legacySection,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker {
    padding: clamp(24px, 2.2vw, 38px);
}

.tp-pv6--schoolfinder .tp-portal-v1__container,
.tp-pv6--schoolfinder .tp-portal-v5__container {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sectionIntro,
.tp-pv6--schoolfinder .tp-portal-v1__sectionHeader {
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.5fr);
    align-items: end;
    gap: clamp(18px, 2.8vw, 44px);
}

.tp-pv6--schoolfinder .tp-pv6__sectionTitle,
.tp-pv6--schoolfinder .tp-portal-v1__h2,
.tp-pv6--schoolfinder .tp-portal-v5__sectionTitle {
    max-width: 980px;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(34px, 3.3vw, 58px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__panelTitle,
.tp-pv6--schoolfinder .tp-pv6__toolShowcaseTitle,
.tp-pv6--schoolfinder .tp-pv6__verticalDecisionCard strong,
.tp-pv6--schoolfinder .tp-pv6__geoGroupTitle,
.tp-pv6--schoolfinder .tp-pv6__lensCardTitle,
.tp-pv6--schoolfinder .tp-pv6__browseTitle,
.tp-pv6--schoolfinder .tp-portal-v5__experienceTitle,
.tp-pv6--schoolfinder .tp-portal-v1__newsTitle {
    color: #101828;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__utilityCopy,
.tp-pv6--schoolfinder .tp-pv6__toolShowcaseText,
.tp-pv6--schoolfinder .tp-pv6__toolPreviewCopy,
.tp-pv6--schoolfinder .tp-pv6__lensCardCopy,
.tp-pv6--schoolfinder .tp-pv6__browseCopy,
.tp-pv6--schoolfinder .tp-pv6__promptCopy,
.tp-pv6--schoolfinder .tp-portal-v1__p,
.tp-pv6--schoolfinder .tp-portal-v5__experienceDesc {
    color: #566273;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.55;
}

.tp-pv6--schoolfinder .tp-pv6__verticalStartGrid {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.58fr);
    gap: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__verticalDecisionGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6--schoolfinder .tp-pv6__verticalDecisionCard {
    min-height: 176px;
    padding: 20px;
}

.tp-pv6--schoolfinder .tp-pv6__verticalDecisionCard:hover {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(7, 138, 79, 0.26);
}

.tp-pv6--schoolfinder .tp-pv6__verticalDecisionCard > span:last-child,
.tp-pv6--schoolfinder .tp-pv6__verticalGuide li,
.tp-pv6--schoolfinder .tp-pv6__verticalLocationList small {
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__verticalLocationList a,
.tp-pv6--schoolfinder .tp-pv6__verticalTool {
    border-radius: 8px;
    border: 1px solid #dde8dd;
    background: rgba(255, 255, 255, 0.78);
    color: #17233a;
}

.tp-pv6--schoolfinder .tp-pv6__lensShell {
    padding: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__lensTabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__lensTab {
    min-height: 42px;
    border-radius: 8px;
    border-color: #dce7dc;
    background: rgba(255, 255, 255, 0.72);
    color: #344054;
    font: 900 13px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__lensTab.is-active {
    border-color: rgba(7, 138, 79, 0.28);
    background: #078a4f;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__lensPanel {
    grid-template-columns: minmax(300px, 0.48fr) minmax(0, 1.52fr);
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__lensLead {
    padding: 22px;
}

.tp-pv6--schoolfinder .tp-pv6__lensCardGrid,
.tp-pv6--schoolfinder .tp-pv6__browseGrid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.tp-pv6--schoolfinder .tp-pv6__lensCardMedia,
.tp-pv6--schoolfinder .tp-pv6__browseMedia,
.tp-pv6--schoolfinder .tp-pv6__placeMedia,
.tp-pv6--schoolfinder .tp-pv6__railMedia,
.tp-pv6--schoolfinder .tp-pv6__promptMedia,
.tp-pv6--schoolfinder .tp-portal-v5__experienceMedia {
    border-radius: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__savedStage {
    grid-template-columns: minmax(360px, 0.62fr) minmax(0, 1.38fr);
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__savedStats,
.tp-pv6--schoolfinder .tp-pv6__savedShelf {
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__savedStat,
.tp-pv6--schoolfinder .tp-pv6__savedCard,
.tp-pv6--schoolfinder .tp-pv6__savedHubItem,
.tp-pv6--schoolfinder .tp-pv6__savedEmpty {
    border-radius: 8px;
    border-color: #dde8dd;
    background: rgba(255, 255, 255, 0.76);
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__savedStatLabel,
.tp-pv6--schoolfinder .tp-pv6__savedMeta,
.tp-pv6--schoolfinder .tp-pv6__savedCardMeta,
.tp-pv6--schoolfinder .tp-pv6__savedHubItemMeta {
    color: #647084;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__cardGrid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__placeCard {
    overflow: hidden;
}

.tp-pv6--schoolfinder .tp-pv6__placeMedia {
    margin: 10px 10px 0;
    overflow: hidden;
    aspect-ratio: 1.22 / 1;
}

.tp-pv6--schoolfinder .tp-pv6__placeBody {
    padding: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__placeFooter,
.tp-pv6--schoolfinder .tp-pv6__placeActions {
    border-color: #e5ece5;
}

.tp-pv6--schoolfinder .tp-pv6__miniLink,
.tp-pv6--schoolfinder .tp-pv6__receiptAction,
.tp-pv6--schoolfinder .tp-pv6__toolPathLink,
.tp-pv6--schoolfinder .tp-pv6__toolPathPrimary,
.tp-pv6--schoolfinder .tp-portal-v1__link {
    border-radius: 8px;
    border: 1px solid #dce7dc;
    background: rgba(255, 255, 255, 0.78);
    color: #064d2d;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-weight: 900;
    letter-spacing: 0;
    text-decoration: none;
}

.tp-pv6--schoolfinder .tp-pv6__miniLink:hover,
.tp-pv6--schoolfinder .tp-pv6__receiptAction:hover,
.tp-pv6--schoolfinder .tp-pv6__toolPathLink:hover,
.tp-pv6--schoolfinder .tp-portal-v1__link:hover {
    border-color: rgba(7, 138, 79, 0.28);
    background: #f2fbf6;
}

.tp-pv6--schoolfinder .tp-pv6__toolPathPrimary {
    background: #078a4f;
    border-color: #078a4f;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__toolShowcaseList {
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__toolShowcase {
    padding: 22px;
}

.tp-pv6--schoolfinder .tp-pv6__toolShowcaseIntro {
    grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
    gap: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__toolPreviewGrid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__toolPreviewCard,
.tp-pv6--schoolfinder .tp-pv6__launchItem,
.tp-pv6--schoolfinder .tp-pv6__flightWidgetCard,
.tp-pv6--schoolfinder .tp-pv6__flightRoute,
.tp-pv6--schoolfinder .tp-pv6__fxRate {
    border-radius: 8px;
    border: 1px solid #dfe8df;
    background: rgba(255, 255, 255, 0.76);
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__toolPreviewMedia {
    border-radius: 8px;
    overflow: hidden;
}

.tp-pv6--schoolfinder .tp-pv6__laneGrid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.tp-pv6--schoolfinder .tp-pv6__laneCard {
    min-height: 190px;
    padding: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__laneIcon {
    width: 38px;
    height: 38px;
}

.tp-pv6--schoolfinder .tp-pv6__panel--launchpadExpanded {
    padding: 24px;
}

.tp-pv6--schoolfinder .tp-pv6__launchpadGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6--schoolfinder .tp-pv6__launchList {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__rail {
    grid-auto-columns: minmax(260px, 340px);
}

.tp-pv6--schoolfinder .tp-pv6__playGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__receipt {
    border-radius: 8px;
    border-color: #dfe8df;
    background: rgba(255, 255, 255, 0.76);
    color: #101828;
}

.tp-pv6--schoolfinder .tp-pv6__receiptEyebrow,
.tp-pv6--schoolfinder .tp-pv6__receiptCopy {
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
    grid-column: span 3;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead .tp-pv6__schoolRegionList {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionList {
    grid-template-columns: minmax(0, 1fr);
}

.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaic {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(1),
.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(2),
.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(3),
.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(4),
.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(n) {
    grid-column: span 4;
    min-height: 300px;
}

.tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard::after {
    background:
        linear-gradient(180deg, rgba(16, 24, 40, 0.04) 0%, rgba(16, 24, 40, 0.66) 78%),
        linear-gradient(135deg, rgba(7, 138, 79, 0.08), rgba(242, 185, 31, 0.08));
}

.tp-pv6--schoolfinder .tp-portal-v5__experienceGrid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__promptGrid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.tp-pv6--schoolfinder .tp-pv6__promptCard {
    overflow: hidden;
}

.tp-pv6--schoolfinder .tp-pv6__promptBody {
    padding: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__savedHubBackdrop {
    background: rgba(244, 248, 244, 0.72);
    backdrop-filter: blur(16px);
}

.tp-pv6--schoolfinder .tp-pv6__savedHubDialog {
    width: min(1280px, calc(100% - 48px));
    border-radius: 8px;
    border-color: rgba(210, 222, 213, 0.9);
    background: rgba(255, 255, 255, 0.94);
    color: #101828;
    box-shadow: 0 40px 120px rgba(16, 24, 40, 0.2);
}

.tp-pv6--schoolfinder .tp-pv6__savedHubTop {
    border-color: #e4ece4;
}

.tp-pv6--schoolfinder .tp-pv6__savedHubMeta,
.tp-pv6--schoolfinder .tp-pv6__savedHubStatus {
    color: #5f6b76;
}

.tp-pv6--schoolfinder .tp-pv6__dock {
    display: block;
    width: min(1120px, calc(100% - 40px));
    padding: 8px;
    border-radius: 8px;
    border: 1px solid rgba(210, 222, 213, 0.82);
    background: rgba(255, 255, 255, 0.86);
    color: #17233a;
    box-shadow: 0 18px 60px rgba(16, 24, 40, 0.16);
    backdrop-filter: blur(20px);
}

.tp-pv6--schoolfinder .tp-pv6__dockInner {
    justify-content: center;
}

.tp-pv6--schoolfinder .tp-pv6__dockItem {
    min-height: 42px;
    border-radius: 8px;
    border-color: transparent;
    background: transparent;
    color: #344054;
    font-weight: 900;
}

.tp-pv6--schoolfinder .tp-pv6__dockItem:hover {
    transform: none;
    border-color: rgba(7, 138, 79, 0.18);
    background: #f2fbf6;
    color: #064d2d;
}

.tp-pv6--schoolfinder .tp-pv6__dockItem--surprise {
    background: #fff8de;
    color: #7a5a00;
}

body.tp-portal-v6special-schoolfinder .tp-ai-studio-launcherShell > .tp-ai-studio-launcher,
body.tp-portal-v6special-schoolfinder .tp-ai-studio-launcherShell > .tp-ai-studio-launcherBubble,
body.tp-portal-v6special-schoolfinder .tp-ai-studio-launcherShell > .tpma-tortoise-launcher,
body.tp-portal-v6special-schoolfinder .tpma-tortoise-launcherShell > .tp-ai-studio-launcher,
body.tp-portal-v6special-schoolfinder .tpma-tortoise-launcherShell > .tp-ai-studio-launcherBubble,
body.tp-portal-v6special-schoolfinder .tpma-tortoise-launcherShell > .tpma-tortoise-launcher,
body.tp-portal-v6special-schoolfinder .tpais-assist-bubble,
body.tp-portal-v6special-schoolfinder .tpais-assist-stow,
body.tp-portal-v6special-schoolfinder #tp-recovery-banner {
    display: none !important;
}

html.tp-recovery-banner--lock:has(body.tp-portal-v6special-schoolfinder),
html.tp-recovery-banner--lock:has(body.tp-portal-v6special-schoolfinder) body {
    overflow: auto !important;
}

body.tp-portal-v6special-schoolfinder #tp-consentv2 {
    left: auto !important;
    right: 24px !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 88px) !important;
    max-width: 430px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    border-color: rgba(210, 222, 213, 0.9) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #101828 !important;
    box-shadow: 0 18px 54px rgba(16, 24, 40, 0.16) !important;
}

body.tp-portal-v6special-schoolfinder #tp-consentv2 div {
    color: #101828 !important;
    letter-spacing: 0 !important;
}

body.tp-portal-v6special-schoolfinder #tp-consentv2 button {
    border-radius: 8px !important;
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-weight: 900 !important;
}

body.tp-portal-v6special-schoolfinder #tp-consentv2 button:first-child {
    border-color: #dfe8df !important;
    background: #ffffff !important;
    color: #344054 !important;
}

body.tp-portal-v6special-schoolfinder #tp-consentv2 button:last-child {
    background: #078a4f !important;
    color: #ffffff !important;
}

@media (min-width: 1500px) {
    .tp-pv6--schoolfinder .tp-pv6__cardGrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__laneGrid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__lensCardGrid,
    .tp-pv6--schoolfinder .tp-pv6__browseGrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1120px) {
    .tp-pv6--schoolfinder .tp-pv6__topbar,
    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid,
    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        width: min(100% - 32px, 980px);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .tp-pv6--schoolfinder .tp-pv6__verticalStartGrid,
    .tp-pv6--schoolfinder .tp-pv6__lensPanel,
    .tp-pv6--schoolfinder .tp-pv6__toolShowcaseIntro,
    .tp-pv6--schoolfinder .tp-pv6__savedStage,
    .tp-pv6--schoolfinder .tp-pv6__playGrid,
    .tp-pv6--schoolfinder .tp-pv6__launchpadGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
        grid-column: span 2;
    }

    .tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(n) {
        grid-column: span 6;
    }
}

@media (max-width: 760px) {
    body.tp-portal-v6special-schoolfinder::before {
        background-size: 36px 36px;
    }

    .tp-pv6--schoolfinder {
        padding-bottom: 112px;
        overflow-x: hidden;
    }

    body.tp-portal-v6special-schoolfinder {
        overflow-x: hidden;
    }

    .tp-pv6--schoolfinder .tp-pv6__topbar,
    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid,
    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        width: calc(100% - 24px);
    }

    .tp-pv6--schoolfinder .tp-pv6__topbar {
        display: grid;
        gap: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__topActions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
    }

    .tp-pv6--schoolfinder .tp-pv6__topLink,
    .tp-pv6--schoolfinder .tp-pv6__inlineLink {
        min-width: 0;
        padding-left: 8px;
        padding-right: 8px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroCopy,
    .tp-pv6--schoolfinder .tp-pv6__sfComparePanel,
    .tp-pv6--schoolfinder .tp-pv6__sfSearch,
    .tp-pv6--schoolfinder .tp-pv6__sfRegionRail {
        width: 100%;
        max-width: 100%;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfBasePill {
        width: auto;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfTitle {
        max-width: calc(100vw - 32px);
        font-size: clamp(40px, 11vw, 50px);
        line-height: 1;
        overflow-wrap: normal;
        word-break: normal;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSummary {
        max-width: calc(100vw - 32px);
        font-size: 15px;
    }

    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        padding: 18px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sectionIntro,
    .tp-pv6--schoolfinder .tp-portal-v1__sectionHeader,
    .tp-pv6--schoolfinder .tp-pv6__verticalDecisionGrid,
    .tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid,
    .tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead,
    .tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaic {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead,
    .tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(n) {
        grid-column: auto;
    }

    .tp-pv6--schoolfinder .tp-pv6__legacySection--collections .tp-portal-v1__mosaicCard:nth-child(n) {
        min-height: 260px;
    }

    .tp-pv6--schoolfinder .tp-pv6__dock {
        width: calc(100% - 16px);
        bottom: calc(8px + env(safe-area-inset-bottom));
    }

    .tp-pv6--schoolfinder .tp-pv6__dockInner {
        justify-content: flex-start;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 {
        left: 12px !important;
        right: 12px !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 88px) !important;
        max-width: none !important;
    }
}

/* Agent-first AskAnnie and sharper Tailwind-style SchoolFinder surfaces */
body.tp-portal-v6special-askannie {
    background:
        linear-gradient(180deg, #f7fbfb 0%, #eef8f6 54%, #f8fbf8 100%);
}

body.tp-portal-v6special-askannie::before,
body.tp-portal-v6special-schoolfinder::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(15, 118, 110, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 118, 110, 0.05) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.08));
}

.tp-pv6--askannie {
    position: relative;
    z-index: 1;
    --aa-ink: #0f172a;
    --aa-muted: #516173;
    --aa-line: rgba(20, 184, 166, 0.2);
    --aa-green: #0f9f7a;
    --aa-teal: #0f766e;
    --aa-amber: #f3b33d;
    color: var(--aa-ink);
}

.tp-pv6--askannie .tp-pv6__topbar,
.tp-pv6--askannie .tp-pv6__aaHeroGrid,
.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    width: min(1680px, calc(100% - 72px));
}

.tp-pv6--askannie .tp-pv6__topbar,
.tp-pv6--schoolfinder .tp-pv6__topbar {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 18px 60px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(18px) saturate(1.25);
    -webkit-backdrop-filter: blur(18px) saturate(1.25);
}

.tp-pv6--askannie .tp-pv6__topLink {
    min-height: 40px;
    padding: 9px 13px;
    border-radius: 8px;
    color: #263241;
    font: 800 13px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.tp-pv6--askannie .tp-pv6__topLink:hover {
    border-color: var(--aa-line);
    background: #ffffff;
    color: var(--aa-teal);
    transform: none;
}

.tp-pv6--askannie .tp-pv6__topLink--saved {
    border-color: rgba(20, 184, 166, 0.22);
    background: rgba(255, 255, 255, 0.92);
}

.tp-pv6--askannie .tp-pv6__topLink--signIn {
    border-color: var(--aa-teal);
    background: var(--aa-teal);
    color: #ffffff;
}

.tp-pv6--askannie .tp-pv6__hero {
    width: 100%;
    min-height: min(850px, calc(100vh - 88px));
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #e8f6f4;
    box-shadow: none;
}

.tp-pv6--askannie .tp-pv6__hero::before,
.tp-pv6--askannie .tp-pv6__hero::after {
    display: none;
}

.tp-pv6--askannie .tp-pv6__heroMedia {
    opacity: 0.24;
    filter: saturate(0.9) contrast(0.96);
}

.tp-pv6--askannie .tp-pv6__heroShade {
    background:
        linear-gradient(90deg, rgba(247, 251, 251, 0.98) 0%, rgba(247, 251, 251, 0.9) 42%, rgba(247, 251, 251, 0.56) 100%),
        linear-gradient(180deg, rgba(232, 246, 244, 0.42), rgba(255, 255, 255, 0.68));
}

.tp-pv6--askannie .tp-pv6__aaHeroGrid {
    position: relative;
    z-index: 2;
    min-height: min(740px, calc(100vh - 112px));
    margin: 0 auto;
    padding: 64px 0 56px;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.84fr);
    gap: 36px;
    align-items: center;
}

.tp-pv6--askannie .tp-pv6__aaWorkspace,
.tp-pv6--askannie .tp-pv6__aaAgentPanel,
.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 28px 90px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
}

.tp-pv6--askannie .tp-pv6__aaWorkspace {
    display: grid;
    gap: 22px;
    padding: clamp(24px, 4vw, 44px);
}

.tp-pv6--askannie .tp-pv6__aaKicker {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid var(--aa-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--aa-muted);
    font: 800 12px/1 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaKicker strong {
    color: var(--aa-teal);
}

.tp-pv6--askannie .tp-pv6__aaStatusDot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #10b981;
    box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.12);
}

.tp-pv6--askannie .tp-pv6__aaTitle {
    max-width: 760px;
    margin: 0;
    color: var(--aa-ink);
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(52px, 7.5vw, 96px);
    font-weight: 720;
    line-height: 0.96;
    letter-spacing: 0;
}

.tp-pv6--askannie .tp-pv6__aaSummary {
    max-width: 720px;
    margin: 0;
    color: #263241;
    font-size: clamp(17px, 1.45vw, 22px);
    font-weight: 650;
    line-height: 1.55;
}

.tp-pv6--askannie .tp-pv6__aaComposer {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(20, 184, 166, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 70px rgba(15, 118, 110, 0.14);
}

.tp-pv6--askannie .tp-pv6__aaComposer textarea {
    width: 100%;
    min-height: 124px;
    resize: vertical;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--aa-ink);
    font: 750 16px/1.45 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaComposerBar,
.tp-pv6--askannie .tp-pv6__aaPanelHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.tp-pv6--askannie .tp-pv6__aaModeRow {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.tp-pv6--askannie .tp-pv6__aaModeRow span,
.tp-pv6--askannie .tp-pv6__aaContextPanel div,
.tp-pv6--askannie .tp-pv6__aaTask {
    border: 1px solid rgba(20, 184, 166, 0.16);
    border-radius: 8px;
    background: rgba(240, 253, 250, 0.78);
}

.tp-pv6--askannie .tp-pv6__aaModeRow span {
    padding: 7px 9px;
    color: #0f766e;
    font: 900 12px/1 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaAskButton,
.tp-pv6--askannie .tp-pv6__aaPanelHead a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--aa-teal);
    border-radius: 8px;
    background: var(--aa-teal);
    color: #ffffff;
    text-decoration: none;
    font: 900 13px/1 "Manrope", "Segoe UI", sans-serif;
    box-shadow: 0 18px 42px rgba(15, 118, 110, 0.22);
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid a {
    min-width: 0;
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid rgba(20, 184, 166, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.68);
    color: inherit;
    text-decoration: none;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid span,
.tp-pv6--askannie .tp-pv6__aaPanelHead span,
.tp-pv6--askannie .tp-pv6__aaContextPanel > span {
    color: var(--aa-teal);
    font: 900 11px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid strong {
    color: var(--aa-ink);
    font-size: 13px;
    line-height: 1.25;
}

.tp-pv6--askannie .tp-pv6__aaSafety {
    margin: 0;
    padding: 12px 14px;
    border-left: 3px solid var(--aa-amber);
    border-radius: 8px;
    background: rgba(255, 251, 235, 0.82);
    color: #6b4e10;
    font: 800 13px/1.45 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaAgentPanel {
    display: grid;
    gap: 16px;
    padding: 24px;
}

.tp-pv6--askannie .tp-pv6__aaPanelHead h2 {
    margin: 6px 0 0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
}

.tp-pv6--askannie .tp-pv6__aaTaskList {
    display: grid;
    gap: 10px;
}

.tp-pv6--askannie .tp-pv6__aaTask {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 4px 10px;
    padding: 12px;
}

.tp-pv6--askannie .tp-pv6__aaTask > span {
    width: 10px;
    height: 10px;
    margin-top: 3px;
    border-radius: 999px;
    background: #99f6e4;
}

.tp-pv6--askannie .tp-pv6__aaTask.is-active > span {
    background: #0f766e;
    box-shadow: 0 0 0 5px rgba(15, 118, 110, 0.12);
}

.tp-pv6--askannie .tp-pv6__aaTask strong,
.tp-pv6--askannie .tp-pv6__aaTask small {
    grid-column: 2;
}

.tp-pv6--askannie .tp-pv6__aaTask strong {
    color: var(--aa-ink);
    font-size: 14px;
}

.tp-pv6--askannie .tp-pv6__aaTask small {
    color: var(--aa-muted);
    font-size: 12px;
    font-weight: 700;
}

.tp-pv6--askannie .tp-pv6__aaContextPanel {
    display: grid;
    gap: 9px;
    padding: 14px;
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.66);
}

.tp-pv6--askannie .tp-pv6__aaContextPanel div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px;
}

.tp-pv6--askannie .tp-pv6__aaContextPanel strong {
    color: var(--aa-ink);
    font-size: 13px;
}

.tp-pv6--askannie .tp-pv6__aaContextPanel em {
    color: var(--aa-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    text-align: right;
}

.tp-pv6--askannie .tp-pv6__aaProviderStack {
    display: grid;
    gap: 10px;
}

.tp-pv6--askannie .tp-pv6__aaProviderCard {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.7);
    color: inherit;
    text-decoration: none;
}

.tp-pv6--askannie .tp-pv6__aaProviderThumb {
    width: 58px;
    height: 58px;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.18), rgba(243, 179, 61, 0.16)), #eefaf8;
}

.tp-pv6--askannie .tp-pv6__aaProviderThumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6--askannie .tp-pv6__aaProviderCard strong {
    display: block;
    color: var(--aa-ink);
    font-size: 14px;
    line-height: 1.2;
}

.tp-pv6--askannie .tp-pv6__aaProviderCard small {
    display: block;
    margin-top: 4px;
    color: var(--aa-muted);
    font-size: 12px;
    font-weight: 750;
}

.tp-pv6--schoolfinder {
    --sf-surface: rgba(255, 255, 255, 0.72);
    --sf-line: rgba(22, 101, 52, 0.16);
    --sf-shadow: 0 24px 80px rgba(15, 23, 42, 0.1);
}

.tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
    width: min(1680px, calc(100% - 72px));
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.78fr);
}

.tp-pv6--schoolfinder .tp-pv6__hero .google-auto-placed,
.tp-pv6--schoolfinder .tp-pv6__hero .tp-adsense-wrap,
.tp-pv6--schoolfinder .tp-pv6__hero ins.adsbygoogle,
.tp-pv6--schoolfinder .tp-pv6__hero div[id^="aswift_"][id$="_host"],
.tp-pv6--askannie .tp-pv6__hero .google-auto-placed,
.tp-pv6--askannie .tp-pv6__hero .tp-adsense-wrap,
.tp-pv6--askannie .tp-pv6__hero ins.adsbygoogle,
.tp-pv6--askannie .tp-pv6__hero div[id^="aswift_"][id$="_host"] {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead > div {
    min-width: 0;
    flex: 1 1 auto;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareHead h2 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.tp-pv6--schoolfinder .tp-pv6__sfSearch,
.tp-pv6--schoolfinder .tp-pv6__sfRegionRail,
.tp-pv6--schoolfinder .tp-pv6__sfComparePanel,
.tp-pv6--schoolfinder .tp-pv6__sfStatStrip,
.tp-pv6--schoolfinder .tp-pv6__section,
.tp-pv6--schoolfinder .tp-pv6__legacySection,
.tp-pv6--schoolfinder .tp-pv6__legacyTicker,
.tp-pv6--schoolfinder .tp-pv6__toolShowcase,
.tp-pv6--schoolfinder .tp-pv6__placeCard,
.tp-pv6--schoolfinder .tp-portal-v1__mosaicCard {
    border-color: var(--sf-line);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.64)),
        var(--sf-surface);
    box-shadow: var(--sf-shadow);
    backdrop-filter: blur(18px) saturate(1.22);
    -webkit-backdrop-filter: blur(18px) saturate(1.22);
}

.tp-pv6--schoolfinder .tp-pv6__sfField input,
.tp-pv6--schoolfinder .tp-pv6__sfField select,
.tp-pv6--schoolfinder .tp-portal-v1__input,
.tp-pv6--schoolfinder .tp-portal-v1__select {
    border-color: rgba(22, 101, 52, 0.16);
    background: rgba(255, 255, 255, 0.86);
}

.tp-pv6--schoolfinder .tp-pv6__sfSearchButton,
.tp-pv6--schoolfinder .tp-pv6__button--primary,
.tp-pv6--schoolfinder .tp-pv6__toolPathPrimary {
    box-shadow: 0 18px 44px rgba(7, 138, 79, 0.22);
}

.tp-pv6--schoolfinder .tp-pv6__sectionKicker,
.tp-pv6--schoolfinder .tp-portal-v1__kicker,
.tp-pv6--schoolfinder .tp-pv6__toolTag {
    letter-spacing: 0.02em;
}

.tp-pv6--schoolfinder .tp-pv6__sfSearchActions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanButton,
.tp-pv6--schoolfinder .tp-pv6__sfPlannerButton,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard button,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid rgba(17, 103, 177, 0.18);
    background: rgba(239, 246, 255, 0.88);
    color: #174d82;
    font: 900 13px/1.15 "Manrope", "Segoe UI", sans-serif;
    text-decoration: none;
    cursor: pointer;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanButton:hover,
.tp-pv6--schoolfinder .tp-pv6__sfPlannerButton:hover,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard button:hover,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard:hover,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard:focus-visible {
    border-color: rgba(17, 103, 177, 0.34);
    background: #ffffff;
    color: #0f3f72;
    outline: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningStudio {
    display: grid;
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    align-items: start;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerPanel,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard,
.tp-pv6--schoolfinder .tp-pv6__sfVisitBoard,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
    border: 1px solid rgba(22, 101, 52, 0.16);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.68)),
        rgba(255, 255, 255, 0.76);
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.09);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    backdrop-filter: blur(18px) saturate(1.2);
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerPanel {
    display: grid;
    gap: 16px;
    padding: clamp(18px, 2.2vw, 28px);
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerHead {
    display: grid;
    gap: 8px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerHead span,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard > span,
.tp-pv6--schoolfinder .tp-pv6__sfVisitIntro span,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard > span {
    color: #078a4f;
    font: 950 11px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerHead h3,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard h3,
.tp-pv6--schoolfinder .tp-pv6__sfVisitIntro h3 {
    margin: 0;
    color: #101828;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerHead p,
.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard p,
.tp-pv6--schoolfinder .tp-pv6__sfVisitIntro p,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard small {
    margin: 0;
    color: #52616f;
    font: 700 14px/1.48 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerFields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerNotes {
    grid-column: 1 / -1;
    min-width: 0;
    display: grid;
    gap: 7px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerNotes span {
    color: #5f6b76;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerNotes textarea {
    width: 100%;
    min-height: 112px;
    resize: vertical;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid rgba(22, 101, 52, 0.16);
    background: rgba(255, 255, 255, 0.88);
    color: #101828;
    font: 750 14px/1.45 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerButton {
    width: 100%;
    min-height: 50px;
    border-color: #078a4f;
    background: #078a4f;
    color: #ffffff;
    box-shadow: 0 18px 44px rgba(7, 138, 79, 0.22);
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerButton:hover,
.tp-pv6--schoolfinder .tp-pv6__sfPlannerButton:focus-visible {
    background: #066f40;
    color: #ffffff;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningCards {
    display: grid;
    gap: 12px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard {
    display: grid;
    gap: 10px;
    padding: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard h3 {
    font-size: clamp(24px, 2.1vw, 34px);
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningCard button {
    width: fit-content;
    padding: 0 14px;
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitBoard,
.tp-pv6--schoolfinder .tp-pv6__sfMiniappRail {
    grid-column: 1 / -1;
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitBoard {
    display: grid;
    grid-template-columns: minmax(240px, 0.6fr) minmax(0, 1.4fr);
    gap: 16px;
    padding: clamp(18px, 2.2vw, 28px);
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitIntro {
    display: grid;
    gap: 8px;
    align-content: start;
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitCheck {
    display: grid;
    gap: 7px;
    padding: 13px;
    border-radius: 8px;
    border: 1px solid rgba(17, 103, 177, 0.12);
    background: rgba(248, 252, 255, 0.78);
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitCheck strong {
    color: #101828;
    font: 900 14px/1.2 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitCheck span {
    color: #52616f;
    font: 680 12px/1.42 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--schoolfinder .tp-pv6__sfMiniappRail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
    min-height: 142px;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding: 16px;
    text-align: left;
}

.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard strong {
    color: #101828;
    font: 950 18px/1.12 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--schoolfinder .tp-pv6__sfMiniappCard--agent {
    border-color: rgba(7, 138, 79, 0.28);
    background:
        linear-gradient(135deg, rgba(7, 138, 79, 0.12), rgba(17, 103, 177, 0.1)),
        rgba(255, 255, 255, 0.82);
}

@media (max-width: 1120px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid,
    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        align-self: stretch;
    }
}

@media (max-width: 760px) {
    body.tp-portal-v6special-askannie::before,
    body.tp-portal-v6special-schoolfinder::after {
        background-size: 36px 36px;
    }

    .tp-pv6--askannie {
        padding-bottom: 112px;
        overflow-x: hidden;
    }

    .tp-pv6--askannie .tp-pv6__topbar,
    .tp-pv6--askannie .tp-pv6__aaHeroGrid,
    .tp-pv6--askannie .tp-pv6__section,
    .tp-pv6--askannie .tp-pv6__legacySection,
    .tp-pv6--askannie .tp-pv6__legacyTicker,
    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        width: calc(100% - 24px);
    }

    .tp-pv6--askannie .tp-pv6__topbar {
        display: grid;
        gap: 12px;
    }

    .tp-pv6--askannie .tp-pv6__topActions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .tp-pv6--askannie .tp-pv6__topLink {
        min-width: 0;
        padding-left: 8px;
        padding-right: 8px;
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        min-height: auto;
        padding: 34px 0 36px;
        gap: 18px;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace,
    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        padding: 18px;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        max-width: calc(100vw - 60px);
        font-size: clamp(38px, 11vw, 50px);
        line-height: 1;
    }

    .tp-pv6--askannie .tp-pv6__aaSummary {
        max-width: calc(100vw - 60px);
        font-size: 15px;
    }

    .tp-pv6--askannie .tp-pv6__aaComposerBar,
    .tp-pv6--askannie .tp-pv6__aaPanelHead,
    .tp-pv6--askannie .tp-pv6__aaContextPanel div {
        align-items: stretch;
        flex-direction: column;
    }

    .tp-pv6--askannie .tp-pv6__aaAskButton,
    .tp-pv6--askannie .tp-pv6__aaPanelHead a {
        width: 100%;
    }

    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--askannie .tp-pv6__aaContextPanel em {
        text-align: left;
    }
}

.tp-pv6--askannieAgentFallback .tp-pv6__heroGrid {
    width: min(1680px, calc(100% - 72px));
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, 0.72fr);
    gap: 24px;
    align-items: stretch;
    min-height: clamp(660px, calc(100vh - 120px), 900px);
    padding: 28px 0 52px;
}

.tp-pv6--askannieAgentFallback .tp-pv6__heroCopy,
.tp-pv6--askannieAgentFallback .tp-pv6__heroRail {
    min-width: 0;
    border: 1px solid rgba(13, 148, 136, 0.22);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(236, 253, 245, 0.72)),
        rgba(255, 255, 255, 0.64);
    box-shadow: 0 34px 110px rgba(15, 23, 42, 0.14);
    -webkit-backdrop-filter: blur(28px) saturate(142%);
    backdrop-filter: blur(28px) saturate(142%);
}

.tp-pv6--askannieAgentFallback .tp-pv6__heroCopy {
    border-radius: 28px;
    padding: clamp(28px, 4vw, 62px);
}

.tp-pv6--askannieAgentFallback .tp-pv6__heroRail {
    border-radius: 26px;
    padding: 0;
}

.tp-pv6--askannieAgentFallback .tp-pv6__eyebrow {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    border: 1px solid rgba(13, 148, 136, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #0f766e;
    box-shadow: 0 16px 40px rgba(13, 148, 136, 0.1);
}

.tp-pv6--askannieAgentFallback .tp-pv6__eyebrowFlag {
    border-radius: 999px;
    background: #0f766e;
    color: #f8fafc;
}

.tp-pv6--askannieAgentFallback .tp-pv6__title {
    max-width: 860px;
    margin-top: clamp(26px, 4vw, 54px);
    color: #061f1d;
    font-size: clamp(58px, 7vw, 122px);
    line-height: 0.88;
    letter-spacing: 0;
}

.tp-pv6--askannieAgentFallback .tp-pv6__summary {
    max-width: 720px;
    color: rgba(15, 23, 42, 0.7);
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.55;
}

.tp-pv6--askannieAgentFallback .tp-pv6__button,
.tp-pv6--askannieAgentFallback .tp-portal-v1__button {
    border-radius: 999px;
    letter-spacing: 0;
}

.tp-pv6--askannieAgentFallback .tp-pv6__button--primary,
.tp-pv6--askannieAgentFallback .tp-portal-v1__button--submit {
    border-color: rgba(15, 118, 110, 0.9);
    background: linear-gradient(135deg, #0f766e, #14b8a6);
    color: #ffffff;
    box-shadow: 0 20px 45px rgba(13, 148, 136, 0.24);
}

.tp-pv6--askannieAgentFallback .tp-pv6__button--ghost,
.tp-pv6--askannieAgentFallback .tp-pv6__button--soft {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(255, 255, 255, 0.68);
    color: #0f766e;
}

.tp-pv6--askannieAgentFallback .tp-portal-v1__modeRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
}

.tp-pv6--askannieAgentFallback .tp-portal-v1__modeChip {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 14px;
    border: 1px solid rgba(13, 148, 136, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #0f766e;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(13, 148, 136, 0.08);
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusBar,
.tp-pv6--askannieAgentFallback .tp-pv6__heroVisualCard,
.tp-pv6--askannieAgentFallback .tp-pv6__heroActionPanel {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(255, 255, 255, 0.62);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    backdrop-filter: blur(22px) saturate(140%);
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusBar {
    color: #0f172a;
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusReadout strong,
.tp-pv6--askannieAgentFallback .tp-pv6__focusInput,
.tp-pv6--askannieAgentFallback .tp-pv6__focusButton {
    color: #0f172a;
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusInput {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(255, 255, 255, 0.82);
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusButton {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(255, 255, 255, 0.76);
}

.tp-pv6--askannieAgentFallback .tp-pv6__focusButton--soft {
    background: rgba(13, 148, 136, 0.12);
    color: #0f766e;
}

.tp-pv6--askannieAgentFallback .tp-pv6__heroActionPanel {
    height: 100%;
    border-radius: 26px;
    padding: 20px;
    box-shadow: none;
}

.tp-pv6--askannieAgentFallback .tp-pv6__aaFallbackAgent {
    display: grid;
    gap: 16px;
    margin-bottom: 16px;
}

.tp-pv6--askannieAgentFallback .tp-portal-v1__panelHeader {
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 20px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.58);
}

.tp-pv6--askannieAgentFallback .tp-portal-v1__form {
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 22px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.58);
}

.tp-pv6--askannieAgentFallback .tp-portal-v1__input {
    border-color: rgba(13, 148, 136, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
}

@media (max-width: 1120px) {
    .tp-pv6--askannieAgentFallback .tp-pv6__heroGrid {
        grid-template-columns: 1fr;
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .tp-pv6--askannieAgentFallback .tp-pv6__heroGrid {
        width: calc(100% - 24px);
        padding: 28px 0 36px;
        gap: 18px;
    }

    .tp-pv6--askannieAgentFallback .tp-pv6__heroCopy,
    .tp-pv6--askannieAgentFallback .tp-pv6__heroActionPanel {
        padding: 18px;
    }

    .tp-pv6--askannieAgentFallback .tp-pv6__title {
        max-width: calc(100vw - 60px);
        font-size: clamp(40px, 11vw, 54px);
    }
}

/* AskAnnie readability recovery: keep the agent UI crisp under load and legacy shell bleed. */
body.tp-portal-v6special-askannie {
    background: #f5fbfa !important;
    color: #111827;
}

body.tp-portal-v6special-askannie .site-header,
body.tp-portal-v6special-askannie .primary-header,
body.tp-portal-v6special-askannie .nav-menu,
body.tp-portal-v6special-askannie .navigation-bar,
body.tp-portal-v6special-askannie .site-primary-navigation,
body.tp-portal-v6special-askannie .content-header {
    display: none !important;
}

.tp-pv6--askannie {
    min-height: 100vh;
    padding: 0 0 128px;
    background:
        radial-gradient(circle at 16% 12%, rgba(20, 184, 166, 0.18), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(14, 165, 233, 0.12), transparent 30%),
        linear-gradient(180deg, #eefaf8 0%, #f8fbfa 48%, #ffffff 100%);
    color: #111827;
}

.tp-pv6--askannie .tp-pv6__ambient {
    opacity: 0.28;
}

.tp-pv6--askannie .tp-pv6__topbar {
    position: sticky;
    top: 14px;
    z-index: 50;
    border: 1px solid rgba(15, 118, 110, 0.16);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 56px rgba(15, 23, 42, 0.12);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
}

.tp-pv6--askannie .tp-pv6__brandText,
.tp-pv6--askannie .tp-pv6__topLink {
    color: #111827;
}

.tp-pv6--askannie .tp-pv6__topActions {
    gap: 8px;
}

.tp-pv6--askannie .tp-pv6__topLink {
    min-height: 42px;
    border-color: rgba(15, 118, 110, 0.14);
    background: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    font-weight: 850;
}

.tp-pv6--askannie .tp-pv6__topLink--signIn,
.tp-pv6--askannie .tp-pv6__topActions .tp-pv6__topLink:last-child {
    border-color: rgba(15, 118, 110, 0.9);
    background: #0f766e;
    color: #ffffff;
}

.tp-pv6--askannie .tp-pv6__hero {
    min-height: auto;
    padding: 32px 0 60px;
}

.tp-pv6--askannie .tp-pv6__heroMedia {
    opacity: 0.08;
    filter: grayscale(0.2) saturate(0.8);
}

.tp-pv6--askannie .tp-pv6__heroShade {
    background: linear-gradient(90deg, rgba(245, 251, 250, 0.98), rgba(245, 251, 250, 0.86));
}

.tp-pv6--askannie .tp-pv6__aaHeroGrid {
    width: min(1760px, calc(100% - 56px));
    max-width: none;
    min-height: calc(100vh - 150px);
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.72fr);
    gap: 28px;
    align-items: stretch;
    padding: 34px 0 44px;
}

.tp-pv6--askannie .tp-pv6__aaWorkspace,
.tp-pv6--askannie .tp-pv6__aaAgentPanel {
    border: 1px solid rgba(15, 118, 110, 0.16);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 82px rgba(15, 23, 42, 0.13);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
}

.tp-pv6--askannie .tp-pv6__aaWorkspace {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 640px;
    padding: clamp(28px, 4vw, 64px);
}

.tp-pv6--askannie .tp-pv6__aaKicker {
    width: fit-content;
    max-width: 100%;
    color: #0f766e;
}

.tp-pv6--askannie .tp-pv6__aaTitle {
    max-width: 880px;
    color: #0f172a;
    font-size: clamp(56px, 6.6vw, 112px);
    line-height: 0.94;
}

.tp-pv6--askannie .tp-pv6__aaSummary {
    max-width: 780px;
    color: #334155;
    font-size: clamp(18px, 1.35vw, 23px);
    line-height: 1.48;
    font-weight: 650;
}

.tp-pv6--askannie .tp-pv6__aaComposer {
    border-color: rgba(15, 118, 110, 0.22);
    background: #ffffff;
}

.tp-pv6--askannie .tp-pv6__aaComposer textarea {
    min-height: 130px;
    color: #111827;
    font-size: 17px;
    line-height: 1.45;
}

.tp-pv6--askannie .tp-pv6__aaComposer textarea::placeholder {
    color: #475569;
    opacity: 1;
}

.tp-pv6--askannie .tp-pv6__aaModeRow span,
.tp-pv6--askannie .tp-pv6__aaQuickGrid a,
.tp-pv6--askannie .tp-pv6__aaTask,
.tp-pv6--askannie .tp-pv6__aaContextPanel div,
.tp-pv6--askannie .tp-pv6__aaProviderCard {
    border-color: rgba(15, 118, 110, 0.18);
    background: #f8fffd;
    color: #111827;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid strong,
.tp-pv6--askannie .tp-pv6__aaTask strong,
.tp-pv6--askannie .tp-pv6__aaContextPanel strong,
.tp-pv6--askannie .tp-pv6__aaProviderCard strong {
    color: #111827;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid span,
.tp-pv6--askannie .tp-pv6__aaPanelHead span,
.tp-pv6--askannie .tp-pv6__aaContextPanel > span {
    color: #0f766e;
}

.tp-pv6--askannie .tp-pv6__aaAgentPanel {
    align-self: stretch;
    padding: clamp(22px, 2.6vw, 38px);
}

.tp-pv6--askannie .tp-pv6__aaPanelHead h2 {
    max-width: 520px;
    color: #0f172a;
    font-size: clamp(34px, 3.4vw, 56px);
    line-height: 0.98;
}

.tp-pv6--askannie .tp-pv6__aaSafety {
    color: #78350f;
    background: #fff7ed;
}

.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    width: min(1760px, calc(100% - 56px));
    border-color: rgba(15, 118, 110, 0.14);
    background: rgba(255, 255, 255, 0.94);
    color: #111827;
}

.tp-pv6--askannie .tp-pv6__sectionTitle,
.tp-pv6--askannie .tp-pv6__panelTitle,
.tp-pv6--askannie .tp-pv6__placeTitle,
.tp-pv6--askannie .tp-portal-v1__h2,
.tp-pv6--askannie .tp-portal-v5__sectionTitle {
    color: #0f172a;
}

.tp-pv6--askannie .tp-pv6__sectionCopy,
.tp-pv6--askannie .tp-pv6__placeCopy,
.tp-pv6--askannie .tp-pv6__placeMeta,
.tp-pv6--askannie .tp-portal-v1__p,
.tp-pv6--askannie .tp-portal-v5__sectionCopy {
    color: #334155;
}

.tp-pv6--askannie .tp-pv6__dock {
    display: none !important;
}

.tp-pv6--askannie .tp-pv6__dockInner {
    border: 1px solid rgba(15, 118, 110, 0.16);
    background: rgba(15, 23, 42, 0.88);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
}

body.tp-portal-v6special-askannie .tpus-passportFab,
body.tp-portal-v6special-askannie .tpus-passportSheet,
body.tp-portal-v6special-askannie .tpus-historySheet,
body.tp-portal-v6special-askannie .tpais-assist-bubble,
body.tp-portal-v6special-askannie .tpais-assist-stow,
body.tp-portal-v6special-askannie #tp-recovery-banner {
    display: none !important;
}

body.tp-portal-v6special-askannie .tp-ai-studio-launcherShell > .tp-ai-studio-launcher,
body.tp-portal-v6special-askannie .tp-ai-studio-launcherShell > .tp-ai-studio-launcherBubble,
body.tp-portal-v6special-askannie .tp-ai-studio-launcherShell > .tpma-tortoise-launcher,
body.tp-portal-v6special-askannie .tpma-tortoise-launcherShell > .tp-ai-studio-launcher,
body.tp-portal-v6special-askannie .tpma-tortoise-launcherShell > .tp-ai-studio-launcherBubble,
body.tp-portal-v6special-askannie .tpma-tortoise-launcherShell > .tpma-tortoise-launcher {
    display: none !important;
}

html.tp-recovery-banner--lock:has(body.tp-portal-v6special-askannie),
html.tp-recovery-banner--lock:has(body.tp-portal-v6special-askannie) body {
    overflow: auto !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 {
    right: 18px !important;
    left: auto !important;
    bottom: 18px !important;
    max-width: min(360px, calc(100vw - 28px)) !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: rgba(15, 23, 42, 0.88) !important;
    box-shadow: 0 14px 38px rgba(15, 23, 42, 0.24) !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div {
    display: grid !important;
    gap: 10px !important;
}

@media (max-width: 1180px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .tp-pv6--askannie {
        padding-bottom: 120px;
    }

    .tp-pv6--askannie .tp-pv6__topbar,
    .tp-pv6--askannie .tp-pv6__aaHeroGrid,
    .tp-pv6--askannie .tp-pv6__section,
    .tp-pv6--askannie .tp-pv6__legacySection,
    .tp-pv6--askannie .tp-pv6__legacyTicker {
        width: calc(100% - 24px);
    }

    .tp-pv6--askannie .tp-pv6__topbar {
        top: 8px;
        padding: 10px;
    }

    .tp-pv6--askannie .tp-pv6__topActions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        padding-top: 20px;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace,
    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        border-radius: 20px;
        padding: 20px;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        font-size: clamp(42px, 13vw, 62px);
        line-height: 0.98;
    }

    .tp-pv6--askannie .tp-pv6__aaSummary {
        font-size: 16px;
    }

    .tp-pv6--askannie .tp-pv6__aaComposer textarea {
        min-height: 118px;
    }
}

/* AskAnnie product polish: agent-first care directory surface. */
body.tp-portal-v6special-askannie {
    background:
        linear-gradient(180deg, #f4fbfa 0%, #eef8f7 46%, #ffffff 100%) !important;
}

.tp-pv6--askannie {
    --aa-page-gutter: clamp(28px, 4vw, 76px);
    --aa-ink: #0b1720;
    --aa-text: #172331;
    --aa-muted: #526274;
    --aa-soft: #f6fbfa;
    --aa-surface: rgba(255, 255, 255, 0.82);
    --aa-surface-strong: rgba(255, 255, 255, 0.94);
    --aa-border: rgba(13, 148, 136, 0.18);
    --aa-border-strong: rgba(13, 148, 136, 0.34);
    --aa-teal: #0f766e;
    --aa-teal-deep: #0b5f58;
    --aa-blue: #2563eb;
    --aa-amber: #d97706;
    background:
        linear-gradient(135deg, rgba(13, 148, 136, 0.08) 0%, rgba(255, 255, 255, 0) 34%),
        linear-gradient(180deg, #eef8f7 0%, #f8fcfb 58%, #ffffff 100%);
}

.tp-pv6--askannie .tp-pv6__ambient {
    opacity: 0.14;
}

.tp-pv6--askannie .tp-pv6__topbar,
.tp-pv6--askannie .tp-pv6__aaHeroGrid,
.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    width: min(1880px, calc(100% - var(--aa-page-gutter)));
}

.tp-pv6--askannie .tp-pv6__topbar {
    top: 14px;
    padding: 10px 12px;
    border-color: rgba(13, 148, 136, 0.16);
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 20px 70px rgba(15, 23, 42, 0.1);
}

.tp-pv6--askannie .tp-pv6__brand {
    min-width: max-content;
}

.tp-pv6--askannie .tp-pv6__brandMark {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #ecfdf5;
    border-color: rgba(13, 148, 136, 0.22);
}

.tp-pv6--askannie .tp-pv6__brandMark::after {
    display: none;
}

.tp-pv6--askannie .tp-pv6__brandText {
    color: var(--aa-ink);
    font: 900 14px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.tp-pv6--askannie .tp-pv6__topActions {
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.tp-pv6--askannie .tp-pv6__topLink {
    min-height: 38px;
    padding: 9px 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.64);
    color: var(--aa-text);
    box-shadow: none;
    font: 850 13px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    white-space: nowrap;
}

.tp-pv6--askannie .tp-pv6__topLink:hover,
.tp-pv6--askannie .tp-pv6__topLink:focus-visible {
    border-color: var(--aa-border-strong);
    background: #ffffff;
    color: var(--aa-teal-deep);
    outline: 0;
}

.tp-pv6--askannie .tp-pv6__topLink--saved {
    background: rgba(240, 253, 250, 0.82);
    color: var(--aa-teal-deep);
}

.tp-pv6--askannie .tp-pv6__topLink--signIn,
.tp-pv6--askannie .tp-pv6__topActions .tp-pv6__topLink:last-child {
    border-color: var(--aa-teal);
    background: var(--aa-teal);
    color: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 118, 110, 0.24);
}

.tp-pv6--askannie .tp-pv6__hero {
    min-height: min(820px, calc(100svh - 76px));
    padding: 0;
    background:
        linear-gradient(180deg, rgba(242, 251, 250, 0.96), rgba(255, 255, 255, 0.82)),
        #eef8f7;
}

.tp-pv6--askannie .tp-pv6__heroMedia {
    opacity: 0.12;
    filter: saturate(0.72) contrast(1.08);
}

.tp-pv6--askannie .tp-pv6__heroShade {
    background:
        linear-gradient(90deg, rgba(244, 251, 250, 0.98) 0%, rgba(244, 251, 250, 0.88) 48%, rgba(244, 251, 250, 0.42) 100%);
}

.tp-pv6--askannie .tp-pv6__aaHeroGrid {
    min-height: min(760px, calc(100svh - 104px));
    grid-template-columns: minmax(0, 1.18fr) minmax(430px, 0.82fr);
    gap: clamp(22px, 2.6vw, 46px);
    align-items: stretch;
    padding: clamp(26px, 3.2vw, 52px) 0 clamp(30px, 3.8vw, 60px);
}

.tp-pv6--askannie .tp-pv6__aaWorkspace,
.tp-pv6--askannie .tp-pv6__aaAgentPanel,
.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 12px;
    background: var(--aa-surface);
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.11);
    -webkit-backdrop-filter: blur(22px) saturate(1.22);
    backdrop-filter: blur(22px) saturate(1.22);
}

.tp-pv6--askannie .tp-pv6__aaWorkspace {
    min-height: 0;
    align-content: center;
    gap: clamp(14px, 1.4vw, 22px);
    padding: clamp(28px, 4vw, 56px);
}

.tp-pv6--askannie .tp-pv6__aaKicker {
    padding: 8px 10px;
    border-color: rgba(13, 148, 136, 0.2);
    background: rgba(255, 255, 255, 0.7);
    color: var(--aa-muted);
    font-size: 12px;
}

.tp-pv6--askannie .tp-pv6__aaTitle {
    max-width: 780px;
    color: var(--aa-ink);
    font-size: clamp(54px, 5.6vw, 92px);
    line-height: 0.98;
}

.tp-pv6--askannie .tp-pv6__aaSummary {
    max-width: 760px;
    color: var(--aa-text);
    font-size: clamp(17px, 1.18vw, 21px);
    line-height: 1.5;
    font-weight: 680;
}

.tp-pv6--askannie .tp-pv6__aaCareStrip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-width: 720px;
}

.tp-pv6--askannie .tp-pv6__aaCareStrip span {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.66);
    color: var(--aa-text);
    font: 850 13px/1.2 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaCareStrip strong {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ccfbf1;
    color: var(--aa-teal-deep);
    font: 950 12px/1 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaComposer {
    gap: 12px;
    padding: 14px;
    border-color: rgba(13, 148, 136, 0.24);
    border-radius: 12px;
    background: var(--aa-surface-strong);
    box-shadow: 0 26px 70px rgba(13, 148, 136, 0.14);
}

.tp-pv6--askannie .tp-pv6__aaComposerPrompt {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 2px 0;
}

.tp-pv6--askannie .tp-pv6__aaComposerPrompt span {
    color: var(--aa-teal-deep);
    font: 950 11px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--askannie .tp-pv6__aaComposerPrompt strong {
    color: var(--aa-ink);
    font: 900 14px/1.2 "Manrope", "Segoe UI", sans-serif;
    text-align: right;
}

.tp-pv6--askannie .tp-pv6__aaComposer textarea {
    min-height: 116px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: #f8fdfc;
    color: var(--aa-ink);
    font-size: 16px;
    font-weight: 760;
}

.tp-pv6--askannie .tp-pv6__aaComposer textarea:focus-visible {
    border-color: var(--aa-border-strong);
    box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.12);
}

.tp-pv6--askannie .tp-pv6__aaComposerBar {
    align-items: flex-end;
}

.tp-pv6--askannie .tp-pv6__aaModeRow span {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(240, 253, 250, 0.92);
    color: var(--aa-teal-deep);
}

.tp-pv6--askannie .tp-pv6__aaAskButton,
.tp-pv6--askannie .tp-pv6__aaPanelHead a {
    min-height: 44px;
    border-radius: 10px;
    background: var(--aa-teal);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(15, 118, 110, 0.24);
}

.tp-pv6--askannie .tp-pv6__aaAskButton:hover,
.tp-pv6--askannie .tp-pv6__aaAskButton:focus-visible,
.tp-pv6--askannie .tp-pv6__aaPanelHead a:hover,
.tp-pv6--askannie .tp-pv6__aaPanelHead a:focus-visible {
    background: var(--aa-teal-deep);
    outline: 0;
}

.tp-pv6--askannie .tp-pv6__aaSupportGrid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
}

.tp-pv6--askannie .tp-pv6__aaSupportGrid button {
    min-height: 104px;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 13px;
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(240, 253, 250, 0.74)),
        rgba(255, 255, 255, 0.72);
    color: var(--aa-ink);
    text-align: left;
    cursor: pointer;
    box-shadow: none;
    -webkit-backdrop-filter: blur(16px) saturate(1.18);
    backdrop-filter: blur(16px) saturate(1.18);
}

.tp-pv6--askannie .tp-pv6__aaSupportGrid button:hover,
.tp-pv6--askannie .tp-pv6__aaSupportGrid button:focus-visible {
    border-color: var(--aa-border-strong);
    background: #ffffff;
    outline: 0;
    transform: translateY(-1px);
}

.tp-pv6--askannie .tp-pv6__aaSupportGrid span {
    color: var(--aa-teal-deep);
    font: 950 11px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--askannie .tp-pv6__aaSupportGrid strong {
    color: var(--aa-ink);
    font: 900 13px/1.28 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid a {
    min-height: 94px;
    padding: 13px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
    transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid a:hover,
.tp-pv6--askannie .tp-pv6__aaQuickGrid a:focus-visible {
    border-color: var(--aa-border-strong);
    background: #ffffff;
    outline: 0;
    transform: translateY(-1px);
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid span {
    color: var(--aa-teal-deep);
}

.tp-pv6--askannie .tp-pv6__aaQuickGrid strong {
    color: var(--aa-ink);
    font-size: 13px;
    line-height: 1.28;
}

.tp-pv6--askannie .tp-pv6__aaSafety {
    border-left: 0;
    border: 1px solid rgba(217, 119, 6, 0.22);
    background: #fff7ed;
    color: #7c3d04;
}

.tp-pv6--askannie .tp-pv6__aaAgentPanel {
    align-content: start;
    gap: 14px;
    padding: clamp(22px, 2.5vw, 34px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 253, 252, 0.82));
}

.tp-pv6--askannie .tp-pv6__aaPanelHead {
    align-items: flex-start;
}

.tp-pv6--askannie .tp-pv6__aaPanelHead h2 {
    max-width: 420px;
    color: var(--aa-ink);
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.02;
}

.tp-pv6--askannie .tp-pv6__aaTaskList {
    gap: 9px;
}

.tp-pv6--askannie .tp-pv6__aaTask {
    grid-template-columns: 18px minmax(0, 1fr);
    padding: 13px;
    border-color: rgba(13, 148, 136, 0.16);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
}

.tp-pv6--askannie .tp-pv6__aaTask > span {
    width: 12px;
    height: 12px;
    margin-top: 2px;
}

.tp-pv6--askannie .tp-pv6__aaTask strong {
    color: var(--aa-ink);
    font-size: 14px;
}

.tp-pv6--askannie .tp-pv6__aaTask small {
    color: var(--aa-muted);
    font-size: 12px;
}

.tp-pv6--askannie .tp-pv6__aaContextPanel {
    border-color: rgba(13, 148, 136, 0.16);
    border-radius: 10px;
    background: rgba(240, 253, 250, 0.58);
}

.tp-pv6--askannie .tp-pv6__aaContextPanel div {
    border-color: rgba(13, 148, 136, 0.14);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.68);
}

.tp-pv6--askannie .tp-pv6__aaProviderCard {
    border-color: rgba(13, 148, 136, 0.14);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.74);
}

.tp-pv6--askannie .tp-pv6__aaProviderCard:hover,
.tp-pv6--askannie .tp-pv6__aaProviderCard:focus-visible {
    border-color: var(--aa-border-strong);
    background: #ffffff;
    outline: 0;
}

.tp-pv6--askannie .tp-pv6__section,
.tp-pv6--askannie .tp-pv6__legacySection,
.tp-pv6--askannie .tp-pv6__legacyTicker {
    margin-top: 26px;
    background: rgba(255, 255, 255, 0.88);
}

.tp-pv6--askannie .tp-pv6__sectionIntro {
    gap: 18px;
}

.tp-pv6--askannie .tp-pv6__sectionKicker {
    color: var(--aa-teal-deep);
    font-weight: 950;
    letter-spacing: 0;
}

.tp-pv6--askannie .tp-pv6__sectionTitle,
.tp-pv6--askannie .tp-pv6__panelTitle,
.tp-pv6--askannie .tp-pv6__placeTitle,
.tp-pv6--askannie .tp-portal-v1__h2,
.tp-pv6--askannie .tp-portal-v5__sectionTitle {
    color: var(--aa-ink);
}

.tp-pv6--askannie .tp-pv6__sectionCopy,
.tp-pv6--askannie .tp-pv6__placeCopy,
.tp-pv6--askannie .tp-pv6__placeMeta,
.tp-pv6--askannie .tp-portal-v1__p,
.tp-pv6--askannie .tp-portal-v5__sectionCopy {
    color: var(--aa-muted);
}

.tp-pv6--askannie .tp-pv6__panel,
.tp-pv6--askannie .tp-pv6__placeCard,
.tp-pv6--askannie .tp-pv6__lensShell,
.tp-pv6--askannie .tp-pv6__lensCard,
.tp-pv6--askannie .tp-pv6__verticalDecisionCard,
.tp-pv6--askannie .tp-pv6__verticalGuide,
.tp-pv6--askannie .tp-pv6__toolShowcase {
    border-color: rgba(13, 148, 136, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.74);
}

.tp-pv6--askannie .tp-pv6__placeActions button,
.tp-pv6--askannie .tp-pv6__savedActions button,
.tp-pv6--askannie .tp-pv6__savedActions a,
.tp-pv6--askannie .tp-pv6__toolPathPrimary,
.tp-pv6--askannie .tp-pv6__toolPathLink,
.tp-pv6--askannie .tp-pv6__lensActionRow a {
    border-radius: 10px;
}

@media (min-width: 1600px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        grid-template-columns: minmax(0, 1.22fr) minmax(480px, 0.78fr);
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace {
        padding-left: 58px;
        padding-right: 58px;
    }
}

@media (max-width: 1320px) {
    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tp-pv6--askannie .tp-pv6__topActions {
        max-width: 690px;
    }
}

@media (max-width: 1180px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        align-content: stretch;
    }
}

@media (max-width: 860px) {
    .tp-pv6--askannie {
        --aa-page-gutter: 24px;
    }

    .tp-pv6--askannie .tp-pv6__topbar {
        position: relative;
        top: auto;
        align-items: flex-start;
    }

    .tp-pv6--askannie .tp-pv6__topActions {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--askannie .tp-pv6__topLink {
        justify-content: center;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        font-size: clamp(44px, 12vw, 64px);
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip,
    .tp-pv6--askannie .tp-pv6__aaSupportGrid,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--askannie .tp-pv6__aaComposerPrompt,
    .tp-pv6--askannie .tp-pv6__aaComposerBar,
    .tp-pv6--askannie .tp-pv6__aaPanelHead {
        align-items: stretch;
        flex-direction: column;
    }

    .tp-pv6--askannie .tp-pv6__aaComposerPrompt strong {
        text-align: left;
    }

    .tp-pv6--askannie .tp-pv6__aaAskButton,
    .tp-pv6--askannie .tp-pv6__aaPanelHead a {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .tp-pv6--askannie {
        --aa-page-gutter: 20px;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace,
    .tp-pv6--askannie .tp-pv6__aaAgentPanel,
    .tp-pv6--askannie .tp-pv6__section,
    .tp-pv6--askannie .tp-pv6__legacySection,
    .tp-pv6--askannie .tp-pv6__legacyTicker {
        border-radius: 12px;
        padding: 18px;
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        padding-top: 18px;
    }

    .tp-pv6--askannie .tp-pv6__aaKicker {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        font-size: clamp(40px, 12vw, 54px);
    }

    .tp-pv6--askannie .tp-pv6__aaSummary {
        font-size: 16px;
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid,
    .tp-pv6--askannie .tp-pv6__aaCareStrip {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Mobile and wide-screen refinements for agent-first verticals. */
@media (min-width: 1280px) {
    .tp-pv6--schoolfinder .tp-pv6__topbar,
    .tp-pv6--schoolfinder .tp-pv6__section,
    .tp-pv6--schoolfinder .tp-pv6__legacySection,
    .tp-pv6--schoolfinder .tp-pv6__legacyTicker {
        width: min(1880px, calc(100% - 72px));
    }
}

@media (max-width: 1120px) {
    .tp-pv6--schoolfinder .tp-pv6__sfPlanningStudio,
    .tp-pv6--schoolfinder .tp-pv6__sfVisitBoard {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfVisitGrid,
    .tp-pv6--schoolfinder .tp-pv6__sfMiniappRail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tp-pv6--schoolfinder .tp-pv6__topbar,
    .tp-pv6--askannie .tp-pv6__topbar {
        width: calc(100% - 20px);
        padding: 10px;
        gap: 10px;
        border-radius: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__topActions,
    .tp-pv6--askannie .tp-pv6__topActions {
        width: 100%;
        max-width: none;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__topActions::-webkit-scrollbar,
    .tp-pv6--askannie .tp-pv6__topActions::-webkit-scrollbar {
        display: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__topLink,
    .tp-pv6--askannie .tp-pv6__topLink {
        flex: 0 0 auto;
        min-width: max-content;
        min-height: 38px;
        padding: 9px 11px;
        justify-content: center;
        white-space: nowrap;
    }

    .tp-pv6--schoolfinder .tp-pv6__hero,
    .tp-pv6--askannie .tp-pv6__hero {
        min-height: auto;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        width: calc(100% - 20px);
        min-height: auto;
        padding: 24px 0 28px;
        gap: 18px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroCopy {
        gap: 16px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfTitle {
        font-size: clamp(38px, 12vw, 50px);
        line-height: 0.98;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearch {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
        border-radius: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearchActions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearchButton,
    .tp-pv6--schoolfinder .tp-pv6__sfPlanButton {
        width: 100%;
        min-height: 46px;
        padding: 0 10px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
        padding: 16px;
        border-radius: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareHead,
    .tp-pv6--schoolfinder .tp-pv6__sfCompareFoot {
        align-items: stretch;
        flex-direction: column;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfPlanningStudio,
    .tp-pv6--schoolfinder .tp-pv6__sfPlannerFields,
    .tp-pv6--schoolfinder .tp-pv6__sfVisitBoard,
    .tp-pv6--schoolfinder .tp-pv6__sfVisitGrid,
    .tp-pv6--schoolfinder .tp-pv6__sfMiniappRail {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfPlannerPanel,
    .tp-pv6--schoolfinder .tp-pv6__sfVisitBoard {
        padding: 16px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfPlanningCard button,
    .tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
        width: 100%;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
        min-height: auto;
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        width: calc(100% - 20px);
        padding-top: 18px;
        gap: 14px;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace,
    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        padding: 16px;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        font-size: clamp(36px, 11vw, 50px);
        line-height: 1;
    }

    .tp-pv6--askannie .tp-pv6__aaComposer textarea {
        min-height: 104px;
    }
}

@media (max-width: 420px) {
    .tp-pv6--schoolfinder .tp-pv6__sfSearchActions,
    .tp-pv6--askannie .tp-pv6__aaCareStrip,
    .tp-pv6--askannie .tp-pv6__aaSupportGrid,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid button,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid a {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    body.tp-portal-v6special-schoolfinder #tp-consentv2,
    body.tp-portal-v6special-askannie #tp-consentv2,
    body.tp-portal-v6special-celebrations #tp-consentv2 {
        left: 10px !important;
        right: 10px !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
        max-width: none !important;
        padding: 10px !important;
        border-radius: 12px !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 > div,
    body.tp-portal-v6special-askannie #tp-consentv2 > div,
    body.tp-portal-v6special-celebrations #tp-consentv2 > div {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 > div > div:first-child,
    body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child,
    body.tp-portal-v6special-celebrations #tp-consentv2 > div > div:first-child {
        min-width: 0 !important;
        gap: 2px !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 > div > div:first-child > div:first-child,
    body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child > div:first-child,
    body.tp-portal-v6special-celebrations #tp-consentv2 > div > div:first-child > div:first-child {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 > div > div:first-child > div:last-child,
    body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child > div:last-child,
    body.tp-portal-v6special-celebrations #tp-consentv2 > div > div:first-child > div:last-child {
        font-size: 12px !important;
        line-height: 1.28 !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 > div > div:last-child,
    body.tp-portal-v6special-askannie #tp-consentv2 > div > div:last-child,
    body.tp-portal-v6special-celebrations #tp-consentv2 > div > div:last-child {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    body.tp-portal-v6special-schoolfinder #tp-consentv2 button,
    body.tp-portal-v6special-askannie #tp-consentv2 button,
    body.tp-portal-v6special-celebrations #tp-consentv2 button {
        min-height: 38px !important;
        padding: 0 12px !important;
        white-space: nowrap !important;
    }
}

/* Celebrations V6: glassmorphic event-planning surface. */
.tp-pv6--celebrations {
    padding-bottom: 112px;
    background:
        linear-gradient(180deg, rgba(249, 247, 241, 0.74) 0%, rgba(244, 249, 245, 0.96) 44%, #f7faf4 100%);
    color: #0a1020;
    font-family: "Manrope", "Segoe UI", sans-serif;
    --ce-ink: #0a1020;
    --ce-muted: #536072;
    --ce-line: rgba(16, 74, 55, 0.18);
    --ce-emerald: #087443;
    --ce-teal: #0f8f83;
    --ce-sage: #e5f2ea;
    --ce-blush: #f2d5ce;
    --ce-gold: #d7a737;
    --ce-champagne: #f3d68a;
    --ce-glass: rgba(255, 255, 255, 0.7);
    --ce-shadow: 0 24px 80px rgba(7, 24, 20, 0.15);
    --ce-deep-shadow: 0 34px 100px rgba(5, 13, 24, 0.2);
}

body.tp-portal-v6special-celebrations #tp-recovery-banner {
    display: none !important;
}

html.tp-recovery-banner--lock:has(body.tp-portal-v6special-celebrations),
html.tp-recovery-banner--lock:has(body.tp-portal-v6special-celebrations) body {
    overflow: auto !important;
}

body.tp-portal-v6special-celebrations #tp-consentv2 {
    right: 18px !important;
    left: auto !important;
    bottom: 18px !important;
    max-width: min(420px, calc(100vw - 28px)) !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 12px !important;
    border-color: rgba(21, 91, 58, 0.16) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #101828 !important;
    box-shadow: 0 18px 54px rgba(16, 24, 40, 0.16) !important;
}

body.tp-portal-v6special-celebrations #tp-consentv2 div {
    color: #101828 !important;
    letter-spacing: 0 !important;
}

body.tp-portal-v6special-celebrations #tp-consentv2 button {
    border-radius: 8px !important;
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-weight: 900 !important;
}

body.tp-portal-v6special-celebrations #tp-consentv2 button:first-child {
    border-color: rgba(21, 91, 58, 0.16) !important;
    background: #ffffff !important;
    color: #344054 !important;
}

body.tp-portal-v6special-celebrations #tp-consentv2 button:last-child {
    background: #087443 !important;
    color: #ffffff !important;
}

.tp-pv6--celebrations .tp-pv6__ambient,
.tp-pv6--celebrations .tp-pv6__hero::before,
.tp-pv6--celebrations .tp-pv6__hero::after {
    display: none;
}

.tp-pv6--celebrations .tp-pv6__topbar,
.tp-pv6--celebrations .tp-pv6__ceHeroGrid,
.tp-pv6--celebrations .tp-pv6__section,
.tp-pv6--celebrations .tp-pv6__legacySection,
.tp-pv6--celebrations .tp-pv6__legacyTicker {
    width: min(1880px, calc(100% - 72px));
}

.tp-pv6--celebrations .tp-pv6__topbar {
    min-height: 68px;
    padding: 10px 14px;
    border: 1px solid rgba(16, 74, 55, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 248, 0.74));
    color: var(--ce-ink);
    box-shadow: 0 20px 60px rgba(5, 13, 24, 0.12);
    -webkit-backdrop-filter: blur(24px) saturate(1.24);
    backdrop-filter: blur(24px) saturate(1.24);
}

.tp-pv6--celebrations .tp-pv6__brandText {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(24px, 1.9vw, 31px);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.tp-pv6--celebrations .tp-pv6__brandMark {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(145deg, #070b16, #10392b);
    border-color: rgba(243, 214, 138, 0.34);
    box-shadow: 0 12px 32px rgba(5, 13, 24, 0.18);
}

.tp-pv6--celebrations .tp-pv6__brandMark::after {
    display: none;
}

.tp-pv6--celebrations .tp-pv6__topActions {
    align-items: center;
    gap: 8px;
}

.tp-pv6--celebrations .tp-pv6__topLink,
.tp-pv6--celebrations .tp-pv6__inlineLink {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.58);
    color: #263241;
    font: 900 12px/1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    box-shadow: none;
}

.tp-pv6--celebrations .tp-pv6__topLink:hover,
.tp-pv6--celebrations .tp-pv6__inlineLink:hover {
    transform: translateY(-1px);
    border-color: rgba(8, 116, 67, 0.2);
    background: #ffffff;
    color: #075c36;
    box-shadow: 0 12px 28px rgba(5, 13, 24, 0.1);
}

.tp-pv6--celebrations .tp-pv6__topLink--saved {
    border-color: rgba(21, 91, 58, 0.14);
    background: rgba(255, 255, 255, 0.78);
}

.tp-pv6--celebrations .tp-pv6__hero {
    width: 100%;
    min-height: min(820px, calc(100vh - 68px));
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #edf2ea;
    box-shadow: none;
}

.tp-pv6--celebrations .tp-pv6__heroMedia {
    inset: 0;
    opacity: 1;
}

.tp-pv6--celebrations .tp-pv6__stageImage {
    transform: scale(1.018);
    filter: saturate(1.18) contrast(1.08) brightness(0.92);
}

.tp-pv6--celebrations .tp-pv6__heroShade {
    background:
        linear-gradient(90deg, rgba(250, 248, 243, 0.94) 0%, rgba(250, 248, 243, 0.76) 34%, rgba(250, 248, 243, 0.2) 63%, rgba(8, 14, 28, 0.4) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(247, 250, 245, 0.78) 100%);
}

.tp-pv6--celebrations .tp-pv6__hero .google-auto-placed,
.tp-pv6--celebrations .tp-pv6__hero .tp-adsense-wrap,
.tp-pv6--celebrations .tp-pv6__hero ins.adsbygoogle,
.tp-pv6--celebrations .tp-pv6__hero div[id^="aswift_"][id$="_host"],
.tp-pv6--celebrations > .google-auto-placed {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}

body.tp-portal-v6special-celebrations .tpus-passportConfettiLayer {
    display: none !important;
    pointer-events: none !important;
}

.tp-pv6--celebrations .tp-pv6__ceHeroGrid {
    position: relative;
    z-index: 2;
    min-height: min(760px, calc(100vh - 82px));
    margin: 0 auto;
    padding: clamp(30px, 4vw, 56px) 0 76px;
    display: grid;
    grid-template-columns: minmax(460px, 0.78fr) minmax(620px, 1.05fr);
    gap: clamp(22px, 3vw, 54px);
    align-items: start;
}

.tp-pv6--celebrations .tp-pv6__ceHeroCopy {
    max-width: 640px;
    display: grid;
    gap: 14px;
}

.tp-pv6--celebrations .tp-pv6__ceBasePill {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid rgba(8, 116, 67, 0.18);
    border-radius: 10px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(243, 214, 138, 0.22));
    color: #344054;
    box-shadow: 0 14px 36px rgba(5, 13, 24, 0.1);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
}

.tp-pv6--celebrations .tp-pv6__ceBasePill strong {
    color: #075c36;
}

.tp-pv6--celebrations .tp-pv6__ceFlag {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #fff7dc;
    font-size: 15px;
}

.tp-pv6--celebrations .tp-pv6__ceTitle {
    max-width: 640px;
    margin: 0;
    color: var(--ce-ink);
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(50px, 4.7vw, 72px);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: 0;
    text-wrap: balance;
    text-shadow: 0 12px 40px rgba(255, 255, 255, 0.28);
}

.tp-pv6--celebrations .tp-pv6__ceSummary {
    max-width: 560px;
    margin: 0;
    color: #263241;
    font-size: clamp(16px, 1.25vw, 20px);
    font-weight: 650;
    line-height: 1.45;
}

.tp-pv6--celebrations .tp-pv6__ceComposer,
.tp-pv6--celebrations .tp-pv6__ceBoard,
.tp-pv6--celebrations .tp-pv6__cePlannerPanel,
.tp-pv6--celebrations .tp-pv6__cePlanningCard,
.tp-pv6--celebrations .tp-pv6__ceChecklistBoard,
.tp-pv6--celebrations .tp-pv6__ceMiniappCard {
    border: 1px solid var(--ce-line);
    border-radius: 16px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 248, 0.7)),
        var(--ce-glass);
    box-shadow: var(--ce-shadow);
    -webkit-backdrop-filter: blur(24px) saturate(1.22);
    backdrop-filter: blur(24px) saturate(1.22);
}

.tp-pv6--celebrations .tp-pv6__ceComposer {
    display: grid;
    gap: 10px;
    max-width: 580px;
    padding: 14px;
    box-shadow: var(--ce-deep-shadow);
}

.tp-pv6--celebrations .tp-pv6__ceComposerTabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.tp-pv6--celebrations .tp-pv6__ceComposerTabs button,
.tp-pv6--celebrations .tp-pv6__cePlanButton,
.tp-pv6--celebrations .tp-pv6__ceVendorButton,
.tp-pv6--celebrations .tp-pv6__cePlannerButton,
.tp-pv6--celebrations .tp-pv6__cePlanningCard button,
.tp-pv6--celebrations .tp-pv6__cePlanningCard a,
.tp-pv6--celebrations .tp-pv6__ceBoardFoot button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px;
    border: 1px solid rgba(8, 116, 67, 0.16);
    background: rgba(255, 255, 255, 0.72);
    color: #263241;
    font: 900 13px/1.1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
}

.tp-pv6--celebrations .tp-pv6__ceComposerTabs button.is-active,
.tp-pv6--celebrations .tp-pv6__cePlanButton,
.tp-pv6--celebrations .tp-pv6__cePlannerButton {
    border-color: rgba(8, 116, 67, 0.72);
    background:
        linear-gradient(135deg, #087443, #0f8f83);
    color: #ffffff;
    box-shadow: 0 18px 44px rgba(8, 116, 67, 0.26);
}

.tp-pv6--celebrations .tp-pv6__ceFields,
.tp-pv6--celebrations .tp-pv6__cePlannerFields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--celebrations .tp-pv6__ceField,
.tp-pv6--celebrations .tp-pv6__ceNotes,
.tp-pv6--celebrations .tp-pv6__cePlannerNotes,
.tp-pv6--celebrations .tp-pv6__ceUpload {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.tp-pv6--celebrations .tp-pv6__ceNotes,
.tp-pv6--celebrations .tp-pv6__cePlannerNotes,
.tp-pv6--celebrations .tp-pv6__ceUpload {
    grid-column: 1 / -1;
}

.tp-pv6--celebrations .tp-pv6__ceField span,
.tp-pv6--celebrations .tp-pv6__ceNotes span,
.tp-pv6--celebrations .tp-pv6__cePlannerNotes span,
.tp-pv6--celebrations .tp-pv6__ceUpload span {
    color: #344054;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.tp-pv6--celebrations .tp-pv6__ceField input,
.tp-pv6--celebrations .tp-pv6__ceField select,
.tp-pv6--celebrations .tp-pv6__ceNotes textarea,
.tp-pv6--celebrations .tp-pv6__cePlannerNotes textarea {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(16, 74, 55, 0.16);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--ce-ink);
    font: 850 13px/1.2 "Manrope", "Segoe UI", sans-serif;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

.tp-pv6--celebrations .tp-pv6__ceField select {
    appearance: none;
    padding-right: 30px;
    background-image:
        linear-gradient(45deg, transparent 50%, #344054 50%),
        linear-gradient(135deg, #344054 50%, transparent 50%);
    background-position:
        calc(100% - 18px) 52%,
        calc(100% - 13px) 52%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.tp-pv6--celebrations .tp-pv6__ceNotes textarea,
.tp-pv6--celebrations .tp-pv6__cePlannerNotes textarea {
    min-height: 72px;
    padding: 12px;
    resize: vertical;
    line-height: 1.45;
}

.tp-pv6--celebrations .tp-pv6__ceUpload {
    position: relative;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px dashed rgba(8, 116, 67, 0.3);
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(247, 251, 247, 0.94), rgba(255, 246, 236, 0.74)),
        rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

.tp-pv6--celebrations .tp-pv6__ceUpload input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.tp-pv6--celebrations .tp-pv6__ceUpload strong {
    color: var(--ce-ink);
    font-size: 12.5px;
    font-weight: 950;
    line-height: 1.25;
}

.tp-pv6--celebrations .tp-pv6__ceUpload small {
    display: none;
    color: var(--ce-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.tp-pv6--celebrations .tp-pv6__ceActions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.62fr);
    gap: 9px;
}

.tp-pv6--celebrations .tp-pv6__ceTrustRow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.tp-pv6--celebrations .tp-pv6__ceTrustRow span {
    min-width: 0;
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid rgba(16, 74, 55, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.62);
    color: var(--ce-muted);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
}

.tp-pv6--celebrations .tp-pv6__ceTrustRow strong {
    color: #075c36;
    font-size: 12px;
}

.tp-pv6--celebrations .tp-pv6__ceBoard {
    margin-top: 8px;
    padding: 14px;
    box-shadow: var(--ce-deep-shadow);
}

.tp-pv6--celebrations .tp-pv6__ceBoardGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard {
    position: relative;
    min-width: 0;
    min-height: 158px;
    display: grid;
    align-content: start;
    gap: 9px;
    overflow: hidden;
    padding: 10px;
    border: 1px solid rgba(16, 74, 55, 0.12);
    border-radius: 12px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 249, 0.76));
    color: var(--ce-ink);
    text-decoration: none;
    box-shadow: 0 16px 38px rgba(5, 13, 24, 0.08);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--ce-emerald);
    opacity: 0.8;
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard--food::before,
.tp-pv6--celebrations .tp-pv6__ceBoardCard--budget::before {
    background: var(--ce-gold);
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard--looks::before {
    background: #c86f7b;
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard--route::before {
    background: var(--ce-teal);
}

.tp-pv6--celebrations .tp-pv6__ceBoardCard:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 116, 67, 0.28);
    box-shadow: 0 24px 54px rgba(5, 13, 24, 0.14);
}

.tp-pv6--celebrations .tp-pv6__ceBoardHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #263241;
    font-size: 12px;
    line-height: 1.2;
}

.tp-pv6--celebrations .tp-pv6__ceBoardHead strong {
    font-weight: 900;
}

.tp-pv6--celebrations .tp-pv6__ceBoardHead em {
    color: var(--ce-muted);
    font-style: normal;
    font-weight: 750;
}

.tp-pv6--celebrations .tp-pv6__ceBoardMedia {
    width: 100%;
    aspect-ratio: 1.78;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(220, 239, 227, 0.9), rgba(242, 213, 206, 0.72));
}

.tp-pv6--celebrations .tp-pv6__ceBoardMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
}

.tp-pv6--celebrations .tp-pv6__ceBoardBody {
    display: grid;
    gap: 4px;
}

.tp-pv6--celebrations .tp-pv6__ceBoardBody strong {
    color: var(--ce-ink);
    font-size: 13.5px;
    font-weight: 900;
    line-height: 1.2;
}

.tp-pv6--celebrations .tp-pv6__ceBoardBody small {
    color: var(--ce-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.tp-pv6--celebrations .tp-pv6__ceRouteMap,
.tp-pv6--celebrations .tp-pv6__ceBoardGlyph {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.78;
    overflow: hidden;
    border-radius: 10px;
    background:
        linear-gradient(90deg, rgba(8, 116, 67, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8, 116, 67, 0.08) 1px, transparent 1px),
        #f8fbf8;
    background-size: 24px 24px;
}

.tp-pv6--celebrations .tp-pv6__ceRouteMap::after {
    content: "";
    position: absolute;
    inset: 34% 14% 26% 16%;
    border-left: 4px solid #087443;
    border-bottom: 4px solid #087443;
    border-radius: 18px;
    transform: skewX(-12deg);
}

.tp-pv6--celebrations .tp-pv6__ceRouteMap i {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #087443;
    box-shadow: 0 0 0 5px rgba(8, 116, 67, 0.12);
}

.tp-pv6--celebrations .tp-pv6__ceRouteMap i:nth-child(1) { left: 16%; top: 58%; }
.tp-pv6--celebrations .tp-pv6__ceRouteMap i:nth-child(2) { left: 48%; top: 34%; }
.tp-pv6--celebrations .tp-pv6__ceRouteMap i:nth-child(3) { right: 16%; bottom: 26%; }

.tp-pv6--celebrations .tp-pv6__ceBudgetRing {
    position: relative;
    width: 104px;
    height: 104px;
    display: block;
    margin: 4px auto 1px;
    border-radius: 999px;
    background: conic-gradient(#087443 0 58%, #d7a737 58% 78%, #dfe8df 78% 100%);
}

.tp-pv6--celebrations .tp-pv6__ceBudgetRing::after {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.94);
}

.tp-pv6--celebrations .tp-pv6__ceBoardGlyph::after {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: 999px;
    border: 2px solid rgba(8, 116, 67, 0.26);
    background: radial-gradient(circle at 50% 50%, rgba(215, 167, 55, 0.36), transparent 62%);
}

.tp-pv6--celebrations .tp-pv6__ceBoardFoot {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.66);
}

.tp-pv6--celebrations .tp-pv6__ceBoardFoot span {
    color: #075c36;
    font-size: 13px;
    font-weight: 850;
}

.tp-pv6--celebrations .tp-pv6__ceStatStrip {
    position: relative;
    z-index: 3;
    width: min(1400px, calc(100% - 72px));
    margin: -28px auto 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(21, 91, 58, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.84), rgba(247, 251, 248, 0.68));
    box-shadow: 0 22px 76px rgba(5, 13, 24, 0.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.18);
    backdrop-filter: blur(18px) saturate(1.18);
}

.tp-pv6--celebrations .tp-pv6__ceStatStrip div {
    display: grid;
    gap: 3px;
    padding: 18px;
    border-right: 1px solid rgba(21, 91, 58, 0.12);
}

.tp-pv6--celebrations .tp-pv6__ceStatStrip div:last-child {
    border-right: 0;
}

.tp-pv6--celebrations .tp-pv6__ceStatStrip strong {
    color: var(--ce-ink);
    font-size: clamp(22px, 2.2vw, 34px);
    font-weight: 900;
    line-height: 1;
}

.tp-pv6--celebrations .tp-pv6__ceStatStrip span {
    color: var(--ce-muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.tp-pv6--celebrations .tp-pv6__section--planner {
    margin-top: 42px;
    border-color: rgba(16, 74, 55, 0.1);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(239, 247, 241, 0.58));
}

.tp-pv6--celebrations .tp-pv6__sectionKicker {
    color: #075c36;
    font: 950 12px/1.1 "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0.08em;
}

.tp-pv6--celebrations .tp-pv6__sectionTitle {
    color: var(--ce-ink);
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(38px, 4.2vw, 72px);
    line-height: 0.96;
    letter-spacing: 0;
    text-wrap: balance;
}

.tp-pv6--celebrations .tp-pv6__section--planner .tp-pv6__sectionCopy {
    color: #344054;
    font-weight: 750;
}

.tp-pv6--celebrations .tp-pv6__cePlanningStudio {
    display: grid;
    grid-template-columns: minmax(360px, 0.74fr) minmax(0, 1.26fr);
    gap: 18px;
    align-items: start;
}

.tp-pv6--celebrations .tp-pv6__cePlannerPanel,
.tp-pv6--celebrations .tp-pv6__ceChecklistBoard {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.tp-pv6--celebrations .tp-pv6__cePlannerHead,
.tp-pv6--celebrations .tp-pv6__ceVisitIntro {
    display: grid;
    gap: 6px;
}

.tp-pv6--celebrations .tp-pv6__cePlannerHead span,
.tp-pv6--celebrations .tp-pv6__ceVisitIntro span,
.tp-pv6--celebrations .tp-pv6__cePlanningCard > span,
.tp-pv6--celebrations .tp-pv6__ceMiniappCard > span {
    color: #075c36;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6--celebrations .tp-pv6__cePlannerHead h3,
.tp-pv6--celebrations .tp-pv6__ceVisitIntro h3,
.tp-pv6--celebrations .tp-pv6__cePlanningCard h3 {
    margin: 0;
    color: var(--ce-ink);
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(21px, 1.35vw, 27px);
    line-height: 1.06;
    letter-spacing: 0;
}

.tp-pv6--celebrations .tp-pv6__cePlannerHead p,
.tp-pv6--celebrations .tp-pv6__ceVisitIntro p,
.tp-pv6--celebrations .tp-pv6__cePlanningCard p,
.tp-pv6--celebrations .tp-pv6__ceMiniappCard small {
    margin: 0;
    color: var(--ce-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.tp-pv6--celebrations .tp-pv6__cePlanningCards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard {
    position: relative;
    display: grid;
    grid-template-rows: auto auto minmax(68px, 1fr) auto;
    gap: 11px;
    min-height: 242px;
    overflow: hidden;
    padding: 18px;
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard::before,
.tp-pv6--celebrations .tp-pv6__ceMiniappCard::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, var(--ce-emerald), var(--ce-champagne), var(--ce-teal));
    opacity: 0.76;
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard--mint {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(228, 247, 235, 0.72)),
        var(--ce-glass);
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard--teal {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(215, 244, 241, 0.72)),
        var(--ce-glass);
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard--gold {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.9), rgba(255, 239, 188, 0.72)),
        var(--ce-glass);
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard--violet {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(236, 228, 255, 0.78)),
        var(--ce-glass);
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard--blue {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(222, 238, 255, 0.78)),
        var(--ce-glass);
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard.is-active {
    border-color: rgba(8, 116, 67, 0.58);
    box-shadow:
        0 0 0 3px rgba(8, 116, 67, 0.14),
        var(--ce-shadow);
}

.tp-pv6--celebrations .tp-pv6__cePlanningActions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

.tp-pv6--celebrations .tp-pv6__cePlanningCard button,
.tp-pv6--celebrations .tp-pv6__cePlanningCard a {
    width: fit-content;
    background: rgba(245, 251, 247, 0.94);
    color: #075c36;
    text-decoration: none;
}

.tp-pv6--celebrations .tp-pv6__ceChecklistBoard {
    grid-column: 1 / -1;
    grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
}

.tp-pv6--celebrations .tp-pv6__ceChecklistGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--celebrations .tp-pv6__ceChecklistItem {
    min-width: 0;
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid rgba(21, 91, 58, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.68);
}

.tp-pv6--celebrations .tp-pv6__ceChecklistItem strong {
    color: var(--ce-ink);
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
}

.tp-pv6--celebrations .tp-pv6__ceChecklistItem span {
    color: var(--ce-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.tp-pv6--celebrations .tp-pv6__ceMiniappRail {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6--celebrations .tp-pv6__ceMiniappCard {
    position: relative;
    min-height: 130px;
    display: grid;
    align-content: start;
    gap: 7px;
    overflow: hidden;
    padding: 16px 14px 14px;
    color: var(--ce-ink);
    text-decoration: none;
    cursor: pointer;
}

.tp-pv6--celebrations .tp-pv6__ceMiniappCard strong {
    color: var(--ce-ink);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.2;
}

.tp-pv6--celebrations .tp-pv6__ceMiniappCard:hover,
.tp-pv6--celebrations .tp-pv6__ceMiniappCard:focus-visible {
    border-color: rgba(8, 116, 67, 0.3);
    background: rgba(255, 255, 255, 0.9);
    outline: 0;
}

.tp-pv6--celebrations .tp-pv6__ceMiniappCard--agent {
    text-align: left;
}

.tp-pv6--celebrations .tp-pv6__dock {
    bottom: calc(8px + env(safe-area-inset-bottom));
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(10, 45, 47, 0.9)),
        rgba(15, 23, 42, 0.9);
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.32);
    -webkit-backdrop-filter: blur(22px) saturate(1.2);
    backdrop-filter: blur(22px) saturate(1.2);
}

.tp-pv6--celebrations .tp-pv6__dockItem {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    padding: 9px 13px;
}

.tp-pv6--celebrations .tp-pv6__dockItem:hover,
.tp-pv6--celebrations .tp-pv6__dockItem:focus-visible {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.tp-pv6--celebrations .tp-pv6__dockLabel {
    color: currentColor;
    opacity: 1;
}

.tp-pv6--celebrations #tp-pv6-picks,
.tp-pv6--celebrations #tp-pv6-utility {
    border-color: rgba(255, 255, 255, 0.16);
    background:
        linear-gradient(135deg, rgba(21, 27, 44, 0.96), rgba(17, 63, 61, 0.94) 58%, rgba(52, 31, 62, 0.96));
    color: #f8fbff;
}

.tp-pv6--celebrations #tp-pv6-picks .tp-pv6__sectionKicker,
.tp-pv6--celebrations #tp-pv6-picks .tp-pv6__sectionTitle,
.tp-pv6--celebrations #tp-pv6-picks .tp-pv6__sectionCopy,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__sectionKicker,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__sectionTitle,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__sectionCopy,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolShowcaseTitle,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolShowcaseText,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolBulletList,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolPreviewTitle,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolPreviewCopy {
    color: #f8fbff;
}

.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolShowcase,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolPreviewCard {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.09);
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.18);
}

.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolTag,
.tp-pv6--celebrations #tp-pv6-utility .tp-pv6__toolPreviewMeta {
    color: rgba(255, 255, 255, 0.76);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
}

@media (max-width: 1260px) {
    .tp-pv6--celebrations .tp-pv6__ceHeroGrid {
        grid-template-columns: minmax(0, 1fr);
        min-height: auto;
    }

    .tp-pv6--celebrations .tp-pv6__ceHeroCopy {
        max-width: 860px;
    }

    .tp-pv6--celebrations .tp-pv6__ceBoard {
        max-width: 960px;
    }

    .tp-pv6--celebrations .tp-pv6__cePlanningStudio,
    .tp-pv6--celebrations .tp-pv6__ceChecklistBoard {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 980px) {
    .tp-pv6--celebrations .tp-pv6__ceBoardGrid,
    .tp-pv6--celebrations .tp-pv6__cePlanningCards,
    .tp-pv6--celebrations .tp-pv6__ceChecklistGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--celebrations .tp-pv6__ceMiniappRail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tp-pv6--celebrations .tp-pv6__ceStatStrip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tp-pv6--celebrations {
        padding-bottom: 112px;
        overflow-x: hidden;
    }

    body.tp-portal-v6special-celebrations {
        overflow-x: hidden;
    }

    .tp-pv6--celebrations .tp-pv6__topbar,
    .tp-pv6--celebrations .tp-pv6__ceHeroGrid,
    .tp-pv6--celebrations .tp-pv6__section,
    .tp-pv6--celebrations .tp-pv6__legacySection,
    .tp-pv6--celebrations .tp-pv6__legacyTicker {
        width: calc(100% - 24px);
    }

    .tp-pv6--celebrations .tp-pv6__topbar {
        display: grid;
        gap: 8px;
        padding: 9px;
        border-radius: 12px;
    }

    .tp-pv6--celebrations .tp-pv6__brandMark {
        width: 34px;
        height: 34px;
    }

    .tp-pv6--celebrations .tp-pv6__brandText {
        font-size: 26px;
        line-height: 1;
    }

    .tp-pv6--celebrations .tp-pv6__topActions {
        width: 100%;
        max-width: none;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .tp-pv6--celebrations .tp-pv6__topActions::-webkit-scrollbar {
        display: none;
    }

    .tp-pv6--celebrations .tp-pv6__topLink {
        flex: 0 0 auto;
        min-width: max-content;
        min-height: 34px;
        padding: 8px 10px;
        font-size: 11.5px;
        white-space: nowrap;
    }

    .tp-pv6--celebrations .tp-pv6__dock {
        bottom: calc(4px + env(safe-area-inset-bottom));
        padding: 6px;
    }

    .tp-pv6--celebrations .tp-pv6__dockItem {
        gap: 6px;
        padding: 7px 10px;
    }

    .tp-pv6--celebrations .tp-pv6__hero {
        min-height: auto;
    }

    .tp-pv6--celebrations .tp-pv6__heroShade {
        background:
            linear-gradient(180deg, rgba(255, 252, 247, 0.94) 0%, rgba(255, 252, 247, 0.88) 52%, rgba(244, 249, 244, 0.9) 100%);
    }

    .tp-pv6--celebrations .tp-pv6__ceHeroGrid {
        min-height: auto;
        padding: 22px 0 30px;
        gap: 16px;
    }

    .tp-pv6--celebrations .tp-pv6__ceHeroCopy {
        gap: 16px;
    }

    .tp-pv6--celebrations .tp-pv6__ceBasePill {
        max-width: 100%;
        flex-wrap: wrap;
        line-height: 1.25;
    }

    .tp-pv6--celebrations .tp-pv6__ceTitle {
        max-width: calc(100vw - 32px);
        font-size: clamp(40px, 10.8vw, 52px);
        line-height: 0.96;
        overflow-wrap: normal;
        word-break: normal;
    }

    .tp-pv6--celebrations .tp-pv6__ceSummary {
        max-width: calc(100vw - 32px);
        font-size: 15px;
    }

    .tp-pv6--celebrations .tp-pv6__ceComposer,
    .tp-pv6--celebrations .tp-pv6__ceBoard,
    .tp-pv6--celebrations .tp-pv6__cePlannerPanel,
    .tp-pv6--celebrations .tp-pv6__ceChecklistBoard {
        padding: 14px;
        border-radius: 12px;
    }

    .tp-pv6--celebrations .tp-pv6__ceComposer {
        gap: 10px;
    }

    .tp-pv6--celebrations .tp-pv6__ceFields {
        display: contents;
    }

    .tp-pv6--celebrations .tp-pv6__ceComposerTabs {
        order: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--celebrations .tp-pv6__ceField {
        order: 2;
    }

    .tp-pv6--celebrations .tp-pv6__ceActions {
        order: 3;
    }

    .tp-pv6--celebrations .tp-pv6__ceNotes {
        order: 4;
    }

    .tp-pv6--celebrations .tp-pv6__ceUpload {
        order: 5;
    }

    .tp-pv6--celebrations .tp-pv6__ceTrustRow {
        order: 6;
    }

    .tp-pv6--celebrations .tp-pv6__ceFields,
    .tp-pv6--celebrations .tp-pv6__cePlannerFields,
    .tp-pv6--celebrations .tp-pv6__ceBoardGrid,
    .tp-pv6--celebrations .tp-pv6__cePlanningCards,
    .tp-pv6--celebrations .tp-pv6__ceChecklistGrid,
    .tp-pv6--celebrations .tp-pv6__ceMiniappRail {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--celebrations .tp-pv6__cePlanningCard {
        min-height: auto;
        grid-template-rows: auto;
    }

    .tp-pv6--celebrations .tp-pv6__ceActions,
    .tp-pv6--celebrations .tp-pv6__cePlannerFields {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--celebrations .tp-pv6__ceTrustRow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-pv6--celebrations .tp-pv6__ceBoardCard {
        min-height: auto;
    }

    .tp-pv6--celebrations .tp-pv6__ceBoardFoot {
        align-items: stretch;
        flex-direction: column;
    }

    .tp-pv6--celebrations .tp-pv6__ceBoardFoot button,
    .tp-pv6--celebrations .tp-pv6__cePlanButton,
    .tp-pv6--celebrations .tp-pv6__ceVendorButton,
    .tp-pv6--celebrations .tp-pv6__cePlannerButton,
    .tp-pv6--celebrations .tp-pv6__cePlanningCard button,
    .tp-pv6--celebrations .tp-pv6__cePlanningCard a,
    .tp-pv6--celebrations .tp-pv6__ceMiniappCard {
        width: 100%;
    }

    .tp-pv6--celebrations .tp-pv6__ceStatStrip {
        width: calc(100% - 20px);
        margin-top: 12px;
    }

    .tp-pv6--celebrations .tp-pv6__section,
    .tp-pv6--celebrations .tp-pv6__legacySection,
    .tp-pv6--celebrations .tp-pv6__legacyTicker {
        padding: 18px;
    }
}

@media (max-width: 420px) {
    .tp-pv6--celebrations .tp-pv6__ceTrustRow,
    .tp-pv6--celebrations .tp-pv6__ceStatStrip {
        grid-template-columns: minmax(0, 1fr);
    }
}

body.tp-portal-v6-body:has(.tp-pv6--celebrations) {
    background: #f7faf7;
}

@media (max-width: 760px) {
    body.tp-portal-v6special-celebrations #tp-consentv2 {
        left: 10px !important;
        right: 10px !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
        max-width: none !important;
        padding: 10px !important;
    }
}

/* Portal V6 production refinement: AskAnnie + SchoolFinder */
.tp-pv6--askannie .tp-pv6__aaWorkspace,
.tp-pv6--askannie .tp-pv6__aaAgentPanel,
.tp-pv6--schoolfinder .tp-pv6__sfComparePanel,
.tp-pv6--schoolfinder .tp-pv6__sfSearch,
.tp-pv6--schoolfinder .tp-pv6__section--schoolRegions,
.tp-pv6--schoolfinder .tp-pv6__sfPlannerPanel,
.tp-pv6--schoolfinder .tp-pv6__sfVisitBoard {
    position: relative;
    overflow: hidden;
}

.tp-pv6--askannie .tp-pv6__aaWorkspace::before,
.tp-pv6--schoolfinder .tp-pv6__sfComparePanel::before,
.tp-pv6--schoolfinder .tp-pv6__section--schoolRegions::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 10%, rgba(255, 255, 255, 0.82), transparent 20%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.32), transparent 42%);
}

.tp-pv6--askannie .tp-pv6__aaWorkspace > *,
.tp-pv6--schoolfinder .tp-pv6__sfComparePanel > *,
.tp-pv6--schoolfinder .tp-pv6__section--schoolRegions > * {
    position: relative;
    z-index: 1;
}

.tp-pv6--askannie .tp-pv6__aaHeroGrid {
    align-items: stretch;
}

.tp-pv6--askannie .tp-pv6__aaWorkspace {
    justify-content: space-between;
}

.tp-pv6--askannie .tp-pv6__aaKicker {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 16px 36px rgba(15, 118, 110, 0.1);
}

.tp-pv6--askannie .tp-pv6__aaCareStrip span:first-child {
    border-color: rgba(15, 118, 110, 0.36);
    background: linear-gradient(135deg, rgba(204, 251, 241, 0.92), rgba(255, 255, 255, 0.76));
}

.tp-pv6--askannie .tp-pv6__aaComposer {
    border-width: 1px;
    box-shadow: 0 28px 80px rgba(15, 118, 110, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.tp-pv6--askannie .tp-pv6__aaAskButton::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: 8px;
    border-radius: 999px;
    background: #ccfbf1;
    box-shadow: 0 0 0 5px rgba(204, 251, 241, 0.18);
}

.tp-pv6--askannie .tp-pv6__aaAgentPanel {
    grid-template-rows: auto auto auto minmax(0, 1fr);
}

.tp-pv6--askannie .tp-pv6__aaTask.is-active {
    border-color: rgba(15, 118, 110, 0.34);
    background: linear-gradient(135deg, rgba(240, 253, 250, 0.96), rgba(255, 255, 255, 0.88));
}

.tp-pv6--askannie .tp-pv6__aaProviderStack {
    max-height: 320px;
    overflow: auto;
    padding-right: 3px;
    scrollbar-width: thin;
}

.tp-pv6--schoolfinder .tp-pv6__sfSearch {
    align-items: stretch;
}

.tp-pv6--schoolfinder .tp-pv6__sfField input,
.tp-pv6--schoolfinder .tp-pv6__sfField select {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.tp-pv6--schoolfinder .tp-pv6__sfSearchButton {
    background: linear-gradient(135deg, #078a4f, #0f9f62);
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanButton {
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.86));
}

.tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 249, 0.84)),
        rgba(255, 255, 255, 0.82);
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareRow {
    grid-template-columns: 82px minmax(0, 1fr);
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareRow:hover,
.tp-pv6--schoolfinder .tp-pv6__sfCompareRow:focus-visible {
    box-shadow: 0 20px 50px rgba(7, 138, 79, 0.12);
    outline: 0;
}

.tp-pv6--schoolfinder .tp-pv6__sfCompareThumb {
    width: 82px;
    height: 82px;
}

.tp-pv6--schoolfinder .tp-pv6__section--schoolRegions {
    padding-top: clamp(28px, 3vw, 48px);
    background:
        radial-gradient(circle at 8% 0%, rgba(242, 185, 31, 0.2), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(17, 103, 177, 0.12), transparent 30%),
        linear-gradient(135deg, rgba(7, 138, 79, 0.08), rgba(255, 255, 255, 0.86) 52%, rgba(242, 185, 31, 0.08)),
        rgba(255, 255, 255, 0.9);
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion {
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion:hover {
    border-color: rgba(7, 138, 79, 0.28);
    transform: translateY(-2px);
    box-shadow: 0 24px 70px rgba(16, 24, 40, 0.12);
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
    border-color: rgba(7, 138, 79, 0.26);
}

.tp-pv6--schoolfinder .tp-pv6__schoolRegionItem {
    min-height: 104px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlanningStudio {
    gap: 18px;
}

.tp-pv6--schoolfinder .tp-pv6__sfPlannerPanel {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(239, 250, 244, 0.86)),
        rgba(255, 255, 255, 0.86);
}

.tp-pv6--schoolfinder .tp-pv6__sfVisitCheck:nth-child(2n) {
    background: rgba(255, 248, 222, 0.58);
}

@media (min-width: 1280px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid,
    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        width: min(1880px, calc(100% - 56px));
    }

    .tp-pv6--askannie .tp-pv6__hero {
        padding-top: 20px;
        padding-bottom: 44px;
    }

    .tp-pv6--schoolfinder .tp-pv6__hero {
        min-height: min(900px, calc(100svh - 66px));
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        grid-template-columns: minmax(0, 1.1fr) minmax(460px, 0.68fr);
    }
}

@media (max-width: 760px) {
    .tp-pv6--askannie .tp-pv6__hero,
    .tp-pv6--schoolfinder .tp-pv6__hero {
        padding-top: 14px;
        padding-bottom: 22px;
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        gap: 14px;
        padding: 14px 0 20px;
    }

    .tp-pv6--askannie .tp-pv6__aaWorkspace {
        gap: 14px;
        justify-content: start;
        padding: 16px;
    }

    .tp-pv6--askannie .tp-pv6__aaKicker {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr);
        width: 100%;
        gap: 8px;
        align-items: center;
    }

    .tp-pv6--askannie .tp-pv6__aaKicker > span:last-child {
        grid-column: 1 / -1;
        line-height: 1.3;
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        max-width: none;
        font-size: clamp(36px, 10.6vw, 48px);
        line-height: 0.98;
    }

    .tp-pv6--askannie .tp-pv6__aaSummary {
        max-width: none;
        font-size: 14.5px;
        line-height: 1.45;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip,
    .tp-pv6--askannie .tp-pv6__aaSupportGrid,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        display: flex;
        grid-template-columns: none;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        margin-right: -8px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: visible;
        margin-right: 0;
        padding-bottom: 0;
        scroll-snap-type: none;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip::-webkit-scrollbar,
    .tp-pv6--askannie .tp-pv6__aaSupportGrid::-webkit-scrollbar,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid::-webkit-scrollbar,
    .tp-pv6--schoolfinder .tp-pv6__sfCompareList::-webkit-scrollbar,
    .tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid::-webkit-scrollbar {
        display: none;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip span {
        flex: 1 1 auto;
        min-height: 44px;
        padding: 8px 6px;
        gap: 6px;
        font-size: 11.5px;
        scroll-snap-align: start;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip strong {
        width: 22px;
        height: 22px;
        font-size: 11px;
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid button {
        flex: 0 0 min(76vw, 270px);
        min-height: 96px;
        scroll-snap-align: start;
    }

    .tp-pv6--askannie .tp-pv6__aaQuickGrid a {
        flex: 0 0 min(68vw, 240px);
        min-height: 86px;
        scroll-snap-align: start;
    }

    .tp-pv6--askannie .tp-pv6__aaComposer {
        padding: 12px;
        border-radius: 14px;
    }

    .tp-pv6--askannie .tp-pv6__aaComposer textarea {
        min-height: 96px;
        font-size: 15px;
    }

    .tp-pv6--askannie .tp-pv6__aaModeRow {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        order: 2;
    }

    .tp-pv6--askannie .tp-pv6__aaAskButton {
        order: 1;
        min-height: 48px;
    }

    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        padding: 16px;
    }

    .tp-pv6--askannie .tp-pv6__aaPanelHead h2 {
        font-size: clamp(30px, 8vw, 40px);
    }

    .tp-pv6--askannie .tp-pv6__aaTaskList {
        gap: 8px;
    }

    .tp-pv6--askannie .tp-pv6__aaTask {
        padding: 11px;
    }

    .tp-pv6--askannie .tp-pv6__aaProviderStack {
        display: flex;
        max-height: none;
        overflow-x: auto;
        padding: 0 4px 4px 0;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .tp-pv6--askannie .tp-pv6__aaProviderCard {
        flex: 0 0 min(82vw, 300px);
        scroll-snap-align: start;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroGrid {
        gap: 16px;
        padding: 18px 0 20px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfHeroCopy {
        gap: 13px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfTitle {
        font-size: clamp(36px, 10.5vw, 48px);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSummary {
        font-size: 14.5px;
        line-height: 1.45;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfSearch {
        gap: 9px;
        padding: 11px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfField {
        gap: 5px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfField input,
    .tp-pv6--schoolfinder .tp-pv6__sfField select {
        min-height: 44px;
        font-size: 14px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfComparePanel {
        padding: 14px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareHead h2 {
        font-size: clamp(28px, 8vw, 38px);
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareList {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
        margin-right: -8px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareRow {
        flex: 0 0 min(82vw, 310px);
        grid-template-columns: 72px minmax(0, 1fr);
        scroll-snap-align: start;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCompareThumb {
        width: 72px;
        height: 72px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfCheckList {
        grid-column: 1 / -1;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfRegionRail {
        display: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfStatStrip {
        margin-top: 8px;
    }

    .tp-pv6--schoolfinder .tp-pv6__section--schoolRegions {
        margin-top: 12px;
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegionGrid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 2px 2px 8px;
        margin-right: -10px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegion,
    .tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
        flex: 0 0 min(86vw, 340px);
        scroll-snap-align: start;
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegion--lead {
        flex-basis: min(92vw, 390px);
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegionHead {
        gap: 10px;
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegionList {
        gap: 9px;
    }

    .tp-pv6--schoolfinder .tp-pv6__schoolRegionItem {
        min-height: 96px;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfVisitGrid,
    .tp-pv6--schoolfinder .tp-pv6__sfMiniappRail {
        display: flex;
        grid-template-columns: none;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .tp-pv6--schoolfinder .tp-pv6__sfVisitCheck,
    .tp-pv6--schoolfinder .tp-pv6__sfMiniappCard {
        flex: 0 0 min(78vw, 280px);
        scroll-snap-align: start;
    }
}

/* AskAnnie Portal V6: production readability and mobile UX pass. */
body.tp-portal-v6special-askannie ~ .tpais-assist-overlay,
body.tp-portal-v6special-askannie ~ .tpais-assist-overlay .tpais-assist-stow,
body.tp-portal-v6special-askannie ~ .tpais-assist-overlay .tpais-assist-pip,
body.tp-portal-v6special-askannie ~ .tpais-assist-overlay .tpais-assist-bubble {
    display: none !important;
    pointer-events: none !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 {
    max-width: min(390px, calc(100vw - 24px)) !important;
    padding: 9px !important;
    border: 1px solid rgba(204, 251, 241, 0.22) !important;
    border-radius: 12px !important;
    background: rgba(15, 23, 42, 0.94) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.28) !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child {
    min-width: 0 !important;
    gap: 1px !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child > div:first-child {
    color: #ffffff !important;
    font: 900 14px/1.12 "Manrope", "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div > div:first-child > div:last-child {
    color: rgba(255, 255, 255, 0.86) !important;
    font: 720 13px/1.3 "Manrope", "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 > div > div:last-child {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
}

body.tp-portal-v6special-askannie #tp-consentv2 button {
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(11, 95, 88, 0.36) !important;
    background: #fde047 !important;
    color: #101612 !important;
    font: 850 13px/1 "Manrope", "Segoe UI", sans-serif !important;
    white-space: nowrap !important;
}

body.tp-portal-v6special-askannie .google-auto-placed,
body.tp-portal-v6special-askannie .adsbygoogle-noablate,
body.tp-portal-v6special-askannie ins.adsbygoogle[data-anchor-shown],
body.tp-portal-v6special-askannie div[id^="aswift_"][id$="_host"],
body.tp-portal-v6special-askannie iframe[id^="aswift_"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (min-width: 1181px) {
    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        align-items: start;
    }

    .tp-pv6--askannie .tp-pv6__aaAgentPanel {
        max-height: calc(100svh - 150px);
        overflow: hidden;
    }

    .tp-pv6--askannie .tp-pv6__aaProviderStack {
        max-height: clamp(180px, 24svh, 280px);
    }
}

.tp-pv6--askannie .tp-pv6__legacyTicker,
.tp-pv6--askannie .tp-pv6__legacySection {
    color: var(--aa-ink);
    background:
        radial-gradient(circle at 8% 0%, rgba(204, 251, 241, 0.4), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 253, 252, 0.9));
}

.tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v1__link {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid rgba(13, 148, 136, 0.18);
    border-radius: 999px;
    background: rgba(240, 253, 250, 0.9);
    color: var(--aa-teal-deep) !important;
    font-weight: 850;
    text-decoration: none;
}

.tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v1__link:hover,
.tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v1__link:focus-visible {
    background: #ffffff;
    border-color: rgba(15, 118, 110, 0.34);
    outline: 0;
}

.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsLead,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsItem,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubCard,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubItem {
    border: 1px solid rgba(13, 148, 136, 0.15) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 253, 250, 0.72)),
        rgba(255, 255, 255, 0.88) !important;
    color: var(--aa-ink) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsLead::after,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubCard::after,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubItem::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.82)) !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsLeadTitle,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsTitle,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsItemTitle,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubItemTitle,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubTitle {
    color: var(--aa-ink) !important;
    font-weight: 900 !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsLeadExcerpt,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsSummary,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsMeta,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsMeta span,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsItemSource,
.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsItemDate,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubItemMeta,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubMeta {
    color: var(--aa-muted) !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--news .tp-portal-v1__newsKicker {
    color: var(--aa-teal-deep) !important;
    font-weight: 950 !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__metaChip,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__metaChip--muted {
    background: rgba(13, 148, 136, 0.1) !important;
    color: var(--aa-teal-deep) !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl .select,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl select,
.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl input {
    border-color: rgba(13, 148, 136, 0.16) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--aa-ink) !important;
    box-shadow: none !important;
}

.tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl--btn {
    background: #fde047 !important;
    border-color: rgba(11, 95, 88, 0.28) !important;
    color: #101612 !important;
    font-weight: 850 !important;
}

.tp-pv6--askannie .tp-pv6__verticalDecisionCard,
.tp-pv6--askannie .tp-pv6__verticalGuide,
.tp-pv6--askannie .tp-pv6__placeCard,
.tp-pv6--askannie .tp-pv6__panel,
.tp-pv6--askannie .tp-pv6__toolShowcase {
    color: var(--aa-ink);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 253, 250, 0.82)),
        rgba(255, 255, 255, 0.9) !important;
}

.tp-pv6--askannie .tp-pv6__verticalDecisionCard strong,
.tp-pv6--askannie .tp-pv6__verticalGuide strong,
.tp-pv6--askannie .tp-pv6__placeCard strong,
.tp-pv6--askannie .tp-pv6__placeTitle,
.tp-pv6--askannie .tp-pv6__panelTitle {
    color: var(--aa-ink) !important;
}

.tp-pv6--askannie .tp-pv6__verticalDecisionCard span,
.tp-pv6--askannie .tp-pv6__verticalGuide li,
.tp-pv6--askannie .tp-pv6__placeCard p,
.tp-pv6--askannie .tp-pv6__placeCopy,
.tp-pv6--askannie .tp-pv6__placeMeta {
    color: var(--aa-muted) !important;
}

@media (max-width: 760px) {
    .tp-pv6--askannie .tp-pv6__topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: calc(100% - 18px);
        padding: 9px;
    }

    .tp-pv6--askannie .tp-pv6__brand {
        width: 100%;
    }

    .tp-pv6--askannie .tp-pv6__brandMark {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }

    .tp-pv6--askannie .tp-pv6__topActions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 7px;
        overflow: visible;
        padding-bottom: 0;
    }

    .tp-pv6--askannie .tp-pv6__topLink {
        min-width: 0;
        min-height: 38px;
        padding: 8px 6px;
        white-space: normal;
        text-align: center;
        font-size: 12px;
        line-height: 1.05;
    }

    .tp-pv6--askannie .tp-pv6__aaHeroGrid {
        width: calc(100% - 18px);
    }

    .tp-pv6--askannie .tp-pv6__aaTitle {
        font-size: clamp(34px, 10vw, 44px);
        line-height: 1;
    }

    .tp-pv6--askannie .tp-pv6__aaSummary {
        font-size: 14px;
        line-height: 1.48;
        font-weight: 760;
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
        margin-right: 0;
        padding-bottom: 0;
        scroll-snap-type: none;
    }

    .tp-pv6--askannie .tp-pv6__aaSupportGrid button,
    .tp-pv6--askannie .tp-pv6__aaQuickGrid a {
        width: 100%;
        min-height: 74px;
        flex-basis: auto;
        scroll-snap-align: none;
    }

    .tp-pv6--askannie .tp-pv6__aaCareStrip span {
        overflow-wrap: anywhere;
    }

    .tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v1__sectionIntro,
    .tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v5__sectionIntro {
        align-items: stretch;
        gap: 10px;
    }

    .tp-pv6--askannie .tp-pv6__legacySection .tp-portal-v1__link {
        width: 100%;
        justify-content: center;
    }

    .tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsControls {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__eventsCtrl--search {
        grid-column: 1 / -1;
    }

    .tp-pv6--askannie .tp-pv6__legacySection--events .tp-portal-v5__hubItem {
        min-height: 84px;
    }

    body.tp-portal-v6special-askannie #tp-consentv2 {
        left: 8px !important;
        right: 8px !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
        max-width: none !important;
        max-height: 126px !important;
        overflow: auto !important;
    }
}

@media (max-width: 360px) {
    .tp-pv6--askannie .tp-pv6__topActions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.tp-portal-v6special-askannie #tp-consentv2 > div {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* AskAnnie lower-page production pass: readable care tools and mobile-first cards. */
.tp-pv6--askannie #tp-pv6-utility,
.tp-pv6--askannie #tp-pv6-tools,
.tp-pv6--askannie #tpv3-spotlight,
.tp-pv6--askannie #tp-pv6-play,
.tp-pv6--askannie #tpv3-collections,
.tp-pv6--askannie #tpv5-experiences,
.tp-pv6--askannie #tppt-regions,
.tp-pv6--askannie #tppt-categories,
.tp-pv6--askannie #tp-pv6-plan {
    border: 1px solid rgba(13, 148, 136, 0.16);
    background:
        radial-gradient(820px 360px at 2% 0%, rgba(204, 251, 241, 0.55), transparent 62%),
        radial-gradient(720px 320px at 100% 10%, rgba(219, 234, 254, 0.46), transparent 60%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 254, 252, 0.86));
    color: var(--aa-ink);
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.08);
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__sectionTitle,
.tp-pv6--askannie #tp-pv6-tools .tp-pv6__sectionTitle,
.tp-pv6--askannie #tpv3-spotlight .tp-pv6__sectionTitle,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__sectionTitle,
.tp-pv6--askannie #tpv3-collections .tp-portal-v1__h2,
.tp-pv6--askannie #tpv5-experiences .tp-portal-v1__h2,
.tp-pv6--askannie #tppt-regions .tp-portal-v1__h2,
.tp-pv6--askannie #tppt-categories .tp-portal-v1__h2,
.tp-pv6--askannie #tp-pv6-plan .tp-pv6__sectionTitle {
    color: var(--aa-ink) !important;
    letter-spacing: 0;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__sectionCopy,
.tp-pv6--askannie #tp-pv6-tools .tp-pv6__sectionCopy,
.tp-pv6--askannie #tpv3-spotlight .tp-pv6__sectionCopy,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__sectionCopy,
.tp-pv6--askannie #tpv5-experiences .tp-portal-v1__p,
.tp-pv6--askannie #tp-pv6-plan .tp-pv6__sectionCopy {
    max-width: 58ch;
    color: var(--aa-muted) !important;
    font-weight: 690;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcase {
    border-color: rgba(13, 148, 136, 0.18) !important;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.78)),
        rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcaseTitle {
    color: var(--aa-ink) !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcaseText,
.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolBulletList,
.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolBulletList li {
    color: var(--aa-muted) !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolTag,
.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPathKicker,
.tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchKicker {
    border-color: rgba(13, 148, 136, 0.2) !important;
    background: rgba(204, 251, 241, 0.68) !important;
    color: var(--aa-teal-deep) !important;
    text-shadow: none !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPathPrimary,
.tp-pv6--askannie #tp-pv6-tools .tp-pv6__miniLink,
.tp-pv6--askannie #tpv5-experiences .tp-portal-v1__button,
.tp-pv6--askannie #tp-pv6-plan .tp-pv6__button {
    min-height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(13, 148, 136, 0.24);
    background:
        linear-gradient(135deg, rgba(253, 224, 71, 0.95), rgba(254, 240, 138, 0.94)),
        #fde047 !important;
    color: #111827 !important;
    font-weight: 880;
    text-shadow: none !important;
    box-shadow: 0 14px 34px rgba(253, 224, 71, 0.16);
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPathLink,
.tp-pv6--askannie #tpv5-experiences .tp-portal-v1__button--ghost {
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(13, 148, 136, 0.2) !important;
    background: rgba(255, 255, 255, 0.8) !important;
    color: var(--aa-teal-deep) !important;
    text-shadow: none !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPreviewCard {
    border-color: rgba(15, 23, 42, 0.12);
    background:
        linear-gradient(180deg, rgba(17, 24, 39, 0.94), rgba(15, 23, 42, 0.96)) !important;
    color: #f8fafc !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPreviewMeta,
.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPreviewCopy {
    color: rgba(248, 250, 252, 0.74) !important;
}

.tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolPreviewTitle {
    color: #fff7ed !important;
}

.tp-pv6--askannie #tp-pv6-tools.tp-pv6__section--hubStage {
    background:
        radial-gradient(760px 340px at 0% 0%, rgba(204, 251, 241, 0.58), transparent 62%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 253, 252, 0.88));
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__panel--launchpadExpanded {
    border-color: rgba(13, 148, 136, 0.18);
    border-radius: 18px;
    background:
        radial-gradient(620px 260px at 0% 0%, rgba(204, 251, 241, 0.64), transparent 60%),
        radial-gradient(560px 260px at 100% 0%, rgba(219, 234, 254, 0.56), transparent 62%),
        rgba(255, 255, 255, 0.88) !important;
    color: var(--aa-ink);
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__panelMeta,
.tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchDesc {
    color: var(--aa-muted) !important;
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchItem {
    border-color: rgba(13, 148, 136, 0.16) !important;
    background: rgba(255, 255, 255, 0.74) !important;
    color: var(--aa-ink) !important;
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchName {
    color: var(--aa-ink) !important;
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchEmoji {
    background: linear-gradient(135deg, rgba(204, 251, 241, 0.92), rgba(254, 240, 138, 0.66));
}

.tp-pv6--askannie #tp-pv6-tools .tp-pv6__miniLink:not(:hover):not(:focus-visible) {
    background: rgba(255, 255, 255, 0.78) !important;
    color: var(--aa-ink) !important;
    box-shadow: none;
}

.tp-pv6--askannie #tpv3-spotlight .tp-pv6__railCard {
    border-color: rgba(13, 148, 136, 0.16);
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.94), rgba(15, 23, 42, 0.96));
}

.tp-pv6--askannie #tpv3-spotlight .tp-pv6__railTitle {
    color: #fff7ed !important;
}

.tp-pv6--askannie #tpv3-spotlight .tp-pv6__railMeta {
    color: rgba(248, 250, 252, 0.74) !important;
}

.tp-pv6--askannie #tp-pv6-play .tp-pv6__swipeGame {
    border-color: rgba(45, 212, 191, 0.18);
    background:
        radial-gradient(580px 260px at 0% 0%, rgba(20, 184, 166, 0.2), transparent 62%),
        linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(15, 23, 42, 0.98));
    color: #f8fafc;
}

.tp-pv6--askannie #tp-pv6-play .tp-pv6__panelTitle,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__receiptTitle,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__swipeCardTitle,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__knockoutTitle {
    color: #fff7ed !important;
}

.tp-pv6--askannie #tp-pv6-play .tp-pv6__panelMeta,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__receiptCopy,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__swipeCardCopy,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__knockoutCopy,
.tp-pv6--askannie #tp-pv6-play .tp-pv6__knockoutHint {
    color: rgba(248, 250, 252, 0.78) !important;
}

.tp-pv6--askannie #tp-pv6-play .tp-pv6__receipt {
    border-color: rgba(45, 212, 191, 0.22);
    background:
        linear-gradient(135deg, rgba(31, 41, 55, 0.9), rgba(15, 23, 42, 0.92)),
        rgba(15, 23, 42, 0.9);
}

.tp-pv6--askannie #tp-pv6-play .tp-pv6__receiptAction {
    border-color: rgba(255, 255, 255, 0.18);
    color: #f8fafc !important;
}

.tp-pv6--askannie #tpv3-collections {
    background:
        linear-gradient(90deg, rgba(13, 148, 136, 0.9), rgba(251, 146, 60, 0.42), rgba(96, 165, 250, 0.72)) 0 0 / 100% 4px no-repeat,
        radial-gradient(780px 340px at 0% 0%, rgba(204, 251, 241, 0.7), transparent 62%),
        rgba(255, 255, 255, 0.9);
}

.tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaic {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCard {
    border-color: rgba(255, 255, 255, 0.4);
    color: #ffffff !important;
}

.tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicTitle {
    color: #fff7ed !important;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 0.96;
    letter-spacing: 0;
    overflow-wrap: normal;
    text-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}

.tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicDesc,
.tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCta,
.tp-pv6--askannie #tpv3-collections .tp-portal-v3__mosaicPicksLabel {
    color: rgba(255, 255, 255, 0.88) !important;
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceGrid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceCard {
    overflow: hidden;
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--aa-ink) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1);
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceBody {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.72)),
        rgba(255, 255, 255, 0.94);
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceTitle {
    color: var(--aa-ink) !important;
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceDesc {
    color: var(--aa-muted) !important;
}

.tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceMeta span {
    background: rgba(15, 23, 42, 0.8);
    color: #f8fafc !important;
}

.tp-pv6--askannie #tppt-regions .tp-pv6__browseCard,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseCard {
    border-color: rgba(13, 148, 136, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1);
}

.tp-pv6--askannie #tppt-regions .tp-pv6__browseBody,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseBody {
    background:
        radial-gradient(400px 180px at 0% 0%, rgba(20, 184, 166, 0.18), transparent 64%),
        linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(15, 23, 42, 0.94));
    color: #f8fafc !important;
}

.tp-pv6--askannie #tppt-regions .tp-pv6__browseTitle,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseTitle {
    color: #fff7ed !important;
}

.tp-pv6--askannie #tppt-regions .tp-pv6__browseCopy,
.tp-pv6--askannie #tppt-regions .tp-pv6__browseMeta,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseCopy,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseMeta {
    color: rgba(248, 250, 252, 0.78) !important;
}

.tp-pv6--askannie #tppt-regions .tp-pv6__browseBadge,
.tp-pv6--askannie #tppt-categories .tp-pv6__browseBadge {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 250, 252, 0.86) !important;
}

.tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptCard {
    border: 1px solid rgba(13, 148, 136, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1);
}

.tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptBody {
    min-height: 320px;
    display: grid;
    align-content: start;
    gap: 12px;
    background:
        radial-gradient(420px 190px at 0% 0%, rgba(20, 184, 166, 0.16), transparent 62%),
        linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(15, 23, 42, 0.95));
}

.tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptTitle {
    color: #fff7ed !important;
}

.tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptCopy {
    min-height: 0;
    color: rgba(248, 250, 252, 0.78) !important;
}

.tp-pv6--askannie #tp-pv6-plan .tp-pv6__sectionKicker {
    color: #14b8a6;
}

@media (min-width: 1180px) {
    .tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcaseIntro {
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
        gap: 24px;
    }

    .tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcaseTitle,
    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__panelTitle {
        max-width: 760px;
    }
}

@media (max-width: 820px) {
    .tp-pv6--askannie #tp-pv6-utility,
    .tp-pv6--askannie #tp-pv6-tools,
    .tp-pv6--askannie #tpv3-spotlight,
    .tp-pv6--askannie #tp-pv6-play,
    .tp-pv6--askannie #tpv3-collections,
    .tp-pv6--askannie #tpv5-experiences,
    .tp-pv6--askannie #tppt-regions,
    .tp-pv6--askannie #tppt-categories,
    .tp-pv6--askannie #tp-pv6-plan {
        width: calc(100% - 18px);
        padding: 28px clamp(18px, 5vw, 28px);
        border-radius: 22px;
    }

    .tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcase {
        padding: 20px;
    }

    .tp-pv6--askannie #tp-pv6-utility .tp-pv6__toolShowcaseTitle,
    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__panelTitle {
        font-size: clamp(34px, 11vw, 50px);
        line-height: 0.96;
    }

    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__panelTop {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 14px;
    }

    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__panelTop .tp-pv6__inlineLink {
        width: fit-content;
        min-width: 118px;
        justify-self: start;
        white-space: nowrap;
        text-align: center;
    }

    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__linkRow--launchpad {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__miniLink {
        width: 100%;
        min-height: 48px;
        padding: 12px 10px;
        white-space: normal;
        text-align: center;
    }

    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__launchItem {
        padding: 14px;
        border-radius: 16px;
    }

    .tp-pv6--askannie #tp-pv6-play .tp-pv6__swipeGame {
        padding: 20px 16px;
        border-radius: 22px;
    }

    .tp-pv6--askannie #tp-pv6-play .tp-pv6__swipeHead {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__sectionHeader,
    .tp-pv6--askannie #tpv5-experiences .tp-portal-v1__sectionHeader,
    .tp-pv6--askannie #tppt-regions .tp-portal-v1__sectionHeader,
    .tp-pv6--askannie #tppt-categories .tp-portal-v1__sectionHeader {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaic {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCard:nth-child(n) {
        grid-column: auto !important;
        min-height: 0 !important;
        border-radius: 18px;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCard::before {
        opacity: 0.14;
        filter: saturate(1.1) contrast(1.02);
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCard::after {
        background:
            radial-gradient(520px 180px at 0% 0%, rgba(204, 251, 241, 0.82), transparent 62%),
            linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 253, 250, 0.9));
        opacity: 0.98;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicInner {
        min-height: 172px;
        justify-content: center;
        padding: 20px;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v3__mosaicPicks {
        display: none;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v3__mosaicContent {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicTitle {
        color: var(--aa-ink) !important;
        font-size: clamp(28px, 8.8vw, 38px);
        line-height: 0.98;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: manual;
        text-shadow: none;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicDesc {
        max-width: 34ch;
        color: var(--aa-muted) !important;
        font-size: 14px;
        line-height: 1.5;
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicCta {
        width: fit-content;
        margin-top: 4px;
        padding: 9px 12px;
        border: 1px solid rgba(13, 148, 136, 0.2);
        border-radius: 999px;
        background: rgba(204, 251, 241, 0.72);
        color: var(--aa-teal-deep) !important;
    }

    .tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceCard,
    .tp-pv6--askannie #tppt-regions .tp-pv6__browseCard,
    .tp-pv6--askannie #tppt-categories .tp-pv6__browseCard,
    .tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptCard {
        border-radius: 20px;
    }

    .tp-pv6--askannie #tpv5-experiences .tp-portal-v5__experienceDesc,
    .tp-pv6--askannie #tpv5-experiences .tp-portal-v1__button {
        font-size: 14px;
    }

    .tp-pv6--askannie #tp-pv6-plan .tp-pv6__promptBody {
        min-height: 280px;
        padding: 22px;
    }
}

@media (max-width: 420px) {
    .tp-pv6--askannie #tp-pv6-tools .tp-pv6__linkRow--launchpad {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6--askannie #tpv3-collections .tp-portal-v1__mosaicTitle {
        font-size: clamp(26px, 8vw, 34px);
    }
}

body.tp-portal-v6-body:has(.tp-pv6--themePortal) {
    background: var(--tp-pv6-theme-page-bg, #06151c);
}

body:has(.tp-pv6--themePortal) .tp-ai-studio-launcherShell,
body:has(.tp-pv6--themePortal) .tpma-tortoise-launcherShell,
body:has(.tp-pv6--themePortal) .tpais-assist-stow,
body:has(.tp-pv6--themePortal) .tpais-assist-pip,
body:has(.tp-pv6--themePortal) .tp-pv6__adBand,
body:has(.tp-pv6--themePortal) #tp-consentv2,
body:has(.tp-pv6--themePortal) .google-auto-placed,
body:has(.tp-pv6--themePortal) ins.adsbygoogle,
body:has(.tp-pv6--themePortal) [id^="aswift_"],
.tp-pv6--themePortal .tp-pv6__adBand,
html:has(.tp-pv6--themePortal) .tp-ai-studio-launcherShell,
html:has(.tp-pv6--themePortal) .tpma-tortoise-launcherShell,
html:has(.tp-pv6--themePortal) .tpais-assist-stow,
html:has(.tp-pv6--themePortal) .tpais-assist-pip,
html:has(.tp-pv6--themePortal) .tp-pv6__adBand,
html:has(.tp-pv6--themePortal) #tp-consentv2,
html:has(.tp-pv6--themePortal) #tp-recovery-banner,
html:has(.tp-pv6--themePortal) .google-auto-placed,
html:has(.tp-pv6--themePortal) ins.adsbygoogle,
html:has(.tp-pv6--themePortal) [id^="aswift_"],
html:has(.tp-pv6--themePortal) .tp-ghwc-float,
body:has(.tp-pv6--themePortal) .tp-ghwc-float {
    display: none !important;
}

html.tp-recovery-banner--lock:has(.tp-pv6--themePortal) {
    overflow: auto !important;
}

.tp-pv6--themePortal {
    min-height: 100vh;
    padding-bottom: 130px;
    isolation: isolate;
    background:
        radial-gradient(circle at 88% 5%, var(--tp-pv6-theme-glow-one, rgba(251, 146, 60, 0.48)), transparent 38%),
        radial-gradient(circle at 12% 12%, var(--tp-pv6-theme-glow-two, rgba(20, 184, 166, 0.32)), transparent 36%),
        linear-gradient(180deg, rgba(255, 237, 213, 0.04), rgba(2, 6, 23, 0.72)),
        var(--tp-pv6-theme-page-bg, #06151c);
}

.tp-pv6--themePortal .tp-pv6__ambient {
    z-index: 0;
    background:
        radial-gradient(circle at 82% 6%, rgba(255, 198, 126, 0.22), transparent 34%),
        linear-gradient(180deg, rgba(255, 226, 178, 0.12), transparent 28%),
        linear-gradient(122deg, rgba(5, 48, 55, 0.08), rgba(2, 6, 23, 0.5));
}

.tp-pv6ThemeBg {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.tp-pv6ThemeBg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0.78;
    filter: saturate(1.16) contrast(1.08) brightness(0.82);
}

.tp-pv6--california.tp-pv6--themePortal .tp-pv6ThemeBg img {
    object-position: center center;
    filter: saturate(1.15) contrast(1.1) brightness(0.78);
}

.tp-pv6--themePortal .tp-pv6__topbar,
.tp-pv6ThemeQuick,
.tp-pv6--themePortal .tp-pv6__hero {
    width: min(680px, calc(100% - 32px));
}

.tp-pv6ThemeTop {
    position: relative;
    z-index: 2;
    justify-content: space-between;
    padding-top: 28px;
}

.tp-pv6ThemeBrand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 14px;
    color: #fff7df;
    text-decoration: none;
}

.tp-pv6ThemeBrand__mark {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    border: 1px solid rgba(250, 204, 21, 0.66);
    background: rgba(2, 6, 23, 0.72);
    box-shadow: 0 0 36px rgba(250, 204, 21, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(18px);
}

.tp-pv6ThemeBrand__mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tp-pv6ThemeBrand__mark span {
    color: #fde68a;
    font-size: 19px;
    font-weight: 900;
}

.tp-pv6ThemeBrand__text {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.tp-pv6ThemeBrand__text strong,
.tp-pv6ThemeBrand__text small,
.tp-pv6ThemeLocation,
.tp-pv6ThemeNow,
.tp-pv6ThemeWeather,
.tp-pv6ThemeHolidayTicker,
.tp-pv6ThemeSearch__head,
.tp-pv6ThemeDestinations__head {
    font-family: "Manrope", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6ThemeBrand__text strong {
    color: rgba(255, 255, 255, 0.94);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.1;
}

.tp-pv6ThemeBrand__text small {
    color: #fde68a;
    font-size: 11px;
    font-weight: 900;
}

.tp-pv6ThemeStamp {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 247, 230, 0.34);
    font-family: "Newsreader", Georgia, serif;
    font-size: 24px;
    font-weight: 800;
    text-transform: uppercase;
    transform: rotate(-14deg);
}

.tp-pv6ThemeQuick {
    position: relative;
    z-index: 2;
    margin: 28px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.tp-pv6ThemePill {
    appearance: none;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 16px 42px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(20px);
    font: 800 15px/1 "Manrope", "Segoe UI", sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.tp-pv6--themePortal .tp-pv6ThemePill {
    background: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

.tp-pv6--themePortal .tp-pv6ThemePill::before,
.tp-pv6--themePortal .tp-pv6ThemePill::after {
    content: none !important;
    display: none !important;
}

.tp-pv6ThemePill:hover,
.tp-pv6ThemePill:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.2);
}

.tp-pv6--themePortal .tp-pv6ThemePill.is-active {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.16) !important;
    color: rgba(255, 255, 255, 0.94) !important;
}

.tp-pv6ThemeIcon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

.tp-pv6--themePortal .tp-pv6__hero {
    position: relative;
    z-index: 1;
    min-height: auto;
    margin-top: 26px;
    border-radius: 36px;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(8, 25, 32, 0.13);
    box-shadow: 0 34px 110px rgba(0, 0, 0, 0.56);
    backdrop-filter: blur(16px);
}

.tp-pv6--themePortal .tp-pv6__hero::before {
    height: 7px;
    background: linear-gradient(90deg, var(--tp-pv6-theme-accent-from, #ef4444), var(--tp-pv6-theme-accent-via, #facc15), var(--tp-pv6-theme-accent-to, #0891b2));
}

.tp-pv6--california.tp-pv6--themePortal .tp-pv6__hero::before,
.tp-pv6--florida.tp-pv6--themePortal .tp-pv6__hero::before,
.tp-pv6--newyork.tp-pv6--themePortal .tp-pv6__hero::before,
.tp-pv6--georgia.tp-pv6--themePortal .tp-pv6__hero::before,
.tp-pv6--texas.tp-pv6--themePortal .tp-pv6__hero::before {
    background:
        radial-gradient(circle at 5px 50%, rgba(255, 255, 255, 0.98) 0 1.35px, transparent 1.55px) 0 0 / 24px 100% repeat-x,
        linear-gradient(90deg, #b31942 0 31%, #f8f6ef 31% 43%, #0a3161 43% 100%);
}

.tp-pv6--themePortal .tp-pv6__hero::after {
    inset: 0;
    z-index: 2;
    border-radius: 36px;
    background:
        radial-gradient(600px 330px at 86% 14%, rgba(255, 160, 88, 0.18), transparent 66%),
        radial-gradient(420px 300px at 8% 24%, rgba(5, 115, 126, 0.22), transparent 70%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.06) 0%, rgba(2, 6, 23, 0.2) 46%, rgba(2, 6, 23, 0.74) 100%),
        linear-gradient(102deg, rgba(3, 31, 40, 0.84) 0%, rgba(3, 31, 40, 0.58) 39%, rgba(15, 23, 42, 0.16) 70%, rgba(15, 23, 42, 0.34) 100%);
    opacity: 1;
}

.tp-pv6--themePortal .tp-pv6__stageImage {
    object-position: center center;
    transform: scale(1.02);
    filter: saturate(1.08) contrast(1.04);
}

.tp-pv6--california.tp-pv6--themePortal .tp-pv6__stageImage {
    object-position: 62% 58%;
    transform: translate3d(0, -12%, 0) scale(1.18);
    filter: saturate(1.08) contrast(1.1) brightness(0.78);
}

.tp-pv6--california.tp-pv6--themePortal .tp-pv6__hero::after {
    background:
        radial-gradient(600px 330px at 86% 14%, rgba(255, 156, 82, 0.14), transparent 66%),
        radial-gradient(440px 310px at 8% 24%, rgba(5, 92, 103, 0.24), transparent 70%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.1) 0%, rgba(2, 6, 23, 0.28) 47%, rgba(2, 6, 23, 0.82) 100%),
        linear-gradient(102deg, rgba(3, 28, 36, 0.9) 0%, rgba(3, 31, 40, 0.66) 39%, rgba(15, 23, 42, 0.2) 70%, rgba(15, 23, 42, 0.38) 100%);
}

.tp-pv6--ghana.tp-pv6--themePortal .tp-pv6ThemeBg img {
    object-position: 58% 52%;
    filter: saturate(1.14) contrast(1.08) brightness(0.72);
}

.tp-pv6--ghana.tp-pv6--themePortal .tp-pv6__stageImage {
    object-position: 58% 55%;
    transform: translate3d(0, -11%, 0) scale(1.16);
    filter: saturate(1.1) contrast(1.08) brightness(0.75);
}

.tp-pv6--ghana.tp-pv6--themePortal .tp-pv6__hero::after {
    background:
        radial-gradient(620px 350px at 82% 16%, rgba(250, 204, 21, 0.16), transparent 66%),
        radial-gradient(420px 300px at 8% 22%, rgba(22, 101, 52, 0.24), transparent 70%),
        linear-gradient(180deg, rgba(18, 8, 7, 0.12) 0%, rgba(18, 8, 7, 0.3) 47%, rgba(2, 6, 23, 0.82) 100%),
        linear-gradient(102deg, rgba(10, 24, 19, 0.92) 0%, rgba(24, 28, 16, 0.66) 39%, rgba(15, 23, 42, 0.2) 70%, rgba(15, 23, 42, 0.4) 100%);
}

.tp-pv6--uk.tp-pv6--themePortal .tp-pv6ThemeBg img {
    object-position: 59% 48%;
    filter: saturate(1.08) contrast(1.09) brightness(0.72);
}

.tp-pv6--uk.tp-pv6--themePortal .tp-pv6__stageImage {
    object-position: 60% 50%;
    transform: translate3d(0, -11%, 0) scale(1.15);
    filter: saturate(1.04) contrast(1.08) brightness(0.74);
}

.tp-pv6--uk.tp-pv6--themePortal .tp-pv6__hero::after {
    background:
        radial-gradient(620px 350px at 78% 18%, rgba(244, 205, 83, 0.18), transparent 66%),
        radial-gradient(440px 310px at 8% 22%, rgba(12, 143, 159, 0.24), transparent 70%),
        linear-gradient(180deg, rgba(6, 20, 27, 0.12) 0%, rgba(6, 20, 27, 0.3) 46%, rgba(2, 6, 23, 0.82) 100%),
        linear-gradient(102deg, rgba(5, 28, 37, 0.92) 0%, rgba(6, 31, 39, 0.66) 39%, rgba(15, 23, 42, 0.2) 70%, rgba(15, 23, 42, 0.4) 100%);
}

.tp-pv6--nigeria.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--dubai.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--rwanda.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--morocco.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--uganda.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--florida.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--newyork.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--georgia.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--texas.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--jamaica.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--stlucia.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--barbados.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--india.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--japan.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--bahamas.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--saudiarabia.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--france.tp-pv6--themePortal .tp-pv6ThemeBg img,
.tp-pv6--canada.tp-pv6--themePortal .tp-pv6ThemeBg img {
    object-position: 59% 50%;
    filter: saturate(1.1) contrast(1.08) brightness(0.74);
}

.tp-pv6--nigeria.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--dubai.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--rwanda.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--morocco.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--uganda.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--florida.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--newyork.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--georgia.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--texas.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--jamaica.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--stlucia.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--barbados.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--india.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--japan.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--bahamas.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--saudiarabia.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--france.tp-pv6--themePortal .tp-pv6__stageImage,
.tp-pv6--canada.tp-pv6--themePortal .tp-pv6__stageImage {
    object-position: 60% 52%;
    transform: translate3d(0, -10%, 0) scale(1.15);
    filter: saturate(1.08) contrast(1.09) brightness(0.76);
}

.tp-pv6--nigeria.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--dubai.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--rwanda.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--morocco.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--uganda.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--florida.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--newyork.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--georgia.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--texas.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--jamaica.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--stlucia.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--barbados.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--india.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--japan.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--bahamas.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--saudiarabia.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--france.tp-pv6--themePortal .tp-pv6__hero::after,
.tp-pv6--canada.tp-pv6--themePortal .tp-pv6__hero::after {
    background:
        radial-gradient(620px 350px at 82% 16%, rgba(255, 194, 112, 0.14), transparent 66%),
        radial-gradient(440px 310px at 8% 22%, rgba(11, 82, 100, 0.24), transparent 70%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.12) 0%, rgba(2, 6, 23, 0.32) 46%, rgba(2, 6, 23, 0.84) 100%),
        linear-gradient(102deg, rgba(3, 24, 34, 0.92) 0%, rgba(5, 31, 39, 0.68) 39%, rgba(15, 23, 42, 0.22) 70%, rgba(15, 23, 42, 0.42) 100%);
}

.tp-pv6--themePortal .tp-pv6__heroShade {
    display: none;
}

.tp-pv6ThemeHero__inner {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 26px;
    padding: 30px 22px 24px;
}

.tp-pv6ThemeHero__copy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.tp-pv6ThemeStatus {
    width: 100%;
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.tp-pv6ThemeNow,
.tp-pv6ThemeWeather,
.tp-pv6ThemeHolidayTicker {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(253, 224, 71, 0.38);
    background: linear-gradient(90deg, rgba(239, 90, 56, 0.46), rgba(2, 6, 23, 0.3));
    color: rgba(255, 255, 255, 0.94);
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(16px);
}

.tp-pv6ThemeNow strong {
    color: #fff8dc;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.tp-pv6ThemeNow .tp-pv6ThemeIcon {
    width: 16px;
    height: 16px;
    color: #fde047;
}

.tp-pv6ThemeWeather,
.tp-pv6ThemeHolidayTicker {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.9);
    text-transform: none;
    white-space: nowrap;
}

.tp-pv6ThemeHolidayTicker {
    max-width: min(100%, 300px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-pv6ThemeLocation {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 900;
}

.tp-pv6ThemeTitle {
    width: 100%;
    flex: 0 0 100%;
    max-width: 9.2ch;
    margin: 4px 0 0;
    color: #fffdf6;
    font-family: "Newsreader", Georgia, serif;
    font-size: 76px;
    font-weight: 800;
    line-height: 0.9;
    text-wrap: balance;
    text-shadow: 0 18px 48px rgba(0, 0, 0, 0.5);
}

.tp-pv6ThemeTitle span,
.tp-pv6ThemeTitle em {
    display: block;
    font-style: normal;
}

.tp-pv6ThemeTitle em {
    color: #fb923c;
}

.tp-pv6ThemeBody {
    width: 100%;
    max-width: 420px;
    margin: -10px 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 18px;
    font-weight: 650;
    line-height: 1.45;
}

.tp-pv6ThemeSearch {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background:
        radial-gradient(circle at 82% 16%, rgba(255, 211, 137, 0.42), transparent 42%),
        linear-gradient(135deg, rgba(244, 237, 214, 0.8) 0%, rgba(202, 221, 212, 0.66) 56%, rgba(239, 212, 166, 0.68) 100%);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.66), inset 0 -1px 0 rgba(8, 51, 68, 0.16);
    backdrop-filter: blur(28px) saturate(1.1);
}

.tp-pv6ThemeSearch__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: rgba(7, 72, 83, 0.9);
    font-size: 12px;
    font-weight: 950;
}

.tp-pv6ThemeSearch__head strong {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.22);
    color: #fff;
    font-size: 11px;
    white-space: nowrap;
}

.tp-pv6ThemeSearch__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(126px, 0.34fr);
    gap: 14px;
    align-items: stretch;
}

.tp-pv6ThemeSearch__fields {
    display: grid;
    gap: 10px;
}

.tp-pv6ThemeField {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 24px;
    background: rgba(255, 248, 236, 0.92);
    color: #514236;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 1px 0 rgba(8, 51, 68, 0.05);
}

.tp-pv6ThemeField .tp-pv6ThemeIcon {
    color: rgba(81, 67, 54, 0.78);
}

.tp-pv6ThemeField span {
    display: grid;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.tp-pv6ThemeField small {
    color: rgba(81, 67, 54, 0.78);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.1;
}

.tp-pv6ThemeField input,
.tp-pv6ThemeField select {
    width: 100%;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    padding: 0 !important;
    background: transparent;
    color: #514336;
    font: 800 15px/1.2 "Manrope", "Segoe UI", sans-serif;
    box-shadow: none;
    outline: none;
    appearance: none;
}

.tp-pv6ThemeField input::placeholder {
    color: rgba(81, 67, 54, 0.62);
}

.tp-pv6ThemeMini {
    position: relative;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    background: rgba(255, 246, 224, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.tp-pv6ThemeMini img {
    width: 100%;
    height: 100%;
    min-height: 176px;
    object-fit: cover;
    display: block;
    filter: saturate(1.08) contrast(1.04);
}

.tp-pv6ThemeMini::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 18%, rgba(15, 23, 42, 0.58));
}

.tp-pv6ThemeMini figcaption {
    position: absolute;
    inset: auto 10px 10px;
    z-index: 1;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 8px;
    color: #fff8dc;
}

.tp-pv6ThemeMini figcaption strong {
    font-family: "Newsreader", Georgia, serif;
    max-width: 92px;
    font-size: 23px;
    font-style: italic;
    line-height: 0.9;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
}

.tp-pv6ThemeMini figcaption span,
.tp-pv6ThemeSubmit > span:last-child {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #0f172a;
}

.tp-pv6ThemeSubmit {
    appearance: none;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    background:
        linear-gradient(0deg, rgba(15, 23, 42, 0.05), rgba(15, 23, 42, 0.05)),
        linear-gradient(92deg, var(--tp-pv6-theme-accent-from, #e9583c) 0%, var(--tp-pv6-theme-accent-via, #ffd43b) 52%, var(--tp-pv6-theme-accent-to, #07989a) 100%);
    color: #fffaf0;
    box-shadow: 0 16px 44px rgba(7, 137, 145, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.46);
    font: 950 17px/1 "Manrope", "Segoe UI", sans-serif;
    cursor: pointer;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.32);
}

.tp-pv6--themePortal .tp-pv6__button--primary,
.tp-pv6--themePortal .tp-pv6__miniLink--button,
.tp-pv6--themePortal .tp-pv6__savedActions .tp-pv6__button--soft {
    border: 1px solid rgba(255, 255, 255, 0.38);
    background:
        linear-gradient(0deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.08)),
        linear-gradient(92deg, var(--tp-pv6-theme-accent-from, #e9583c) 0%, var(--tp-pv6-theme-accent-via, #ffd43b) 52%, var(--tp-pv6-theme-accent-to, #07989a) 100%) !important;
    color: #fffaf0 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.32);
    box-shadow: 0 16px 36px rgba(7, 137, 145, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.tp-pv6--themePortal .tp-pv6ThemeSubmit {
    background:
        linear-gradient(0deg, rgba(15, 23, 42, 0.05), rgba(15, 23, 42, 0.05)),
        linear-gradient(92deg, var(--tp-pv6-theme-accent-from, #e9583c) 0%, var(--tp-pv6-theme-accent-via, #ffd43b) 52%, var(--tp-pv6-theme-accent-to, #07989a) 100%) !important;
    color: #fffaf0 !important;
}

.tp-pv6--themePortal .tp-pv6__button--ghost,
.tp-pv6--themePortal .tp-pv6__button--soft,
.tp-pv6--themePortal .tp-pv6__miniLink:not(.tp-pv6__miniLink--button) {
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, rgba(255, 246, 224, 0.13), rgba(19, 167, 165, 0.09));
    color: rgba(255, 250, 240, 0.94);
}

.tp-pv6ThemeReceipt {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.tp-pv6ThemeDestinations {
    display: grid;
    gap: 12px;
}

.tp-pv6ThemeDestinations__head {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
    font-weight: 950;
}

.tp-pv6ThemeDestinations__head .tp-pv6ThemeIcon {
    width: 18px;
    height: 18px;
    color: #fde047;
}

.tp-pv6ThemeDestinations__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tp-pv6ThemeDestination {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 6px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(18px);
    text-decoration: none;
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.tp-pv6ThemeDestination:hover,
.tp-pv6ThemeDestination:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.2);
}

.tp-pv6ThemeDestination__media {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fde68a;
    font: 900 12px/1 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6ThemeDestination__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tp-pv6ThemeDestination strong {
    min-width: 0;
    color: inherit;
    font: 850 14px/1.12 "Manrope", "Segoe UI", sans-serif;
    overflow-wrap: anywhere;
}

.tp-pv6--themePortal .tp-pv6__dock {
    width: min(640px, calc(100% - 22px));
    padding: 9px;
    border-radius: 32px;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(15, 23, 42, 0.56);
    box-shadow: 0 22px 84px rgba(0, 0, 0, 0.64), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.tp-pv6--themePortal .tp-pv6__dockInner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
}

.tp-pv6--themePortal .tp-pv6__dockItem:nth-child(n+4) {
    display: none;
}

.tp-pv6--themePortal .tp-pv6__dockItem {
    min-width: 0;
    min-height: 58px;
    justify-content: center;
    border-radius: 24px;
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.11);
    color: rgba(255, 255, 255, 0.94);
    font-weight: 900;
}

.tp-pv6--themePortal .tp-pv6__dockItem:nth-child(2) {
    border-color: rgba(250, 204, 21, 0.42);
    background: rgba(8, 51, 68, 0.78);
    box-shadow: 0 0 34px rgba(250, 204, 21, 0.2);
}

.tp-pv6--themePortal .tp-pv6__dockIcon {
    color: #fde68a;
    font-size: 20px;
}

.tp-pv6--themePortal .tp-pv6__dockLabel {
    font-size: 14px;
    font-weight: 900;
}

.tp-pv6--themePortal > .tp-pv6__dock {
    display: block !important;
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    z-index: 1000200 !important;
    pointer-events: auto !important;
}

.tp-pv6--themePortal > .tp-pv6__dock.tp42v3-dock-host {
    position: fixed !important;
    top: auto !important;
    right: auto !important;
}

.tp-pv6ThemeHeroDock {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(15, 23, 42, 0.54);
    box-shadow: 0 22px 84px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(24px);
}

.tp-pv6ThemeHeroDock__item {
    position: relative;
    min-width: 0;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.94);
    font: 900 14px/1 "Manrope", "Segoe UI", sans-serif;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.tp-pv6ThemeHeroDock__item:nth-child(2) {
    border-color: rgba(250, 204, 21, 0.42);
    background: rgba(8, 51, 68, 0.78);
    box-shadow: 0 0 34px rgba(250, 204, 21, 0.2);
}

.tp-pv6ThemeHeroDock__icon {
    color: #fde68a;
    font-size: 20px;
    line-height: 1;
}

.tp-pv6ThemeHeroDock__label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.tp-pv6ThemeHeroDock__badge {
    position: absolute;
    top: -9px;
    right: -7px;
    min-width: 34px;
    padding: 3px 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fb6b4c, #facc15);
    color: #fff;
    font: 950 12px/1 "Manrope", "Segoe UI", sans-serif;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.26);
}

.tp-pv6ThemeBelow {
    position: relative;
    z-index: 1;
    width: min(680px, calc(100% - 32px));
    margin: 34px auto 0;
    display: grid;
    gap: 24px;
    color: rgba(255, 250, 240, 0.94);
}

.tp-pv6ThemeSpotlight,
.tp-pv6ThemeLaunchpad {
    display: grid;
    gap: 22px;
    padding: 28px;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 86% 8%, rgba(244, 205, 83, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(14, 28, 34, 0.72), rgba(5, 13, 20, 0.82));
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(22px);
}

.tp-pv6ThemeSpotlight {
    grid-template-columns: minmax(0, 1fr);
}

.tp-pv6ThemeSectionIntro {
    min-width: 0;
}

.tp-pv6ThemeSectionIntro span,
.tp-pv6ThemeSavedPanel > span,
.tp-pv6ThemeRouteCard small {
    display: block;
    margin-bottom: 10px;
    color: rgba(253, 224, 71, 0.88);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tp-pv6ThemeSectionIntro h2,
.tp-pv6ThemeSavedPanel h3 {
    margin: 0;
    color: #fffaf0;
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(34px, 7vw, 54px);
    font-weight: 800;
    line-height: 0.98;
    text-wrap: balance;
}

.tp-pv6ThemeSectionIntro p,
.tp-pv6ThemeSavedPanel p,
.tp-pv6ThemeRouteCard__body > span,
.tp-pv6ThemeLaunchCard > span:not(.tp-pv6ThemeLaunchCard__icon) {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.74);
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 15px;
    font-weight: 620;
    line-height: 1.55;
}

.tp-pv6ThemeSavedPanel {
    min-width: 0;
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(2, 6, 23, 0.48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.tp-pv6ThemeSavedActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.tp-pv6ThemeTextButton,
.tp-pv6ThemeInlineLink {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background:
        linear-gradient(0deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.06)),
        linear-gradient(92deg, var(--tp-pv6-theme-accent-from, #e9583c) 0%, var(--tp-pv6-theme-accent-via, #ffd43b) 52%, var(--tp-pv6-theme-accent-to, #07989a) 100%);
    color: #fffaf0;
    font: 900 13px/1 "Manrope", "Segoe UI", sans-serif;
    text-decoration: none;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
    box-shadow: 0 14px 32px rgba(7, 137, 145, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.tp-pv6ThemeTextButton .tp-pv6ThemeIcon,
.tp-pv6ThemeLaunchCard__icon .tp-pv6ThemeIcon {
    width: 18px;
    height: 18px;
}

.tp-pv6ThemeRoutes {
    display: grid;
    gap: 18px;
}

.tp-pv6ThemeSectionRow {
    display: grid;
    gap: 14px;
    align-items: end;
}

.tp-pv6ThemeInlineLink {
    justify-self: start;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.tp-pv6ThemeRouteGrid {
    display: grid;
    gap: 14px;
}

.tp-pv6ThemeRouteCard {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(2, 6, 23, 0.62);
    color: #fffaf0;
    text-decoration: none;
    box-shadow: 0 24px 76px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    isolation: isolate;
}

.tp-pv6ThemeRouteCard__media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.tp-pv6ThemeRouteCard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.08) brightness(0.7);
    transform: scale(1.04);
}

.tp-pv6ThemeRouteCard::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(2, 6, 23, 0.08), rgba(2, 6, 23, 0.84)),
        linear-gradient(104deg, rgba(3, 31, 40, 0.76), rgba(3, 31, 40, 0.22));
}

.tp-pv6ThemeRouteCard__body {
    min-width: 0;
    align-self: end;
    display: grid;
    gap: 10px;
    padding: 24px;
}

.tp-pv6ThemeRouteCard small {
    margin: 0;
}

.tp-pv6ThemeRouteCard strong {
    display: block;
    color: #fffaf0;
    font-family: "Newsreader", Georgia, serif;
    font-size: 31px;
    font-weight: 800;
    line-height: 1;
    text-wrap: balance;
}

.tp-pv6ThemeRouteCard__body > span {
    margin: 0;
}

.tp-pv6ThemeRouteCard em {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 7px;
    margin-top: 4px;
    color: #fff8dc;
    font: 900 13px/1 "Manrope", "Segoe UI", sans-serif;
    font-style: normal;
}

.tp-pv6ThemeRouteCard em .tp-pv6ThemeIcon {
    width: 14px;
    height: 14px;
}

.tp-pv6ThemeLaunchGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tp-pv6ThemeLaunchCard {
    min-width: 0;
    min-height: 146px;
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(135deg, rgba(255, 246, 224, 0.12), rgba(19, 167, 165, 0.08));
    color: #fffaf0;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.tp-pv6ThemeLaunchCard__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background:
        linear-gradient(0deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.08)),
        linear-gradient(92deg, var(--tp-pv6-theme-accent-from, #e9583c), var(--tp-pv6-theme-accent-via, #ffd43b), var(--tp-pv6-theme-accent-to, #07989a));
    color: #fffaf0;
}

.tp-pv6ThemeLaunchCard strong {
    color: #fffaf0;
    font: 900 16px/1.12 "Manrope", "Segoe UI", sans-serif;
}

.tp-pv6ThemeLaunchCard > span:not(.tp-pv6ThemeLaunchCard__icon) {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .tp-pv6ThemeQuick {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 10px;
    }

    .tp-pv6ThemePill {
        grid-column: span 2;
        min-height: 48px;
        padding: 0 12px;
        gap: 8px;
        font-size: 13px;
    }

    .tp-pv6ThemePill:nth-child(n+4) {
        grid-column: span 3;
    }

    .tp-pv6ThemeHero__inner {
        gap: 20px;
        padding: 28px 22px 18px;
    }

    .tp-pv6ThemeHero__copy {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        gap: 12px;
    }

    .tp-pv6ThemeStatus {
        gap: 7px;
    }

    .tp-pv6ThemeNow,
    .tp-pv6ThemeWeather,
    .tp-pv6ThemeHolidayTicker {
        min-height: 34px;
        gap: 6px;
        padding: 0 10px;
        font-size: 10px;
    }

    .tp-pv6ThemeNow strong {
        font-size: 10px;
    }

    .tp-pv6ThemeLocation {
        font-size: 10px;
    }

    .tp-pv6ThemeHolidayTicker {
        max-width: 100%;
    }

    .tp-pv6ThemeTitle,
    .tp-pv6ThemeBody {
        grid-column: 1 / -1;
    }

    .tp-pv6ThemeSearch {
        gap: 10px;
        padding: 14px;
    }

    .tp-pv6ThemeSearch__grid {
        gap: 10px;
    }

    .tp-pv6ThemeSearch__fields {
        gap: 8px;
    }

    .tp-pv6ThemeField {
        min-height: 48px;
        border-radius: 20px;
        padding: 8px 12px;
    }

    .tp-pv6ThemeField small {
        font-size: 11px;
    }

    .tp-pv6ThemeField input,
    .tp-pv6ThemeField select {
        font-size: 14px;
    }

    .tp-pv6ThemeMini img {
        min-height: 150px;
    }

    .tp-pv6ThemeMini figcaption strong {
        font-size: 21px;
    }

    .tp-pv6ThemeSubmit {
        min-height: 50px;
        font-size: 14px;
    }

    .tp-pv6ThemeSubmit > span:last-child,
    .tp-pv6ThemeMini figcaption span {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .tp-pv6ThemeDestinations {
        gap: 10px;
    }

    .tp-pv6ThemeDestinations__grid {
        gap: 8px;
    }

    .tp-pv6ThemeDestination {
        min-height: 46px;
        gap: 8px;
        padding: 5px 10px 5px 5px;
    }

    .tp-pv6ThemeDestination__media {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .tp-pv6ThemeDestination strong {
        font-size: 13px;
    }

    .tp-pv6ThemeHeroDock {
        padding: 8px;
    }

    .tp-pv6ThemeHeroDock__item {
        min-height: 54px;
    }

    .tp-pv6ThemeBelow {
        width: min(100% - 28px, 680px);
    }
}

@media (min-width: 900px) {
    .tp-pv6--themePortal {
        padding-bottom: 154px;
    }

    .tp-pv6--themePortal .tp-pv6__topbar,
    .tp-pv6ThemeQuick,
    .tp-pv6--themePortal .tp-pv6__hero,
    .tp-pv6ThemeBelow {
        width: min(1180px, calc(100% - 64px));
    }

    .tp-pv6ThemeTop {
        padding-top: 34px;
    }

    .tp-pv6ThemeQuick {
        margin-top: 26px;
        gap: 14px;
    }

    .tp-pv6ThemePill {
        min-width: 176px;
        min-height: 56px;
        padding: 0 24px;
    }

    .tp-pv6--themePortal .tp-pv6__hero {
        min-height: 730px;
        margin-top: 34px;
        border-radius: 40px;
    }

    .tp-pv6--themePortal .tp-pv6__hero::after {
        border-radius: 40px;
        background:
            radial-gradient(720px 400px at 78% 20%, rgba(255, 180, 112, 0.14), transparent 68%),
            linear-gradient(180deg, rgba(2, 6, 23, 0.04) 0%, rgba(2, 6, 23, 0.18) 54%, rgba(2, 6, 23, 0.84) 100%),
            linear-gradient(106deg, rgba(3, 31, 40, 0.82) 0%, rgba(3, 31, 40, 0.56) 34%, rgba(15, 23, 42, 0.16) 62%, rgba(15, 23, 42, 0.36) 100%);
    }

    .tp-pv6--california.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 64% 53%;
        transform: translate3d(0, -5%, 0) scale(1.1);
    }

    .tp-pv6--ghana.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 58% 51%;
        transform: translate3d(0, -4%, 0) scale(1.08);
    }

    .tp-pv6--uk.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 60% 48%;
        transform: translate3d(0, -4%, 0) scale(1.08);
    }

    .tp-pv6ThemeHero__inner {
        min-height: 730px;
        grid-template-columns: minmax(420px, 0.92fr) minmax(430px, 0.72fr);
        grid-template-areas:
            "copy search"
            "dest dest";
        align-content: start;
        align-items: end;
        gap: 32px 42px;
        padding: 48px 42px 90px;
    }

    .tp-pv6ThemeHero__copy {
        grid-area: copy;
        align-self: start;
        max-width: 650px;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 16px 18px;
        align-items: center;
    }

    .tp-pv6ThemeTitle {
        max-width: 10.6ch;
        margin-top: 2px;
        grid-column: 1 / -1;
        font-size: clamp(76px, 6.3vw, 108px);
    }

    .tp-pv6ThemeBody {
        grid-column: 1 / -1;
        max-width: 510px;
        margin-top: -4px;
        font-size: 20px;
        line-height: 1.42;
    }

    .tp-pv6ThemeSearch {
        grid-area: search;
        width: min(100%, 540px);
        justify-self: end;
        align-self: end;
        padding: 20px;
    }

    .tp-pv6ThemeDestinations {
        grid-area: dest;
        transform: translateY(-32px);
    }

    .tp-pv6ThemeDestinations__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }

    .tp-pv6ThemeDestination {
        min-height: 58px;
    }

    .tp-pv6--themePortal .tp-pv6__dock {
        width: min(620px, calc(100% - 44px));
        bottom: 22px !important;
    }

    .tp-pv6ThemeBelow {
        margin-top: 42px;
        gap: 30px;
    }

    .tp-pv6ThemeSpotlight {
        grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.7fr);
        align-items: stretch;
        padding: 34px;
    }

    .tp-pv6ThemeSectionIntro h2,
    .tp-pv6ThemeSavedPanel h3 {
        font-size: clamp(42px, 4.5vw, 62px);
    }

    .tp-pv6ThemeSectionRow {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .tp-pv6ThemeRouteGrid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tp-pv6ThemeRouteCard {
        min-height: 390px;
    }

    .tp-pv6ThemeLaunchpad {
        grid-template-columns: minmax(0, 0.72fr) minmax(420px, 1fr);
        align-items: start;
        padding: 34px;
    }

    .tp-pv6ThemeLaunchGrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .tp-pv6--themePortal .tp-pv6__topbar,
    .tp-pv6ThemeQuick,
    .tp-pv6--themePortal .tp-pv6__hero,
    .tp-pv6ThemeBelow {
        width: min(1260px, calc(100% - 88px));
    }

    .tp-pv6ThemeHero__inner {
        grid-template-columns: minmax(500px, 0.96fr) minmax(460px, 0.68fr);
        padding-inline: 52px;
    }

    .tp-pv6ThemeTitle {
        font-size: clamp(80px, 5.8vw, 112px);
    }

    .tp-pv6ThemeDestinations__grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        gap: 8px;
    }

    .tp-pv6ThemeDestination {
        min-height: 52px;
        padding-right: 9px;
    }

    .tp-pv6ThemeDestination__media {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .tp-pv6ThemeDestination strong {
        font-size: 12px;
    }
}

@media (max-width: 720px) {
    .tp-pv6--themePortal .tp-pv6__topbar,
    .tp-pv6ThemeQuick,
    .tp-pv6--themePortal .tp-pv6__hero {
        width: min(100% - 28px, 680px);
    }

    .tp-pv6ThemeTop {
        padding-top: 22px;
    }

    .tp-pv6ThemeStamp {
        width: 78px;
        height: 78px;
        font-size: 20px;
    }

    .tp-pv6ThemeQuick {
        margin-top: 22px;
    }

    .tp-pv6ThemePill {
        min-height: 50px;
        padding: 0 17px;
        font-size: 14px;
    }

    .tp-pv6ThemeTitle {
        font-size: 62px;
    }
}

@media (max-width: 560px) {
    .tp-pv6ThemeTop {
        flex-direction: row;
        align-items: center;
        padding-top: 8px;
    }

    .tp-pv6ThemeBrand__mark {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .tp-pv6ThemeBrand__text strong {
        font-size: 13px;
    }

    .tp-pv6ThemeBrand__text small {
        font-size: 9px;
    }

    .tp-pv6ThemeStamp {
        width: 56px;
        height: 56px;
        opacity: 0.72;
        font-size: 14px;
    }

    .tp-pv6ThemeQuick {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 7px;
        margin-top: 10px;
    }

    .tp-pv6ThemePill {
        grid-column: span 2;
        min-height: 34px;
        gap: 6px;
        padding: 0 7px;
        font-size: 11px;
    }

    .tp-pv6ThemePill:nth-child(n+4) {
        grid-column: span 3;
    }

    .tp-pv6--themePortal .tp-pv6__hero {
        margin-top: 12px;
        border-radius: 26px;
    }

    .tp-pv6--california.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 64% 54%;
        transform: translate3d(0, -18%, 0) scale(1.22);
    }

    .tp-pv6--ghana.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 58% 52%;
        transform: translate3d(0, -17%, 0) scale(1.2);
    }

    .tp-pv6--uk.tp-pv6--themePortal .tp-pv6__stageImage {
        object-position: 61% 47%;
        transform: translate3d(0, -18%, 0) scale(1.2);
    }

    .tp-pv6ThemeHero__inner {
        padding: 14px 15px 16px;
        gap: 10px;
    }

    .tp-pv6ThemeStatus {
        gap: 5px;
    }

    .tp-pv6ThemeNow,
    .tp-pv6ThemeWeather,
    .tp-pv6ThemeHolidayTicker {
        min-height: 26px;
        gap: 5px;
        padding: 0 8px;
        font-size: 9px;
    }

    .tp-pv6ThemeNow strong,
    .tp-pv6ThemeLocation {
        font-size: 9px;
    }

    .tp-pv6ThemeTitle {
        font-size: 40px;
        line-height: 0.88;
    }

    .tp-pv6ThemeBody {
        margin-top: -7px;
        font-size: 13px;
        line-height: 1.28;
    }

    .tp-pv6ThemeSearch {
        gap: 7px;
        border-radius: 22px;
        padding: 9px;
    }

    .tp-pv6ThemeSearch__head {
        font-size: 9px;
    }

    .tp-pv6ThemeSearch__head strong {
        min-height: 22px;
        padding: 0 7px;
        font-size: 9px;
    }

    .tp-pv6ThemeSearch__grid {
        grid-template-columns: minmax(0, 1fr) 82px;
        gap: 8px;
    }

    .tp-pv6ThemeSearch__fields {
        gap: 6px;
    }

    .tp-pv6ThemeField {
        min-height: 36px;
        border-radius: 16px;
        padding: 6px 9px;
    }

    .tp-pv6ThemeField small {
        font-size: 9px;
    }

    .tp-pv6ThemeField input,
    .tp-pv6ThemeField select {
        font-size: 12px;
    }

    .tp-pv6ThemeSubmit {
        min-height: 38px;
        font-size: 12px;
    }

    .tp-pv6ThemeSubmit > span:last-child {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }

    .tp-pv6ThemeMini {
        display: block;
        border-radius: 16px;
    }

    .tp-pv6ThemeMini img {
        min-height: 122px;
    }

    .tp-pv6ThemeMini figcaption {
        inset: auto 7px 7px;
    }

    .tp-pv6ThemeMini figcaption strong {
        max-width: 68px;
        font-size: 16px;
    }

    .tp-pv6ThemeDestinations {
        padding-bottom: 74px;
    }

    .tp-pv6ThemeDestinations__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 5px;
    }

    .tp-pv6ThemeDestination {
        min-height: 32px;
        gap: 4px;
        padding: 3px 5px 3px 3px;
    }

    .tp-pv6ThemeDestination__media {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .tp-pv6ThemeDestination strong {
        font-size: 9px;
        line-height: 1.08;
        overflow-wrap: normal;
        word-break: normal;
    }

    .tp-pv6--themePortal .tp-pv6__dock {
        bottom: 6px !important;
        padding: 6px;
        border-radius: 24px;
    }

    .tp-pv6--themePortal .tp-pv6__dockItem {
        min-height: 44px;
        border-radius: 19px;
        gap: 6px;
    }

    .tp-pv6--themePortal .tp-pv6__dockLabel {
        font-size: 12px;
    }

    body:has(.tp-pv6--themePortal) .tp42v3-mascot-shell,
    html:has(.tp-pv6--themePortal) .tp42v3-mascot-shell {
        --tp42v3-x: calc(100vw - 42px) !important;
        --tp42v3-y: calc(100vh - 62px) !important;
        --tp42v3-scale-x: 0.68 !important;
        --tp42v3-scale-y: 0.68 !important;
    }

    .tp-pv6ThemeHeroDock {
        border-radius: 28px;
        padding: 8px;
        gap: 8px;
    }

    .tp-pv6ThemeHeroDock__item {
        min-height: 58px;
        border-radius: 22px;
        gap: 6px;
        font-size: 13px;
    }

    .tp-pv6ThemeHeroDock__icon {
        font-size: 18px;
    }

    .tp-pv6ThemeBelow {
        margin-top: 22px;
        gap: 18px;
    }

    .tp-pv6ThemeSpotlight,
    .tp-pv6ThemeLaunchpad {
        gap: 16px;
        padding: 18px;
        border-radius: 26px;
    }

    .tp-pv6ThemeSavedPanel {
        padding: 18px;
        border-radius: 22px;
    }

    .tp-pv6ThemeSectionIntro span,
    .tp-pv6ThemeSavedPanel > span,
    .tp-pv6ThemeRouteCard small {
        margin-bottom: 8px;
        font-size: 10px;
    }

    .tp-pv6ThemeSectionIntro h2,
    .tp-pv6ThemeSavedPanel h3 {
        font-size: 31px;
        line-height: 1;
    }

    .tp-pv6ThemeSectionIntro p,
    .tp-pv6ThemeSavedPanel p,
    .tp-pv6ThemeRouteCard__body > span {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    .tp-pv6ThemeTextButton,
    .tp-pv6ThemeInlineLink {
        min-height: 40px;
        padding: 0 13px;
        font-size: 12px;
    }

    .tp-pv6ThemeRouteGrid {
        gap: 12px;
    }

    .tp-pv6ThemeRouteCard {
        min-height: 286px;
        border-radius: 24px;
    }

    .tp-pv6ThemeRouteCard__body {
        padding: 18px;
    }

    .tp-pv6ThemeRouteCard strong {
        font-size: 26px;
    }

    .tp-pv6ThemeLaunchGrid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-pv6ThemeLaunchCard {
        min-height: auto;
        padding: 15px;
        border-radius: 20px;
    }
}

@media (max-width: 390px) {
    .tp-pv6ThemeBrand__text strong {
        font-size: 12px;
    }

    .tp-pv6ThemeBrand__text small {
        font-size: 10px;
    }

    .tp-pv6ThemeStamp {
        display: grid;
        width: 50px;
        height: 50px;
        opacity: 0.54;
        font-size: 12px;
    }

    .tp-pv6ThemeQuick {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .tp-pv6ThemeTitle {
        font-size: 38px;
    }

    .tp-pv6ThemeField {
        min-height: 35px;
        padding: 6px 9px;
    }

    .tp-pv6ThemeDestination strong {
        font-size: 8.8px;
    }

    .tp-pv6--themePortal .tp-pv6__dockIcon {
        display: none;
    }
}
