.hp-site .hp-studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hp-site .hp-studio-card{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.hp-site .hp-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hp-site .hp-card-kicker{font-size:9px;letter-spacing:.16em;color:var(--muted)}.hp-site .hp-card-dot{width:8px;height:8px;border-radius:50%;background:#a6c880}.hp-site .hp-studio-card h3{font-size:19px;margin-bottom:8px}.hp-site .hp-card-type{font-size:12px;color:var(--muted);margin-bottom:20px}.hp-site .hp-card-facts{margin:0}.hp-site .hp-card-facts>div{display:grid;grid-template-columns:58px 1fr;gap:10px;border-top:1px solid #ecf0e8;padding:12px 0;font-size:12px}.hp-site .hp-card-facts dt{color:var(--muted)}.hp-site .hp-card-facts dd{margin:0;line-height:1.7}.hp-site .hp-tax-note{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.hp-site .hp-card-date{font-size:10px;color:var(--muted);padding-top:17px;margin-top:auto}.hp-site .hp-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:18px;margin-top:16px;border-top:1px solid var(--line);font-size:12px;font-weight:700}.hp-site .hp-card-bottom a{min-height:44px;display:inline-flex;align-items:center;gap:12px}.hp-site .hp-card-official{font-size:11px;color:var(--muted);flex-shrink:0}.hp-site .hp-sponsors{border:2px solid #a17e2e;background:#fff8e9}.hp-site .hp-sponsor-card{background:#fff8e9;border:1px solid #a17e2e;padding:24px;border-radius:12px}.hp-site .hp-sponsor-card a{display:inline-block;padding:10px}
@media(max-width:1023px){.hp-site .hp-studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.hp-site .hp-studio-grid{grid-template-columns:1fr;gap:16px}.hp-site .hp-studio-card{padding:22px}.hp-site .hp-studio-card h3{font-size:20px}}

/* v070: structured PEAK PARK plans, from the stored price field. */
.hp-site .hp-plan-rates{max-width:620px}
.hp-site .hp-plan-rates .hp-plan-rates__tax{margin:0 0 7px;font-size:12px;line-height:1.5;color:#52675b}
.hp-site .hp-plan-rates table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7e2d9;border-radius:10px;overflow:hidden;background:#fff;font-size:14px;line-height:1.5;margin:0}
.hp-site .hp-plan-rates th,.hp-site .hp-plan-rates td{padding:10px 14px;border:0;border-bottom:1px solid #e1e8e2}
.hp-site .hp-plan-rates tr:last-child th,.hp-site .hp-plan-rates tr:last-child td{border-bottom:0}
.hp-site .hp-plan-rates th{width:52%;text-align:left;font-weight:600;background:#edf3eb;color:#314c3c}
.hp-site .hp-plan-rates td{text-align:right;font-size:18px;font-weight:700;color:#244b3a;white-space:nowrap;font-variant-numeric:tabular-nums}
.hp-site .hp-plan-rates .hp-plan-rates__conditions{font-size:12px;line-height:1.7;margin:9px 0 0;color:#526158}
@media(max-width:600px){.hp-site .hp-plan-rates th,.hp-site .hp-plan-rates td{padding:9px 10px}.hp-site .hp-plan-rates th{font-size:13px}.hp-site .hp-plan-rates td{font-size:17px}}

/* v071: shared field labels and readable body groups. */
.hp-site .hp-fact-list>div>dt,.hp-site .hp-card-facts>div>dt,.hp-site .fitbox-premium__facts>div>dt{display:inline-flex;align-items:center;gap:6px;align-self:start;justify-self:start;max-width:100%;box-sizing:border-box;padding:5px 8px;background:#edf2ed;border:1px solid #dfe7df;border-radius:7px;color:#496052;font-size:12px;line-height:1.5;font-weight:700}
.hp-site .hp-fact-list>div>dt::before,.hp-site .hp-card-facts>div>dt::before,.hp-site .fitbox-premium__facts>div>dt::before{content:"";display:inline-block;flex:0 0 11px;width:11px;height:13px;box-sizing:border-box;border:1px solid #84988a;border-radius:2px;background:linear-gradient(#84988a,#84988a) 2px 4px/5px 1px no-repeat,linear-gradient(#84988a,#84988a) 2px 7px/5px 1px no-repeat;opacity:.75}
.hp-site .hp-field-items{display:grid;gap:6px;margin:0;padding:0;list-style:none;line-height:1.7}
.hp-site .hp-field-items>li{position:relative;margin:0;padding:7px 10px 7px 19px;border-radius:6px;background:#f6f8f4;overflow-wrap:anywhere}
.hp-site .hp-field-items>li::before{content:"";position:absolute;left:9px;top:17px;width:3px;height:3px;border-radius:50%;background:#9baa9d}
.hp-site .hp-field-text{margin:0;line-height:1.7;overflow-wrap:anywhere}
.hp-site .hp-field-amount{font-weight:700;color:#2d5140;white-space:nowrap}
.hp-site .hp-fact-list .hp-fact-source{font-size:11px;line-height:1.6;margin-top:8px}
.hp-site .hp-card-facts .hp-field-items{gap:5px}
.hp-site .hp-card-facts .hp-field-items>li{padding-top:6px;padding-bottom:6px}
@media(max-width:600px){.hp-site .hp-fact-list>div>dt{margin-bottom:2px}.hp-site .hp-field-items{gap:5px}.hp-site .hp-field-items>li{padding-top:6px;padding-bottom:6px}.hp-site .fitbox-premium__facts>div>dt{padding:4px 5px;gap:4px;font-size:11px}}

/* v073: grouped pricing for detail and listing cards. */
.hp-site .hp-price-groups{display:grid;gap:10px}
.hp-site .hp-price-group{border:1px solid #d7e3da;border-radius:9px;overflow:hidden;background:#fff}
.hp-site .hp-price-group h4{margin:0;padding:8px 11px;background:#e1ece3;color:#315443;font:700 14px/1.5 "Yu Gothic",Meiryo,sans-serif}
.hp-site .hp-price-group table{border-collapse:collapse;width:100%;margin:0;font-size:14px;line-height:1.6}
.hp-site .hp-price-group th,.hp-site .hp-price-group td{padding:9px 11px;border:0;border-top:1px solid #e3eae4;vertical-align:top}
.hp-site .hp-price-group th{text-align:left;font-weight:500;width:48%;color:#42584a;background:#f8faf6}
.hp-site .hp-price-group td{text-align:right;color:#254c3a}
.hp-site .hp-price-group td strong{font-size:17px;white-space:nowrap}
.hp-site .hp-price-group td small{display:block;font-size:11px;line-height:1.5;color:#5c6c60}
.hp-site .hp-price-groups .hp-price-note{margin:0;padding:6px 9px;background:#f6f8f4;border-radius:6px;font-size:13px;line-height:1.7}

@media(max-width:600px){.hp-site .hp-price-group th,.hp-site .hp-price-group td{padding:8px 10px}.hp-site .hp-price-group th{font-size:13px}}
