.pricing-page { --pricing-olive:var(--accent); --pricing-soft:var(--accent-soft); --pricing-fill:#dbe6d2; padding:18px 0 58px; }
.pricing-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; padding:8px 0 48px; }
.pricing-intro .eyebrow { display:flex; align-items:center; gap:10px; }
.pricing-launch-dot { width:6px; height:6px; border-radius:50%; background:var(--pricing-olive); box-shadow:0 0 0 5px #65745412; }
.pricing-intro h1 { font:400 clamp(42px,5.1vw,77px)/1.07 var(--display); letter-spacing:-.045em; margin:21px 0 0; }
.pricing-intro h1 em,.pricing-details h2 em { color:var(--pricing-olive); font-weight:400; }
.pricing-intro-copy { max-width:430px; padding-bottom:5px; }
.pricing-intro-copy > p { font-size:16px; line-height:1.85; color:var(--muted); margin:0 0 23px; }
.pricing-payment-note { display:flex; align-items:center; gap:13px; color:var(--muted); font-size:12px; line-height:1.7; }
.pricing-payment-note strong { color:var(--ink); font-weight:600; }
.pricing-payment-note svg { width:29px; height:29px; color:var(--pricing-olive); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.pricing-card { display:flex; flex-direction:column; min-width:0; position:relative; border:1px solid var(--line); border-radius:24px; padding:25px clamp(20px,2.1vw,34px) 28px; background:var(--surface); animation:pricing-enter .6s ease both; }
.pricing-card--celebra { background:var(--surface); border-color:var(--accent); animation-delay:.08s; }
.pricing-card--inolvidable { --pricing-fill:#e2eadc; color:var(--ink); animation-delay:.16s; }
.pricing-card-top { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-height:40px; }
.pricing-card-top > span:first-child { font-size:9px; letter-spacing:.12em; line-height:1.5; color:var(--muted); }
.pricing-recommended { display:inline-flex; align-items:center; min-height:24px; padding:4px 9px; border:1px solid var(--accent-yellow-border); border-radius:30px; background:var(--accent-yellow); color:var(--accent-yellow-ink); font-size:10px; white-space:nowrap; }
.pricing-art { width:100%; height:156px; display:block; flex-shrink:0; margin:0 auto 6px; color:var(--pricing-olive); }
.pricing-card--inolvidable .pricing-art { color:var(--pricing-olive); }
.pricing-card-heading { display:flex; align-items:baseline; gap:12px; }
.pricing-card-index { color:#8d9783; font:italic 16px var(--display); }
.pricing-card h2 { font:400 clamp(30px,3vw,44px)/1.2 var(--display); letter-spacing:-.025em; margin:0; }
.pricing-tagline { font-size:12px; line-height:1.7; margin:8px 0 19px; color:var(--muted); min-height:21px; }
.pricing-price { display:flex; align-items:center; gap:7px; font-variant-numeric:lining-nums tabular-nums; }
.pricing-price > span:first-child { font:400 25px var(--display); align-self:flex-start; margin-top:10px; }
.pricing-price strong { font:400 clamp(54px,5vw,72px)/1.05 var(--display); letter-spacing:-.06em; }
.pricing-price > span:last-child { font-size:11px; line-height:1.6; margin:8px 0 0 3px; }
.pricing-price small { display:block; color:var(--muted); font-size:10px; }
.pricing-description { color:var(--muted); font-size:13px; line-height:1.8; margin:18px 0; min-height:70px; }
.pricing-rounds { display:flex; align-items:center; gap:9px; padding:13px 0; border-top:1px solid #cbd2c580; border-bottom:1px solid #cbd2c580; font-size:11px; line-height:1.8; }
.pricing-rounds svg { width:21px; height:21px; color:var(--pricing-olive); }
.pricing-rounds strong { font-weight:600; }
.pricing-features { margin:23px 0 25px; padding:0; list-style:none; display:grid; gap:12px; }
.pricing-features li { display:flex; gap:9px; font-size:12px; line-height:1.7; }
.pricing-features svg { width:16px; height:19px; flex-shrink:0; color:var(--pricing-olive); }
.pricing-card-bottom { margin-top:auto; }
.pricing-card-bottom > p { margin:0 0 14px; color:var(--muted); font-size:11px; line-height:1.7; }
.pricing-choose { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:48px; border-radius:12px; border:1px solid var(--line); color:var(--accent); padding:12px 16px; font-size:13px; transition:background .2s,border-color .2s; }
.pricing-choose svg { width:19px; height:19px; flex-shrink:0; }
.pricing-choose:hover { background:var(--accent-soft); border-color:var(--accent); }
.pricing-card--celebra .pricing-choose { background:var(--accent); border-color:var(--accent); color:var(--surface); }
.pricing-card--celebra .pricing-choose:hover { background:var(--accent-hover); }
.pricing-common { display:grid; grid-template-columns:1fr 1.7fr auto; align-items:center; gap:30px; margin:30px 0 0; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pricing-common > span { font-size:10px; letter-spacing:.13em; color:var(--muted); }
.pricing-common p { font-size:13px; line-height:1.8; margin:0; color:var(--muted); }
.pricing-common strong { font-weight:400; color:var(--ink); }
.pricing-common a { display:flex; gap:13px; align-items:center; font-size:12px; color:var(--pricing-olive); min-height:44px; }
.pricing-common a svg { width:18px; height:18px; }
.pricing-details { display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(30px,7vw,100px); padding:64px 0 34px; }
.pricing-details h2 { font:400 clamp(31px,3.5vw,46px)/1.17 var(--display); letter-spacing:-.025em; margin:20px 0; }
.pricing-details > div > p:not(.eyebrow) { max-width:310px; font-size:13px; line-height:1.9; color:var(--muted); }
.pricing-faq details { border-bottom:1px solid var(--line); padding:0 0 17px; margin-bottom:16px; }
.pricing-faq summary { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:44px; list-style:none; cursor:pointer; font-size:14px; line-height:1.6; }
.pricing-faq summary::-webkit-details-marker { display:none; }
.pricing-faq summary > span { font:300 23px var(--display); color:var(--pricing-olive); transition:transform .2s; }
.pricing-faq details[open] summary > span { transform:rotate(45deg); }
.pricing-faq details > p { font-size:12px; color:var(--muted); line-height:1.95; margin:9px 30px 0 0; }
.pricing-tail { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding:27px 0 0; font-size:13px; }
.pricing-tail > span { color:var(--muted); }
.pricing-tail a { display:flex; align-items:center; gap:12px; color:var(--pricing-olive); }
.pricing-tail svg { width:18px; height:18px; }
.pricing-faq summary:focus-visible { outline:2px solid var(--pricing-olive); outline-offset:5px; border-radius:4px; }
@keyframes pricing-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:961px) and (max-width:1190px) { .header-nav { gap:20px; } }
@media(max-width:1000px) { .pricing-grid { gap:13px; }.pricing-card { padding:20px 18px; }.pricing-card-top { min-height:65px; align-content:start; }.pricing-art { height:128px; }.pricing-description { min-height:94px; }.pricing-common { grid-template-columns:1fr 2fr; }.pricing-common a { grid-column:2; margin-top:-15px; } }
@media(max-width:760px) { .pricing-intro { grid-template-columns:1fr; gap:22px; padding-bottom:30px; }.pricing-intro h1 { font-size:clamp(42px,8vw,60px); }.pricing-intro-copy { max-width:520px; }.pricing-intro-copy > p { font-size:14px; }.pricing-grid { grid-template-columns:1fr; gap:22px; max-width:520px; margin:auto; }.pricing-card { padding:24px; }.pricing-card-top { min-height:24px; justify-content:space-between; }.pricing-card-top > span:first-child { font-size:8px; }.pricing-art { height:150px; }.pricing-card h2 { font-size:40px; }.pricing-description { min-height:0; }.pricing-common { grid-template-columns:1fr; gap:12px; }.pricing-common a { grid-column:auto; margin:0; }.pricing-details { grid-template-columns:1fr; gap:18px; padding-top:42px; }.pricing-details > div > p:not(.eyebrow) { max-width:460px; }.pricing-details h2 br { display:none; }.pricing-tail { flex-direction:column; gap:10px; }.pricing-page { padding-bottom:30px; } }
@media(prefers-reduced-motion:reduce) { .pricing-card { animation:none; }.pricing-choose,.pricing-faq summary > span { transition:none; } }
