/* Cartera commercial landing — scoped to avoid changing shared marketing pages. */
.k12-cartera-page { overflow-x: hidden; background: var(--page); color: var(--text-primary); }
.k12-cartera-shell { width: min(1200px, calc(100% - 64px)); margin: 0 auto; }
.k12-cartera-skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; border-radius: 8px; background: var(--green); color: #08090a; font-weight: 700; transform: translateY(-150%); }
.k12-cartera-skip-link:focus { transform: translateY(0); }
.k12-cartera-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--border-subtle); background: color-mix(in srgb, var(--page) 90%, transparent); backdrop-filter: blur(16px); }
.k12-cartera-nav { display: flex; align-items: center; min-height: 72px; gap: 28px; }
.k12-cartera-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.k12-cartera-nav-links { display: flex; align-items: center; gap: 24px; margin-left: 32px; }
.k12-cartera-nav-links a, .k12-cartera-footer-grid a:not(.k12-cartera-brand) { color: var(--text-secondary); font-size: 14px; transition: color 160ms ease; }
.k12-cartera-nav-links a:hover, .k12-cartera-footer-grid a:hover { color: var(--green); }
.k12-cartera-nav-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.k12-cartera-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: var(--green); font: 600 11px/1.2 'Roboto Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.k12-cartera-eyebrow span { width: 18px; height: 1px; background: currentColor; }

.k12-cartera-hero { overflow: hidden; padding: 94px 0 96px; border-bottom: 1px solid var(--border-subtle); background: radial-gradient(circle at 78% 18%, rgba(var(--green-rgb), .15), transparent 31%), var(--page); }
.k12-cartera-hero-grid { display: grid; grid-template-columns: minmax(0, .93fr) minmax(440px, 1.07fr); align-items: center; gap: 72px; }
.k12-cartera-hero-copy h1 { max-width: 650px; margin: 0; font-size: clamp(42px, 5vw, 68px); font-weight: 600; line-height: 1.04; letter-spacing: -.055em; }
.k12-cartera-lead { max-width: 615px; margin: 28px 0 0; color: var(--text-secondary); font-size: 18px; line-height: 1.65; }
.k12-cartera-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.k12-cartera-hero-proof { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 23px 0 0; margin: 36px 0 0; border-top: 1px solid var(--border-subtle); color: var(--text-tertiary); font-size: 13px; list-style: none; }
.k12-cartera-hero-proof li::before { margin-right: 8px; color: var(--green); content: '✓'; }
.k12-cartera-animate { animation: k12-cartera-rise 650ms both cubic-bezier(.2,.75,.2,1); }
.k12-cartera-hero-grid > :nth-child(2) { animation-delay: 100ms; }
@keyframes k12-cartera-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

.k12-cartera-dashboard { position: relative; overflow: hidden; padding: 12px; border: 1px solid var(--border-solid); border-radius: 18px; background: var(--raised); box-shadow: var(--shadow-card); }
.k12-cartera-dashboard-premium::after { position: absolute; top: -100px; right: -80px; width: 240px; height: 240px; border-radius: 50%; background: rgba(var(--green-rgb), .09); content: ''; filter: blur(8px); pointer-events: none; }
.k12-cartera-dashboard-bar { position: relative; z-index: 1; display: flex; justify-content: space-between; padding: 10px 12px 16px; color: var(--text-tertiary); font: 500 10px/1 'Roboto Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.k12-cartera-dashboard-content { position: relative; z-index: 1; padding: 28px; border: 1px solid var(--soft-line); border-radius: 12px; background: color-mix(in srgb, var(--page) 82%, var(--raised)); }
.k12-cartera-dashboard-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.k12-cartera-dashboard-kicker { display: block; color: var(--text-tertiary); font: 500 10px/1 'Roboto Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.k12-cartera-dashboard-title strong { display: block; margin-top: 8px; font-size: 22px; letter-spacing: -.035em; }
.k12-cartera-dashboard-period { flex: 0 0 auto; padding: 7px 9px; border: 1px solid var(--border-solid); border-radius: 7px; color: var(--text-secondary); font-size: 11px; }
.k12-cartera-dashboard-track { display: flex; align-items: center; gap: 8px; margin: 28px 0 22px; padding: 12px; border: 1px solid var(--border-subtle); border-radius: 9px; color: var(--text-tertiary); font: 600 10px/1 'Roboto Mono', monospace; letter-spacing: .03em; text-transform: uppercase; }
.k12-cartera-dashboard-track span.is-current { color: var(--green); }
.k12-cartera-dashboard-track i { flex: 1; min-width: 8px; height: 1px; background: var(--border-solid); }
.k12-cartera-dashboard-panels { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.k12-cartera-dashboard-panel { min-width: 0; padding: 17px; border: 1px solid var(--border-subtle); border-radius: 10px; background: color-mix(in srgb, var(--raised) 75%, transparent); }
.k12-cartera-panel-heading { display: flex; align-items: center; gap: 10px; }
.k12-cartera-panel-icon, .k12-cartera-use-case-icon, .k12-cartera-payment-icon { display: grid; place-items: center; flex: 0 0 auto; color: var(--green); border: 1px solid rgba(var(--green-rgb), .32); background: rgba(var(--green-rgb), .09); }
.k12-cartera-panel-icon { width: 30px; height: 30px; border-radius: 8px; }
.k12-cartera-panel-icon svg { width: 17px; height: 17px; }
.k12-cartera-panel-heading strong, .k12-cartera-panel-heading small { display: block; }
.k12-cartera-panel-heading strong { font-size: 12px; }.k12-cartera-panel-heading small { margin-top: 3px; color: var(--text-tertiary); font-size: 10px; }
.k12-cartera-policy-row { display: flex; justify-content: space-between; gap: 9px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 11px; }
.k12-cartera-policy-row b { color: #e4bd6a; font-weight: 600; }.k12-cartera-policy-row b.is-allowed { color: var(--green); }
.k12-cartera-message { display: grid; grid-template-columns: 7px 1fr; column-gap: 9px; align-items: start; margin-top: 14px; padding: 11px; border-radius: 8px; background: rgba(var(--green-rgb), .075); }
.k12-cartera-message > span { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--green); }.k12-cartera-message p { margin: 0; color: var(--text-secondary); font-size: 11px; line-height: 1.35; }.k12-cartera-message em { grid-column: 2; margin-top: 5px; color: var(--text-tertiary); font-size: 9px; font-style: normal; }
.k12-cartera-dashboard-sync { display: flex; align-items: center; gap: 10px; margin-top: 13px; padding: 14px; border: 1px solid rgba(var(--green-rgb), .2); border-radius: 10px; background: linear-gradient(90deg, rgba(var(--green-rgb), .11), transparent); }
.k12-cartera-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(var(--green-rgb), .13); }.k12-cartera-dashboard-sync p { margin: 0; margin-right: auto; }.k12-cartera-dashboard-sync strong, .k12-cartera-dashboard-sync small { display: block; }.k12-cartera-dashboard-sync strong { font-size: 12px; }.k12-cartera-dashboard-sync small { margin-top: 3px; color: var(--text-secondary); font-size: 10px; }.k12-cartera-sync-badge { padding: 5px 7px; border: 1px solid rgba(var(--green-rgb), .25); border-radius: 999px; color: var(--green); font: 600 9px/1 'Roboto Mono', monospace; text-transform: uppercase; }

.k12-cartera-logo-section { padding: 54px 0 58px; border-bottom: 1px solid var(--border-subtle); background: var(--page); }
.k12-cartera-logo-title { margin: 0 0 30px; color: var(--text-tertiary); font: 600 11px/1.2 'Roboto Mono', monospace; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.k12-cartera-logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 0; margin: 0; list-style: none; }
.k12-cartera-logo-grid li { display: grid; place-items: center; min-height: 92px; padding: 18px; border: 1px solid var(--border-subtle); border-radius: 12px; background: color-mix(in srgb, var(--raised) 58%, transparent); }
.k12-cartera-logo-grid .mkt-client-logo-slot { max-width: 100%; }

.k12-cartera-section { padding: 112px 0; border-bottom: 1px solid var(--border-subtle); }.k12-cartera-section-muted, .k12-cartera-resources { background: var(--raised); }.k12-cartera-section-heading { max-width: 780px; }.k12-cartera-heading-wide { max-width: 910px; }
.k12-cartera-section h2, .k12-cartera-final-cta h2 { margin: 0; font-size: clamp(32px, 3.8vw, 51px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.k12-cartera-section-heading > p:last-child, .k12-cartera-payments-layout > div > p:not(.k12-cartera-eyebrow), .k12-cartera-orchestration-grid > div > p:not(.k12-cartera-eyebrow), .k12-cartera-checklist-layout > div > p:not(.k12-cartera-eyebrow) { margin: 22px 0 0; color: var(--text-secondary); font-size: 17px; line-height: 1.6; }
.k12-cartera-answer-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }.k12-cartera-answer-copy { padding: 6px 0 6px 30px; border-left: 1px solid rgba(var(--green-rgb), .5); }.k12-cartera-answer-copy p { margin: 0; color: var(--text-secondary); font-size: 18px; line-height: 1.68; }
.k12-cartera-text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; color: var(--green); font-weight: 600; }.k12-cartera-text-link span { transition: transform 160ms ease; }.k12-cartera-text-link:hover span { transform: translateX(4px); }

.k12-cartera-use-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }.k12-cartera-use-case-card { display: flex; flex-direction: column; min-height: 500px; padding: 29px; border: 1px solid var(--border-subtle); border-radius: 16px; background: var(--page); box-shadow: 0 1px 0 rgba(255,255,255,.03) inset; transition: transform 180ms ease, border-color 180ms ease; }.k12-cartera-use-case-card:hover { border-color: rgba(var(--green-rgb), .45); transform: translateY(-4px); }.k12-cartera-card-top { display: flex; align-items: center; justify-content: space-between; }.k12-cartera-use-case-icon { width: 42px; height: 42px; border-radius: 12px; }.k12-cartera-use-case-icon svg { width: 22px; height: 22px; }.k12-cartera-card-number, .k12-cartera-payment-label, .k12-cartera-module-tag { color: var(--green); font: 600 11px/1 'Roboto Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.k12-cartera-module-tag { margin: 34px 0 0; }.k12-cartera-use-case-card h3 { margin: 15px 0 0; font-size: 23px; line-height: 1.17; letter-spacing: -.035em; }.k12-cartera-use-case-card > p:not(.k12-cartera-module-tag) { margin: 16px 0 0; color: var(--text-secondary); line-height: 1.58; }.k12-cartera-use-case-card .k12-cartera-text-link { margin-top: auto; padding-top: 24px; }
.k12-cartera-mini-policy, .k12-cartera-mini-message, .k12-cartera-mini-sync { margin-top: 26px; min-height: 58px; border: 1px solid var(--border-subtle); border-radius: 10px; background: color-mix(in srgb, var(--raised) 75%, transparent); }
.k12-cartera-mini-policy { display: flex; align-items: center; gap: 9px; padding: 13px; color: var(--text-secondary); font-size: 11px; }.k12-cartera-mini-policy i { flex: 1; height: 1px; background: var(--border-solid); }.k12-cartera-mini-policy strong { color: var(--green); font-size: 11px; }
.k12-cartera-mini-message { display: flex; align-items: center; gap: 10px; padding: 10px 12px; }.k12-cartera-mini-avatar { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: rgba(var(--green-rgb), .13); color: var(--green); font: 600 10px/1 'Roboto Mono', monospace; }.k12-cartera-mini-message p { margin: 0; margin-right: auto; font-size: 11px; }.k12-cartera-mini-message small { display: block; margin-top: 4px; color: var(--text-tertiary); font-size: 10px; }.k12-cartera-mini-message i { color: var(--green); font-size: 14px; font-style: normal; }.k12-cartera-mini-sync { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 13px; color: var(--text-secondary); font-size: 11px; }.k12-cartera-mini-sync i { flex: 1; max-width: 28px; height: 1px; background: var(--border-solid); }.k12-cartera-mini-sync strong { color: var(--green); }

.k12-cartera-payments-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 110px; }.k12-cartera-payment-card { padding: 34px; border: 1px solid var(--border-subtle); border-radius: 16px; background: linear-gradient(145deg, rgba(var(--green-rgb), .11), var(--raised) 50%, var(--page)); }.k12-cartera-payment-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0; margin: 25px 0 0; list-style: none; }.k12-cartera-payment-grid li { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 12px; border: 1px solid var(--border-solid); border-radius: 9px; background: color-mix(in srgb, var(--page) 72%, transparent); font-size: 14px; font-weight: 500; }.k12-cartera-payment-icon { width: 28px; height: 28px; border-radius: 7px; }.k12-cartera-payment-icon svg { width: 16px; height: 16px; }.k12-cartera-payment-card > p { margin: 21px 0 0; color: var(--text-tertiary); font-size: 12px; line-height: 1.55; }

.k12-cartera-orchestration-grid { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 120px; }.k12-cartera-orchestration-list { display: grid; padding: 0; margin: 0; border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; list-style: none; }.k12-cartera-orchestration-list li { display: flex; gap: 18px; padding: 23px; border-bottom: 1px solid var(--border-subtle); }.k12-cartera-orchestration-list li:last-child { border-bottom: 0; }.k12-cartera-orchestration-list span { display: grid; place-items: center; flex: 0 0 29px; height: 29px; border: 1px solid rgba(var(--green-rgb), .35); border-radius: 50%; color: var(--green); font: 600 12px/1 'Roboto Mono', monospace; }.k12-cartera-orchestration-list strong { font-size: 16px; }.k12-cartera-orchestration-list p { margin: 6px 0 0; color: var(--text-secondary); line-height: 1.5; }
.k12-cartera-checklist-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 100px; }.k12-cartera-checklist-card { padding: 32px; border: 1px solid var(--border-subtle); border-radius: 14px; background: var(--page); }.k12-cartera-checklist-card ul { display: grid; gap: 19px; padding: 0; margin: 0 0 30px; list-style: none; }.k12-cartera-checklist-card li { display: flex; gap: 12px; color: var(--text-secondary); line-height: 1.5; }.k12-cartera-checklist-card li span { color: var(--green); font-weight: 700; }
.k12-cartera-faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }.k12-cartera-faq-list { border-top: 1px solid var(--border-subtle); }.k12-cartera-faq-list details { border-bottom: 1px solid var(--border-subtle); }.k12-cartera-faq-list summary { padding: 23px 30px 23px 0; cursor: pointer; font-size: 17px; font-weight: 500; list-style: none; }.k12-cartera-faq-list summary::-webkit-details-marker { display: none; }.k12-cartera-faq-list summary::after { float: right; color: var(--green); content: '+'; font-size: 22px; font-weight: 400; }.k12-cartera-faq-list details[open] summary::after { content: '−'; }.k12-cartera-faq-list p { max-width: 680px; padding: 0 30px 23px 0; margin: 0; color: var(--text-secondary); line-height: 1.6; }
.k12-cartera-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 45px; }.k12-cartera-resource-grid--four { grid-template-columns: repeat(4, 1fr); }.k12-cartera-resource-grid a { display: flex; flex-direction: column; min-height: 230px; padding: 29px; border: 1px solid var(--border-subtle); border-radius: 14px; background: var(--page); transition: transform 160ms ease, border-color 160ms ease; }.k12-cartera-resource-grid a:hover { border-color: rgba(var(--green-rgb), .5); transform: translateY(-4px); }.k12-cartera-resource-grid span { color: var(--green); font: 600 11px/1 'Roboto Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.k12-cartera-resource-grid strong { margin-top: 45px; font-size: 20px; line-height: 1.25; letter-spacing: -.025em; }.k12-cartera-resource-grid em { margin-top: auto; color: var(--text-secondary); font-size: 14px; font-style: normal; }
.k12-cartera-final-cta { padding: 132px 0; text-align: center; background: radial-gradient(circle at 50% 100%, rgba(var(--green-rgb), .16), transparent 36%), var(--page); }.k12-cartera-final-cta .k12-cartera-eyebrow { justify-content: center; }.k12-cartera-final-cta h2 { max-width: 760px; margin-inline: auto; }.k12-cartera-final-cta > .k12-cartera-shell > p:not(.k12-cartera-eyebrow) { max-width: 620px; margin: 22px auto 34px; color: var(--text-secondary); font-size: 17px; line-height: 1.6; }
.k12-cartera-footer { padding: 70px 0 22px; border-top: 1px solid var(--border-subtle); background: var(--raised); }.k12-cartera-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 42px; }.k12-cartera-footer-grid p { max-width: 240px; margin: 18px 0 0; color: var(--text-secondary); font-size: 14px; line-height: 1.5; }.k12-cartera-footer-grid strong { display: block; margin-bottom: 17px; font-size: 13px; }.k12-cartera-footer-grid a:not(.k12-cartera-brand) { display: block; margin: 0 0 11px; }.k12-cartera-footer-bottom { margin-top: 60px; padding-top: 18px; border-top: 1px solid var(--border-subtle); color: var(--text-tertiary); font-size: 12px; }.k12-cartera-mobile-cta { display: none; }

@media (max-width: 1080px) { .k12-cartera-use-case-grid { grid-template-columns: 1fr; }.k12-cartera-use-case-card { min-height: 0; }.k12-cartera-resource-grid--four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 960px) { .k12-cartera-hero-grid, .k12-cartera-payments-layout, .k12-cartera-orchestration-grid, .k12-cartera-checklist-layout, .k12-cartera-faq-layout, .k12-cartera-answer-layout { grid-template-columns: 1fr; gap: 48px; }.k12-cartera-dashboard { max-width: 690px; }.k12-cartera-footer-grid { grid-template-columns: repeat(2, 1fr); }.k12-cartera-footer-grid > div:first-child { grid-column: span 2; }.k12-cartera-section { padding: 84px 0; }.k12-cartera-answer-copy { padding-left: 23px; } }
@media (max-width: 680px) { .k12-cartera-shell { width: min(100% - 40px, 1200px); }.k12-cartera-header { position: static; }.k12-cartera-nav { min-height: 62px; gap: 12px; }.k12-cartera-nav-links { display: none; }.k12-cartera-nav-actions { gap: 8px; }.k12-cartera-nav-actions .btn-mkt { padding: 10px 12px; font-size: 12px; }.k12-cartera-hero { padding: 66px 0 70px; }.k12-cartera-hero-copy h1 { font-size: 42px; }.k12-cartera-lead { font-size: 16px; }.k12-cartera-hero-actions .btn-mkt { width: 100%; justify-content: center; }.k12-cartera-dashboard-content { padding: 20px; }.k12-cartera-dashboard-track { gap: 5px; padding-inline: 8px; font-size: 8px; }.k12-cartera-dashboard-panels { grid-template-columns: 1fr; }.k12-cartera-dashboard-sync { align-items: flex-start; }.k12-cartera-sync-badge { display: none; }.k12-cartera-logo-section { padding: 42px 0 46px; }.k12-cartera-logo-title { margin-bottom: 22px; font-size: 10px; }.k12-cartera-logo-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }.k12-cartera-logo-grid li { min-height: 78px; padding: 14px; }.k12-cartera-logo-grid .mkt-client-logo-slot { --logo-height: 28px !important; --logo-max-width: 124px !important; }.k12-cartera-section h2, .k12-cartera-final-cta h2 { font-size: 34px; }.k12-cartera-section { padding: 68px 0; }.k12-cartera-section-heading > p:last-child, .k12-cartera-payments-layout > div > p:not(.k12-cartera-eyebrow), .k12-cartera-orchestration-grid > div > p:not(.k12-cartera-eyebrow), .k12-cartera-checklist-layout > div > p:not(.k12-cartera-eyebrow), .k12-cartera-answer-copy p { font-size: 16px; }.k12-cartera-payment-card { padding: 22px; }.k12-cartera-payment-grid, .k12-cartera-resource-grid--four { grid-template-columns: 1fr; }.k12-cartera-resource-grid { grid-template-columns: 1fr; }.k12-cartera-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }.k12-cartera-footer-grid > div:first-child { grid-column: span 2; }.k12-cartera-mobile-cta { position: fixed; z-index: 35; right: 16px; bottom: 16px; display: inline-flex; box-shadow: 0 8px 30px rgba(0,0,0,.28); }.k12-cartera-final-cta { padding: 90px 0; } }
@media (prefers-reduced-motion: reduce) { .k12-cartera-page *, .k12-cartera-page *::before, .k12-cartera-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
