.pricing-hero { padding-block:64px 48px; text-align:center; }
.pricing-hero h1 { font-size:clamp(42px,6vw,80px); line-height:1.02; letter-spacing:-.055em; margin:0 0 24px; }
.pricing-hero > p { max-width:680px; margin:14px auto; font-size:20px; }
.pricing-hero .pricing-note { font-size:15px; color:#465e69; max-width:620px; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.pricing-tools { margin-bottom:28px; }
.pricing-tools .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.pricing-tools > details { border-bottom:1px solid #c5dad6; padding:20px 0; }
.pricing-tools summary { cursor:pointer; font-size:20px; font-weight:650; }
.pricing-tools fieldset { border:0; padding:0; max-width:740px; }
.pricing-tools legend { font-weight:650; margin-bottom:20px; }
.pricing-tools label { display:block; margin:20px 0 8px; }
.pricing-tools select { width:100%; min-height:48px; border:1px solid #5c787b; border-radius:12px; padding:12px; background:#fff; color:#08243a; font:inherit; }
.guide-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:24px 0; }
.guide-actions button[type="reset"] { min-height:44px; padding:10px 4px; border:0; border-bottom:1px solid #075e60; background:transparent; color:#075e60; font:inherit; font-weight:650; cursor:pointer; }
.tier-comparison[open]::after { content:'Scroll sideways to compare all three tiers on smaller screens.'; display:block; margin-top:12px; color:#465e69; font-size:14px; }
.guide-result { max-width:740px; padding:24px; background:#d9eee5; border-radius:20px; }
.guide-result h3 { font-size:26px; line-height:1.2; }
.comparison-scroll { overflow:auto; margin-top:22px; }
.comparison-scroll table { width:100%; min-width:570px; border-collapse:collapse; font-size:15px; text-align:left; }
.comparison-scroll caption { text-align:left; padding-bottom:16px; color:#465e69; }
.comparison-scroll th,.comparison-scroll td { padding:16px; border-bottom:1px solid #c5dad6; }
.comparison-scroll thead { background:#d9eee5; }
.pricing-card { padding:30px; border-radius:26px; background:#d9eee5; display:flex; flex-direction:column; color:#08243a; }
.pricing-card:nth-child(2) { background:#ffded0; }
.pricing-card:nth-child(3) { background:#f4e3bb; }
.tier-number { font-weight:700; font-size:14px; margin:0 0 18px; }
.pricing-card h2 { font-size:clamp(27px,2.5vw,36px); line-height:1.08; letter-spacing:-.035em; min-height:118px; margin:0; }
.tier-intro { min-height:100px; margin:18px 0; line-height:1.6; }
.quote-label { font-size:22px; font-weight:650; margin:10px 0 18px; }
.pricing-card .button { width:100%; padding-inline:16px; justify-content:space-between; text-align:left; font-size:14px; }
.tier-inheritance { border-top:1px solid #08243a33; margin:26px 0 12px; padding-top:24px; font-weight:650; }
.pricing-card ul { padding-left:20px; margin:0; }
.pricing-card li { padding-left:4px; margin:0 0 12px; line-height:1.5; font-size:15px; }
.pricing-card li::marker { color:#075e60; }
.pricing-guidance { padding-block:24px; color:#465e69; font-size:14px; }
.pricing-guidance p { max-width:860px; }
.pricing-extras { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.pricing-extras article { padding:28px; background:#f4f8f8; border-radius:22px; }
.pricing-extras h3 { font-size:26px; margin:0 0 16px; }
.pricing-faq { max-width:900px; }
.pricing-faq details { border-bottom:1px solid #d6e3e2; padding:22px 0; }
.pricing-faq summary { cursor:pointer; font-size:20px; font-weight:650; }
.pricing-faq details p { line-height:1.7; color:#465e69; }
.pricing-page .sub-cta { background:#075e60; color:#fff; padding:48px 28px; }
.pricing-page .sub-cta h2,.pricing-page .sub-cta p { color:#fff; }
.pricing-page .sub-cta .button { background:#fff; color:#08243a; }
@media(max-width:1000px) { .pricing-grid { grid-template-columns:1fr; max-width:760px; } .pricing-card h2,.tier-intro { min-height:0; } .pricing-card { padding:32px; } }
@media(max-width:600px) { .pricing-hero { padding-block:36px; } .pricing-hero > p { font-size:18px; } .pricing-card { padding:24px; } .pricing-extras { grid-template-columns:1fr; gap:16px; } }
