/* Tathom VA Core — design system and components. */

:root {
	--tva-navy: #0F1B3D;
	--tva-navy-2: #1B2A5C;
	--tva-indigo: #3D4FC4;
	--tva-indigo-dark: #2E3CA0;
	--tva-indigo-soft: #ECEFFE;
	--tva-accent: #F2A93B;
	--tva-accent-hover: #F7BB5E;
	--tva-accent-dark: #A35F05;
	--tva-accent-soft: #FFF4E2;
	--tva-coral: #E85D4F;
	--tva-coral-dark: #B5382C;
	--tva-coral-soft: #FDECEA;
	--tva-teal: #14988E;
	--tva-teal-dark: #0D7068;
	--tva-teal-soft: #E3F6F4;
	--tva-ink: #161B28;
	--tva-muted: #4A5263;
	--tva-line: #DCE1EA;
	--tva-sky: #F5F7FF;
	--tva-cream: #FFF9EF;
	--tva-white: #FFFFFF;
	--tva-success: #1F7A4D;
	--tva-error: #B42318;
	--tva-radius: 18px;
	--tva-radius-sm: 12px;
	--tva-shadow-sm: 0 1px 2px rgba(15, 27, 61, .06), 0 2px 8px rgba(15, 27, 61, .05);
	--tva-shadow: 0 2px 4px rgba(15, 27, 61, .05), 0 12px 32px rgba(15, 27, 61, .10);
	--tva-shadow-lg: 0 30px 70px rgba(5, 10, 30, .35);
	--tva-font-display: inherit;
	--tva-hero-bg:
		radial-gradient(600px 380px at 85% 10%, rgba(242, 169, 59, .28), transparent 70%),
		radial-gradient(520px 360px at 10% 100%, rgba(232, 93, 79, .20), transparent 70%),
		radial-gradient(700px 500px at 60% 120%, rgba(61, 79, 196, .45), transparent 70%),
		linear-gradient(135deg, #0F1B3D 0%, #1B2A5C 55%, #24338A 100%);
}

.tva, .tva * { box-sizing: border-box; }
.tva { color: var(--tva-ink); }
.tva h1, .tva h2, .tva h3 { font-family: var(--tva-font-display); color: var(--tva-navy); line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.02em; }
.tva h1 { font-size: clamp(2.1rem, 4.6vw, 3.6rem); }
.tva h2 { font-size: clamp(1.75rem, 3.3vw, 2.6rem); }
.tva h3 { font-size: 1.16rem; letter-spacing: -.01em; }
.tva p { margin: 0 0 1em; line-height: 1.65; }
.tva a { color: var(--tva-indigo-dark); }
.tva-icon { flex-shrink: 0; vertical-align: middle; }
.tva .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.tva-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.tva-wrap--narrow { max-width: 820px; }
.tva-wrap--form { max-width: 920px; }
.tva-center { text-align: center; margin-top: 2.25rem !important; }
.tva-eyebrow { display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--tva-accent-dark); margin: 0 0 .9em !important; }
.tva-muted { color: var(--tva-muted); }
.tva-small { font-size: .9rem; }
.tva-note { color: var(--tva-muted); font-size: .9rem; text-align: center; margin-top: 1.5rem !important; }
.tva-h2-center { text-align: center; }
.tva-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; text-decoration: none; color: var(--tva-indigo-dark) !important; }
.tva-link:hover { gap: 10px; }

/* Tones */
.tva-tone--indigo { background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); }
.tva-tone--teal { background: var(--tva-teal-soft); color: var(--tva-teal-dark); }
.tva-tone--amber { background: var(--tva-accent-soft); color: var(--tva-accent-dark); }
.tva-tone--coral { background: var(--tva-coral-soft); color: var(--tva-coral-dark); }

/* Reveal animation (only when JS is running) */
.tva-js .tva-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.tva-js .tva-reveal.is-visible { opacity: 1; transform: none; }

/* Buttons */
.tva-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 48px; padding: .75em 1.45em; border-radius: 999px; border: 2px solid transparent; font: inherit; font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none !important; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, transform .15s, box-shadow .15s; }
.tva-btn:hover { transform: translateY(-2px); }
.tva-btn:focus-visible { outline: 3px solid var(--tva-accent); outline-offset: 3px; }
.tva-btn--accent { background: var(--tva-accent); color: var(--tva-navy) !important; box-shadow: 0 8px 22px rgba(242, 169, 59, .35); }
.tva-btn--accent:hover { background: var(--tva-accent-hover); box-shadow: 0 12px 28px rgba(242, 169, 59, .45); }
.tva-btn--primary { background: var(--tva-navy); color: #fff !important; }
.tva-btn--primary:hover { background: var(--tva-navy-2); }
.tva-btn--outline { background: #fff; border-color: var(--tva-navy); color: var(--tva-navy) !important; }
.tva-btn--outline:hover { background: var(--tva-navy); color: #fff !important; }
.tva-btn--ghost { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .45); color: #fff !important; }
.tva-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .14); }
.tva-btn--block { width: 100%; }
.tva-btn--lg { min-height: 56px; padding: .9em 1.7em; font-size: 1.06rem; }
.tva-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.tva-actions--center { justify-content: center; }

/* Pill */
.tva-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); color: #fff; font-size: .9rem; font-weight: 600; margin: 0 0 1.4rem !important; backdrop-filter: blur(6px); }
.tva-pill__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tva-accent); box-shadow: 0 0 0 4px rgba(242, 169, 59, .25); }

/* Sections */
.tva-section { padding: clamp(64px, 9vw, 112px) 0; position: relative; }
.tva-section--tight { padding-top: clamp(32px, 5vw, 56px); }
.tva-section--sky { background: var(--tva-sky); }
.tva-section--cream { background: var(--tva-cream); }
.tva-section--navy { background: var(--tva-hero-bg); color: #DCE2EE; }
.tva-section--navy h2, .tva-section--navy h3 { color: #fff; }
.tva-section--navy .tva-eyebrow { color: var(--tva-accent); }
.tva-section--navy .tva-section__head p:last-child:not(.tva-eyebrow) { color: #C3CBDD; }
.tva-section__head { max-width: 760px; margin: 0 auto 3rem; text-align: center; }
.tva-section__head p:last-child:not(.tva-eyebrow) { color: var(--tva-muted); font-size: 1.08rem; }

.tva-wave { position: absolute; left: 0; right: 0; bottom: -1px; line-height: 0; pointer-events: none; }
.tva-wave svg { width: 100%; height: clamp(36px, 6vw, 80px); display: block; }

/* ---------- Hero ---------- */
.tva-hero { position: relative; background: var(--tva-hero-bg); color: #fff; padding: clamp(56px, 8vw, 104px) 0 clamp(96px, 12vw, 150px); overflow: hidden; }
.tva-hero__bg, .tva-page-hero .tva-hero__bg { position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), transparent 85%); -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), transparent 85%); pointer-events: none; }
.tva-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: center; position: relative; z-index: 1; }
.tva-hero__title { color: #fff !important; font-size: clamp(2.4rem, 5.4vw, 4.2rem) !important; letter-spacing: -.03em !important; }
.tva-hl { background: linear-gradient(90deg, #FFD08A, #F2A93B 45%, #F58A6B); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tva-hero__lede { font-size: clamp(1.06rem, 1.6vw, 1.22rem); color: #D6DDEC; max-width: 600px; margin-bottom: 2rem !important; }
.tva-hero__lede strong { color: #fff; }
.tva-hero__points { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: 12px 26px; color: #D6DDEC; font-size: .97rem; }
.tva-hero__points li { display: flex; align-items: center; gap: 8px; }
.tva-hero__points .tva-icon { color: var(--tva-accent); }

.tva-hero__art { position: relative; min-height: 480px; }
.tva-hero__rings { position: absolute; width: 440px; height: 440px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.tva-float { position: absolute; background: #fff; color: var(--tva-ink); border-radius: 16px; box-shadow: var(--tva-shadow-lg); display: flex; gap: 12px; align-items: center; padding: 14px 16px; }
.tva-float strong { display: block; color: var(--tva-navy); font-size: .95rem; }
.tva-float span { font-size: .82rem; color: var(--tva-muted); }
.tva-float__icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex-shrink: 0; }
.tva-float--main { left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(370px, 92%); display: block; padding: 22px; border-radius: 22px; z-index: 2; }
.tva-float__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.tva-avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff !important; font-size: .95rem !important; background: linear-gradient(135deg, var(--tva-indigo), var(--tva-coral)); }
.tva-online { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #22C55E; margin-right: 4px; box-shadow: 0 0 0 3px rgba(34, 197, 94, .2); }
.tva-meter { background: var(--tva-sky); border-radius: 12px; padding: 12px; margin-bottom: 10px; }
.tva-meter__label { display: flex; justify-content: space-between; font-size: .8rem; font-weight: 700; color: var(--tva-navy); margin-bottom: 8px; }
.tva-meter__label span { color: var(--tva-navy) !important; font-size: .8rem !important; }
.tva-meter__bar { height: 8px; border-radius: 999px; background: #DDE3F7; overflow: hidden; }
.tva-meter__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tva-indigo), var(--tva-accent)); }
.tva-float__list { list-style: none; margin: 0; padding: 0; }
.tva-float__list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: .92rem; border-bottom: 1px dashed var(--tva-line); }
.tva-float__list li:last-child { border-bottom: 0; }
.tva-float__list b { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--tva-line); display: grid; place-items: center; flex-shrink: 0; }
.tva-float__list li.is-done b { background: var(--tva-teal); border-color: var(--tva-teal); color: #fff; }
.tva-float__list li.is-done { color: var(--tva-muted); }
.tva-float--inbox { top: 2%; left: -2%; z-index: 3; animation: tva-bob 6s ease-in-out infinite; }
.tva-float--cal { bottom: 4%; right: -4%; z-index: 3; animation: tva-bob 7s ease-in-out infinite .8s; }
.tva-float--lead { bottom: 16%; left: -8%; z-index: 3; animation: tva-bob 6.5s ease-in-out infinite 1.6s; }
@keyframes tva-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Key facts */
.tva-facts-wrap { position: relative; z-index: 2; margin-top: -64px; }
.tva-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; background: #fff; border-radius: 22px; box-shadow: var(--tva-shadow); padding: 22px; border: 1px solid var(--tva-line); }
.tva-fact { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 8px; }
.tva-fact__icon { grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; }
.tva-fact strong { font-family: var(--tva-font-display); color: var(--tva-navy); font-size: 1.12rem; line-height: 1.2; }
.tva-fact span:last-child { color: var(--tva-muted); font-size: .9rem; }

/* Split / receipt */
.tva-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: center; }
.tva-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.tva-split__copy p { color: #333B4C; font-size: 1.06rem; }
.tva-receipt { background: #fff; border-radius: 24px; box-shadow: var(--tva-shadow); border: 1px solid var(--tva-line); overflow: hidden; }
.tva-receipt__head { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; background: var(--tva-hero-bg); color: #fff; font-weight: 700; letter-spacing: .02em; }
.tva-receipt__head .tva-icon { color: var(--tva-accent); }
.tva-receipt ul { list-style: none; margin: 0; padding: 10px 24px; }
.tva-receipt li { display: flex; gap: 14px; align-items: flex-start; padding: 13px 0; border-bottom: 1px dashed var(--tva-line); }
.tva-receipt li:last-child { border-bottom: 0; }
.tva-receipt li > .tva-icon { color: var(--tva-indigo); margin-top: 2px; }
.tva-receipt li strong { display: block; color: var(--tva-navy); }
.tva-receipt li span { color: var(--tva-muted); font-size: .92rem; }
.tva-receipt__foot { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 24px; background: var(--tva-accent-soft); border-top: 2px dashed #F3D3A0; }
.tva-receipt__foot span { font-weight: 700; color: var(--tva-accent-dark); text-transform: uppercase; font-size: .8rem; letter-spacing: .1em; }
.tva-receipt__foot strong { font-family: var(--tva-font-display); font-size: 2rem; color: var(--tva-navy); }
.tva-receipt__foot small { font-size: .9rem; color: var(--tva-muted); font-weight: 600; }

/* Services */
.tva-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tva-service { position: relative; background: #fff; border: 1px solid var(--tva-line); border-radius: var(--tva-radius); padding: 26px 24px; transition: box-shadow .2s, transform .2s, border-color .2s; overflow: hidden; }
.tva-service::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; }
.tva-service--indigo::before { background: var(--tva-indigo); }
.tva-service--teal::before { background: var(--tva-teal); }
.tva-service--amber::before { background: var(--tva-accent); }
.tva-service--coral::before { background: var(--tva-coral); }
.tva-service:hover { box-shadow: var(--tva-shadow); transform: translateY(-4px); border-color: transparent; }
.tva-service__icon { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; margin-bottom: 16px; }
.tva-service p { color: var(--tva-muted); font-size: .96rem; }
.tva-service ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tva-service li { display: flex; gap: 8px; align-items: flex-start; font-size: .93rem; color: #2C3340; line-height: 1.45; }
.tva-service li .tva-icon { color: var(--tva-teal); margin-top: 3px; }

/* Steps */
.tva-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; position: relative; }
.tva-steps::before { content: ""; position: absolute; left: 12%; right: 12%; top: 38px; border-top: 2px dashed #C9D0E3; z-index: 0; }
.tva-steps li { position: relative; z-index: 1; text-align: center; padding: 0 8px; }
.tva-steps__n { position: absolute; top: -4px; left: calc(50% + 22px); width: 28px; height: 28px; border-radius: 50%; background: var(--tva-navy); color: #fff; font-weight: 800; font-size: .85rem; display: grid; place-items: center; border: 3px solid #fff; }
.tva-steps__icon { width: 76px; height: 76px; border-radius: 24px; display: grid; place-items: center; margin: 0 auto 18px; border: 4px solid #fff; box-shadow: var(--tva-shadow-sm); }
.tva-steps p { color: var(--tva-muted); margin: 0; }

/* Example week */
.tva-week { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.tva-week__day { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--tva-radius); padding: 18px 16px; backdrop-filter: blur(6px); }
.tva-week__label { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--tva-font-display); font-weight: 800; color: #fff; font-size: 1.2rem; margin-bottom: 12px !important; }
.tva-week__label span { font-size: .78rem; font-weight: 600; color: var(--tva-accent); }
.tva-week ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tva-week li { display: flex; gap: 10px; align-items: flex-start; background: #fff; color: var(--tva-ink); border-radius: 12px; padding: 10px 12px; font-size: .9rem; line-height: 1.35; }
.tva-week li .tva-icon { color: var(--tva-indigo); margin-top: 1px; }

/* Pricing switcher + cards */
.tva-pricing { position: relative; }
.tva-pricing__radio { position: absolute; opacity: 0; pointer-events: none; }
.tva-levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; max-width: 780px; margin: 0 auto 40px; padding: 6px; background: var(--tva-sky); border: 1px solid var(--tva-line); border-radius: 20px; }
.tva-section--sky .tva-levels { background: #fff; }
.tva-levels__opt { cursor: pointer; padding: 13px 10px; border-radius: 15px; text-align: center; transition: background .15s, box-shadow .15s, color .15s; }
.tva-levels__opt strong { display: block; color: var(--tva-navy); font-size: 1.04rem; }
.tva-levels__opt span { display: block; font-size: .82rem; color: var(--tva-muted); }
.tva-badge { display: inline-block !important; vertical-align: middle; margin-left: 4px; font-size: .64rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: var(--tva-accent); color: var(--tva-navy) !important; padding: 3px 8px; border-radius: 999px; }
.tva-pricing__radio:nth-of-type(1):checked ~ .tva-levels .tva-levels__opt--essential,
.tva-pricing__radio:nth-of-type(2):checked ~ .tva-levels .tva-levels__opt--professional,
.tva-pricing__radio:nth-of-type(3):checked ~ .tva-levels .tva-levels__opt--elite { background: var(--tva-navy); box-shadow: 0 6px 16px rgba(15, 27, 61, .25); }
.tva-pricing__radio:nth-of-type(1):checked ~ .tva-levels .tva-levels__opt--essential *,
.tva-pricing__radio:nth-of-type(2):checked ~ .tva-levels .tva-levels__opt--professional > *,
.tva-pricing__radio:nth-of-type(3):checked ~ .tva-levels .tva-levels__opt--elite * { color: #fff; }
.tva-pricing__radio:nth-of-type(2):checked ~ .tva-levels .tva-levels__opt--professional .tva-badge { color: var(--tva-navy) !important; }
.tva-pricing__radio:focus-visible ~ .tva-levels { outline: 3px solid var(--tva-accent); outline-offset: 3px; }

.tva-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.tva-card { position: relative; background: #fff; border: 1px solid var(--tva-line); border-radius: 22px; padding: 30px 24px 24px; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.tva-card:hover { transform: translateY(-4px); box-shadow: var(--tva-shadow); }
.tva-card--popular { background: linear-gradient(180deg, #FFFBF3 0%, #fff 40%); border: 2px solid var(--tva-accent); box-shadow: 0 16px 40px rgba(242, 169, 59, .22); }
.tva-card__flag { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--tva-accent); color: var(--tva-navy); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; white-space: nowrap; box-shadow: 0 6px 14px rgba(242, 169, 59, .4); }
.tva-card__name { font-size: 1.35rem !important; margin-bottom: .2em !important; }
.tva-card__hours { color: var(--tva-muted); margin-bottom: 1.2em !important; line-height: 1.45 !important; }
.tva-card__hours strong { color: var(--tva-navy); }
.tva-card__hours span { display: block; font-size: .86rem; }
.tva-card__price { display: none; padding: 14px 0 16px; border-top: 1px solid var(--tva-line); border-bottom: 1px solid var(--tva-line); margin-bottom: 16px; }
.tva-card__amount { font-family: var(--tva-font-display); font-size: 2.6rem; font-weight: 800; color: var(--tva-navy); letter-spacing: -.03em; }
.tva-card__per { color: var(--tva-muted); margin-left: 2px; font-weight: 600; }
.tva-card__rate { display: block; font-size: .85rem; color: var(--tva-muted); margin-top: 2px; }
.tva-card__fit { font-size: .95rem; color: #2C3340; }
.tva-card__list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 8px; }
.tva-card__list li { display: flex; gap: 8px; font-size: .92rem; align-items: flex-start; }
.tva-card__list .tva-icon { color: var(--tva-teal); margin-top: 3px; }
.tva-card__cta { display: none !important; margin-top: auto; }
.tva-pricing__radio:nth-of-type(1):checked ~ .tva-cards .tva-card__price--essential,
.tva-pricing__radio:nth-of-type(2):checked ~ .tva-cards .tva-card__price--professional,
.tva-pricing__radio:nth-of-type(3):checked ~ .tva-cards .tva-card__price--elite { display: block; }
.tva-pricing__radio:nth-of-type(1):checked ~ .tva-cards .tva-card__cta--essential,
.tva-pricing__radio:nth-of-type(2):checked ~ .tva-cards .tva-card__cta--professional,
.tva-pricing__radio:nth-of-type(3):checked ~ .tva-cards .tva-card__cta--elite { display: inline-flex !important; }

/* Full price matrix */
.tva-matrix { margin-top: 40px; background: #fff; border: 1px solid var(--tva-line); border-radius: 22px; box-shadow: var(--tva-shadow-sm); overflow: hidden; }
.tva-matrix__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; padding: 20px 24px; border-bottom: 1px solid var(--tva-line); background: var(--tva-sky); }
.tva-matrix__head h3 { margin: 0 !important; display: flex; align-items: center; gap: 10px; }
.tva-matrix__head h3 .tva-icon { color: var(--tva-indigo); }
.tva-matrix__head span { color: var(--tva-muted); font-size: .9rem; }
.tva-matrix__levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 16px 24px 22px; font-size: .9rem; color: var(--tva-muted); }
.tva-matrix__levels strong { color: var(--tva-navy); }
.tva-table-scroll { overflow-x: auto; }
.tva-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.tva-table th, .tva-table td { padding: 14px 16px; border-bottom: 1px solid var(--tva-line); text-align: center; vertical-align: middle; }
.tva-table thead th { color: var(--tva-navy); font-size: .98rem; background: #fff; }
.tva-table th span, .tva-table td span { display: block; font-weight: 500; font-size: .8rem; color: var(--tva-muted); }
.tva-table th[scope=row] { text-align: left; color: var(--tva-navy); }
.tva-table td a { display: block; text-decoration: none; border-radius: 12px; padding: 8px 4px; transition: background .15s; }
.tva-table td a:hover { background: var(--tva-accent-soft); }
.tva-table td strong { font-family: var(--tva-font-display); font-size: 1.25rem; color: var(--tva-navy); font-variant-numeric: tabular-nums; }
.tva-table tr.is-popular th[scope=row], .tva-table tr.is-popular td { background: #FFFBF3; }
.tva-table tbody tr:last-child th, .tva-table tbody tr:last-child td { border-bottom: 0; }

/* Plan finder */
.tva-finder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; background: #fff; border-radius: 26px; box-shadow: var(--tva-shadow); overflow: hidden; border: 1px solid #F1E3C8; }
.tva-finder__inputs { padding: 36px; display: grid; gap: 28px; align-content: center; }
.tva-range { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
.tva-range label { font-weight: 700; color: var(--tva-navy); }
.tva-range output { font-family: var(--tva-font-display); font-weight: 800; font-size: 1.3rem; color: var(--tva-indigo-dark); }
.tva-range input[type=range] { grid-column: 1 / -1; width: 100%; height: 10px; -webkit-appearance: none; appearance: none; border-radius: 999px; background: linear-gradient(90deg, var(--tva-indigo) var(--fill, 30%), #E1E6F5 var(--fill, 30%)); outline: none; }
.tva-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 4px solid var(--tva-indigo); box-shadow: 0 4px 10px rgba(15, 27, 61, .25); cursor: pointer; }
.tva-range input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--tva-indigo); cursor: pointer; }
.tva-range input[type=range]:focus-visible { outline: 3px solid var(--tva-accent); outline-offset: 4px; }
.tva-range__scale { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: .8rem; color: var(--tva-muted); }
.tva-finder__level { border: 0; padding: 0; margin: 0; }
.tva-finder__level legend { font-weight: 700; color: var(--tva-navy); margin-bottom: 10px; }
.tva-finder__level label { display: inline-block; margin: 0 6px 6px 0; cursor: pointer; }
.tva-finder__level input { position: absolute; opacity: 0; }
.tva-finder__level span { display: inline-block; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--tva-line); font-weight: 600; transition: all .15s; }
.tva-finder__level input:checked + span { background: var(--tva-navy); color: #fff; border-color: var(--tva-navy); }
.tva-finder__level input:focus-visible + span { outline: 3px solid var(--tva-accent); outline-offset: 2px; }
.tva-finder__result { background: var(--tva-hero-bg); color: #fff; padding: 36px; }
.tva-finder__kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; color: var(--tva-accent); margin-bottom: .4em !important; }
.tva-finder__plan { font-family: var(--tva-font-display); font-size: 1.5rem; font-weight: 800; color: #fff; margin-bottom: 1.2em !important; line-height: 1.3 !important; }
.tva-finder__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.tva-finder__stats div { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15); border-radius: 14px; padding: 12px; }
.tva-finder__stats span { display: block; font-size: .78rem; color: #C3CBDD; }
.tva-finder__stats strong { font-family: var(--tva-font-display); font-size: 1.35rem; color: #fff; }
.tva-finder__bar { display: grid; gap: 6px; margin-bottom: 14px; }
.tva-finder__bar i { display: block; height: 10px; border-radius: 999px; transition: width .35s ease; }
.tva-finder__bar i:first-child { background: rgba(255, 255, 255, .45); }
.tva-finder__bar i:last-child { background: linear-gradient(90deg, var(--tva-accent), #F58A6B); }
.tva-finder__net { color: #DCE2EE; }
.tva-finder__net strong { color: var(--tva-accent); }
.tva-finder__fine { font-size: .78rem; color: #AEB8CF; margin: 12px 0 0 !important; }

/* Industries */
.tva-industries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tva-industry { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: var(--tva-radius); background: #fff; border: 1px solid var(--tva-line); transition: box-shadow .2s, transform .2s; }
.tva-industry:hover { box-shadow: var(--tva-shadow); transform: translateY(-3px); }
.tva-industry__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; flex-shrink: 0; color: #fff; background: linear-gradient(135deg, var(--tva-indigo), #6B7BEA); }
.tva-industry:nth-child(3n+2) .tva-industry__icon { background: linear-gradient(135deg, var(--tva-teal), #3CC3B6); }
.tva-industry:nth-child(3n+3) .tva-industry__icon { background: linear-gradient(135deg, var(--tva-coral), var(--tva-accent)); }
.tva-industry h3 { margin-bottom: .25em !important; }
.tva-industry p { margin: 0; color: var(--tva-muted); font-size: .94rem; }

/* Compare */
.tva-compare-table { background: #fff; border-radius: 22px; box-shadow: var(--tva-shadow-sm); border: 1px solid var(--tva-line); overflow: hidden; }
.tva-table--compare th, .tva-table--compare td { text-align: left; }
.tva-table--compare thead th { font-size: 1rem; padding: 18px 16px; }
.tva-table--compare th.is-us { background: var(--tva-navy); color: #fff; }
.tva-table--compare td.is-us { background: #F7F8FF; font-weight: 700; color: var(--tva-navy); }
.tva-table--compare td.is-us .tva-icon { color: var(--tva-teal); margin-right: 4px; }
.tva-table--compare td { color: var(--tva-muted); }

/* Billing */
.tva-billing { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tva-billing > div { background: #fff; border-radius: var(--tva-radius); padding: 24px; border: 1px solid var(--tva-line); }
.tva-billing > div > span { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 14px; }
.tva-billing p { color: var(--tva-muted); margin: 0; font-size: .95rem; }

/* Tools / not included */
.tva-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 10px; }
.tva-tools span { padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--tva-line); font-weight: 600; font-size: .9rem; color: var(--tva-navy); }
.tva-notincluded { background: #fff; border-radius: 22px; padding: 30px; border: 1px solid var(--tva-line); box-shadow: var(--tva-shadow-sm); }
.tva-notincluded h3 { display: flex; align-items: center; gap: 10px; }
.tva-notincluded h3 .tva-icon { color: var(--tva-indigo); }
.tva-notincluded ul { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.tva-notincluded li { display: flex; gap: 10px; align-items: flex-start; }
.tva-notincluded li .tva-icon { color: var(--tva-coral); margin-top: 3px; }

/* FAQ */
.tva-faq-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.tva-faq-layout__intro { position: sticky; top: 110px; }
.tva-faq-layout__intro p:last-child { color: var(--tva-muted); }
.tva-faq__item { border: 1px solid var(--tva-line); border-radius: 16px; background: #fff; margin-bottom: 10px; transition: box-shadow .2s, border-color .2s; }
.tva-faq__item[open] { box-shadow: var(--tva-shadow-sm); border-color: #C9D0E3; }
.tva-faq__item summary { cursor: pointer; list-style: none; padding: 18px 52px 18px 20px; position: relative; font-weight: 700; font-size: 1.03rem; color: var(--tva-navy); }
.tva-faq__item summary::-webkit-details-marker { display: none; }
.tva-faq__item summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--tva-sky); display: grid; place-items: center; font-size: 1.2rem; line-height: 1; color: var(--tva-indigo-dark); transition: transform .2s, background .2s; }
.tva-faq__item[open] summary::after { content: "–"; background: var(--tva-accent); color: var(--tva-navy); }
.tva-faq__item summary:focus-visible { outline: 3px solid var(--tva-accent); outline-offset: 2px; border-radius: 16px; }
.tva-faq__a { padding: 0 20px 6px; }
.tva-faq__a p { color: var(--tva-muted); }

/* CTA */
.tva-cta { position: relative; overflow: hidden; background: var(--tva-hero-bg); color: #fff; padding: clamp(64px, 9vw, 104px) 0; }
.tva-cta__glow { position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .1) 1px, transparent 1px); background-size: 24px 24px; pointer-events: none; }
.tva-cta__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.tva-cta__copy { max-width: 640px; }
.tva-cta h2 { color: #fff !important; margin-bottom: .35em !important; }
.tva-cta p { color: #D6DDEC; margin: 0; font-size: 1.08rem; }
.tva-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Inner page hero (services / pricing) */
.tva-page-hero { position: relative; background: var(--tva-hero-bg); color: #fff; padding: clamp(56px, 8vw, 96px) 0 clamp(90px, 11vw, 130px); overflow: hidden; text-align: center; }
.tva-page-hero__inner { position: relative; max-width: 860px; }
.tva-page-hero h1 { color: #fff !important; }
.tva-page-hero p:not(.tva-pill) { color: #D6DDEC; font-size: 1.12rem; max-width: 680px; margin-left: auto; margin-right: auto; }
.tva-page-hero .tva-actions { margin-top: 1.6rem; }

/* Simple page header (checkout, onboarding, contact, legal) */
.tva-page__head { position: relative; background: linear-gradient(180deg, var(--tva-sky), #fff); border-bottom: 1px solid var(--tva-line); padding: clamp(48px, 7vw, 80px) 20px; text-align: center; margin-bottom: clamp(36px, 5vw, 56px); overflow: hidden; }
.tva-page__head::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(61, 79, 196, .12) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, #000, transparent); -webkit-mask-image: linear-gradient(to bottom, #000, transparent); pointer-events: none; }
.tva-page__head > * { position: relative; }
.tva-page__head h1 { max-width: 820px; margin-left: auto; margin-right: auto; }
.tva-page__head p:last-child { color: var(--tva-muted); max-width: 640px; margin: 0 auto; font-size: 1.08rem; }
.tva-page__head--compact { padding: clamp(40px, 5vw, 64px) 20px; }
.tva-page__head--compact h1 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); }
.tva-page > .tva-cta { margin-top: clamp(56px, 8vw, 96px); }
.tva-page > .tva-section + .tva-cta, .tva-page > section:last-of-type.tva-cta { margin-top: 0; }

.tva-checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; }
.tva-checklist li { display: flex; gap: 10px; align-items: flex-start; }
.tva-checklist .tva-icon { color: var(--tva-success); margin-top: 3px; }
.tva-checklist--small { grid-template-columns: 1fr; gap: 8px; font-size: .95rem; margin: 18px 0; }

/* ---------- Forms ---------- */
.tva-fieldset { border: 0; padding: 0; margin: 0 0 36px; min-width: 0; }
.tva-fieldset > legend { font-family: var(--tva-font-display); font-size: 1.25rem; font-weight: 700; color: var(--tva-navy); margin-bottom: 16px; padding: 0; display: flex; align-items: center; gap: 10px; }
.tva-step { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, var(--tva-indigo), var(--tva-navy)); color: #fff; font-size: .9rem; }
.tva-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.tva-field { margin: 0 0 18px; display: flex; flex-direction: column; }
.tva-field--wide { grid-column: 1 / -1; }
.tva-field > label, .tva-checks > legend { font-weight: 600; margin-bottom: 6px; font-size: .95rem; color: var(--tva-ink); }
.tva-field abbr { color: var(--tva-error); text-decoration: none; border: 0; }
.tva input[type=text], .tva input[type=email], .tva input[type=tel], .tva input[type=date], .tva input[type=number], .tva select, .tva textarea {
	width: 100%; font: inherit; font-size: 1rem; color: var(--tva-ink); background: #fff; border: 1.5px solid #B9C1CF; border-radius: var(--tva-radius-sm); padding: 12px 14px; min-height: 50px; transition: border-color .15s, box-shadow .15s;
}
.tva textarea { min-height: 0; resize: vertical; }
.tva input:focus, .tva select:focus, .tva textarea:focus { outline: none; border-color: var(--tva-indigo); box-shadow: 0 0 0 4px rgba(61, 79, 196, .18); }
.tva [aria-invalid=true] { border-color: var(--tva-error) !important; }
.tva-checks { border: 0; padding: 0; }
.tva-checks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.tva-check { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; padding: 0 12px; border: 1px solid var(--tva-line); border-radius: 12px; }
.tva-check:has(input:checked) { border-color: var(--tva-indigo); background: var(--tva-indigo-soft); }
.tva-check input, .tva-terms input { width: 20px; height: 20px; accent-color: var(--tva-indigo); flex-shrink: 0; }
.tva-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tva-form, .tva-checkout__main { background: #fff; }

.tva-alert { padding: 14px 18px; border-radius: var(--tva-radius-sm); background: var(--tva-sky); border: 1px solid var(--tva-line); margin: 0 0 20px; }
.tva-alert--error { background: #FEF3F2; border-color: #FDA29B; color: var(--tva-error); }
.tva-alert--success { background: #ECFDF3; border-color: #75E0A7; color: #054F31; }

/* Checkout */
.tva-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 48px; align-items: start; }
.tva-choices { display: grid; gap: 12px; }
.tva-choices--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tva-choices--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tva-choice { position: relative; cursor: pointer; display: block; }
.tva-choice input { position: absolute; opacity: 0; inset: 0; }
.tva-choice__body { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 16px; border: 1.5px solid #C3CADA; border-radius: 14px; background: #fff; transition: border-color .15s, box-shadow .15s, background .15s; }
.tva-choice__body strong { color: var(--tva-navy); }
.tva-choice__body span { font-size: .87rem; color: var(--tva-muted); }
.tva-choice__price { font-family: var(--tva-font-display); font-weight: 800; color: var(--tva-navy) !important; font-size: 1.1rem !important; margin-top: 4px; }
.tva-choice:hover .tva-choice__body { border-color: var(--tva-indigo); }
.tva-choice input:checked + .tva-choice__body { border-color: var(--tva-indigo); box-shadow: 0 0 0 2px var(--tva-indigo); background: var(--tva-indigo-soft); }
.tva-choice input:focus-visible + .tva-choice__body { outline: 3px solid var(--tva-accent); outline-offset: 2px; }
.tva-terms { display: flex; gap: 12px; align-items: flex-start; padding: 16px; background: var(--tva-sky); border-radius: var(--tva-radius-sm); margin-bottom: 20px; cursor: pointer; line-height: 1.5; }
.tva-pay-option { border: 1px solid var(--tva-line); border-radius: var(--tva-radius); padding: 20px; }
.tva-pay-option__title { font-weight: 700; color: var(--tva-navy); margin-bottom: .25em !important; }
.tva-paypal { margin-top: 12px; min-height: 50px; }
.tva-pay-alt { display: grid; gap: 12px; margin-top: 4px; }
.tva-or { display: flex; align-items: center; gap: 12px; color: var(--tva-muted); margin: 12px 0 4px !important; font-size: .9rem; }
.tva-or::before, .tva-or::after { content: ""; flex: 1; height: 1px; background: var(--tva-line); }

.tva-summary { position: sticky; top: 100px; }
.tva-summary__card { background: #fff; border: 1px solid var(--tva-line); border-radius: 22px; overflow: hidden; box-shadow: var(--tva-shadow); padding: 26px; position: relative; }
.tva-summary__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, var(--tva-indigo), var(--tva-accent), var(--tva-coral)); }
.tva-summary__pkg { font-weight: 700; color: var(--tva-navy); font-size: 1.05rem; margin-bottom: .4em !important; }
.tva-summary__price { margin: 0 0 4px !important; }
.tva-summary__price .tva-sum-price { font-size: 2.7rem; font-weight: 800; color: var(--tva-navy); letter-spacing: -.03em; font-family: var(--tva-font-display); }
.tva-summary__price span + span { color: var(--tva-muted); margin-left: 3px; }
.tva-summary__next { background: var(--tva-sky); border-radius: var(--tva-radius-sm); padding: 14px 16px; font-size: .92rem; }
.tva-summary__next ol { margin: 6px 0 0; padding-left: 20px; color: var(--tva-muted); }
.tva-summary__help { margin-top: 14px !important; text-align: center; }

.tva-busy { position: fixed; inset: 0; z-index: 99999; background: rgba(15, 27, 61, .75); color: #fff; display: grid; place-items: center; font-size: 1.15rem; font-weight: 700; }
.tva-busy[hidden] { display: none; }

/* Contact */
.tva-contact { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 48px; align-items: start; }
.tva-contact__info { display: grid; gap: 14px; }
.tva-contact__item { display: flex; gap: 14px; align-items: center; padding: 18px; border: 1px solid var(--tva-line); border-radius: var(--tva-radius); text-decoration: none !important; color: var(--tva-ink) !important; transition: border-color .15s, box-shadow .15s, transform .15s; background: #fff; }
.tva-contact__item:hover { border-color: var(--tva-indigo); box-shadow: var(--tva-shadow); transform: translateY(-2px); }
.tva-contact__item > .tva-icon { width: 46px; height: 46px; padding: 11px; border-radius: 14px; background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); }
.tva-contact__item strong { display: block; color: var(--tva-navy); }
.tva-contact__form { background: #fff; border: 1px solid var(--tva-line); border-radius: 22px; padding: 30px; box-shadow: var(--tva-shadow-sm); }

/* Legal + thank you */
.tva-legal h2 { font-size: 1.35rem !important; margin-top: 2em !important; }
.tva-legal p, .tva-legal li { color: #2C3340; }
.tva-legal ul { padding-left: 1.2em; }
.tva-legal li { margin-bottom: .5em; line-height: 1.6; }
.tva-thanks { text-align: center; padding: clamp(56px, 9vw, 112px) 20px; }
.tva-thanks__icon { display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: #ECFDF3; color: var(--tva-success); margin-bottom: 20px; box-shadow: 0 0 0 10px #F5FEF8; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.tva-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tva-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
	.tva-week { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tva-billing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.tva-checkout { grid-template-columns: 1fr; }
	.tva-summary { position: static; order: -1; }
	.tva-summary .tva-checklist--small, .tva-summary__next, .tva-summary__help { display: none; }
	.tva-summary__card { padding: 20px 22px; }
	.tva-summary__price .tva-sum-price { font-size: 2.1rem; }
	.tva-contact { grid-template-columns: 1fr; }
	.tva-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tva-finder { grid-template-columns: 1fr; }
	.tva-faq-layout { grid-template-columns: 1fr; gap: 24px; }
	.tva-faq-layout__intro { position: static; }
}
@media (max-width: 900px) {
	.tva-hero__grid, .tva-split, .tva-split--even { grid-template-columns: 1fr; gap: 48px; }
	.tva-hero__art { min-height: 440px; max-width: 480px; width: 100%; margin: 0 auto; }
	.tva-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.tva-steps::before { display: none; }
	.tva-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tva-matrix__levels { grid-template-columns: 1fr; }
	.tva-choices--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.tva-wrap { padding: 0 16px; }
	.tva-hero__art { min-height: 400px; }
	.tva-float--main { width: 94%; padding: 18px; }
	.tva-float--inbox, .tva-float--lead { display: none; }
	.tva-float--cal { right: 0; bottom: -2%; }
	.tva-hero__rings { width: 340px; height: 340px; }
	.tva-facts-wrap { margin-top: -48px; }
	.tva-facts { grid-template-columns: 1fr 1fr; padding: 14px; gap: 6px; }
	.tva-fact { grid-template-columns: 1fr; text-align: left; row-gap: 6px; }
	.tva-fact__icon { grid-row: auto; width: 40px; height: 40px; }
	.tva-fact strong { font-size: 1rem; }
	.tva-services, .tva-steps, .tva-cards, .tva-grid-2, .tva-checks__grid, .tva-checklist, .tva-industries, .tva-billing { grid-template-columns: 1fr; }
	.tva-week { grid-template-columns: 1fr; }
	.tva-choices--3 { grid-template-columns: 1fr; }
	.tva-levels { grid-template-columns: 1fr; }
	.tva-levels__opt { text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
	.tva-levels__opt span { text-align: right; }
	.tva-actions .tva-btn, .tva-cta__actions .tva-btn { width: 100%; }
	.tva-cta__inner { flex-direction: column; align-items: stretch; }
	.tva-cta__actions { width: 100%; }
	.tva-contact__form, .tva-summary__card { padding: 20px; }
	.tva-finder__inputs, .tva-finder__result { padding: 24px; }
	.tva-finder__stats { grid-template-columns: 1fr; }
	.tva-receipt__foot strong { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tva *, .tva *::before, .tva *::after { transition: none !important; animation: none !important; }
	.tva-js .tva-reveal { opacity: 1; transform: none; }
	.tva-btn:hover, .tva-service:hover, .tva-card:hover { transform: none; }
}

/* ---------- Trust & offers ---------- */
.tva-gap { margin-top: 40px; }

/* Announcement banner */
.tva-banner { background: linear-gradient(90deg, #F2A93B, #F58A6B); color: #0F1B3D; font-size: .92rem; }
.tva-banner__inner { max-width: 1200px; margin: 0 auto; padding: 9px 20px; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; text-align: center; }
.tva-banner__tag { background: #0F1B3D; color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.tva-banner a { color: #0F1B3D !important; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* Founding offer block */
.tva-offer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; background: linear-gradient(135deg, #FFF4E2 0%, #FFE9D6 100%); border: 1px solid #F3D3A0; border-radius: 24px; padding: 28px 32px; margin: 0 0 40px; position: relative; overflow: hidden; }
.tva-offer::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(242, 169, 59, .35), transparent); pointer-events: none; }
.tva-offer__badge { width: 104px; height: 104px; border-radius: 50%; background: var(--tva-navy); color: #fff; display: grid; place-content: center; text-align: center; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; box-shadow: 0 10px 24px rgba(15, 27, 61, .25); transform: rotate(-8deg); }
.tva-offer__badge span { display: block; font-family: var(--tva-font-display); font-size: 2rem; letter-spacing: -.02em; color: var(--tva-accent); line-height: 1; }
.tva-offer h3 { font-size: 1.35rem !important; }
.tva-offer p { color: #3A3324; margin-bottom: .6em; }
.tva-offer__eg { font-size: .95rem; }
.tva-offer__eg s { color: var(--tva-muted); }
.tva-offer .tva-btn { position: relative; z-index: 1; }
.tva-card__offer { display: flex; align-items: center; gap: 6px; margin-top: 10px; padding: 7px 10px; border-radius: 10px; background: var(--tva-accent-soft); color: var(--tva-accent-dark); font-size: .82rem; font-weight: 600; }
.tva-card__offer strong { color: var(--tva-navy); }
.tva-summary__offer { margin: 6px 0 10px !important; padding: 10px 12px; border-radius: 12px; background: var(--tva-accent-soft); color: #5A3A05; font-size: .9rem; }
.tva-summary__offer strong { color: var(--tva-navy); }

/* Satisfaction promise */
.tva-promise { display: flex; align-items: center; gap: 28px; padding: 26px 30px; border-radius: 24px; background: #fff; border: 2px dashed #F3D3A0; }
.tva-promise__seal { width: 136px; height: 136px; flex-shrink: 0; filter: drop-shadow(0 8px 18px rgba(242, 169, 59, .35)); }
.tva-promise__seal svg { width: 100%; height: 100%; font-family: var(--tva-font-display); }
.tva-promise h3 { font-size: 1.3rem !important; margin-bottom: .3em !important; }
.tva-promise p { margin: 0; color: var(--tva-muted); }
@keyframes tva-spin { to { transform: rotate(360deg); } }
.tva-promise-mini { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1.5px dashed #F3D3A0; font-size: .86rem; }
.tva-promise-mini > .tva-icon { color: var(--tva-accent-dark); }
.tva-promise-mini strong { display: block; color: var(--tva-navy); font-size: .92rem; }
.tva-promise-mini span { color: var(--tva-muted); }

/* Reviews */
.tva-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tva-review { margin: 0; background: #fff; border-radius: 20px; padding: 26px; border: 1px solid #F1E3C8; box-shadow: var(--tva-shadow-sm); display: flex; flex-direction: column; }
.tva-review__stars { color: var(--tva-accent); font-size: 1.15rem; letter-spacing: 2px; margin-bottom: 12px; }
.tva-review__stars span { color: #E3E6EE; }
.tva-review blockquote { margin: 0 0 18px; flex: 1; }
.tva-review blockquote p { font-size: 1.02rem; color: #2C3340; margin: 0; }
.tva-review figcaption { display: flex; align-items: center; gap: 12px; }
.tva-review figcaption strong { display: block; color: var(--tva-navy); }
.tva-review figcaption span:last-child { font-size: .88rem; color: var(--tva-muted); }
.tva-review__avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--tva-indigo), var(--tva-coral)); }

/* Profiles */
.tva-profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tva-profile { background: #fff; border: 1px solid var(--tva-line); border-radius: 20px; padding: 24px; }
.tva-profile__head { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.tva-profile__head h3 { margin: 0 0 2px !important; }
.tva-profile__avatar { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; }
.tva-profile__meta { font-size: .88rem; color: var(--tva-muted); }
.tva-profile__label { font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--tva-muted); margin: 10px 0 6px !important; }
.tva-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tva-chips li { padding: 5px 11px; border-radius: 999px; background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); font-size: .84rem; font-weight: 600; }
.tva-chips--soft li { background: var(--tva-sky); color: var(--tva-muted); border: 1px solid var(--tva-line); }

/* Security */
.tva-security { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tva-security__item { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: 18px; background: linear-gradient(180deg, #fff, var(--tva-sky)); border: 1px solid var(--tva-line); }
.tva-security__icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; flex-shrink: 0; background: var(--tva-navy); color: var(--tva-accent); }
.tva-security__item h3 { font-size: 1.05rem !important; margin-bottom: .3em !important; }
.tva-security__item p { margin: 0; color: var(--tva-muted); font-size: .94rem; }

/* Socials */
.tva-socials { list-style: none; margin: 14px 0 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.tva-socials a { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; border: 1px solid var(--tva-line); color: var(--tva-navy); background: #fff; transition: transform .15s, background .15s; }
.tva-socials a:hover { transform: translateY(-2px); background: var(--tva-accent); color: var(--tva-navy); }

/* About / founder */
.tva-founder { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: center; }
.tva-founder__photo { position: relative; }
.tva-founder__frame { position: relative; aspect-ratio: 1 / 1; border-radius: 32px; overflow: hidden; background: var(--tva-hero-bg); box-shadow: var(--tva-shadow); }
.tva-founder__frame::before { content: ""; position: absolute; inset: 14px; border: 2px solid rgba(255, 255, 255, .25); border-radius: 22px; z-index: 1; pointer-events: none; }
.tva-founder__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tva-founder__initials { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--tva-font-display); font-size: clamp(4rem, 10vw, 7rem); font-weight: 800; color: #fff; letter-spacing: -.04em; }
.tva-founder__card { position: absolute; left: 24px; right: 24px; bottom: -28px; background: #fff; border-radius: 18px; padding: 16px 20px; box-shadow: var(--tva-shadow); z-index: 2; }
.tva-founder__card strong { display: block; font-family: var(--tva-font-display); color: var(--tva-navy); font-size: 1.15rem; }
.tva-founder__card > span { color: var(--tva-muted); font-size: .92rem; }
.tva-founder__card .tva-socials { margin-top: 10px; }
.tva-founder__story p { font-size: 1.08rem; color: #333B4C; }
.tva-founder__story .tva-actions { margin-top: 1.5rem; }
.tva-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tva-values > div { background: #fff; border-radius: 18px; padding: 24px; border: 1px solid var(--tva-line); }
.tva-values > div > span { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 14px; }
.tva-values p { margin: 0; color: var(--tva-muted); font-size: .95rem; }
.tva-company { display: flex; gap: 22px; align-items: flex-start; background: #fff; border: 1px solid var(--tva-line); border-radius: 22px; padding: 28px; max-width: 900px; margin: 0 auto; }
.tva-company__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); flex-shrink: 0; }
.tva-company dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
.tva-company dt { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tva-muted); }
.tva-company dd { margin: 2px 0 0; color: var(--tva-navy); font-weight: 600; }

@media (max-width: 1024px) {
	.tva-reviews, .tva-profiles, .tva-security { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tva-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tva-offer { grid-template-columns: auto minmax(0, 1fr); }
	.tva-offer > .tva-btn { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 900px) {
	.tva-founder { grid-template-columns: 1fr; gap: 64px; }
	.tva-founder__photo { max-width: 420px; margin: 0 auto; width: 100%; }
}
@media (max-width: 640px) {
	.tva-reviews, .tva-profiles, .tva-security, .tva-values, .tva-company dl { grid-template-columns: 1fr; }
	.tva-offer { grid-template-columns: 1fr; padding: 24px; text-align: left; }
	.tva-offer__badge { width: 84px; height: 84px; }
	.tva-offer > .tva-btn { width: 100%; }
	.tva-promise { flex-direction: column; text-align: center; padding: 24px; }
	.tva-company { flex-direction: column; }
	.tva-banner__inner { font-size: .84rem; gap: 6px 10px; }
}
@media (prefers-reduced-motion: reduce) { .tva-promise__seal { animation: none; } }

/* Explicit US$ prices: keep big amounts inside narrow cards */
.tva-card__amount { font-size: clamp(1.7rem, 2.3vw, 2.2rem); }
.tva-card__per { display: inline-block; white-space: nowrap; }
.tva-table td strong { font-size: 1.1rem; }
.tva-summary__price .tva-sum-price { font-size: 2.3rem; }

/* ---------- Client portal ---------- */
.tva-portal-head { background: var(--tva-hero-bg); color: #fff; padding: clamp(36px, 5vw, 56px) 0; }
.tva-portal-head__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.tva-portal-head .tva-eyebrow { color: var(--tva-accent); }
.tva-portal-head h1 { color: #fff !important; font-size: clamp(1.6rem, 3.2vw, 2.4rem) !important; margin: 0 !important; max-width: 760px; }
.tva-portal-body { padding-top: 32px; padding-bottom: 64px; }
.tva-portal-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.tva-portal-stats > div { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid var(--tva-line); border-radius: 16px; }
.tva-portal-stats span { grid-row: span 2; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; }
.tva-portal-stats strong { font-family: var(--tva-font-display); font-size: 1.6rem; color: var(--tva-navy); line-height: 1; font-variant-numeric: tabular-nums; }
.tva-portal-stats em { font-style: normal; color: var(--tva-muted); font-size: .9rem; }
.tva-newtask { background: #fff; border: 1px solid var(--tva-line); border-radius: 18px; margin-bottom: 32px; box-shadow: var(--tva-shadow-sm); }
.tva-newtask > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 18px 22px; font-weight: 800; color: var(--tva-navy); font-size: 1.08rem; }
.tva-newtask > summary::-webkit-details-marker { display: none; }
.tva-newtask > summary .tva-icon { color: #fff; background: var(--tva-accent-dark); border-radius: 8px; padding: 2px; }
.tva-newtask[open] > summary { border-bottom: 1px solid var(--tva-line); }
.tva-newtask .tva-form { padding: 22px; }
.tva-portal-h2 { font-size: 1.3rem !important; margin: 0 0 14px !important; }
.tva-tasklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tva-tasklist a { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid var(--tva-line); border-radius: 14px; text-decoration: none; color: var(--tva-ink); transition: border-color .15s, box-shadow .15s; }
.tva-tasklist a:hover { border-color: var(--tva-indigo); box-shadow: var(--tva-shadow-sm); }
.tva-tasklist .tva-pill { grid-row: span 2; }
.tva-tasklist strong { color: var(--tva-navy); overflow-wrap: anywhere; }
.tva-tasklist__meta { font-size: .86rem; color: var(--tva-muted); }
.tva-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .76rem; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.tva-pill--new { background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); }
.tva-pill--in_progress { background: var(--tva-accent-soft); color: var(--tva-accent-dark); }
.tva-pill--waiting { background: var(--tva-coral-soft); color: var(--tva-coral-dark); }
.tva-pill--done { background: var(--tva-teal-soft); color: var(--tva-teal-dark); }
.tva-empty { display: flex; gap: 14px; align-items: center; padding: 22px; border: 1.5px dashed var(--tva-line); border-radius: 16px; color: var(--tva-muted); }
.tva-empty p { margin: 0; }
.tva-taskcard { background: #fff; border: 1px solid var(--tva-line); border-radius: 18px; padding: 24px; margin-bottom: 28px; box-shadow: var(--tva-shadow-sm); }
.tva-taskcard h1 { font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important; margin: 10px 0 4px !important; overflow-wrap: anywhere; }
.tva-taskcard__body { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--tva-line); }
.tva-files { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tva-files a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 10px; background: var(--tva-sky); border: 1px solid var(--tva-line); font-size: .88rem; text-decoration: none; color: var(--tva-navy); max-width: 100%; overflow-wrap: anywhere; }
.tva-thread { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; }
.tva-msg { max-width: 82%; padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid var(--tva-line); }
.tva-msg p { margin: 0 0 .5em; }
.tva-msg p:last-child { margin: 0; }
.tva-msg--team { background: var(--tva-indigo-soft); border-color: #D4DAFB; border-bottom-left-radius: 4px; }
.tva-msg--me { justify-self: end; background: #fff; border-bottom-right-radius: 4px; }
.tva-msg--system { max-width: 100%; background: var(--tva-sky); color: var(--tva-muted); text-align: center; }
.tva-msg__who { font-size: .8rem; font-weight: 700; color: var(--tva-muted); margin-bottom: 4px; }
.tva-reply { background: #fff; border: 1px solid var(--tva-line); border-radius: 16px; padding: 18px; }
.tva-reply__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.tva-reply__row input[type=file] { flex: 1 1 220px; min-width: 0; }
.tva-portal-login { max-width: 460px; padding-bottom: 64px; }
.tva-portal-login__card { background: #fff; border: 1px solid var(--tva-line); border-radius: 20px; padding: 28px; box-shadow: var(--tva-shadow); }
.tva-portal-login__card #loginform p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.tva-portal-login__card #loginform p.login-remember { flex-direction: row; align-items: center; }
.tva-portal-login__card #loginform label { font-weight: 600; }
.tva-portal-login__card #loginform input[type=text], .tva-portal-login__card #loginform input[type=password] { width: 100%; font: inherit; padding: 12px 14px; min-height: 50px; border: 1.5px solid #B9C1CF; border-radius: 12px; }
.tva-portal-login__card #wp-submit { width: 100%; min-height: 50px; border: 0; border-radius: 999px; background: var(--tva-navy); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.tva-portal-login__card #wp-submit:hover { background: var(--tva-navy-2); }
@media (max-width: 640px) {
	.tva-portal-stats { grid-template-columns: 1fr; }
	.tva-msg { max-width: 100%; }
	.tva-tasklist a { grid-template-columns: 1fr; }
	.tva-tasklist .tva-pill { grid-row: auto; justify-self: start; }
}

/* ---------- Portal sections: tabs, repeating tasks, playbooks, calendar ---------- */
.tva-btn--sm { min-height: 38px; padding: .45em 1em; font-size: .9rem; }
.tva-btn--ghost-dark { background: #fff; border-color: var(--tva-line); color: var(--tva-navy) !important; }
.tva-btn--ghost-dark:hover { border-color: var(--tva-navy); }
.tva-btn--danger { background: #fff; border-color: var(--tva-coral-soft); color: var(--tva-coral-dark) !important; }
.tva-btn--danger:hover { border-color: var(--tva-coral); background: var(--tva-coral-soft); }
.tva-inline-form { display: inline; margin: 0; }
.tva-portal-tabs { background: #fff; border-bottom: 1px solid var(--tva-line); position: relative; }
.tva-portal-tabs .tva-wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.tva-portal-tabs .tva-wrap::-webkit-scrollbar { display: none; }
.tva-portal-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 14px 16px; color: var(--tva-muted); font-weight: 700; text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; }
.tva-portal-tabs a:hover { color: var(--tva-navy); }
.tva-portal-tabs a[aria-current="page"] { color: var(--tva-navy); border-bottom-color: var(--tva-accent); }
.tva-portal-tabs a:focus-visible { outline: 3px solid var(--tva-accent); outline-offset: -3px; }
.tva-portal-intro { margin-bottom: 18px; }
.tva-portal-intro p { margin: 0; max-width: 720px; }
.tva-cardlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tva-cardlist__item { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 16px 18px; background: #fff; border: 1px solid var(--tva-line); border-radius: 14px; }
.tva-cardlist__item.is-paused { background: var(--tva-sky); }
.tva-cardlist__main { display: grid; gap: 4px; min-width: 0; flex: 1 1 320px; }
.tva-cardlist__main > .tva-pill { justify-self: start; }
.tva-cardlist__main strong { color: var(--tva-navy); overflow-wrap: anywhere; }
.tva-cardlist__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tva-playbook > summary { cursor: pointer; display: grid; gap: 2px; list-style: none; }
.tva-playbook > summary::-webkit-details-marker { display: none; }
.tva-playbook__steps { margin-top: 10px; padding: 12px 14px; background: var(--tva-sky); border-radius: 10px; font-size: .95rem; }
.tva-playbook__steps p:last-child { margin-bottom: 0; }
.tva-taskcard__tag { margin: 12px 0 0; padding: 10px 12px; background: var(--tva-sky); border-radius: 10px; font-size: .92rem; color: var(--tva-ink); }
.tva-taskcard__tag .tva-icon, .tva-playbook > summary .tva-icon { vertical-align: -3px; color: var(--tva-indigo); }
.tva-taskcard__tag.tva-playbook > summary { display: block; }
.tva-cal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.tva-panel { background: #fff; border: 1px solid var(--tva-line); border-radius: 18px; padding: 24px; box-shadow: var(--tva-shadow-sm); min-width: 0; }
.tva-panel h3 { margin: 12px 0 6px !important; font-size: 1.2rem !important; color: var(--tva-navy); }
.tva-panel__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; }
.tva-cal-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.tva-copy { display: flex; gap: 8px; }
.tva-copy input { flex: 1; min-width: 0; font-size: .85rem; }
.tva-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.tva-howto { border: 1px solid var(--tva-line); border-radius: 12px; padding: 10px 14px; margin: 0 0 8px; }
.tva-howto > summary { cursor: pointer; font-weight: 700; color: var(--tva-navy); }
.tva-howto ol { margin: 10px 0 4px; padding-left: 20px; font-size: .95rem; }
.tva-cal-shared { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--tva-line); }
.tva-form [hidden] { display: none !important; }
@media (max-width: 820px) {
	.tva-cal-grid { grid-template-columns: minmax(0, 1fr); }
	.tva-portal-tabs .tva-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding-left: 0; padding-right: 0; }
	.tva-portal-tabs a { flex-direction: column; gap: 4px; padding: 10px 4px; font-size: .8rem; text-align: center; }
}

/* ---------- Marketing: client portal feature ---------- */
.tva-portal-feats { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 16px; }
.tva-portal-feats li { display: flex; gap: 14px; align-items: flex-start; }
.tva-portal-feats li > span { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; }
.tva-portal-feats strong { display: block; color: var(--tva-navy); font-size: 1.05rem; }
.tva-portal-feats li div span { color: var(--tva-muted); font-size: .97rem; }
.tva-portal-mock { background: #fff; border-radius: 22px; border: 1px solid var(--tva-line); box-shadow: var(--tva-shadow); overflow: hidden; min-width: 0; }
.tva-portal-mock__bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; background: var(--tva-navy); }
.tva-portal-mock__bar span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .25); }
.tva-portal-mock__bar em { font-style: normal; color: #D6DDEC; font-size: .82rem; font-weight: 600; margin-left: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tva-portal-mock__tabs { display: flex; gap: 18px; padding: 0 18px; border-bottom: 1px solid var(--tva-line); font-size: .85rem; overflow: hidden; }
.tva-portal-mock__tabs b, .tva-portal-mock__tabs i { padding: 11px 0; font-style: normal; white-space: nowrap; }
.tva-portal-mock__tabs b { color: var(--tva-navy); border-bottom: 3px solid var(--tva-accent); }
.tva-portal-mock__tabs i { color: var(--tva-muted); font-weight: 600; }
.tva-portal-mock__list { list-style: none; margin: 0; padding: 14px; display: grid; gap: 8px; }
.tva-portal-mock__list li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 1px; align-items: center; padding: 11px 13px; border: 1px solid var(--tva-line); border-radius: 12px; }
.tva-portal-mock__list .tva-pill { grid-row: span 2; justify-self: start; }
.tva-portal-mock__list strong { color: var(--tva-navy); font-size: .93rem; overflow-wrap: anywhere; }
.tva-portal-mock__list small { color: var(--tva-muted); font-size: .8rem; }
.tva-portal-mock__cal { display: flex; align-items: center; gap: 10px; margin: 0 14px 16px; padding: 10px 13px; border-radius: 12px; background: var(--tva-indigo-soft); color: var(--tva-indigo-dark); font-size: .85rem; }
.tva-portal-mock__cal span { flex: 1; min-width: 0; }
.tva-portal-mock__cal em { font-style: normal; font-size: .75rem; font-weight: 700; opacity: .8; white-space: nowrap; }
@media (max-width: 480px) {
	.tva-portal-mock__list li { grid-template-columns: minmax(0, 1fr); }
	.tva-portal-mock__list .tva-pill { grid-row: auto; margin-bottom: 4px; }
	.tva-portal-mock__cal em { display: none; }
}
.tva-offer__lock { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 0 !important; padding: 10px 14px; background: rgba(255, 255, 255, .55); border: 1px dashed var(--tva-accent-dark); border-radius: 12px; font-size: .97rem; }
.tva-offer__lock .tva-icon { flex: none; color: var(--tva-accent-dark); margin-top: 2px; }
.tva-offer__lock + .tva-offer__eg { margin-top: 12px !important; }
