/* Pricing uses the same technical grid and restrained contrast as the product pages. */
.pricing-page { overflow: clip; color: var(--headline); }
.pricing-container { width: min(calc(100% - 4rem), 84rem); margin-inline: auto; }
.pricing-page h2, .pricing-page h3 { margin: 0; color: var(--headline); font-family: "Aptos Display", "Aptos", "Segoe UI Variable Display", "Segoe UI", sans-serif; letter-spacing: -.05em; text-wrap: balance; }
.pricing-page h2 { max-width: 19ch; font-size: clamp(2.25rem, 3.7vw, 4.1rem); line-height: .98; }
.pricing-kicker { margin: 0 0 1rem; color: var(--signal-deep); font-family: "Cascadia Mono", "SFMono-Regular", monospace; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.pricing-packages { padding-block: clamp(3rem, 5vw, 5.5rem) clamp(5rem, 9vw, 9.5rem); }
.pricing-section-head { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.pricing-section-head p { max-width: 43ch; margin: 0; color: var(--steel-200); font-size: 1rem; line-height: 1.6; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; margin-top: clamp(2.75rem, 5vw, 4.5rem); border: 1px solid var(--line); border-radius: 1.05rem; background: var(--paper); overflow: hidden; }
.pricing-disclaimer { max-width: 80ch; margin: 1rem 0 0; color: var(--steel-200); font-size: .78rem; line-height: 1.5; }
.pricing-card { display: grid; grid-template-rows: auto auto auto 1fr auto; min-height: 32rem; padding: clamp(1.5rem, 2.4vw, 2.2rem); border-right: 1px solid var(--line); background: var(--paper); transition: background .4s var(--control-ease), transform .4s var(--control-ease); }
.pricing-card:last-child { border-right: 0; }
.pricing-card:hover { position: relative; z-index: 1; background: #f9fcfe; transform: translateY(-.35rem); }
.pricing-card--featured { background: var(--ink-950); color: #fff; }
.pricing-card--featured h3, .pricing-card--featured .pricing-detail, .pricing-card--featured .pricing-card-intro { color: #fff; }
.pricing-card--featured:hover { background: #15384f; }
.pricing-card h3 { font-size: clamp(1.75rem, 2.4vw, 2.35rem); line-height: 1; }
.pricing-card-intro { min-height: 3.4em; margin: .75rem 0 0; color: var(--steel-200); font-size: .94rem; line-height: 1.55; }
.pricing-price { display: flex; align-items: baseline; gap: .35rem; margin: 2.5rem 0 .55rem; color: var(--steel-400); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.pricing-price strong { color: inherit; font-size: clamp(2.2rem, 3vw, 3.35rem); letter-spacing: -.07em; line-height: 1; }
.pricing-price small { font-size: .78rem; font-weight: 650; letter-spacing: 0; text-transform: none; }
.pricing-price--custom strong { font-size: clamp(2rem, 2.6vw, 2.85rem); }
.pricing-detail { min-height: 3.25em; margin: 0; color: var(--steel-200); font-size: .87rem; line-height: 1.5; }
.pricing-card ul { display: grid; align-content: start; gap: .65rem; margin: 1.8rem 0; padding: 1.45rem 0 0; border-top: 1px solid currentColor; list-style: none; }
.pricing-card li { position: relative; padding-left: 1rem; font-size: .89rem; line-height: 1.45; }
.pricing-card li::before { content: ""; position: absolute; top: .52rem; left: 0; width: .32rem; height: .32rem; border-radius: 50%; background: var(--signal); }
.pricing-card--featured li::before { background: #b9dcf5; }
.pricing-card-actions { display: grid; gap: .8rem; align-self: end; }
.pricing-card-action { justify-content: center; width: 100%; }
.pricing-card-meeting { justify-self: center; color: inherit; font-size: .88rem; font-weight: 700; text-decoration-color: currentColor; text-underline-offset: .28rem; }
.pricing-explainer { border-block: 1px solid var(--line); background: var(--elite-50); }
.pricing-explainer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, .74fr); gap: clamp(3rem, 8vw, 10rem); padding-block: clamp(5rem, 9vw, 9rem); }
.pricing-explainer-copy { padding-top: .45rem; }
.pricing-explainer-copy p { margin: 0; color: var(--steel-200); font-size: clamp(1.05rem, .4vw + .96rem, 1.2rem); line-height: 1.65; }
.pricing-text-link { display: inline-block; margin-top: 1.6rem; color: var(--signal-deep); font-weight: 750; text-decoration-color: rgb(30 95 144 / 35%); text-underline-offset: .3rem; }
.pricing-factors { padding-block: clamp(5rem, 9vw, 9rem); }
.pricing-factors-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(2.75rem, 5vw, 4.5rem); border-block: 1px solid var(--line); }
.pricing-factors-list article { min-height: 12rem; padding: 1.5rem; border-left: 1px solid var(--line); }
.pricing-factors-list article:first-child { padding-left: 0; border-left: 0; }
.pricing-factors-list article:last-child { padding-right: 0; }
.pricing-factors-list strong { font-size: clamp(1.3rem, 1.8vw, 1.75rem); letter-spacing: -.04em; }
.pricing-factors-list p { max-width: 24ch; margin: .8rem 0 0; color: var(--steel-200); font-size: .95rem; line-height: 1.55; }
.pricing-inquiry-section { border-top: 1px solid var(--line); background: var(--elite-50); }
.pricing-inquiry-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(22rem, 1fr); gap: clamp(3rem, 7vw, 8rem); padding-block: clamp(5rem, 9vw, 9rem); }
.pricing-inquiry-copy { align-self: start; }
.pricing-inquiry-copy h2 { max-width: 14ch; margin-top: .3rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.pricing-inquiry-copy > .muted { max-width: 45ch; margin: .9rem 0 1.5rem; line-height: 1.6; }
.pricing-inquiry-form { padding: clamp(1.35rem, 2.5vw, 2.25rem); border: 1px solid var(--line); border-radius: .7rem; background: var(--paper); }
.pricing-inquiry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pricing-inquiry-grid label { display: block; margin-bottom: .42rem; font-size: .86rem; font-weight: 700; }
.pricing-inquiry-grid input, .pricing-inquiry-grid select, .pricing-inquiry-grid textarea { width: 100%; }
.pricing-domain-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); }
.pricing-domain-field input { min-width: 0; border: 0; border-radius: 0; }
.pricing-domain-suffix { display: flex; align-items: center; padding: 0 .9rem; border-left: 1px solid var(--line); color: var(--steel-200); font-family: "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-size: .86rem; white-space: nowrap; }
.pricing-domain-preview { display: block; margin-top: .55rem; color: var(--steel-200); font-family: "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-size: .8rem; }
.pricing-inquiry-wide { grid-column: 1 / -1; }
.pricing-inquiry-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.pricing-inquiry-actions p { margin: 0; }
@media (max-width: 900px) { .pricing-section-head { align-items: start; flex-direction: column; gap: 1.1rem; } .pricing-grid, .pricing-inquiry-layout { grid-template-columns: 1fr; } .pricing-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); } .pricing-card:last-child { border-bottom: 0; } .pricing-card-intro, .pricing-detail { min-height: auto; } }
@media (max-width: 600px) { .pricing-container { width: min(calc(100% - 2rem), 84rem); } .pricing-page h2 { font-size: clamp(2rem, 10vw, 2.7rem); } .pricing-inquiry-actions .btn { width: 100%; justify-content: center; } .pricing-inquiry-grid { grid-template-columns: 1fr; } .pricing-inquiry-actions { align-items: stretch; flex-direction: column; } }
