/* Deedplat public site: survey-plate look, Geist throughout */
:root{
  --paper:#e6e9ed; --sheet:#f3f5f7; --ink:#14171b; --ink-2:#3a414b; --muted:#5d6570; --line:#c6ccd4; --line-2:#d6dbe1;
  --plat:#2b4bdb; --plat-soft:rgba(43,75,219,.12); --muni:#c3c9d1; --water:#a9bddb; --land:#dde1e6; --hi:#e8590c;
  --f:"Geist",system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#0e1114; --sheet:#161a1f; --ink:#e8ebef; --ink-2:#c3c9d1; --muted:#97a0ac; --line:#2e353e; --line-2:#252b33;
  --plat:#8197ff; --plat-soft:rgba(129,151,255,.2); --muni:#3d4652; --water:#28405f; --land:#1a1f25; --hi:#ff8a3d; color-scheme:dark; } }
:root[data-theme="dark"]{
  --paper:#0e1114; --sheet:#161a1f; --ink:#e8ebef; --ink-2:#c3c9d1; --muted:#97a0ac; --line:#2e353e; --line-2:#252b33;
  --plat:#8197ff; --plat-soft:rgba(129,151,255,.2); --muni:#3d4652; --water:#28405f; --land:#1a1f25; --hi:#ff8a3d; color-scheme:dark; }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--f);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
a{color:inherit}
:focus-visible{outline:2px solid var(--plat);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* top bar */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
.top .wrap{display:flex;align-items:center;gap:28px;height:60px}
.mark{display:flex;align-items:center;gap:9px;font-weight:600;font-size:18px;letter-spacing:-.035em;text-decoration:none}
.mark img{width:26px;height:26px;border-radius:7px}
.mark small{font-weight:400;color:var(--muted);font-size:13px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:7px 11px;border-radius:8px;font-size:14px;color:var(--ink-2);text-decoration:none}
.nav a:hover{background:var(--line-2);color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;background:var(--ink);color:var(--paper);font:500 14px var(--f);text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--plat);color:#fff}
.top .btn{height:36px;padding:0 14px}

/* hero: words left, the plate right */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;padding:56px 0 40px}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 18px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
h1{font:600 clamp(44px,6.4vw,84px)/.95 var(--f);letter-spacing:-.045em;margin:0 0 22px}
.lede{font-size:19px;line-height:1.5;color:var(--ink-2);margin:0 0 32px;max-width:34ch}
.figs{display:flex;flex-wrap:wrap;gap:28px 40px;margin:0;padding:0;list-style:none}
.figs li{display:flex;flex-direction:column-reverse}
.figs b{font:600 28px/1.1 var(--f);letter-spacing:-.03em}
.figs span{font-size:13px;color:var(--muted)}

/* the survey plate */
.plate{position:relative;aspect-ratio:1;background:var(--sheet);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.plate.wide{aspect-ratio:1000/600}
.plate svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.plate .near{fill:var(--land);stroke:var(--line);stroke-width:.8}
.plate .water{fill:var(--water);stroke:none}
.plate .muni{fill:var(--sheet);stroke:var(--muni);stroke-width:.7;transition:fill .12s}
.plate .muni:hover{fill:var(--plat-soft)}
.plate .muni.key{fill:var(--plat-soft);stroke:var(--plat);stroke-width:1.2}
.plate .edge{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}
.plate .lbl{font:600 22px var(--f);fill:var(--ink);paint-order:stroke;stroke:var(--sheet);stroke-width:6px;stroke-linejoin:round;pointer-events:none}
.plate .lbl.near-l{font-weight:400;font-size:19px;fill:var(--muted);stroke:var(--land)}
.plate .lbl.riv{font-style:italic;font-weight:400;font-size:18px;fill:color-mix(in srgb,var(--water) 40%,var(--ink));stroke:none}
.plate .co{stroke:var(--sheet);stroke-width:.8;fill:var(--land)}
.plate .co.on{fill:var(--plat)}
.plate .co.on:hover{fill:color-mix(in srgb,var(--plat) 80%,var(--ink))}
.plate .co:not(.on):hover{fill:var(--line)}
.plate .tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--ink);color:var(--paper);font:500 12.5px var(--f);padding:5px 9px;border-radius:7px;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));opacity:0;transition:opacity .1s}
.plate .tip.on{opacity:1}
.plate figcaption{position:absolute;right:14px;bottom:12px;font-size:12px;color:var(--muted)}
.plate .ticks{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(var(--ink),var(--ink)) 0 0/14px 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 0 0/1px 14px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 100% 0/14px 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 0/1px 14px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 0 100%/14px 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 0 100%/1px 14px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 100% 100%/14px 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 100%/1px 14px no-repeat}

/* sections */
section.blk{padding:64px 0;border-top:1px solid var(--line-2)}
h2{font:600 clamp(28px,3.4vw,40px)/1.08 var(--f);letter-spacing:-.03em;margin:0 0 12px;max-width:22ch}
.sub{color:var(--muted);margin:0 0 36px;max-width:60ch}

/* coverage as a map legend: solid = included, hatched = on request, outline = not yet */
.legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.leg{background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;padding:22px 22px 10px}
.leg h3{display:flex;align-items:center;gap:10px;font:600 17px var(--f);margin:0 0 4px}
.leg > p{margin:0 0 14px;color:var(--muted);font-size:14px}
.sw{width:16px;height:16px;border-radius:3px;flex:none}
.sw.in{background:var(--plat)}
.sw.req{background:repeating-linear-gradient(135deg,var(--plat) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--plat)}
.sw.no{box-shadow:inset 0 0 0 1.5px var(--muted);border-radius:3px;background:repeating-linear-gradient(90deg,transparent 0 3px,var(--sheet) 3px 5px)}
.leg ul{list-style:none;margin:0;padding:0}
.leg li{padding:11px 0;border-top:1px solid var(--line-2);font-size:15px}
.leg li small{display:block;color:var(--muted);font-size:13px;margin-top:1px}
.leg li em{font-style:normal;font-size:12px;color:var(--plat);margin-left:6px}

/* lists you can open */
.lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.list{display:flex;flex-direction:column;background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;padding:22px;text-decoration:none;transition:border-color .15s}
a.list:hover{border-color:var(--plat)}
.list b{font:600 34px/1 var(--f);letter-spacing:-.03em;margin-bottom:14px}
.list strong{font-weight:600;font-size:16px}
.list span{color:var(--muted);font-size:14px;margin-top:4px}
.list i{font-style:normal;color:var(--plat);font-size:14px;font-weight:500;margin-top:auto;padding-top:16px}

/* how property changes hands */
.ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.way{padding:20px 0;border-top:1px solid var(--line)}
.way h3{font:600 17px var(--f);margin:0 0 6px}
.way p{margin:0;color:var(--ink-2);font-size:15px;max-width:52ch}

/* price + request access */
.price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.amount{font:600 clamp(64px,9vw,120px)/.9 var(--f);letter-spacing:-.05em;margin:0 0 10px}
.amount small{font-size:.22em;letter-spacing:-.01em;font-weight:500;color:var(--muted);margin-left:8px}
.price ul{margin:18px 0 0;padding:0 0 0 18px;color:var(--ink-2)}
.price li{margin:4px 0}
form.ask{background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;padding:26px;display:grid;gap:14px}
form.ask h3{margin:0;font:600 19px var(--f)}
form.ask p{margin:-6px 0 4px;color:var(--muted);font-size:14px}
form.ask label{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
form.ask input, form.ask select{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:400 15px var(--f)}
form.ask input:focus, form.ask select:focus{outline:none;border-color:var(--plat);box-shadow:0 0 0 3px var(--plat-soft)}
form.ask .btn{height:46px;margin-top:4px}
form.ask .done{margin:0;color:var(--plat);font-weight:500}
form.ask .err{margin:0;color:var(--hi);font-size:14px}
form.ask .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
form.ask .btn:disabled{opacity:.6;cursor:default}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tier{background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;padding:24px;display:flex;flex-direction:column}
.tier.main{border-color:var(--plat);box-shadow:0 0 0 1px var(--plat)}
.tier h3{margin:0 0 2px;font:600 17px var(--f)}
.tier .for{color:var(--muted);font-size:14px;margin:0 0 18px}
.tier .p{font:600 40px/1 var(--f);letter-spacing:-.035em;margin:0 0 4px}
.tier .p small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.tier ul{list-style:none;margin:18px 0 0;padding:0;font-size:14.5px}
.tier li{padding:8px 0;border-top:1px solid var(--line-2)}

/* gated preview */
.gate{position:relative;background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;overflow:hidden}
.gate table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px}
.gate th{text-align:left;font-weight:500;color:var(--muted);font-size:13px;padding:14px 18px;border-bottom:1px solid var(--line)}
.gate td{padding:15px 18px;border-bottom:1px solid var(--line-2)}
.gate .bar{display:inline-block;max-width:100%;height:10px;border-radius:5px;background:var(--line)}
.gate .veil{position:absolute;inset:auto 0 0 0;height:72%;background:linear-gradient(to bottom,transparent,var(--sheet) 55%);display:flex;align-items:flex-end;justify-content:center;padding:28px}
.gate .veil div{text-align:center}
.gate .veil p{margin:0 0 14px;color:var(--ink-2)}
.qa{display:grid;gap:0;max-width:760px}
.qa details{border-top:1px solid var(--line);padding:18px 0}
.qa summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";float:right;color:var(--muted);font-weight:400}
.qa details[open] summary::after{content:"–"}
.qa p{margin:10px 0 0;color:var(--ink-2);max-width:62ch}

.counties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.cty{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;background:var(--sheet);border:1px solid var(--line-2);border-radius:14px;padding:20px;text-decoration:none}
.cty:hover{border-color:var(--plat)}
.cty .sw{grid-row:1/3}
.cty strong{font-size:17px}
.cty span{color:var(--muted);font-size:14px}

footer{border-top:1px solid var(--line-2);padding:32px 0 48px;color:var(--muted);font-size:13px}
footer span{display:flex;gap:6px 18px;flex-wrap:wrap}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink)}

@media (max-width:900px){
  .wrap{padding:0 16px}
  .nav{display:none}
  .top .btn{margin-left:auto}
  .hero{grid-template-columns:1fr;gap:28px;padding:32px 0 24px}
  .legend, .tiers, .price, .ways, .counties{grid-template-columns:1fr}
  .ways{gap:0}
  section.blk{padding:44px 0}
  .gate .hide-s{display:none}
}
@media (prefers-reduced-motion: reduce){ *{transition:none!important} }
