.ally-prices-page,
.teahouse-page {
    min-height: 72vh;
    padding: 28px 0 82px;
    overflow: hidden;
    background: var(--bg);
    color: var(--text);
}

.staff-page-preview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin: 0 0 28px;
    padding: 16px 18px;
    border: 1px solid #d9cef4;
    border-radius: 13px;
    background: #f2edff;
    color: #514467;
    font-size: .78rem;
}
.staff-page-preview strong { color: var(--primary); }
.staff-page-preview .btn { margin: 0; }

/* ALLY price guide */
.ally-prices-hero {
    position: relative;
    isolation: isolate;
    min-height: 510px;
    overflow: hidden;
    border-block: 1px solid #e7e1f3;
    background:
        linear-gradient(90deg, rgba(246,243,255,.98), rgba(246,243,255,.92) 47%, rgba(246,243,255,.45) 74%, rgba(246,243,255,.14)),
        url("../images/fantasy-realm.2a5ac5ac106f.webp") 76% 49% / cover;
}
.ally-prices-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 130px;
    background: linear-gradient(0deg, var(--bg), rgba(250,249,255,0));
}
.ally-prices-hero-layout {
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr);
    align-items: center;
    gap: clamp(30px,6vw,80px);
    min-height: 510px;
    padding-block: 60px 70px;
}
.ally-prices-intro { position: relative; z-index: 2; max-width: 650px; }
.ally-prices-intro .eyebrow { margin-bottom: 17px; }
.ally-prices-intro h1 {
    margin: 0;
    font: 850 clamp(3.25rem,5.8vw,5.5rem)/.98 "Manrope",sans-serif;
    letter-spacing: -.068em;
}
.ally-prices-intro > p:not(.eyebrow) {
    max-width: 585px;
    margin: 24px 0 0;
    color: #514967;
    font-size: clamp(.93rem,1.35vw,1.06rem);
    line-height: 1.75;
}
.ally-hero-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.ally-hero-facts > span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; border: 1px solid rgba(207,195,232,.9); border-radius: 22px; background: rgba(255,255,255,.67); color: #6e647d; font-size: .66rem; backdrop-filter: blur(7px); }
.ally-hero-facts strong { color: var(--primary); font-weight: 850; }

.ally-prices-hero-art { position: relative; min-height: 385px; }
.ally-art-glow { position: absolute; width: 345px; height: 345px; inset: 12px auto auto 50%; border-radius: 50%; background: rgba(255,255,255,.42); box-shadow: 0 0 0 34px rgba(255,255,255,.14), 0 35px 85px rgba(70,44,126,.1); transform: translateX(-50%); backdrop-filter: blur(4px); }
.ally-prices-hero-art > img { position: absolute; z-index: 2; display: block; width: 330px; height: 360px; left: 50%; bottom: 0; object-fit: contain; filter: drop-shadow(0 20px 22px rgba(54,31,99,.18)); transform: translateX(-50%); }
.ally-art-card { position: absolute; z-index: 3; border: 1px solid #ded4f0; background: rgba(255,255,255,.94); box-shadow: 0 15px 38px rgba(57,33,105,.12); backdrop-filter: blur(10px); }
.ally-art-card-price { display: grid; gap: 2px; left: 0; top: 80px; padding: 13px 17px; border-radius: 13px; transform: rotate(-4deg); }
.ally-art-card-price span, .ally-art-card-profit small { color: var(--muted); font-size: .62rem; }
.ally-art-card-price strong { color: var(--text); font: 800 1rem "IBM Plex Mono",monospace; }
.ally-art-card-profit { display: flex; align-items: center; gap: 10px; right: -1%; bottom: 43px; padding: 13px 16px; border-radius: 14px; }
.ally-art-card-profit .ui-icon { width: 24px; height: 24px; color: var(--primary); }
.ally-art-card-profit > span { display: grid; }
.ally-art-card-profit strong { color: var(--success); font: 800 .84rem "IBM Plex Mono",monospace; }

.ally-prices-content { position: relative; z-index: 3; padding-top: 42px; }
.ally-price-tool { padding: clamp(24px,4vw,46px); border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.ally-tool-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.ally-tool-heading .eyebrow { margin-bottom: 9px; }
.ally-tool-heading h2 { margin: 0; font-size: clamp(1.75rem,3.4vw,2.8rem); font-weight: 850; line-height: 1.08; }
.ally-tool-heading > div > p:last-child { margin: 12px 0 0; color: var(--muted); font-size: .8rem; }
.ally-copy-tip { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 10px 13px; border-radius: 22px; background: #f0e9ff; color: #6549a2; font-size: .66rem; font-weight: 750; }
.ally-copy-tip .ui-icon { width: 17px; height: 17px; }
.ally-price-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; margin-bottom: 18px; }
.ally-price-actions form { display: grid; flex: 1 1 560px; gap: 8px; }
.ally-price-actions label { color: #635a72; font-size: .7rem; font-weight: 700; }
.ally-search-field { position: relative; display: flex; gap: 9px; }
.ally-search-icon { position: absolute; z-index: 1; display: grid; width: 42px; inset: 0 auto 0 0; place-items: center; color: #8a7d9c; pointer-events: none; }
.ally-search-icon .ui-icon { width: 19px; height: 19px; }
.ally-price-actions input { flex: 1; min-width: 0; height: 50px; padding: 12px 14px 12px 42px !important; border-color: #ddd4ec !important; background: #fcfaff !important; font-size: .8rem; }
.ally-price-actions .btn { min-width: 108px; }
.ally-clear-search { align-self: end; min-height: 50px; padding: 15px 0; color: #6f5b83; font-size: .72rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.ally-clear-search:hover { color: var(--primary); }
.ally-copy-status { flex-basis: 100%; min-height: 1.3em; color: var(--muted); font-size: .7rem; }
.ally-price-table-wrap { max-height: 67vh; overflow: auto; border: 1px solid #e4dced; border-radius: 14px; background: #fff; scrollbar-color: #c6b6e5 #f5f1fa; scrollbar-width: thin; }
.ally-price-table { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; text-align: left; }
.ally-price-table caption { padding: 13px 18px; border-bottom: 1px solid #ebe4f3; background: #faf8fe; color: #877d96; font-size: .66rem; text-align: left; }
.ally-price-table th { position: sticky; top: 0; z-index: 2; padding: 14px 18px; border-bottom: 1px solid #ded4eb; background: #f0e9ff; color: #4f3d68; font-size: .72rem; font-weight: 800; }
.ally-price-table th:first-child { width: 50%; }
.ally-price-table th small { margin-left: 7px; color: #89769f; font-size: .59rem; font-weight: 650; }
.ally-price-table td { padding: 10px 18px; border-bottom: 1px solid #eee8f4; color: #2c2440; font: 500 .78rem "IBM Plex Mono",monospace; }
.ally-price-table tbody tr:nth-child(even) { background: #fcfaff; }
.ally-price-table tbody tr:hover { background: #f7f2ff; }
.ally-price-table tbody tr:last-child td { border-bottom: 0; }
.ally-price-copy { display: inline-flex; min-width: 150px; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 11px; border: 1px solid #e0d4f2; border-radius: 8px; background: #f7f2ff; color: #553098; font: 700 .78rem "IBM Plex Mono",monospace; cursor: copy; }
.ally-price-copy small { color: #8f7ba9; font: 650 .58rem "Manrope",sans-serif; letter-spacing: .02em; }
.ally-price-copy:hover, .ally-price-copy:focus-visible { border-color: #bba3ea; background: #ede3ff; color: var(--primary); }
.ally-price-copy:hover small { color: var(--primary); }
.ally-profit-value { color: #247254; font-weight: 700; }
.ally-empty-state { padding: 50px 20px !important; text-align: center; }
.ally-empty-state strong, .ally-empty-state span { display: block; }
.ally-empty-state strong { color: var(--text); font: 800 1rem "Manrope",sans-serif; }
.ally-empty-state span { margin-top: 6px; color: var(--muted); font: 400 .74rem "Manrope",sans-serif; }
.ally-community-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; min-height: 240px; margin-top: 48px; padding: clamp(30px,5vw,52px); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(90deg,rgba(245,241,255,.98),rgba(245,241,255,.82) 56%,rgba(245,241,255,.28)), url("../images/fantasy-realm.2a5ac5ac106f.webp") 72% 54% / cover; }
.ally-community-cta > div { max-width: 600px; }
.ally-community-cta .eyebrow { margin-bottom: 10px; }
.ally-community-cta h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 850; line-height: 1.1; }
.ally-community-cta p:last-child { max-width: 520px; margin: 14px 0 0; color: #5b506d; font-size: .8rem; }
.ally-community-cta > .btn { flex: 0 0 auto; }
.ally-community-cta .btn .ui-icon { width: 18px; height: 18px; }

/* Teahouse */
.teahouse-hero {
    position: relative;
    isolation: isolate;
    min-height: 540px;
    overflow: hidden;
    border-block: 1px solid #e7e1f3;
    background:
        linear-gradient(90deg,rgba(246,243,255,.98),rgba(246,243,255,.91) 46%,rgba(246,243,255,.42) 74%,rgba(246,243,255,.13)),
        url("../images/fantasy-realm.2a5ac5ac106f.webp") 76% 48% / cover;
}
.teahouse-hero::after { content: ""; position: absolute; inset: auto 0 0; z-index: -1; height: 140px; background: linear-gradient(0deg,var(--bg),rgba(250,249,255,0)); }
.teahouse-hero-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(400px,.95fr); align-items: center; gap: clamp(30px,6vw,80px); min-height: 540px; padding-block: 65px 78px; }
.teahouse-hero-copy { position: relative; z-index: 2; max-width: 650px; }
.teahouse-hero-copy .eyebrow { margin-bottom: 17px; }
.teahouse-hero-copy h1 { margin: 0; font: 850 clamp(3.25rem,5.8vw,5.55rem)/.98 "Manrope",sans-serif; letter-spacing: -.068em; }
.teahouse-hero-copy > p:not(.eyebrow) { max-width: 590px; margin: 24px 0 0; color: #514967; font-size: clamp(.94rem,1.35vw,1.06rem); line-height: 1.75; }
.teahouse-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 18px; margin-top: 30px; }
.teahouse-hero-actions .btn .ui-icon, .teahouse-final-cta .btn .ui-icon { width: 20px; height: 20px; }
.teahouse-hero-actions > span { color: #6d647b; font-size: .68rem; }
.teahouse-hero-art { position: relative; min-height: 410px; }
.teahouse-art-halo { position: absolute; width: 350px; height: 350px; inset: 17px auto auto 50%; border-radius: 50%; background: rgba(255,255,255,.44); box-shadow: 0 0 0 38px rgba(255,255,255,.14),0 35px 90px rgba(70,44,126,.1); transform: translateX(-50%); backdrop-filter: blur(4px); }
.teahouse-hero-art > img { position: absolute; z-index: 2; width: 350px; height: 390px; left: 50%; bottom: 0; object-fit: contain; filter: drop-shadow(0 20px 24px rgba(55,31,101,.18)); transform: translateX(-50%); }
.teahouse-chat-card { position: absolute; z-index: 3; border: 1px solid #ded3f0; background: rgba(255,255,255,.94); box-shadow: 0 15px 38px rgba(57,33,105,.13); backdrop-filter: blur(10px); }
.teahouse-chat-card-one { display: flex; gap: 5px; left: 1%; top: 85px; padding: 13px 15px; border-radius: 18px 18px 18px 5px; transform: rotate(-4deg); }
.teahouse-chat-card-one span { width: 7px; height: 7px; border-radius: 50%; background: #9a7be0; }
.teahouse-chat-card-one span:nth-child(2) { opacity: .7; }
.teahouse-chat-card-one span:nth-child(3) { opacity: .4; }
.teahouse-chat-card-two { display: flex; align-items: center; gap: 10px; right: -1%; bottom: 45px; padding: 13px 16px; border-radius: 14px; }
.teahouse-chat-card-two .ui-icon { width: 25px; height: 25px; color: #5865f2; }
.teahouse-chat-card-two > span { display: grid; }
.teahouse-chat-card-two strong { color: var(--text); font-size: .78rem; }
.teahouse-chat-card-two small { color: var(--muted); font-size: .61rem; }

.teahouse-content { position: relative; z-index: 3; padding-top: 72px; }
.teahouse-welcome > header { max-width: 700px; margin: 0 auto 38px; text-align: center; }
.teahouse-welcome > header .eyebrow { margin-bottom: 11px; }
.teahouse-welcome > header h2 { margin: 0; font-size: clamp(2rem,4vw,3.35rem); font-weight: 850; line-height: 1.08; }
.teahouse-welcome > header > p:last-child { margin: 17px auto 0; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.teahouse-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 76px; }
.teahouse-feature-grid article { min-height: 245px; padding: 28px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 9px 28px rgba(70,43,124,.035); }
.teahouse-feature-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 13px; background: #efe8ff; color: var(--primary); }
.teahouse-feature-icon .ui-icon { width: 23px; height: 23px; }
.teahouse-feature-grid h3 { margin: 23px 0 10px; font-size: 1.05rem; font-weight: 820; letter-spacing: -.03em; }
.teahouse-feature-grid p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.7; }
.teahouse-join-flow { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(40px,7vw,90px); align-items: center; padding: clamp(34px,6vw,66px); border: 1px solid #e1d7f3; border-radius: 20px; background: linear-gradient(135deg,#f1ebff,#fbf9ff 60%,#f1edfb); }
.teahouse-join-copy .eyebrow { margin-bottom: 11px; }
.teahouse-join-copy h2 { margin: 0; font-size: clamp(2rem,3.5vw,3.1rem); font-weight: 850; line-height: 1.08; }
.teahouse-join-copy > p:not(.eyebrow) { margin: 18px 0 25px; color: #5c526f; font-size: .81rem; line-height: 1.72; }
.teahouse-join-copy .btn .ui-icon { width: 18px; height: 18px; }
.teahouse-join-flow ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.teahouse-join-flow li { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid rgba(219,208,239,.9); border-radius: 13px; background: rgba(255,255,255,.78); }
.teahouse-join-flow li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #e9deff; color: var(--primary); font-size: .65rem; font-weight: 850; }
.teahouse-join-flow li strong { color: var(--text); font-size: .8rem; }
.teahouse-join-flow li p { margin: 2px 0 0; color: var(--muted); font-size: .7rem; }
.teahouse-resource-card { display: grid; grid-template-columns: 300px minmax(0,1fr); align-items: center; gap: clamp(30px,6vw,72px); min-height: 330px; margin-top: 52px; padding: clamp(28px,5vw,52px); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.teahouse-resource-art { display: grid; height: 230px; place-items: center; border-radius: 17px; background: radial-gradient(ellipse,#eadfff,transparent 70%); }
.teahouse-resource-art img { width: 255px; height: 255px; object-fit: contain; filter: drop-shadow(0 15px 18px rgba(67,37,124,.14)); }
.teahouse-resource-card .eyebrow { margin-bottom: 10px; }
.teahouse-resource-card h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 850; line-height: 1.1; }
.teahouse-resource-card > div:last-child > p:not(.eyebrow) { max-width: 570px; margin: 15px 0 23px; color: var(--muted); font-size: .8rem; }
.teahouse-resource-card .btn .ui-icon { width: 18px; height: 18px; }
.teahouse-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 240px; margin-top: 52px; padding: clamp(30px,5vw,52px); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(90deg,rgba(245,241,255,.98),rgba(245,241,255,.8) 55%,rgba(245,241,255,.26)), url("../images/fantasy-realm.2a5ac5ac106f.webp") 72% 54% / cover; }
.teahouse-final-cta > div { max-width: 600px; }
.teahouse-final-cta .eyebrow { margin-bottom: 10px; }
.teahouse-final-cta h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 850; line-height: 1.1; }
.teahouse-final-cta p:last-child { margin: 14px 0 0; color: #5c516e; font-size: .8rem; }
.teahouse-final-cta > .btn { flex: 0 0 auto; }

@media (max-width: 1000px) {
    .ally-prices-hero-layout, .teahouse-hero-layout { grid-template-columns: minmax(0,1fr) 360px; gap: 24px; }
    .ally-art-card-price, .teahouse-chat-card-one { left: -2%; }
    .ally-art-card-profit, .teahouse-chat-card-two { right: -4%; }
}

@media (max-width: 820px) {
    .ally-prices-page, .teahouse-page { padding-top: 20px; }
    .ally-prices-hero-layout, .teahouse-hero-layout { grid-template-columns: 1fr; padding-block: 55px 38px; }
    .ally-prices-intro h1, .teahouse-hero-copy h1 { font-size: clamp(3rem,11vw,5rem); }
    .ally-prices-hero-art, .teahouse-hero-art { width: min(520px,100%); min-height: 365px; margin: 0 auto; }
    .ally-tool-heading { align-items: flex-start; flex-direction: column; }
    .teahouse-feature-grid { grid-template-columns: 1fr; }
    .teahouse-feature-grid article { min-height: 0; }
    .teahouse-join-flow { grid-template-columns: 1fr; }
    .teahouse-resource-card { grid-template-columns: 220px minmax(0,1fr); }
    .ally-community-cta, .teahouse-final-cta { align-items: flex-start; flex-direction: column; gap: 24px; }
}

@media (max-width: 620px) {
    .ally-prices-page, .teahouse-page { padding-bottom: 54px; }
    .staff-page-preview { padding: 15px; }
    .staff-page-preview .btn { width: 100%; }
    .ally-prices-hero, .teahouse-hero { min-height: 0; background-position: 66% 50%; }
    .ally-prices-hero-layout, .teahouse-hero-layout { padding-block: 42px 32px; }
    .ally-prices-intro h1, .teahouse-hero-copy h1 { font-size: clamp(2.7rem,14vw,4rem); }
    .ally-prices-intro > p:not(.eyebrow), .teahouse-hero-copy > p:not(.eyebrow) { font-size: .86rem; }
    .ally-hero-facts { display: grid; grid-template-columns: 1fr; }
    .ally-hero-facts > span { width: max-content; }
    .ally-prices-hero-art, .teahouse-hero-art { min-height: 315px; }
    .ally-art-glow, .teahouse-art-halo { width: 270px; height: 270px; }
    .ally-prices-hero-art > img, .teahouse-hero-art > img { width: 270px; height: 300px; }
    .ally-art-card-price, .teahouse-chat-card-one { top: 60px; left: 0; }
    .ally-art-card-profit, .teahouse-chat-card-two { right: 0; bottom: 18px; }
    .ally-prices-content { padding-top: 25px; }
    .ally-price-tool { padding: 21px 16px; }
    .ally-copy-tip { display: none; }
    .ally-search-field { flex-direction: column; }
    .ally-search-icon { height: 50px; }
    .ally-price-actions .btn { width: 100%; }
    .ally-clear-search { min-height: 0; padding: 4px 0; }
    .ally-price-table th, .ally-price-table td { padding: 10px 11px; font-size: .67rem; }
    .ally-price-table th small { display: block; margin: 2px 0 0; }
    .ally-price-copy { min-width: 118px; padding: 7px 8px; font-size: .7rem; }
    .ally-community-cta, .teahouse-final-cta { min-height: 330px; padding: 28px 23px 120px; background: linear-gradient(180deg,rgba(245,241,255,.98),rgba(245,241,255,.86) 55%,rgba(245,241,255,.3)), url("../images/fantasy-realm.2a5ac5ac106f.webp") 74% bottom / auto 100%; }
    .ally-community-cta > .btn, .teahouse-final-cta > .btn { width: 100%; }
    .teahouse-hero-actions { align-items: stretch; flex-direction: column; }
    .teahouse-hero-actions .btn { width: 100%; }
    .teahouse-hero-actions > span { text-align: center; }
    .teahouse-content { padding-top: 54px; }
    .teahouse-feature-grid { margin-bottom: 54px; }
    .teahouse-join-flow { padding: 28px 21px; }
    .teahouse-resource-card { grid-template-columns: 1fr; gap: 22px; padding: 26px 21px; }
    .teahouse-resource-art { height: 185px; }
    .teahouse-resource-art img { width: 205px; height: 205px; }
}

@media (max-width: 390px) {
    .ally-art-card-profit, .teahouse-chat-card-two { transform: scale(.9); transform-origin: right bottom; }
}
