.tb-hero{background:var(--ink);color:#fff;padding:96px 0 48px}.tb-hero .eyebrow{color:#fff}.tb-hero h1{color:#fff;font-weight:400;font-size:clamp(2.2rem,5.5vw,4.2rem);margin:4px 0 12px}.tb-hero p{max-width:680px;font-size:clamp(1.02rem,2vw,1.25rem)}.tb-sec{padding:48px 0}.tb-sec--ivory{background:var(--ivory)}.tb-form{max-width:820px;display:grid;gap:22px}.tb-form fieldset{border:1px solid var(--line);background:#fff;padding:20px 22px 22px;display:grid;gap:14px}.tb-form legend{font-family:var(--serif);font-size:1.6rem;color:var(--ink);padding:0 8px;line-height:1.2}.tb-form legend:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px}.tb-field{display:grid;gap:4px}.tb-field label,.tb-label{font-size:.92rem;color:var(--ink);font-weight:400}.tb-hint{font-size:.85rem;color:var(--muted)}.tb-form input[type=number],.tb-form select,.tb-form input[type=date],.tb-ics input{min-height:44px;padding:8px 12px;border:1px solid var(--ink-2);background:#fff;color:var(--ink);font:inherit;max-width:260px;width:100%}.tb-form input:focus-visible,.tb-form select:focus-visible,.tb-ics input:focus-visible,.tb-share input:focus-visible,.tb-btn:focus-visible,.tb-choice:focus-within{outline:3px solid var(--red-dark);outline-offset:2px}.tb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tb-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tb-choice{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:#fff;cursor:pointer}.tb-choice input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--ink-2)}.tb-choice span{display:block;color:var(--ink);line-height:1.35}.tb-choice small{display:block;color:var(--muted);font-size:.82rem}.tb-choice:has(input:checked){border-color:var(--ink-2);background:var(--ivory)}.tb-nav{display:flex;gap:12px;flex-wrap:wrap}.tb-progress{font-size:.85rem;color:var(--muted);letter-spacing:.06em}.tb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ink-2);color:#fff;border:1px solid var(--ink-2);text-align:center;cursor:pointer}.tb-btn:hover{background:var(--ink)}.tb-btn--ghost{background:#fff;color:var(--ink-2)}.tb-btn--ghost:hover{background:var(--ivory);color:var(--ink)}.tb-btn[hidden],.tb-form [hidden]{display:none!important}#tb-result{max-width:980px}#tb-result h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:6px}#tb-result h2:focus-visible{outline:3px solid var(--red-dark);outline-offset:4px}.tb-lede{color:var(--text);margin-bottom:18px}.tb-block{margin:30px 0}.tb-h{font-size:1.7rem;margin-bottom:10px}.tb-regions{display:grid;gap:12px}.tb-region{background:#fff;border:1px solid var(--line);padding:14px 18px}.tb-region h3{font-size:1.45rem}.tb-region h3 a,.tb-leg a,.tb-rain a,.tb-fine a,.tb-place h5 a,.tb-daynote a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.tb-region p{font-size:.93rem;margin-top:6px}.tb-badge{display:inline-block;font-size:.76rem;padding:2px 9px;border:1px solid var(--line);background:#fff;color:var(--ink);margin:0 6px 4px 0}.tb-badge--ok,.tb-badge--good{border-color:#1d6b3b;color:#14522c}.tb-badge--challenging{border-color:#8a5a00;color:#6b4500}.tb-why{display:grid;gap:8px;padding-left:20px;list-style:disc}.tb-why li{font-size:.97rem}.tb-days{display:grid;gap:26px}.tb-day{border-top:3px solid var(--ink);padding-top:14px}.tb-day h4{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--ink)}.tb-daynote{background:#fff;border:1px dashed var(--ink-2);padding:10px 14px;margin:8px 0;font-size:.92rem}.tb-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 0}.tb-place{position:relative;background:#fff;border:1px solid var(--line);padding:14px 62px 12px 16px}.tb-place h5{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink);line-height:1.2}.tb-meta{font-size:.82rem;color:var(--muted)}.tb-badges{margin-top:6px}.tb-place .save{top:10px;right:10px}.tb-rain{font-size:.92rem;margin-top:10px;color:var(--ink)}.tb-fine{color:var(--muted);font-size:.85rem;max-width:780px;margin-top:12px}.tb-warn{background:#fff7e6;border:1px solid #8a5a00;padding:10px 14px 10px 30px;list-style:disc;color:#4d3300;font-size:.92rem}.tb-actions{border-top:3px solid var(--ink);padding-top:16px}.tb-row{display:flex;flex-wrap:wrap;gap:10px}.tb-ics{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:16px}.tb-ics label{flex:1 0 100%;font-size:.92rem;color:var(--ink)}.tb-share input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--ink-2);font:inherit}.tb-share{margin-top:12px}.tb-wait{color:var(--muted)}.tb-error{background:#fff;border:1px solid var(--red-dark);padding:12px 16px;color:#7a0a1d}.tb-lengths{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}.tb-lengths a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.tb-sources{display:grid;gap:6px;padding-left:22px;list-style:decimal;font-size:.92rem}.tb-sources a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.tb-steps-note{max-width:820px;margin-bottom:14px;color:var(--muted)}@media(max-width:760px){.tb-grid,.tb-choices,.tb-places{grid-template-columns:1fr}.tb-form fieldset{padding:16px}.tb-btn{flex:1 1 auto}.tb-sec{padding:36px 0}.tb-hero{padding:76px 0 36px}}@media print{.site-header,.utility,.flag-stripe,footer,.site-footer,#tb-form,.tb-actions,.tb-hero,.tb-noprint,#cgw-launch,#pwa-stack,.save{display:none!important}.tb-sec{padding:0}.tb-place,.tb-region,.tb-day{break-inside:avoid}}
