/* Pricing layout uses the site's shared tokens; site.css owns both themes. */
body.pricing-page { margin:0; padding-top:70px; background:var(--ce-page-background); color:var(--ce-text); font-family:var(--ce-font); }
.pricing-page a { text-decoration:none; }
.pricing-page a:focus-visible,.pricing-page summary:focus-visible { outline:3px solid var(--ce-orange); outline-offset:4px; }
.pricing-page .pricing-header { display:flex; align-items:center; position:fixed; inset:0 0 auto; height:60px; padding:8px 20px; overflow:visible; }
.pricing-brand { display:flex; align-items:center; gap:11px; flex:1; min-width:0; color:#fff; font-weight:700; font-size:18px; line-height:1.2; }
.pricing-brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pricing-brand small { font-size:13px; font-weight:500; }
.pricing-header-premium { flex-shrink:0; background:var(--ce-gradient-premium); color:#172033; padding:9px 17px; border-radius:999px; font-size:13px; font-weight:750; }.pricing-header .switch { margin-left:8px; }
.pricing-page .pricing-main { display:block; width:min(1440px,calc(100% - 48px)); margin:auto; padding:24px 0 0; }
.pricing-intro { padding:40px 28px; margin:0 0 38px; text-align:center; background:var(--ce-gradient-card); border:1px solid var(--ce-line); border-radius:var(--ce-radius-lg); box-shadow:var(--ce-shadow); }
.pricing-eyebrow { color:var(--ce-orange-2); font-size:11px; font-weight:800; letter-spacing:.12em; margin:0 0 16px; }
.pricing-intro h1 { color:var(--ce-text); margin:0; font-size:clamp(34px,4vw,54px); font-weight:750; line-height:1.1; letter-spacing:-.04em; }.pricing-intro h1 span { color:var(--ce-blue-light); }
.pricing-intro>p:not(.pricing-eyebrow) { margin:20px 0; font-size:15px; color:var(--ce-text-2); line-height:1.65; }
.pricing-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; font-size:12px; color:var(--ce-muted); }
.pricing-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }.pricing-section-heading h2 { font-size:22px; margin:0 0 5px; color:var(--ce-text); }.pricing-section-heading p,.pricing-currency { font-size:12px; color:var(--ce-muted); margin:0; }
.pricing-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.pricing-card { display:flex; flex-direction:column; position:relative; min-width:0; padding:27px 20px 20px; background:var(--ce-surface); border:1px solid var(--ce-line); border-radius:var(--ce-radius-lg); box-shadow:var(--ce-shadow-sm); }
.pricing-card-kicker { font-size:9px; font-weight:800; letter-spacing:.08em; color:var(--ce-muted); margin:0 0 16px; }.pricing-card h3 { font-size:23px; color:var(--ce-text); margin:0 0 9px; letter-spacing:-.03em; line-height:1.2; }
.pricing-description { font-size:11px; min-height:36px; line-height:1.55; color:var(--ce-muted); margin:0 0 18px; }.pricing-amount { font-size:39px; letter-spacing:-.05em; font-weight:750; line-height:1.15; margin:0 0 8px; color:var(--ce-text); }.pricing-period { font-size:11px; color:var(--ce-muted); margin:0 0 22px; }
.pricing-cta { display:flex; align-items:center; justify-content:center; gap:10px; min-height:45px; padding:12px 10px; border:1px solid var(--ce-line-2); border-radius:var(--ce-radius); color:var(--ce-accent); font-size:12px; font-weight:750; line-height:1.3; text-align:center; transition:transform .15s,box-shadow .15s; }.pricing-cta span { margin-left:auto; }.pricing-cta:hover { transform:translateY(-2px); box-shadow:var(--ce-shadow); }.pricing-outline { background:var(--ce-surface); }.pricing-primary { color:#fff!important; background:var(--ce-accent); border-color:var(--ce-accent); }
.pricing-billing { font-size:9px; color:var(--ce-muted); text-align:center; margin:10px 0 22px; }
.pricing-card ul { list-style:none; margin:0 0 25px; padding:20px 0 0; border-top:1px solid var(--ce-line); display:grid; gap:13px; }.pricing-card li { display:flex; align-items:baseline; gap:7px; color:var(--ce-text-2); font-size:11px; line-height:1.5; }.pricing-card li::before { content:'✓'; color:var(--ce-accent); font-weight:800; flex-shrink:0; }.pricing-card-footer { font-size:10px; line-height:1.5; color:var(--ce-muted); padding-top:14px; border-top:1px solid var(--ce-line); margin:auto 0 0; }
.pricing-featured { border:2px solid var(--ce-orange); background:var(--ce-gradient-card); box-shadow:var(--ce-shadow); }.pricing-featured .pricing-card-kicker { color:var(--ce-orange-2); }.pricing-featured .pricing-amount { color:var(--ce-accent); }.pricing-featured .pricing-cta { background:var(--ce-orange-2); border-color:var(--ce-orange-2); }.pricing-featured .pricing-card-footer { color:var(--ce-accent); font-weight:700; }.pricing-recommended { position:absolute; left:-2px; right:-2px; top:-22px; height:25px; display:grid; place-items:center; border-radius:10px 10px 0 0; background:var(--ce-orange-2); color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em; }
.pricing-status { text-align:center; font-size:11px; color:var(--ce-muted); margin:21px 0 12px; }.pricing-payment { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; font-size:12px; color:var(--ce-muted); padding:14px 0 32px; }.pricing-payment span { font-size:10px; }
.pricing-included { display:grid; grid-template-columns:1fr 1fr; gap:65px; padding:40px; margin:32px 0 55px; border-radius:var(--ce-radius-lg); border:1px solid var(--ce-line); background:var(--ce-surface); box-shadow:var(--ce-shadow-sm); }.pricing-included h2 { color:var(--ce-text); font-size:32px; letter-spacing:-.035em; line-height:1.2; margin:0 0 18px; }.pricing-included p { color:var(--ce-text-2); font-size:13px; max-width:365px; }.pricing-included a { color:var(--ce-accent); font-size:13px; font-weight:700; }.pricing-included-items { display:grid; gap:22px; }.pricing-included-items article { display:flex; gap:20px; }.pricing-included-items article>span { color:var(--ce-muted); font-size:11px; padding-top:4px; }.pricing-included-items h3 { color:var(--ce-text); font-size:14px; margin:0 0 5px; }.pricing-included-items p { margin:0; font-size:12px; }
.pricing-faq { max-width:760px; margin:0 auto; }.pricing-faq h2 { color:var(--ce-text); text-align:center; font-size:28px; margin:0 0 24px; }.pricing-faq details { border-bottom:1px solid var(--ce-line); padding:19px 0; }.pricing-faq summary { cursor:pointer; color:var(--ce-text); font-size:13px; font-weight:650; }.pricing-faq details p { font-size:13px; color:var(--ce-text-2); line-height:1.8; margin:14px 0 0; }
.pricing-last { text-align:center; padding:55px 0; }.pricing-last h2 { color:var(--ce-text); font-size:27px; margin:12px 0 24px; }.pricing-last .pricing-cta { width:240px; margin:auto; }.pricing-free-link { display:block; margin-top:18px; font-size:12px; color:var(--ce-muted); text-decoration:underline!important; }
.pricing-page .pricing-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px max(24px,calc((100vw - 1440px)/2)); background:var(--ce-gradient-footer); color:#fff; font-size:12px; }.pricing-footer a { color:#fff; }.pricing-footer div { display:flex; gap:24px; }
.pricing-skip { position:absolute; top:-90px; left:20px; padding:12px; z-index:2147483647; background:var(--ce-surface); color:var(--ce-text); }.pricing-skip:focus { top:65px; }#plans { scroll-margin-top:85px; }
@media(min-width:1600px) { .pricing-card { padding:30px 25px 24px; }.pricing-card li,.pricing-description { font-size:12px; } }
@media(max-width:1100px) { .pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 16px; }.pricing-featured { grid-column:span 2; }.pricing-description { min-height:0; }.pricing-card li { font-size:12px; }.pricing-featured ul { grid-template-columns:1fr 1fr; }.pricing-included { padding:30px; gap:30px; } }
@media(max-width:650px) { .pricing-page .pricing-header { padding:8px 10px; gap:8px; }.pricing-brand { font-size:14px; }.pricing-brand small { display:none; }.pricing-brand .logo { height:30px; }.pricing-header-premium { font-size:11px; padding:8px 10px; }.pricing-header-premium span { display:none; }.pricing-header .switch { margin-left:0; }.pricing-page .pricing-main { width:calc(100% - 28px); padding-top:18px; }.pricing-intro { padding:30px 16px; margin-bottom:30px; }.pricing-intro h1 { font-size:36px; }.pricing-intro>p:not(.pricing-eyebrow) { font-size:14px; }.pricing-trust { gap:9px; font-size:10px; }.pricing-section-heading { flex-direction:column; align-items:start; gap:10px; }.pricing-grid { grid-template-columns:1fr; gap:18px; }.pricing-featured { grid-column:auto; margin-top:16px; }.pricing-featured ul { grid-template-columns:1fr; }.pricing-card { padding:25px; }.pricing-card h3 { font-size:25px; }.pricing-description,.pricing-period,.pricing-billing,.pricing-card-footer { font-size:12px; }.pricing-card li,.pricing-cta { font-size:13px; }.pricing-amount { font-size:44px; }.pricing-included { grid-template-columns:1fr; padding:25px; margin:30px 0 45px; }.pricing-included h2 { font-size:30px; }.pricing-payment { gap:15px; }.pricing-page .pricing-footer { flex-direction:column; text-align:center; }.pricing-last { padding:40px 0; } }
@media(prefers-reduced-motion:reduce) { .pricing-page * { scroll-behavior:auto; transition:none; } }
