/* ── pricing.css ── */
.pricing-hero { text-align: center; position: relative; overflow: hidden; padding-bottom: 48px; }
.pricing-h1 { font-family: var(--font-display); font-size: clamp(40px,5vw,62px); font-weight: 800; letter-spacing: -2px; line-height: 1.0; color: var(--tx); margin-bottom: 18px; }
.pricing-h1 em { font-style: normal; color: var(--ac); }
.pricing-sub { font-size: 17px; color: var(--tx2); max-width: 560px; margin: 0 auto 32px; line-height: 1.7; font-weight: 300; }
.pricing-trust { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
.trust-pill { background: var(--sf); border: 1px solid var(--br2); border-radius: 100px; padding: 6px 16px; font-size: 13px; color: var(--tx2); display: flex; align-items: center; gap: 8px; }
.billing-toggle-wrap { display: flex; align-items: center; justify-content: center; gap: 14px; }
.billing-label { font-size: 13px; color: var(--tx3); }
.billing-toggle { display: flex; background: var(--sf); border: 1px solid var(--br2); border-radius: 9px; padding: 4px; gap: 2px; }
.bt-opt { background: transparent; border: none; color: var(--tx3); font-size: 13px; font-weight: 500; padding: 7px 18px; border-radius: 7px; cursor: pointer; transition: all .2s; }
.bt-opt.active { background: var(--sf3); color: var(--tx); border: 1px solid var(--br2); }
.save-badge { background: var(--gnd); border: 1px solid var(--gnb); color: var(--gn); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 100px; transition: opacity .3s; }
.models-section { padding-top: 40px; }
.models-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 14px; }
.project-models-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.model-card { background: var(--sf); border: 1px solid var(--br); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s; position: relative; }
.model-card:hover { border-color: var(--br2); }
.model-card.featured { border: 2px solid var(--ac); }
.model-top { height: 3px; }
.model-badge { position: absolute; top: 16px; right: 16px; background: var(--acd); border: 1px solid var(--acb); color: #7AABFF; font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 100px; letter-spacing: .05em; text-transform: uppercase; }
.model-body { padding: 28px; flex: 1; display: flex; flex-direction: column; gap: 0; }
.model-num { font-size: 11px; color: var(--tx3); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; margin-bottom: 10px; }
.model-title { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--tx); letter-spacing: -.4px; margin-bottom: 8px; }
.model-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; font-weight: 300; margin-bottom: 20px; }
.price-area { padding-bottom: 20px; border-bottom: 1px solid var(--br); margin-bottom: 20px; }
.price-from { font-size: 11px; color: var(--tx3); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.price-display { display: flex; align-items: baseline; gap: 3px; margin-bottom: 6px; }
.price-currency { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--tx2); }
.price-amount { font-family: var(--font-display); font-size: 42px; font-weight: 800; letter-spacing: -2px; color: var(--tx); line-height: 1; }
.price-period { font-size: 13px; color: var(--tx3); }
.price-note { font-size: 11px; color: var(--tx3); line-height: 1.4; }
.includes-label { font-size: 11px; color: var(--tx3); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; margin-bottom: 12px; }
.feature-list { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 24px; }
.feat { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--tx2); line-height: 1.4; }
.feat::before { content: '✓'; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.feat.blue::before   { background: var(--acd); color: #7AABFF; }
.feat.green::before  { background: var(--gnd); color: var(--gn); }
.feat.purple::before { background: var(--pud); color: var(--pu); }
.feat.gold::before   { background: var(--god); color: var(--go); }
.feat.off { color: var(--tx4); }
.feat.off::before { background: var(--sf2); color: var(--tx4); content: '—'; font-size: 12px; }
.enterprise-card { background: var(--sf2); border: 1px solid var(--br2); border-radius: 16px; padding: 36px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 32px; align-items: center; }
.enterprise-title { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--tx); letter-spacing: -.4px; margin-bottom: 8px; }
.enterprise-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; font-weight: 300; }
.enterprise-features { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.enterprise-features li { font-size: 13px; color: var(--tx2); display: flex; align-items: center; gap: 8px; }
.enterprise-features li::before { content: '✓'; color: var(--gn); font-size: 11px; font-weight: 700; }
.enterprise-cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.enterprise-note { font-size: 11px; color: var(--tx3); text-align: right; line-height: 1.5; }
.process-section {}
.onboard-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; list-style: none; position: relative; margin-top: 40px; }
.onboard-steps::before { content: ''; position: absolute; top: 23px; left: 10%; right: 10%; height: 1px; background: var(--br2); }
.os-step { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 12px; position: relative; }
.os-num { width: 46px; height: 46px; border-radius: 50%; background: var(--sf2); border: 1px solid var(--br2); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 15px; font-weight: 800; color: var(--tx); margin-bottom: 14px; position: relative; z-index: 1; transition: all .2s; }
.os-step.active .os-num { background: var(--acd); border-color: var(--acb); color: #7AABFF; }
.os-step.done .os-num   { background: var(--gnd); border-color: var(--gnb); color: var(--gn); }
.os-title { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--tx); margin-bottom: 6px; }
.os-desc  { font-size: 11px; color: var(--tx3); line-height: 1.5; }
.os-time  { font-size: 10px; color: var(--tx4); margin-top: 6px; font-family: var(--font-mono); }
.faq-pricing { }
.faq-pricing-layout { display: grid; grid-template-columns: 280px 1fr; gap: 52px; align-items: start; }
.faq-list { border: 1px solid var(--br); border-radius: var(--r-lg); overflow: hidden; }
.faq-item { background: var(--sf); border-bottom: 1px solid var(--br); }
.faq-item:last-child { border-bottom: none; }
.faq-q { width: 100%; background: transparent; border: none; text-align: left; padding: 20px 24px; font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--tx); display: flex; justify-content: space-between; align-items: center; gap: 14px; cursor: pointer; transition: background .15s; }
.faq-q:hover { background: var(--sf2); }
.faq-toggle { font-size: 20px; color: var(--tx3); flex-shrink: 0; transition: transform .25s, color .15s; font-weight: 300; }
.faq-a { font-size: 13px; color: var(--tx2); line-height: 1.65; padding: 0 24px 20px; font-weight: 300; display: none; }
.faq-item.open .faq-a { display: block; }
.faq-item.open .faq-toggle { transform: rotate(45deg); color: var(--tx2); }
.final-cta { margin: 0 52px 72px; background: var(--sf); border: 1px solid var(--br2); border-radius: 22px; padding: 72px; text-align: center; }
.final-cta-title { font-family: var(--font-display); font-size: clamp(28px,3.5vw,44px); font-weight: 800; letter-spacing: -1.2px; color: var(--tx); margin-bottom: 14px; }
.final-cta-sub { font-size: 16px; color: var(--tx2); line-height: 1.65; max-width: 480px; margin: 0 auto 36px; font-weight: 300; }
.final-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.final-cta-guarantee { font-size: 12px; color: var(--tx3); }
