/* Original component compositions, scoped to the five GAP pages. */
.batch-service .gap-table-wrap{border:0;border-radius:0;background:transparent}
.batch-service .gap-table th,.batch-service .gap-table td{background:transparent}
.batch-service .gap-table td:last-child{min-width:0}
.batch-service .gap-eyebrow{margin-bottom:0;font-weight:inherit;line-height:inherit}
.batch-service .batch-price-unit{display:block;font-size:15px;line-height:1.5;color:#676767;margin-top:10px}
.batch-service .control-toc{gap:10px;max-width:1360px}
.batch-service .control-toc a{line-height:1.4;max-width:100%}
.batch-service .program-card-body.control-prose{font-size:18px;line-height:1.6;padding-top:28px}
.batch-service .program-card-body.control-prose p+p{margin-top:22px}
.batch-service .batch-portrait img{object-fit:contain;object-position:center bottom;background:linear-gradient(135deg,#e1ebf2,#f2f6f9)}
.batch-service .batch-comparison{margin-block:35px;overflow:auto;max-width:100%;border-radius:25px;background:#f2f6f9}
.batch-comparison table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.6}
.batch-comparison th,.batch-comparison td{padding:28px;vertical-align:top;text-align:left;border-bottom:1px solid #b1cadd}
.batch-comparison thead{background:#e1ebf2}.batch-comparison th{font-weight:600}
.batch-comparison td{width:34%}.batch-comparison tr:last-child>*{border-bottom:0}
.batch-service .control-prose ul{padding-inline-start:24px}
@media(max-width:768px){
.batch-service .program-card-body.control-prose{font-size:16px}
.batch-service .batch-comparison{border-radius:20px}
.batch-comparison table{font-size:15px;min-width:640px}
.batch-comparison th,.batch-comparison td{padding:20px}
.batch-service .batch-price-unit{font-size:13px}
.batch-service .control-toc a{font-size:13px}
}
/* A comparison must remain readable without discovering horizontal scrolling. */
@media(max-width:768px){
.batch-comparison table{min-width:0;display:block}
.batch-comparison thead{display:none}
.batch-comparison tbody{display:block}
.batch-comparison tr{display:block;border-bottom:1px solid #b1cadd}
.batch-comparison tr:last-child{border-bottom:0}
.batch-comparison th,.batch-comparison td{display:block;width:auto;border:0;padding:16px 20px}
.batch-comparison tbody th{background:#e1ebf2;font-family:var(--second-family);font-size:18px}
.batch-comparison td::before{content:attr(data-label);display:block;font-size:13px;font-weight:600;color:#246b68;margin-bottom:8px}
.batch-comparison td:last-child{padding-bottom:24px}
}

/* GAP second pass: preserve native FAQ typography and comparison rhythm. */
.control-faq summary h3{margin:0}
.control-n02 .format-comparison{overflow:auto;max-width:100%;border-radius:25px;background:#f2f6f9}
.format-comparison p{margin:0;font-size:inherit;line-height:inherit}
.format-comparison:focus-visible{outline:3px solid #227c79;outline-offset:4px}
@media(max-width:768px){.control-n02 .format-comparison{border-radius:20px}}

/* Avoid competing native focus/anchor smooth scrolls during rapid TOC navigation. */
html:has(.control-toc){scroll-behavior:auto}
