.pricing-page { background:var(--ink); color:var(--chalk); }
.pricing-page .pricing-wrap { max-width:1120px; margin:0 auto; padding-inline:clamp(16px,4vw,40px); }
.pricing-page .pricing-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,5vw,64px); align-items:center; padding-block:clamp(40px,7vw,84px); }
.pricing-page .eyebrow { color:var(--brass); font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }
.pricing-page h1 { font:700 clamp(2.4rem,5.6vw,4.2rem)/1.02 var(--font-display); letter-spacing:-.02em; margin:.4rem 0 1rem; text-wrap:balance; }
.pricing-page h1 em { font-style:normal; color:var(--brass); }
.pricing-page .lede { color:var(--chalk-2); font-size:1.2rem; max-width:34ch; margin:0 0 1.6rem; }
.pricing-page .pricing-ctas { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.pricing-page .pricing-ghost { color:var(--chalk-2); text-decoration:none; font-size:.95rem; }
.pricing-page .fine { color:var(--slate); font-size:.85rem; margin-top:.9rem; }
.pricing-page .phone { background:#0A1321; border:1px solid var(--line-ink); border-radius:28px; padding:18px; max-width:360px; justify-self:center; width:100%; margin:0; }
.pricing-page .phone .bar { display:flex; justify-content:space-between; color:var(--slate); font-size:.75rem; padding:0 6px 10px; font-variant-numeric:tabular-nums; }
.pricing-page .sms { background:var(--ink-3); border-radius:18px 18px 18px 6px; padding:14px 15px; font-size:.95rem; line-height:1.45; }
.pricing-page .sms .tag { display:inline-block; background:var(--ember); color:#2B0E06; font-weight:700; font-size:.72rem; letter-spacing:.06em; border-radius:6px; padding:2px 7px; margin-bottom:6px; }
.pricing-page .phone .cap { color:var(--slate); font-size:.78rem; text-align:center; margin-top:10px; }
.pricing-page .promises { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,3vw,32px); padding-block:clamp(28px,4vw,44px); border-top:1px solid var(--line-ink); }
.pricing-page .promise h3 { font:600 1.1rem/1.25 var(--font-display); margin:0 0 .35rem; color:var(--chalk); }
.pricing-page .promise h3 span { color:var(--verdigris-2); }
.pricing-page .promise p { margin:0; color:var(--chalk-2); font-size:.95rem; }
.pricing-page .when { display:block; color:var(--slate); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.4rem; }
.pricing-page section { padding-block:clamp(40px,6vw,72px); border-top:1px solid var(--line-ink); }
.pricing-page h2 { font:600 clamp(1.6rem,3vw,2.2rem)/1.15 var(--font-display); margin:0 0 .6rem; text-wrap:balance; }
.pricing-page .sub { color:var(--chalk-2); max-width:62ch; margin:0 0 1.8rem; }
.pricing-page .ledger, .pricing-page .calc, .pricing-page .faq { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,4vw,48px); }
.pricing-page .ledger h3, .pricing-page .faq h3 { font:600 1.05rem var(--font-display); margin:0 0 .6rem; }
.pricing-page .ledger ul { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.pricing-page .ledger li { padding-left:1.4rem; position:relative; color:var(--chalk-2); }
.pricing-page .ledger li::before { position:absolute; left:0; top:0; font-weight:700; }
.pricing-page .yes li::before { content:"✓"; color:var(--verdigris-2); }
.pricing-page .no li::before { content:"—"; color:var(--slate); }
.pricing-page .ledger b { color:var(--chalk); font-weight:600; }
.pricing-page .calc { align-items:start; }
.pricing-page .field { display:grid; gap:.4rem; margin-bottom:1.3rem; }
.pricing-page .field label { font-weight:600; display:flex; justify-content:space-between; font-variant-numeric:tabular-nums; }
.pricing-page .field output { color:var(--brass); }
.pricing-page input[type=range] { width:100%; margin:0; accent-color:var(--brass); }
.pricing-page .bill { background:var(--ink-2); border:1px solid var(--line-ink); border-radius:14px; padding:22px; }
.pricing-page .bill .row { display:flex; justify-content:space-between; padding-block:.45rem; color:var(--chalk-2); font-variant-numeric:tabular-nums; border-bottom:1px dashed var(--line-ink); gap:1rem; }
.pricing-page .total { display:flex; justify-content:space-between; align-items:baseline; margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--line-ink); }
.pricing-page .total span { font-weight:600; }
.pricing-page .total strong { font:700 2.2rem var(--font-display); color:var(--brass); font-variant-numeric:tabular-nums; }
.pricing-page .note { color:var(--slate); font-size:.85rem; margin:.8rem 0 0; }
.pricing-page .tablewrap { overflow-x:auto; }
.pricing-page .compare { width:100%; border-collapse:collapse; font-size:.95rem; }
.pricing-page .compare th, .pricing-page .compare td { text-align:left; padding:.8rem .9rem; border-bottom:1px solid var(--line-ink); vertical-align:top; }
.pricing-page .compare thead th { color:var(--slate); font-weight:600; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.pricing-page .compare td:first-child { color:var(--chalk-2); }
.pricing-page .compare .us { background:rgba(224,174,78,.07); color:var(--chalk); }
.pricing-page .compare .us b { color:var(--brass); }
.pricing-page .faq { gap:1.4rem clamp(20px,4vw,48px); }
.pricing-page .faq h3 { margin-bottom:.3rem; }
.pricing-page .faq p { margin:0; color:var(--chalk-2); }
.pricing-page .close { text-align:center; }
.pricing-page .close h2 { font-size:clamp(1.8rem,4vw,2.8rem); }
@media (max-width:820px) { .pricing-page .pricing-hero, .pricing-page .ledger, .pricing-page .calc, .pricing-page .faq, .pricing-page .promises { grid-template-columns:1fr; } .pricing-page .phone { justify-self:start; } }
@media (prefers-reduced-motion:no-preference) { .pricing-page .sms { animation:pricing-arrive .5s cubic-bezier(.2,.7,.2,1) .2s; } @keyframes pricing-arrive { from { transform:translateY(8px); } to { transform:none; } } }
