/* Pricing page: shared brand typography, with scoped layouts. */
.pricing-page { --pricing-muted:#5b657b; }
.pricing-container { width:min(1160px, calc(100% - 64px)); margin-inline:auto; }
.pricing-hero { padding:82px 0 48px; text-align:center; background:radial-gradient(ellipse at 50% 0%,#e7eaff 0%,#f6f7fd 48%,#fff 85%); }
.pricing-eyebrow,.pricing-kicker { font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--primary); }
.pricing-eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid #d8ddf1; background:#ffffffa8; padding:8px 14px; border-radius:30px; }
.pricing-eyebrow>span { width:6px; height:6px; background:#2a3586; border-radius:50%; }
.pricing-hero h1 { font-size:clamp(36px,4.7vw,62px); line-height:1.12; margin:24px 0 20px; letter-spacing:-.045em; font-weight:600; }
.pricing-hero h1 em { color:var(--primary); font-style:normal; }
.pricing-hero p { max-width:650px; margin:auto; color:var(--pricing-muted); font-size:16px; line-height:1.85; }
.pricing-hero-actions { display:flex; align-items:center; justify-content:center; gap:28px; margin:28px 0 38px; }
.pricing-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding:12px 22px; border-radius:9px; background:var(--primary); color:white; font-weight:700; font-size:14px; border:1px solid transparent; transition:background .2s,box-shadow .2s; }
.pricing-button:hover { background:#1d255f; box-shadow:0 5px 16px #2a35861a; }
.pricing-text-link { display:inline-flex; gap:14px; align-items:center; color:var(--primary); font-size:14px; font-weight:700; }
.pricing-text-link:hover { text-decoration:underline; }
.pricing-highlights { display:flex; justify-content:center; flex-wrap:wrap; gap:18px 32px; color:#56627a; font-size:12px; padding-top:26px; border-top:1px solid #e6e9f4; }
.pricing-section { padding-block:64px; }
#plans,#compare { scroll-margin-top:96px; }
.pricing-section-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:30px; }
.pricing-page h2 { font-size:clamp(28px,3vw,39px); line-height:1.18; font-weight:600; letter-spacing:-.035em; margin-top:10px; }
.pricing-section-heading>p { font-size:13px; color:var(--pricing-muted); line-height:1.8; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pricing-card { padding:28px; border:1px solid #dfe4ee; border-radius:18px; background:#fff; box-shadow:0 5px 16px #15224a04; }
.pricing-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:24px; }
.pricing-plan-icon { width:40px; height:40px; display:grid; place-items:center; background:#f0f2fb; color:var(--primary); border-radius:11px; }
.pricing-plan-icon svg { width:20px; height:20px; }
.pricing-card-label { font-size:9px; letter-spacing:.07em; font-weight:800; color:#606a82; }
.pricing-card h3 { font-size:28px; font-weight:600; letter-spacing:-.03em; }
.pricing-card h3>span { display:block; font-family:Manrope,sans-serif; font-size:11px; letter-spacing:.07em; font-weight:600; color:#657088; margin-bottom:4px; }
.pricing-capacity { font-size:14px; color:#525d73; margin-top:8px; }
.pricing-users { display:flex; gap:8px; align-items:center; color:#657088; font-size:12px; margin:15px 0 24px; }
.pricing-users svg { width:15px; height:15px; }
.pricing-card .pricing-button { width:100%; }
.pricing-button-outline { background:#fff; border-color:#d1d7e8; color:var(--primary); }
.pricing-button-outline:hover { background:#f0f2fb; }
.pricing-card-divider { height:1px; background:#e7eaf2; margin:25px 0 20px; }
.pricing-includes { font-size:10px; letter-spacing:.09em; font-weight:800; color:#667089; margin-bottom:14px; }
.pricing-card ul { padding:0; list-style:none; display:grid; gap:12px; }
.pricing-card li { display:flex; align-items:baseline; gap:10px; font-size:12px; color:#49566c; line-height:1.6; }
.pricing-card li>span { color:#2d7a68; font-size:14px; }
.pricing-card-featured { background:linear-gradient(145deg,#303e93,#202b72); color:#fff; border-color:#303e93; box-shadow:0 12px 30px #2a358629; }
.pricing-card-featured .pricing-card-label { color:#edf0ff; background:#ffffff14; padding:5px 8px; border-radius:5px; }
.pricing-card-featured .pricing-plan-icon { background:#ffffff16; color:#fff; }
.pricing-card-featured h3>span,.pricing-card-featured .pricing-capacity,.pricing-card-featured .pricing-users,.pricing-card-featured .pricing-includes,.pricing-card-featured li { color:#e1e5ff; }
.pricing-card-featured li>span { color:#a8e3d6; }
.pricing-card-featured .pricing-card-divider { background:#ffffff29; }
.pricing-button-light { background:#fff; color:var(--primary); }
.pricing-button-light:hover { background:#e9edff; }
.pricing-plan-note { text-align:center; margin-top:28px; font-size:12px; color:var(--pricing-muted); line-height:1.9; }
.pricing-plan-note a { color:var(--primary); font-weight:700; white-space:nowrap; }
.pricing-foundation { padding:42px 0; background:#f6f8fc; border-block:1px solid #edf0f6; }
.pricing-foundation-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:36px; }
.pricing-foundation h2 { font-size:27px; }
.pricing-foundation svg,.pricing-extras svg { color:var(--primary); width:23px; height:23px; margin-bottom:14px; }
.pricing-foundation h3,.pricing-extras h3 { font-size:17px; font-weight:600; margin-bottom:8px; }
.pricing-foundation p,.pricing-extras p { color:var(--pricing-muted); font-size:12px; line-height:1.8; }
.pricing-legend { font-size:11px; }
.pricing-table-wrap { overflow:auto; border:1px solid #dfe4ef; border-radius:14px; }
.pricing-table { width:100%; min-width:900px; border-collapse:separate; border-spacing:0; font-size:11px; }
.pricing-table th,.pricing-table td { padding:13px 12px; border-bottom:1px solid #edf0f5; text-align:center; }
.pricing-table th:first-child { text-align:left; width:31%; }
.pricing-table thead th { color:var(--primary); background:#f1f3fb; padding-block:20px; font-size:12px; font-weight:800; }
.pricing-table tbody th[scope="row"] { font-weight:500; color:#4c586d; }
.pricing-table .pricing-category th { background:#f7f8fc; color:#273457; text-transform:uppercase; font-size:10px; letter-spacing:.08em; font-weight:800; }
.pricing-table tbody tr:not(.pricing-category):hover { background:#fafbfe; }
.pricing-check { color:#247460; font-size:16px; font-weight:700; }
.pricing-unavailable { color:#7c879a; }
.pricing-table-note,.pricing-scroll-hint { font-size:11px; color:var(--pricing-muted); margin-top:14px; }
.pricing-scroll-hint { margin:0 0 12px; }
.pricing-extras { background:#f7f8fc; padding:60px 0; }
.pricing-extras-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin-top:40px; }
.pricing-faq { display:grid; grid-template-columns:1fr 1.65fr; gap:80px; padding-block:80px; }
.pricing-faq>div>p { color:var(--pricing-muted); font-size:13px; margin:18px 0; }
.pricing-questions details { border-bottom:1px solid #e2e6ef; }
.pricing-questions summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
.pricing-questions summary::-webkit-details-marker { display:none; }
.pricing-questions summary span { font-weight:400; color:var(--primary); font-size:23px; transition:transform .2s; }
.pricing-questions details[open] summary span { transform:rotate(45deg); }
.pricing-questions details p { font-size:13px; line-height:1.9; color:var(--pricing-muted); padding-bottom:22px; }
.pricing-final { background:radial-gradient(ellipse at 100% 0%,#4554aa,transparent 65%),#242f79; border-radius:22px; padding:48px 54px; margin-bottom:72px; display:flex; align-items:center; justify-content:space-between; gap:40px; color:white; }
.pricing-final .pricing-kicker { color:#c4ceff; }
.pricing-final h2 { font-size:39px; }
.pricing-final p { color:#d7ddf8; font-size:13px; margin-top:17px; max-width:480px; line-height:1.8; }
.pricing-final-actions { display:flex; flex-direction:column; gap:16px; text-align:center; flex-shrink:0; }
.pricing-final-actions>a:last-child { font-size:12px; color:#e1e6ff; }
.pricing-page :focus-visible { outline:3px solid #0b8ab5; outline-offset:4px; }
.pricing-skip { position:fixed; top:-80px; left:20px; z-index:100; background:#fff; padding:12px 20px; }
.pricing-skip:focus { top:10px; }
.pricing-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1050px) { .pricing-card { padding:22px; } .pricing-card-label { font-size:8px; } .pricing-foundation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pricing-section-heading { align-items:start; flex-direction:column; gap:14px; } .pricing-extras-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pricing-faq { gap:35px; grid-template-columns:1fr; } .pricing-final { padding:36px; flex-direction:column; align-items:start; } }
@media (max-width:540px) { .pricing-container { width:calc(100% - 36px); } .pricing-hero { padding:48px 0 28px; } .pricing-hero h1 { font-size:37px; } .pricing-hero h1 br { display:none; } .pricing-hero p { font-size:14px; } .pricing-eyebrow { font-size:9px; } .pricing-hero-actions { gap:22px; } .pricing-highlights { gap:12px; flex-direction:column; font-size:11px; } .pricing-section { padding-block:42px; } .pricing-grid { grid-template-columns:1fr; gap:18px; } .pricing-card { padding:26px; } .pricing-card-label { font-size:9px; } .pricing-card li { font-size:13px; } .pricing-foundation-grid,.pricing-extras-grid { grid-template-columns:1fr; gap:28px; } .pricing-final { padding:30px 24px; margin-bottom:42px; } .pricing-final h2 { font-size:31px; } .pricing-final-actions { width:100%; } .pricing-table th:first-child { min-width:230px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .pricing-page *, .pricing-page *::before, .pricing-page *::after { animation:none!important; transition:none!important; } }
