/* An editorial price list, using the existing ruby and white palette. */
.pricing{padding-block:var(--section);background:var(--canvas);border-block:1px solid var(--line)}
.pricing>.wrap>.section-label{display:flex;justify-content:space-between;align-items:center;gap:30px;color:var(--muted)}
.pricing>.wrap>.section-label p{margin:0}
.pricing-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin-block:42px 52px}
.pricing-heading h2{font:500 clamp(31px,3.55vw,53px)/1.65 var(--mincho);letter-spacing:-.025em}
.pricing-heading h2 em{font-style:normal;color:var(--accent)}
.pricing-heading>p{font-size:1rem;line-height:2.1;color:var(--muted);padding-bottom:9px}
.pricing-list{list-style:none;padding:0;margin:0}
.pricing-list>li{border-top:1px solid var(--line)}
.pricing-list>li:last-child{border-bottom:1px solid var(--line)}
.plan-row{display:grid;grid-template-columns:34px minmax(0,1.35fr) minmax(135px,.75fr) minmax(180px,.9fr) 24px;gap:24px;align-items:center;min-height:140px;padding:26px 24px;transition:background .25s}
.plan-row:hover{background:var(--surface)}
.plan-number{font:500 .875rem/1.5 var(--sans);letter-spacing:.04em;color:var(--muted);align-self:start;padding-top:5px}
.plan-title{min-width:0}
.plan-name-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 13px}
.plan-title h3{font:600 clamp(17px,1.5vw,22px)/1.45 var(--sans);letter-spacing:.025em}
.plan-title>p{font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:9px}
.plan-guests>span{display:block;font:500 .875rem/1.6 var(--jp);color:var(--muted);margin-bottom:7px}
.plan-guests strong{display:block;font:500 clamp(22px,1.9vw,28px)/1.3 var(--sans);letter-spacing:-.025em;white-space:nowrap}
.plan-guests small{font:500 .875rem/1.5 var(--jp);margin-left:5px;letter-spacing:0}
.plan-price{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;white-space:nowrap;color:var(--accent)}
.plan-amount{font:700 clamp(34px,3.3vw,50px)/1.15 var(--sans);letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums}
.plan-unit{font-size:.875rem;line-height:1.6}
.plan-arrow{font:500 25px/1 var(--sans);justify-self:end;color:var(--accent);transition:translate .25s}
.plan-row:hover .plan-arrow{translate:3px -3px}
.plan-price-ask{flex-direction:column;align-items:flex-end;gap:3px}
.plan-price-ask .plan-amount{letter-spacing:.025em}
.plan-price-ask .plan-unit{font-size:.875rem}
.pricing-list>.is-recommended{background:var(--accent);border-color:var(--accent);color:#fff}
.is-recommended .plan-row:hover{background:var(--accent-hover)}
.is-recommended .plan-number,.is-recommended .plan-title>p,.is-recommended .plan-guests>span{color:#ffffff}
.is-recommended .plan-price,.is-recommended .plan-arrow{color:#fff}
.is-recommended .plan-row:focus-visible{outline-color:var(--ink);outline-offset:4px}
.plan-recommendation{display:inline-block;padding:3px 10px;background:#fff;color:var(--accent);font:600 .875rem/1.5 var(--jp);white-space:nowrap}
.pricing-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-top:30px}
.pricing-notes{font-size:.875rem;line-height:2;color:var(--muted)}
.pricing-consultation{text-align:center}
.pricing-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:60px;padding:17px 26px;background:var(--accent);color:#fff;font-size:1rem;line-height:1.6;transition:background .25s}
.pricing-cta:hover{background:var(--accent-hover)}
.pricing-cta>span{font:500 26px/1 var(--sans)}
.pricing-consultation>p{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:11px}
.contact-info #selected-plan{border-left:1px solid var(--on-dark-line);padding-left:14px;margin:15px 0;font-size:.875rem;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:1150px){.pricing-heading{gap:6%}.pricing-heading>p br{display:none}.plan-row{grid-template-columns:24px minmax(0,1.4fr) minmax(115px,.8fr) minmax(152px,.9fr) 20px;gap:18px;padding-inline:17px}.plan-title h3{font-size:17px}.plan-guests strong{font-size:22px}.plan-amount{font-size:36px}}
@media(max-width:1000px){.pricing-heading{grid-template-columns:1fr;gap:22px;margin-block:31px 36px}.pricing-heading h2{font-size:40px}.pricing-heading>p{max-width:640px;padding:0}.plan-row{grid-template-columns:20px minmax(0,1.1fr) 110px 145px 19px;gap:14px;padding-inline:13px}.plan-title h3{font-size:16px}.plan-title>p{font-size:.875rem}.plan-guests strong{font-size:20px}.plan-amount{font-size:34px}.pricing-cta{padding-inline:20px;gap:22px;font-size:.9375rem}.pricing-footer{gap:25px}}
@media(max-width:760px){
 .pricing>.wrap>.section-label{display:block}
 .pricing>.wrap>.section-label p{margin-top:13px}
 .pricing-heading{gap:22px;margin-block:30px 33px}
 .pricing-heading h2{font-size:clamp(29px,7.75vw,45px);line-height:1.7;letter-spacing:-.045em}
 .pricing-heading>p{font-size:1rem;line-height:2}
 .plan-row{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 22px;gap:18px 12px;min-height:0;padding:25px 10px}
 .plan-number{grid-column:1;grid-row:1;padding-top:2px}
 .plan-title{grid-column:2/4;grid-row:1}
 .plan-title h3{font-size:17px;letter-spacing:.025em}
 .plan-title>p{font-size:.875rem;line-height:1.8;margin-top:8px}
 .plan-name-line{gap:8px 11px}
 .plan-guests{grid-column:2;grid-row:2}
 .plan-guests>span{font-size:.875rem;margin-bottom:6px}
 .plan-guests strong{font-size:19px;letter-spacing:-.035em}
 .plan-guests small{font-size:.875rem;margin-left:3px}
 .plan-price{grid-column:3/5;grid-row:2;align-self:end;gap:4px}
 .plan-amount{font-size:34px;letter-spacing:-.04em}
 .plan-unit{font-size:.875rem}
 .plan-arrow{grid-column:4;grid-row:1;align-self:start;font-size:22px;padding-top:2px}
 .plan-price-ask{gap:1px}
 .plan-price-ask .plan-unit{font-size:.875rem}
 .plan-recommendation{font-size:.875rem;padding:3px 9px}
 .pricing-footer{display:block;margin-top:23px}
 .pricing-notes{font-size:.875rem;line-height:2}
 .pricing-consultation{margin-top:26px}
 .pricing-cta{display:flex;gap:15px;padding:16px 19px;min-height:60px;font-size:.9375rem}
 .pricing-consultation>p{font-size:.875rem}
}
@media(max-width:360px){.plan-row{grid-template-columns:16px minmax(0,1fr) minmax(0,1fr) 20px;column-gap:10px}.plan-title h3{font-size:16px}.plan-amount{font-size:30px}.plan-guests strong{font-size:17px}.plan-guests small{margin-left:2px}.pricing-cta{font-size:.875rem;padding-inline:14px;gap:12px}}

.pricing-heading h2{font-weight:700}
.pricing-heading>p{font-size:1.0625rem;line-height:2}
.plan-title h3,.plan-guests strong,.plan-unit,.plan-recommendation,.pricing-cta{font-weight:700}
.plan-number,.plan-guests>span,.plan-guests small{font-weight:600}
.plan-title>p,.pricing-notes,.pricing-consultation>p,.plan-unit,.plan-recommendation,.plan-price-ask .plan-unit{font-size:.875rem}
.contact-info #selected-plan{font-size:1rem;font-weight:600}
@media(max-width:480px){.plan-guests{grid-column:2/5;grid-row:2}.plan-price{grid-column:2/5;grid-row:3;justify-content:flex-start;margin-top:-5px}.plan-price-ask{align-items:flex-start}.plan-amount{font-size:36px}.plan-guests strong{font-size:22px}.plan-guests small{font-size:.875rem}.plan-guests>span{font-size:.875rem}.plan-price-ask{gap:4px}.plan-row{row-gap:16px}}
