:root{font-family:Inter,system-ui,sans-serif;color:#173142;background:#eef4f5}
*{box-sizing:border-box}
body{margin:0}
header{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#123047;color:white}
header a{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center}
header b{letter-spacing:.08em}
header span{opacity:.75}
.header-actions,.cmp-mark{display:flex;align-items:center}
.header-actions{gap:16px}
.cmp-mark{gap:9px;padding-right:16px;border-right:1px solid #ffffff33;font-size:.76rem;font-weight:700;line-height:1.15;text-align:left}
.cmp-mark img{width:44px;height:44px;object-fit:contain;border-radius:50%;background:white;padding:3px}
.internal{border:1px solid #ffffff55;border-radius:9px;padding:10px 14px}
main{max-width:980px;margin:auto;padding:48px 22px 70px}
.hero{text-align:center;margin-bottom:28px}
.hero p{color:#1597a7;font-weight:800;letter-spacing:.14em}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:.2em 0}
.hero span{color:#5b6e78}
.card{background:white;padding:clamp(22px,4vw,42px);border-radius:20px;box-shadow:0 18px 60px #17314218;margin:22px 0}
.location-picker{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid #dce7ea}
.location-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:16px}
.location-heading small{color:#1597a7;font-weight:800;letter-spacing:.12em}
.location-heading h2{font-size:clamp(1.25rem,3vw,1.75rem);margin:5px 0}
.location-heading p{color:#627782;margin:0}
.map-action{flex:0 0 auto;margin:0;background:#176b87;padding:12px 16px}
.map-action:disabled{opacity:.6;cursor:wait}
.neighborhood-field{margin-bottom:14px}
#publicMap{height:420px;border:1px solid #bfd0d6;border-radius:15px;overflow:hidden;background:#dfe9ec;z-index:0}
.map-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px}
#publicLocationStatus{font-weight:700;margin:0;color:#24485b;max-width:620px}
.cl-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 11px;color:#627782;font-size:.8rem}
.cl-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.cl-legend i{width:14px;height:14px;border-radius:4px;background:var(--cl-color);border:1px solid #ffffff;box-shadow:0 0 0 1px #9eb3ba}
.field-help{font-weight:500;color:#71838d}
input[readonly]{background:#eef4f5;color:#173142;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
label{display:flex;flex-direction:column;gap:7px;font-weight:650}
input,select,textarea{font:inherit;border:1px solid #bfd0d6;border-radius:10px;padding:12px;background:white}
textarea{width:100%;margin-bottom:18px}
button{border:0;border-radius:10px;background:#d84c3f;color:white;font:inherit;font-weight:800;padding:14px 20px;margin-top:22px;cursor:pointer}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.secondary-action{background:#123047}
output{display:flex;flex-direction:column;align-items:center;background:#123047;color:white;border-radius:16px;padding:25px;margin-top:28px;text-align:center}
output strong{font-size:2.2rem;margin:8px}
#publicFormula{max-width:760px;margin-top:8px;font-size:.9rem;opacity:.8}
.privacy-note{text-align:center;color:#627782;font-size:.9rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.facts p{background:#eef4f5;padding:14px;border-radius:10px}
.facts small,.facts strong{display:block}
.facts small{color:#627782}
footer{text-align:center;padding:25px;color:#71838d}
@media(max-width:650px){header span{display:none}.header-actions{gap:8px}.cmp-mark{padding-right:8px}.cmp-mark img{width:38px;height:38px}.internal{padding:9px 10px}.grid,.facts{grid-template-columns:1fr}main{padding-top:28px}.location-heading,.map-caption{display:block}.map-action{width:100%;margin-top:14px}#publicMap{height:360px}.cl-legend{justify-content:flex-start;margin-top:12px}}
@media print{
  @page{size:A4;margin:14mm}
  header,.hero p,.internal,.actions,.privacy-note,footer{display:none!important}
  body{background:#fff;color:#173142}
  main{max-width:none;padding:0}
  .hero{text-align:left;margin:0 0 14px}
  .hero h1{font-size:24pt}
  .hero span{font-size:10pt}
  .card{box-shadow:none;border:1px solid #bfd0d6;margin:0;padding:18px}
  .location-picker{padding:0 0 10px;margin:0 0 12px}
  .location-heading h2{font-size:13pt}
  .location-heading p,.location-heading small,#publicMap,.map-action,.neighborhood-field,.cl-legend{display:none!important}
  #publicLocationStatus{font-size:9pt;max-width:none}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  input,select{border:0;border-bottom:1px solid #bfd0d6;border-radius:0;padding:6px 0;appearance:none}
  output{margin-top:18px;break-inside:avoid}
  output strong{font-size:24pt}
}
