.planning-page{color:#0f172a;background:#fff;padding:40px 0 64px;font-size:17px;line-height:1.65}
.plan-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.plan-breadcrumb{font-size:14px;color:#64748b;margin-bottom:24px}
.planning-page a{color:#1d4ed8;text-underline-offset:4px}
.planning-page a:hover{text-decoration:underline}
.planning-page h1{font-size:clamp(34px,4.3vw,54px);line-height:1.1;letter-spacing:-.035em;font-weight:700;max-width:900px;margin:0 0 20px}
.planning-page h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:700;margin:0 0 16px}
.planning-page h3{font-size:21px;line-height:1.35;font-weight:700;margin:0 0 10px}
.plan-intro{font-size:20px;line-height:1.55;max-width:850px;color:#475569;margin-bottom:24px}
.plan-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0;font-weight:600}
.plan-tool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #cbd5e1;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px #0f172a08;margin:28px 0}
.plan-inputs{padding:28px;background:#fff}
.plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.plan-fields label{font-size:16px;font-weight:600;display:block}
.plan-fields input,.plan-fields select{display:block;width:100%;min-width:0;border:1px solid #94a3b8;border-radius:9px;background:#fff;color:#0f172a;padding:11px 12px;font:inherit;margin-top:7px;min-height:48px}
.planning-page :focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.plan-result{padding:28px;background:#eff6ff;border-left:1px solid #dbeafe;display:flex;flex-direction:column;justify-content:center}
.plan-result output{display:block;font-size:clamp(32px,3.8vw,48px);font-weight:700;line-height:1.2;color:#1d4ed8;margin:8px 0 14px;letter-spacing:-.03em}
.plan-result p{margin:8px 0}
.plan-result svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:12px}
.plan-note{font-size:15px;color:#475569;line-height:1.6}
.plan-section{padding:46px 0;border-top:1px solid #e2e8f0;scroll-margin-top:95px}
.plan-section p{margin:12px 0;max-width:850px;color:#475569}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.plan-grid>div{padding:24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}
.plan-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #e2e8f0;border-radius:12px}
.plan-table{width:100%;border-collapse:collapse;font-size:16px;text-align:left}
.plan-table th,.plan-table td{padding:15px 18px;border-bottom:1px solid #e2e8f0;vertical-align:top}
.plan-table th{font-weight:600;background:#f8fafc;color:#0f172a}
.plan-table tbody tr:last-child td{border-bottom:0}
.plan-cta{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:28px;margin:24px 0}
.plan-button,.planning-page .plan-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;min-height:48px;padding:12px 20px;background:#2563eb;color:white;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none}
.planning-page .plan-button:hover{background:#1d4ed8;text-decoration:none}
.plan-section ul,.plan-section ol{padding-left:24px;margin:18px 0;color:#475569;max-width:850px}
.plan-section ul{list-style:disc}.plan-section ol{list-style:decimal}
.plan-section li{margin:10px 0}
.plan-faq details{padding:20px 0;border-bottom:1px solid #e2e8f0}
.plan-faq summary{font-size:19px;font-weight:600;cursor:pointer}
.plan-faq details p{margin-bottom:0}
.plan-wide{grid-column:1/-1}
.plan-error{color:#b91c1c;font-size:16px;margin-top:12px}
.planning-page [hidden]{display:none!important}
.planning-page #map{width:100%;height:520px;background:#f1f5f9}
.planning-page .map-container{border-radius:16px;overflow:hidden;border:1px solid #e2e8f0}
.plan-address{display:flex;gap:10px;max-width:700px;margin:20px 0}
.plan-address input{min-width:0;flex:1;padding:14px;border:1px solid #94a3b8;border-radius:10px;font-size:17px}
.plan-address-label{display:block;font-size:16px;font-weight:600}
.planning-page .calculator-section{margin:0;padding-top:0}
.planning-page .panel-hidden{opacity:0;pointer-events:none;position:absolute;visibility:hidden}
.planning-page .panel-visible{opacity:1;pointer-events:auto;position:relative;visibility:visible}
.planning-page .btn-cta,.planning-page .btn-success{background:#2563eb}
.planning-page .map-label{background:#0f172ad9;color:#fff}
.plan-inputs,.plan-result{min-width:0}
.clearance-settings{margin:20px 0;font-size:16px}
.clearance-settings summary{cursor:pointer;color:#1d4ed8;font-weight:600}
.clearance-settings .plan-fields label{display:flex;flex-direction:column;justify-content:space-between}
.clearance-result .clearance-car{max-height:none;margin:0 0 6px}
.clearance-result [data-verdict]{display:block;font-size:23px;line-height:1.3;font-weight:700;margin-top:16px}
.clearance-result .clearance-illustration-note{font-size:14px;margin-bottom:18px}
[data-planning-tool="clearance"] [data-assumptions]{margin:16px 0}
#clearance-map-calculator{scroll-margin-top:85px}
@media(max-width:700px){.planning-page{padding-top:24px}.plan-tool,.plan-grid{grid-template-columns:1fr}.plan-inputs,.plan-result{padding:22px}.plan-result{border-left:0;border-top:1px solid #dbeafe}.plan-wrap{width:calc(100% - 32px)}.plan-fields{gap:14px}.plan-intro{font-size:18px}.plan-table th,.plan-table td{padding:12px;font-size:15px}.plan-section{padding:32px 0}.plan-address{flex-wrap:wrap}.plan-address input{flex-basis:100%}.planning-page #map{height:380px}.plan-result svg{max-height:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
