/* TripGoes: a quiet editorial worksheet, with explicit costs and provenance. */
.planner-page{--planner-ink:var(--ink,#173f35);--planner-paper:#fffefa;--planner-lime:#dfedaf;--planner-line:#d6ddce;color:var(--planner-ink);padding-bottom:20px}
.planner-page *{box-sizing:border-box}
.planner-page [hidden]{display:none!important}
.planner-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:8%;padding:70px 0 56px;border-bottom:1px solid var(--planner-line)}
.planner-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;line-height:1.7;margin:0 0 20px}
.planner-hero h1{font-size:clamp(42px,5.5vw,78px);line-height:1.07;letter-spacing:-.055em;margin:0}
.planner-hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;color:#b46e45}
.planner-hero-copy>p{font-size:17px;line-height:1.8;margin:0 0 20px;max-width:490px}
.planner-hero-copy small{display:block;font-size:12px;line-height:1.8;color:#52685c;max-width:460px}
.planner-workspace{padding-top:40px}
.planner-toolbar{display:flex;gap:32px;justify-content:space-between;align-items:start;margin-bottom:22px}
.planner-toolbar h2{font-size:28px;letter-spacing:-.04em;margin:0 0 10px}
.planner-toolbar p{font-size:13px;line-height:1.8;max-width:590px;margin:0;color:#52685c}
.planner-top-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:end;flex-shrink:0}
.planner-button{font:inherit;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:6px;padding:12px 16px;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.5;color:var(--planner-ink);background:transparent;max-width:100%}
.planner-button-outline{border-color:#b8c7b2;background:#f7f9ed}
.planner-button-outline:hover{background:#ebf0db}
.planner-button-dark{background:var(--planner-ink);color:#fffefa}
.planner-button-dark:hover{background:#285347}
.planner-button-text{font-weight:500;text-decoration:underline;text-underline-offset:4px}
.planner-page button:focus-visible,.planner-page a:focus-visible{outline:2px solid #577744;outline-offset:4px}
.planner-source-note{font-size:12px;line-height:1.8;padding:14px 18px;border-left:3px solid #78905d;background:#eef2e3;margin:0 0 24px}
.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.planner-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.planner-grid[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:720px}
.planner-offer{min-width:0;padding:24px;background:var(--planner-paper);border:1px solid var(--planner-line);border-radius:12px}
.planner-offer-top{display:flex;gap:10px;align-items:center;min-width:0}
.planner-number{font-size:12px;font-variant-numeric:tabular-nums;width:32px;height:32px;border:1px solid #c8d3be;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.planner-offer h3{font-size:18px;margin:0;letter-spacing:-.025em}
.planner-remove{margin-left:auto;background:transparent;border:0;font:inherit;font-size:10px;color:#617163;cursor:pointer;padding:10px 0 10px 8px;min-height:44px}
.planner-remove span{font-size:18px;vertical-align:-1px;margin-left:4px}
.planner-remove:hover{color:#8d452c}
.planner-provenance{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.075em;padding:5px 8px;border:1px solid #d3ddc7;border-radius:4px;margin:14px 0 24px;color:#4e6655}
.planner-provenance-sample{border-color:#ddc49f;background:#faf0db;color:#76542b}
.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.planner-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:600;line-height:1.5}
.planner-field-wide{grid-column:1/-1}
.planner-field input,.planner-field select{width:100%;min-width:0;height:47px;padding:0 12px;border:1px solid #cbd6c3;border-radius:5px;background:#fbfcf6;color:var(--planner-ink);font:inherit;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.planner-field input::placeholder{color:#83917e;font-weight:400;font-size:12px}
.planner-field input:focus,.planner-field select:focus{outline:2px solid #638054;outline-offset:2px;background:#fff}
.planner-field input[aria-invalid="true"]{border-color:#ae563a}
.planner-field small,.planner-field-hint{font-size:11px;font-weight:400;line-height:1.7;color:#5e7163;margin:0}
.planner-field-hint{grid-column:1/-1;margin-top:-6px}
.planner-error{color:#984527;font-size:11px;line-height:1.7;font-weight:500}
.planner-error:empty{display:none}
.planner-result{background:var(--planner-ink);color:#fffef1;margin:26px -24px -24px;padding:26px 24px 24px;border-radius:0 0 11px 11px;overflow-wrap:anywhere;min-width:0}
.planner-result:empty{display:none}
.planner-result-eye{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#b9ceac;margin:0 0 23px}
.planner-total-label{font-size:11px;color:#d0ddc7;margin:0 0 8px}
.planner-total{font-size:clamp(28px,3.1vw,45px);line-height:1.2;letter-spacing:-.035em;font-weight:600;font-variant-numeric:tabular-nums;color:var(--planner-lime);display:block}
.planner-result-note{font-size:12px;line-height:1.8;color:#e1e9d4;margin:17px 0 0}
.planner-metrics{margin:24px 0 0;padding:0}
.planner-metrics>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;border-top:1px solid #496352;padding:15px 0}
.planner-metrics dt{font-size:11px;line-height:1.6;color:#c6d7bc}
.planner-metrics dd{font-size:16px;line-height:1.5;text-align:right;font-weight:600;margin:0;font-variant-numeric:tabular-nums}
.planner-metrics .planner-budget{border-top:1px solid #8b9e73}
.planner-budget dd{color:var(--planner-lime)}
.planner-budget-over dd{color:#ffd0ad}
.planner-result-footnote{font-size:10px;line-height:1.8;color:#c1d0b9;margin:8px 0 0}
.planner-add{display:flex;gap:12px;align-items:center;justify-content:center;min-height:52px;width:100%;font:inherit;font-size:13px;font-weight:500;margin-top:22px;border:1px dashed #a9bc98;border-radius:7px;background:#eef3df;color:var(--planner-ink);cursor:pointer}
.planner-add:hover{background:#e3eccd}
.planner-add>span{font-size:21px}
.planner-comparison-note{font-size:12px;line-height:1.9;color:#5a6f5f;max-width:900px;margin:22px 0 0}
.planner-save-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;background:#eef2e4;border:1px solid #d5dec8;border-radius:10px;margin-top:40px;padding:28px}
.planner-save-state{font-size:15px;font-weight:600;line-height:1.6;margin:0 0 9px}
.planner-storage-note{font-size:11px;line-height:1.8;color:#52685a;margin:0;max-width:500px}
.planner-save-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:end;align-content:start;align-items:start}
.planner-status{grid-column:1/-1;font-size:12px;line-height:1.8;margin:0;color:#405a41}
.planner-status:empty{display:none}
.planner-method{display:grid;grid-template-columns:.9fr 1.2fr;gap:10%;padding:72px 0}
.planner-method h2{font-size:40px;line-height:1.15;letter-spacing:-.045em;margin:0 0 25px}
.planner-method a{font-size:12px;font-weight:600;text-underline-offset:5px;line-height:1.8}
.planner-formulas p{font-size:13px;line-height:1.9;padding-bottom:20px;margin:0 0 20px;border-bottom:1px solid var(--planner-line)}
.planner-formulas small{font-size:11px;color:#546a5c;line-height:1.9;display:block}
@media(max-width:1100px){.planner-offer{padding:20px}.planner-result{margin-inline:-20px;margin-bottom:-20px;padding:24px 20px}.planner-offer h3{font-size:16px}.planner-remove{font-size:9px}.planner-fields{gap:16px 10px}.planner-grid{gap:16px}.planner-field{font-size:11px}.planner-metrics{margin-top:18px}.planner-metrics>div{grid-template-columns:1fr;gap:5px}.planner-metrics dd{text-align:left}.planner-total{font-size:32px}.planner-save-panel{grid-template-columns:1fr}.planner-save-actions{justify-content:start}}
@media(max-width:850px){.planner-hero{grid-template-columns:1fr;gap:28px;padding:44px 0 36px}.planner-hero h1{font-size:clamp(40px,7vw,62px)}.planner-hero-copy>p{max-width:650px;font-size:15px;margin-bottom:12px}.planner-hero-copy small{max-width:650px}.planner-toolbar{flex-direction:column;gap:18px}.planner-top-actions{justify-content:start}.planner-grid[data-count="3"]{grid-template-columns:1fr}.planner-grid[data-count="3"] .planner-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-metrics>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.planner-metrics dd{text-align:right}.planner-method{gap:7%;padding:55px 0}.planner-method h2{font-size:33px}}
@media(max-width:600px){.planner-grid,.planner-grid[data-count="3"]{grid-template-columns:1fr}.planner-hero{padding-top:34px}.planner-hero h1{font-size:clamp(37px,10.2vw,54px)}.planner-eyebrow{font-size:9px;margin-bottom:17px}.planner-workspace{padding-top:30px}.planner-toolbar h2{font-size:25px}.planner-toolbar p{font-size:12px}.planner-source-note{padding:12px 14px;font-size:11px}.planner-offer{padding:20px}.planner-offer h3{font-size:18px}.planner-remove{font-size:10px}.planner-field{font-size:12px}.planner-field input,.planner-field select{font-size:16px}.planner-total{font-size:36px}.planner-save-panel{padding:22px 18px;margin-top:28px}.planner-save-actions{flex-direction:column;align-items:stretch}.planner-save-actions .planner-button{width:100%}.planner-method{grid-template-columns:1fr;gap:28px;padding:48px 0}.planner-method h2{font-size:34px}.planner-button{font-size:11px}.planner-status{font-size:12px}.planner-comparison-note{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.planner-button,.planner-add{transition:background-color .15s ease}}
@media print{.planner-top-actions,.planner-save-panel,.planner-add,.planner-remove{display:none}.planner-grid,.planner-grid[data-count="3"]{display:block}.planner-offer{break-inside:avoid;margin:0 0 20px}.planner-result{background:white;color:#173f35;border-top:1px solid #888}.planner-result :is(p,strong,dt,dd){color:#173f35}.planner-hero{padding-top:0}}
