.reservation-guide .article-hero h1{font-size:clamp(38px,5.3vw,68px);line-height:1.04;letter-spacing:-.045em;max-width:1100px}
.reservation-guide .article-layout{padding-top:58px;gap:56px;grid-template-columns:220px minmax(0,820px)}
.reservation-guide .article-toc{max-height:calc(100vh - 170px);overflow:auto}
.reservation-guide .article-toc a{font-size:12px;line-height:1.5}
.reservation-guide .article-content h2{font-size:clamp(29px,3.4vw,42px);line-height:1.15;letter-spacing:-.025em}
.reservation-guide .article-content p{font-size:17px;line-height:1.8}
.reservation-guide section[id]{scroll-margin-top:160px}
.reservation-answer{padding:24px 28px;background:#eee4d7;border-left:4px solid #741c19;border-radius:0 16px 16px 0;margin:28px 0}
.reservation-answer p{margin:0}
.reservation-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #d6c7bd;border-radius:14px;background:#fffdf9}
.reservation-table-wrap:focus-visible{outline:3px solid #741c19;outline-offset:4px}
.reservation-table-wrap table{border-collapse:collapse;min-width:620px;width:100%;font-size:14px;line-height:1.6}
.reservation-table-wrap caption{text-align:left;padding:18px;font-weight:700}
.reservation-table-wrap th,.reservation-table-wrap td{text-align:left;vertical-align:top;padding:17px;border-top:1px solid #ded1c8}
.reservation-table-wrap thead th{background:#241b19;color:#fff;font-weight:700}
.reservation-table-wrap tbody tr:first-child{background:#f3e4dc}
.reservation-table-wrap tbody th{width:24%}
.reservation-ecosystem{margin:36px 0;background:#203e36;color:#fff;border-radius:22px;padding:32px}
.ecosystem-brand{font-size:34px;font-weight:800;letter-spacing:-.04em;padding-bottom:26px;border-bottom:1px solid #719086}
.ecosystem-brand span{font-weight:400;color:#d9e4db}
.ecosystem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px 0}
.ecosystem-grid>div{border:1px solid #719086;border-radius:12px;padding:20px}
.ecosystem-grid>div>span{font-size:12px;color:#d8e7cc;font-weight:800;letter-spacing:.1em}
.reservation-guide .ecosystem-grid h3{color:#fff;font-size:26px;margin:12px 0}
.reservation-guide .ecosystem-grid p{font-size:15px;color:#e2ebe5;margin:0;line-height:1.6}
.reservation-guide .ecosystem-note{font-size:13px;color:#dce6df;line-height:1.6;margin:0}
.reservation-checklist{padding-left:26px}
.reservation-checklist li{padding:0 0 18px 8px}
.reservation-checklist li::marker{font-weight:800;color:#741c19}
.reservation-guide details{border-bottom:1px solid #d6c7bd;padding:20px 0}
.reservation-guide summary{font-weight:700;font-size:19px;cursor:pointer;line-height:1.5}
.reservation-guide #sources p{font-size:13px;color:#625852}
.reservation-related h2{font-size:clamp(30px,4vw,46px);max-width:900px;line-height:1.12}
@media(max-width:980px){.reservation-guide .article-layout{grid-template-columns:1fr;gap:32px}.reservation-guide .article-toc{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.reservation-guide .article-toc strong{grid-column:1/-1}}
@media(max-width:600px){.reservation-guide .article-hero h1{font-size:38px}.reservation-guide .article-layout{padding-top:32px}.reservation-guide .article-toc{grid-template-columns:1fr}.reservation-guide .article-content p{font-size:16px}.reservation-ecosystem{padding:23px}.ecosystem-grid{grid-template-columns:1fr;gap:14px}.ecosystem-brand{font-size:28px}.reservation-answer{padding:22px}.reservation-guide .article-content section{padding-bottom:48px}}
