.tp-page{background:var(--blanco);color:var(--ink);padding:40px 20px 80px}.tp-shell{max-width:780px;margin:0 auto}.tp-hero{margin-bottom:32px}.tp-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--mar);margin:0 0 8px}.tp-hero h1,.tp-kicker{text-transform:uppercase}.tp-hero h1{font-family:var(--display);font-size:clamp(30px,6vw,46px);line-height:1.08;margin:0 0 14px}.tp-lede{font-family:var(--sans);font-size:17px;line-height:1.6;margin:0;max-width:62ch;color:color-mix(in oklab,var(--ink) 82%,transparent)}.tp-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 24px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.tp-steps li{flex:1;padding:8px 4px;text-align:center;border-top:2px solid var(--line);color:color-mix(in oklab,var(--ink) 45%,transparent)}.tp-steps li.is-current{border-top-color:var(--sol);color:var(--ink)}.tp-steps li.is-done{border-top-color:var(--mar);color:var(--mar)}.tp-question h2{font-family:var(--display);font-size:clamp(22px,4.5vw,30px);margin:0 0 6px;text-transform:uppercase}.tp-question>p{font-family:var(--sans);font-size:15px;line-height:1.55;margin:0 0 20px;color:color-mix(in oklab,var(--ink) 70%,transparent)}.tp-chips{display:flex;flex-wrap:wrap;gap:10px}.tp-chip{font-family:var(--sans);font-size:15px;font-weight:600;padding:12px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.tp-chip:focus-visible,.tp-chip:hover{border-color:var(--sol);background:var(--sol-soft);transform:translateY(-1px)}.tp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tp-card-btn{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--sans);transition:border-color .15s ease,box-shadow .15s ease}.tp-card-btn:focus-visible,.tp-card-btn:hover{border-color:var(--sol);box-shadow:var(--shadow-soft)}.tp-card-btn strong{font-size:16px}.tp-card-btn span{font-size:14px;line-height:1.45;color:color-mix(in oklab,var(--ink) 65%,transparent)}.tp-back{margin-top:24px;background:none;border:0;padding:4px 0;font-family:var(--sans);font-size:14px;color:var(--mar);cursor:pointer}.tp-result-head h2{font-family:var(--display);font-size:clamp(24px,5vw,34px);margin:0 0 6px;text-transform:uppercase}.tp-summary{font-family:var(--sans);font-size:14px;margin:0 0 24px;color:color-mix(in oklab,var(--ink) 65%,transparent)}.tp-reality{border:1px solid var(--line);border-left:3px solid var(--sol);border-radius:8px;background:var(--sol-soft);padding:16px 18px;margin-bottom:24px}.tp-reality h3{font-family:var(--display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}.tp-reality ul{margin:0;padding-left:18px;font-family:var(--sans);font-size:14.5px;line-height:1.55}.tp-reality li+li{margin-top:8px}.tp-controls{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:28px}.tp-control{flex:1 1 260px}.tp-control-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;color:color-mix(in oklab,var(--ink) 60%,transparent)}.tp-control-label em{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px}.tp-toggle{display:flex;flex-wrap:wrap;gap:6px}.tp-toggle button{font-family:var(--sans);font-size:13px;font-weight:600;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer}.tp-toggle button.is-on{background:var(--ink);border-color:var(--ink);color:var(--blanco)}.tp-days{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:16px}.tp-day{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:18px;box-shadow:var(--shadow-soft)}.tp-day.is-daytrip{border-left:3px solid var(--mar)}.tp-day-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.tp-day-num{font-family:var(--display);font-size:18px;text-transform:uppercase}.tp-day-tag,.tp-day-weekday{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--ink) 55%,transparent)}.tp-day-tag{color:var(--mar)}.tp-slot{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:12px 0}.tp-slot+.tp-slot{border-top:1px dashed var(--line)}.tp-slot-time{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:3px;color:color-mix(in oklab,var(--ink) 55%,transparent)}.tp-slot-body h4{font-family:var(--sans);font-size:17px;font-weight:700;margin:0 0 4px}.tp-slot-body h4 a{color:var(--ink);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--mar) 45%,transparent)}.tp-slot-body h4 a:hover{color:var(--mar)}.tp-slot-body p{font-family:var(--sans);font-size:14.5px;line-height:1.5;margin:0 0 6px;color:color-mix(in oklab,var(--ink) 75%,transparent)}.tp-price{font-weight:600;color:var(--ink)!important}.tp-note{border-left:2px solid var(--sol);padding-left:10px;font-size:13.5px!important;color:color-mix(in oklab,var(--ink) 68%,transparent)!important}.tp-swap{margin-top:4px;background:none;border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--mar);cursor:pointer}.tp-swap:hover{border-color:var(--mar)}.tp-alts{list-style:none;padding:0;margin:10px 0 0;gap:6px}.tp-alts,.tp-alts button{display:flex;flex-direction:column}.tp-alts button{gap:2px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--blanco);cursor:pointer;font-family:var(--sans);color:var(--ink)}.tp-alts button:hover{border-color:var(--sol);background:var(--sol-soft)}.tp-alts button strong{font-size:14.5px}.tp-alts button span{font-size:13px;line-height:1.45;color:color-mix(in oklab,var(--ink) 65%,transparent)}.tp-alts-empty{font-family:var(--sans);font-size:13.5px;color:color-mix(in oklab,var(--ink) 60%,transparent)}.tp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tp-action-ghost,.tp-action-primary{font-family:var(--sans);font-size:15px;font-weight:700;padding:12px 22px;border-radius:8px;cursor:pointer;border:1px solid var(--ink)}.tp-action-primary{background:var(--ink);color:var(--blanco)}.tp-action-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.tp-foot{font-size:13px;line-height:1.55;color:color-mix(in oklab,var(--ink) 58%,transparent);margin:0}.tp-foot,.tp-guide{font-family:var(--sans)}.tp-guide{margin-top:96px;padding-top:28px;border-top:1px solid var(--line)}.tp-guide-note{font-family:var(--mono);font-size:12px;letter-spacing:.04em;line-height:1.5;color:color-mix(in oklab,var(--ink) 45%,transparent);margin:0 0 8px}.tp-guide-block{border-bottom:1px solid var(--line)}.tp-guide-block>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}.tp-guide-block>summary::-webkit-details-marker{display:none}.tp-guide-block>summary:after{content:"";flex:none;width:8px;height:8px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease;opacity:.5}.tp-guide-block[open]>summary:after{transform:rotate(-135deg) translate(-2px,-2px)}.tp-guide-block>summary:hover{color:var(--mar)}.tp-guide h2{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:color-mix(in oklab,var(--ink) 62%,transparent);margin:0}.tp-guide-block>summary:hover h2{color:inherit}.tp-guide-body{padding:2px 0 22px}.tp-guide h3{font-family:var(--sans);font-size:18px;font-weight:700;margin:28px 0 8px}.tp-guide p{font-size:16px;line-height:1.65;margin:0 0 14px;color:color-mix(in oklab,var(--ink) 85%,transparent)}.tp-guide a{color:var(--mar);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--mar) 35%,transparent)}.tp-guide a:hover{border-bottom-color:var(--mar)}.tp-faq{margin:0}.tp-faq>div{border-top:1px solid var(--line);padding:16px 0}.tp-faq dt{font-weight:700;font-size:16px;margin-bottom:6px}.tp-faq dd{margin:0;font-size:15.5px;line-height:1.6;color:color-mix(in oklab,var(--ink) 78%,transparent)}@media (max-width:560px){.tp-slot{grid-template-columns:1fr;gap:4px}}