.travel-guide-page main{max-width:1040px}
.planning-intro{max-width:820px;margin-bottom:42px}
.planning-intro h1{font-size:clamp(2.35rem,4.5vw,3.6rem);line-height:1.1;text-wrap:balance}
.planning-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.planning-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9375rem;color:var(--ink);background:var(--white)}
.planning-nav a:hover{background:var(--green-soft)}
.planning-section{padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.planning-section h2{font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.15;margin:0 0 22px}
.planning-section p{max-width:850px;color:var(--muted);font-size:1rem;line-height:1.8}
.planning-note{border-left:3px solid var(--green);padding:10px 20px;background:var(--white)}
.planning-table{max-width:100%;margin:24px 0 28px}
.planning-table table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.9375rem;line-height:1.55}
.planning-table caption{text-align:left;font-weight:500;padding:0 0 14px}
.planning-table th,.planning-table td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.planning-table th{color:var(--green);font-weight:600}
.planning-table a{text-underline-offset:4px}
.planning-section .button{white-space:normal;text-align:center}
@media(max-width:600px){.planning-table table{font-size:.875rem}.planning-table th,.planning-table td{padding:12px 5px}.planning-nav{gap:8px}.planning-nav a{font-size:.875rem}.planning-section{padding:28px 0}}
