.planning-section{padding:76px var(--pad) 65px;border-bottom:1px solid var(--rule)}
.planning-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;margin-bottom:35px}
.planning-intro h2{font-size:clamp(43px,4.1vw,68px);line-height:1.03;margin:0;max-width:750px}
.planning-intro p{font:23px/1.4 var(--serif);max-width:400px;margin:0 0 5px;color:#53594f}
.planning-controls{display:flex;flex-wrap:wrap;gap:24px 50px;border-top:1px solid var(--rule);padding:24px 0 27px;align-items:end}
.planning-controls fieldset{border:0;padding:0;margin:0;min-width:0}
.planning-controls legend{font-size:15px;color:#596052;margin:0 0 10px}
.plan-choice{display:inline-flex;gap:0;background:#e0dacd;padding:4px}
.plan-choice button{font-size:16px;min-height:46px;padding:11px 17px;border:1px solid transparent;white-space:nowrap}
.plan-choice button[aria-pressed=true]{background:#f4f0e7;border-color:#b7ad9b;color:#252925}
.plan-choice button[aria-pressed=false]{color:#64675d}
.plan-motion-toggle{margin-left:auto;display:flex;gap:9px;align-items:center;min-height:46px;font-size:15px;color:#53594f}
.planning-section input[type=checkbox]{accent-color:#985238;width:19px;height:19px;flex:0 0 auto}
.planning-workspace{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(260px,.75fr);gap:38px;align-items:start}
.planning-map-figure{margin:0;min-width:0;background:linear-gradient(145deg,#e1dccf,#e8e2d6)}
.planning-svg{display:block;width:100%;height:auto}
.planning-map-figure figcaption{font-size:15px;padding:3px 24px 22px;line-height:1.5;color:#53594f}
.planning-legend{display:flex;gap:15px 27px;flex-wrap:wrap;padding:18px 24px 0;margin:0;list-style:none;font-size:14px;color:#4d5349}
.planning-legend li{display:flex;align-items:center;gap:8px;margin:0}
.legend-route{display:inline-block;width:27px;border-top:2px dashed #985238}
.legend-view{display:inline-block;width:20px;height:12px;background:#b4bdaf77;border:1px solid #879381}
.legend-check{display:inline-block;width:18px;height:14px;background:repeating-linear-gradient(35deg,#a0614244 0 1px,transparent 1px 5px);border:1px solid #a0614299}
.plan-walls{fill:none;stroke:#464d42;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter}
.plan-desk{fill:#a99d8780;stroke:#7b7465;stroke-width:1.5}
.plan-destination-room{fill:#ddd8cb}
.plan-label{font:19px var(--serif);fill:#384131}
.plan-muted{fill:#8d9285;font-size:22px}
.person-label{font:15px var(--sans);fill:#444e3d}
.plan-sight{fill:#a5b39a25;stroke:#86977a88;stroke-width:1;stroke-dasharray:5 6}
.support-sight{fill:#b79a7127;stroke:#ab805588}
.plan-route{fill:none;stroke:#985238;stroke-width:4;stroke-dasharray:6 4;stroke-linecap:round;stroke-linejoin:round}
.plan-route.is-approved{stroke:#394d35;stroke-dasharray:none;stroke-width:5}
.plan-route.is-declined{opacity:.25}
.plan-original-route{fill:none;stroke:#9b958977;stroke-width:2;stroke-dasharray:4 7}
.plan-obstruction rect{fill:#d5b399;stroke:#a16441;stroke-width:1.5}
.plan-obstruction path{fill:none;stroke:#985238;stroke-width:1.5}
.plan-uncertainty{stroke:#ac7b54;stroke-width:1;stroke-dasharray:3 5}
.uncertainty-label{fill:#96593b;font:16px var(--sans)}
.person-halo{fill:#ebe9de;stroke:#546449;stroke-width:1.5}
.person-head,.person-body{fill:#3f5135}
.support-person .person-halo{stroke:#985238}.support-person .person-head,.support-person .person-body{fill:#985238}
.plan-check-circle{fill:#485c3e}.plan-check-mark{fill:none;stroke:#f6f0e3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.planning-output{padding:3px 0 0}
.planning-output h3{font-size:35px;line-height:1.07;margin:0 0 19px}
.planning-output>p{font-size:17px;line-height:1.55;color:#51594b;margin:0 0 24px}
.plan-evidence-list{margin:0;border-top:1px solid var(--rule)}
.plan-evidence-list>div{padding:18px 0;border-bottom:1px solid var(--rule)}
.plan-evidence-list dt{font-size:15px;color:#985238;margin-bottom:7px}
.plan-evidence-list dd{margin:0;font-size:16px;line-height:1.45;color:#46503e}
.plan-check-input{display:flex;align-items:flex-start;gap:11px;font-size:16px;line-height:1.4;margin:24px 0 8px}
.plan-check-input input{margin-top:2px}
.planning-output .plan-check-help{font-size:14px;color:#6d7264;margin:0 0 22px;padding-left:30px}
.plan-decision-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px}
.plan-decision-actions .button{font-size:18px;padding:14px 20px;min-height:48px}
.plan-decision-actions .text-link{font-size:16px;min-height:44px}
.planning-section button:disabled{opacity:.45;cursor:not-allowed}
.planning-section button:focus-visible,.planning-section input:focus-visible{outline:3px solid #985238;outline-offset:4px}
.planning-section .plan-status{margin:19px 0 0;font-size:15px;line-height:1.5;color:#495640;min-height:46px}
.planning-section .plan-disclosure{font-size:15px;line-height:1.55;color:#606558;max-width:880px;margin:28px 0 0}
.platform-role-disclosure>summary{font:28px var(--serif);padding:20px 0;cursor:pointer;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.platform-role-disclosure[open]>summary{margin-bottom:18px}
.route-enter{animation:plan-route-reveal 450ms ease-out both}
@keyframes plan-route-reveal{from{opacity:.15}to{opacity:1}}
@media(max-width:1050px){.planning-workspace{grid-template-columns:1fr;gap:28px}.planning-output{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.planning-output h3,.planning-output>p{grid-column:1}.plan-evidence-list{grid-column:2;grid-row:1/span 4}.plan-check-input,.plan-check-help,.plan-decision-actions,.plan-status{grid-column:1}.planning-intro{gap:30px}.plan-motion-toggle{margin-left:0}}
@media(max-width:650px){.planning-section{padding:48px 24px}.planning-intro{display:block;margin-bottom:27px}.planning-intro h2{font-size:42px}.planning-intro p{font-size:21px;margin-top:23px}.planning-controls{gap:20px;display:grid;grid-template-columns:1fr;padding:21px 0}.plan-choice{display:flex;max-width:100%}.plan-choice button{flex:1;font-size:15px;padding:11px 10px;white-space:normal}.plan-motion-toggle{min-height:44px}.planning-workspace{gap:27px}.planning-map-figure{margin-left:-12px;margin-right:-12px}.planning-output{display:block}.planning-output h3{font-size:34px}.planning-output>p{font-size:17px}.planning-map-figure figcaption{padding:4px 15px 20px;font-size:14px}.planning-legend{padding:18px 15px 0;font-size:13px;gap:11px 18px}.plan-label{font-size:16px}.plan-muted{font-size:17px}.person-label{font-size:14px}.uncertainty-label{font-size:13px}.plan-walls{stroke-width:5}.plan-route{stroke-width:3}.plan-route.is-approved{stroke-width:4}.planning-output .plan-check-help{font-size:14px}.plan-decision-actions .button{width:100%;justify-content:center}.planning-section .plan-status{font-size:15px}.planning-section .plan-disclosure{font-size:14px}.platform-role-disclosure>summary{font-size:25px}}
@media(prefers-reduced-motion:reduce){.route-enter{animation:none}}
