/* Pricing uses the shared Meal components with a quieter editorial layout. */
.pricing-page::before { background:radial-gradient(ellipse 800px 620px at 5% 5%,#e7eefc 0,transparent 76%),radial-gradient(ellipse 600px 520px at 95% 15%,#f8efdf 0,transparent 80%),linear-gradient(#fafbfc,#f7f7f5); }
.pricing-page .site-header { box-shadow:0 12px 36px #1823330d,inset 0 1px 0 #ffffff99; }
.content-page.pricing-page main { padding-top:0; }
.pricing-width { width:min(1100px,calc(100% - 64px)); margin-inline:auto; }
.pricing-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:88px; padding-block:80px; }
.pricing-copy h1 { margin:0 0 28px; color:#202633; font-size:clamp(60px,6.6vw,86px); line-height:1; letter-spacing:-.058em; font-weight:650; }
.pricing-copy > p { max-width:380px; margin:0 0 30px; font-size:22px; line-height:1.45; color:#5e6570; text-wrap:pretty; }
.pricing-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#34496f; font-size:18px; font-weight:600; text-decoration:none; }
.pricing-link:hover { text-decoration:underline; text-underline-offset:4px; }
.pricing-link:focus-visible { outline:3px solid #526ba2; outline-offset:5px; border-radius:4px; }
.pricing-offer { padding:40px; border:1px solid #303a4c0b; border-radius:28px; background:#ffffffdc; box-shadow:0 12px 40px -20px #2833481c; }
.pricing-offer h2 { margin:0 0 8px; font-size:34px; font-weight:650; line-height:1.12; letter-spacing:-.035em; color:#202633; }
.pricing-trial { margin:0; font-size:18px; line-height:1.45; color:#5e6570; }
.pricing-billing { margin:32px 0 18px; color:#5e6570; font-size:17px; line-height:1.4; }
.pricing-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 32px; }
.pricing-options p { display:flex; flex-direction:column; margin:0; color:#202633; }
.pricing-options p + p { padding-left:28px; border-left:1px solid #303a4c1c; }
.pricing-options strong { font-size:72px; line-height:1; letter-spacing:-.055em; font-weight:600; font-variant-numeric:lining-nums tabular-nums; }
.pricing-options p span { margin-top:10px; font-size:17px; line-height:1.4; color:#5e6570; white-space:nowrap; }
.pricing-offer .meal-button { width:100%; min-height:54px; border-radius:999px; box-shadow:0 6px 16px #11182712; font-weight:600; }
.pricing-launch { margin:22px 0 0; font-size:16px; line-height:1.55; color:#626973; }
.pricing-story,.pricing-principles,.pricing-free { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:88px; align-items:start; padding-block:64px; border-top:1px solid #303a4c1c; }
.pricing-story h2,.pricing-principles h2,.pricing-free h2 { margin:0; font-size:clamp(38px,4.4vw,56px); line-height:1.08; letter-spacing:-.05em; font-weight:650; color:#202633; }
.pricing-story p,.pricing-principles p,.pricing-free p { margin:0; color:#5e6570; font-size:21px; line-height:1.55; text-wrap:pretty; }
.pricing-principles h3 { margin:0 0 14px; font-size:24px; line-height:1.25; letter-spacing:-.025em; font-weight:600; color:#202633; }
.pricing-free { padding-bottom:80px; }
.pricing-free .pricing-link { margin-top:20px; }
@media(max-width:1000px) {
 .pricing-intro,.pricing-story,.pricing-principles,.pricing-free { gap:40px; }
 .pricing-offer { padding:30px; }
 .pricing-options strong { font-size:54px; }
 .pricing-options p + p { padding-left:20px; }
}
@media(max-width:760px) {
 .pricing-width { width:calc(100% - 40px); }
 .pricing-intro,.pricing-story,.pricing-principles,.pricing-free { grid-template-columns:1fr; gap:28px; padding-block:40px; }
 .pricing-copy h1 { margin-bottom:22px; font-size:clamp(50px,11.8vw,72px); }
 .pricing-copy > p { max-width:390px; margin-bottom:18px; font-size:20px; }
 .pricing-offer { padding:28px; border-radius:24px; }
 .pricing-offer h2 { font-size:30px; }
 .pricing-options strong { font-size:56px; }
 .pricing-options p + p { padding-left:20px; }
 .pricing-story h2,.pricing-principles h2,.pricing-free h2 { font-size:clamp(36px,9.6vw,52px); }
 .pricing-story p,.pricing-principles p,.pricing-free p { font-size:19px; }
 .pricing-principles h3 { font-size:22px; }
 .pricing-free { padding-bottom:54px; }
}
@media(max-width:360px) {
 .pricing-offer { padding:24px; }
 .pricing-options strong { font-size:52px; }
 .pricing-options p + p { padding-left:16px; }
 .pricing-options p span { font-size:16px; }
}
