/* lasvegasfloodrestoration.com. Civic survey sheet: slate and graphite, signal yellow, one hazard orange.
   IBM Plex Sans Condensed + IBM Plex Mono, 0 radius, 1px hairlines, contour dividers, strict 12 column grid. */
@font-face{font-family:"Plex Cond";src:url(/fonts/plex-cond-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Cond";src:url(/fonts/plex-cond-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plex Cond";src:url(/fonts/plex-cond-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cond Fallback";src:local("Arial Narrow"),local("ArialNarrow"),local("Arial");size-adjust:96%;ascent-override:98%;descent-override:26%}

:root{
  --ground:#E9ECEF; --panel:#F7F8F9; --ink:#161B21; --ink-2:#3B4652; --rule:#8C99A6; --rule-soft:#C5CCD3;
  --graphite:#1E252D; --graphite-2:#2A323C; --on-graphite:#E3E7EB; --on-graphite-2:#B9C3CC;
  --signal:#F2C300; --signal-deep:#8A6F00; --hazard:#B8400B; --hazard-fill:#E8590C;
  --contour:#9AA5B1; --map-bg:#F3F5F6; --map-grid:#D7DCE1; --wash:#2F5D7C;
  --sans:"Plex Cond","Cond Fallback","Arial Narrow",sans-serif; --mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gut:16px; --max:1240px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --ground:#12161B; --panel:#1A2027; --ink:#E3E7EB; --ink-2:#AAB5C0; --rule:#566270; --rule-soft:#2C343D;
  --graphite:#0E1216; --graphite-2:#1A2027; --signal-deep:#F2C300; --hazard:#FF8A4C;
  --contour:#3D4854; --map-bg:#161B21; --map-grid:#252D36; --wash:#7FB0D0;
}}
@media (min-width:768px){:root{--gut:24px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.55 var(--sans);font-variant-numeric:tabular-nums}
figure,blockquote,dl,dd{margin:0}
[hidden]{display:none!important}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration-color:var(--signal-deep);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--hazard)}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.12;letter-spacing:0;text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem)}
h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);margin-top:1.6em}
p,li{text-wrap:pretty}
p{margin:0 0 1em}
b,strong{font-weight:700}
.skip{position:absolute;left:-999px;top:0;background:var(--signal);color:#161B21;padding:8px 12px;z-index:30}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.w65{max-width:65ch}

/* grid */
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.g12>*{grid-column:1/-1;min-width:0}
@media (min-width:960px){
  .span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}
  .span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:1/-1}
}

/* header */
.site-h{background:var(--graphite);color:var(--on-graphite);border-bottom:3px solid var(--signal)}
.hrow{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--on-graphite);text-decoration:none;flex-shrink:0;margin:0}
.wm{font:700 1.12rem/1.05 var(--sans);letter-spacing:.01em}
.wm-a{color:var(--signal)}
.wm-b{color:var(--on-graphite)}
.nav{flex-shrink:0;margin-left:auto}
.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav a{display:block;padding:8px 10px;color:var(--on-graphite);text-decoration:none;font-weight:600;font-size:.98rem;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--signal)}
.hcta{display:flex;gap:8px;flex-shrink:0}
.menu{display:none;margin-left:auto;position:relative}
.menu summary{cursor:pointer;list-style:none;padding:8px 12px;border:1px solid var(--on-graphite-2);font:500 .95rem var(--mono);color:var(--on-graphite)}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:6px 0;min-width:230px;background:var(--graphite);border:1px solid var(--rule)}
.menu a{display:block;padding:10px 16px;color:var(--on-graphite);text-decoration:none}
@media (max-width:1100px){.nav{display:none}.menu{display:block}.hcta{margin-left:0}}
@media (max-width:640px){.hcta .btn-text{display:none}.wm{font-size:1rem}.hrow{gap:10px}}
@media (max-width:420px){.hcta{display:none}}

/* buttons, 0 radius */
.btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font:600 1.02rem/1 var(--sans);text-decoration:none;border:1px solid transparent;white-space:nowrap;text-box:trim-both cap alphabetic}
.btn-sm{min-height:38px;padding:8px 12px;font-size:.95rem}
.btn-call{background:var(--signal);color:#161B21;border-color:var(--signal)}
.btn-call:hover{background:#FFD21A;color:#161B21}
.btn-text{background:transparent;color:var(--ink);border-color:var(--ink)}
.site-h .btn-text,.btn-inv{color:var(--on-graphite);border-color:var(--on-graphite-2)}
.btn:active{translate:0 1px}

/* breadcrumbs */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px auto 0;padding:0;font:400 .86rem var(--mono);color:var(--ink-2)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--rule)}
.crumbs a{color:var(--ink-2)}

/* contour dividers, the only motion on the site */
.contour{display:block;width:100%;height:48px;margin:28px 0 8px}
.contour polyline{fill:none;stroke:var(--contour);stroke-width:1;vector-effect:non-scaling-stroke}
.contour polyline:nth-child(2){stroke:var(--rule)}
.contour-f{margin:0 0 20px}
@media (prefers-reduced-motion:no-preference){
  .contour polyline{stroke-dasharray:1400;stroke-dashoffset:0;animation:draw 2.4s ease-out both}
  .contour polyline:nth-child(2){animation-delay:.15s}.contour polyline:nth-child(3){animation-delay:.3s}.contour polyline:nth-child(4){animation-delay:.45s}
  @keyframes draw{from{stroke-dashoffset:1400}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}

/* hero */
.hero{padding-top:36px;row-gap:28px;align-items:start}
.hero-copy h1{margin-top:8px}
.lede{font-size:1.2rem;color:var(--ink-2);max-width:40ch}
.hero-cta,.cta-b{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
@media (min-width:960px){.hero-copy{grid-column:1/span 6;padding-top:24px}.hero-tool{grid-column:7/span 6}}

/* lookup */
.lookup{background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--graphite);padding:18px}
@media (prefers-color-scheme:dark){.lookup{border-top-color:var(--signal)}}
.lk-h{font-size:1.35rem;margin:0 0 10px}
.lk-form label{display:block;font:500 .86rem var(--mono);color:var(--ink-2);margin-bottom:6px}
.lk-row{display:grid;grid-template-columns:1fr auto;gap:0}
.lk-row input{min-height:48px;padding:10px 12px;border:1px solid var(--ink);border-right:0;background:var(--ground);color:var(--ink);font:500 1.05rem var(--mono);border-radius:0;width:100%;min-width:0}
.lk-row input::placeholder{color:var(--ink-2);opacity:1}
.lk-row button{min-height:48px;padding:0 18px;border:1px solid var(--ink);background:var(--graphite);color:var(--on-graphite);font:600 1rem var(--sans);cursor:pointer;border-radius:0}
.lk-row button:hover{background:var(--graphite-2)}
.lk-out{margin-top:16px}
.lk-card{border-top:1px solid var(--rule)}
.lk-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:10px 0 8px}
.lk-name{font:700 1.2rem var(--sans)}
.lk-where{font:400 .85rem var(--mono);color:var(--ink-2);align-self:center}
.lk-dl>div{display:grid;grid-template-columns:minmax(0,11rem) 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--rule-soft)}
.lk-dl dt{font:500 .8rem/1.4 var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}
.lk-dl dd{font-size:.98rem}
@media (max-width:520px){.lk-dl>div{grid-template-columns:1fr;gap:2px}}
.zl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.zl li,.zone{display:inline-block;font:500 .82rem/1.3 var(--mono);padding:2px 7px;border:1px solid var(--rule);background:var(--ground)}
.zl li.sfha,.zone.sfha{border-color:var(--hazard);color:var(--hazard);font-weight:500}
.lk-more{margin:10px 0 0;font:500 .9rem var(--mono)}
.lk-miss{font:500 .95rem var(--mono);color:var(--hazard)}
.cards{display:grid;gap:16px;margin-top:16px}
@media (min-width:760px){.cards{grid-template-columns:1fr 1fr}}
.cards .lk-card{background:var(--panel);border:1px solid var(--rule);padding:0 14px 12px}

/* sections and docs */
.sec{padding:8px 0 20px}
.sec h2{margin-top:.2em}
.doc{padding-bottom:40px}
.doc-h{padding-top:24px;border-bottom:1px solid var(--rule);margin-bottom:22px}
.doc-h h1{margin-bottom:.4em}
.meta{font:400 .86rem var(--mono);color:var(--ink-2)}
.narrow{max-width:820px}
.body section{scroll-margin-top:16px}
.bite{font-size:1.22rem;line-height:1.45;border-left:4px solid var(--signal);padding:4px 0 4px 16px;margin:0 0 20px}
.glance{border:1px solid var(--rule);background:var(--panel);margin:0 0 24px}
.glance-h{margin:0;padding:8px 14px;background:var(--graphite);color:var(--on-graphite);font:500 .82rem var(--mono);text-transform:uppercase;letter-spacing:.06em}
.glance ul{list-style:none;margin:0;padding:0;display:grid}
@media (min-width:640px){.glance ul{grid-template-columns:1fr 1fr}}
.glance li{padding:10px 14px;border-top:1px solid var(--rule-soft);font-weight:600}
@media (min-width:640px){.glance li:nth-child(odd){border-right:1px solid var(--rule-soft)}}
.list{padding-left:1.2em}.list li{margin:.35em 0}

/* tables: dense, hairline, figure captions */
.tbl{margin:14px 0 22px}
table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--panel);border:1px solid var(--rule)}
thead th{background:var(--graphite);color:var(--on-graphite);font:500 .78rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:8px 10px;vertical-align:bottom}
tbody th,tbody td{padding:7px 10px;border-top:1px solid var(--rule-soft);text-align:left;vertical-align:top}
tbody th{font-weight:600}
td.num,th.num{text-align:right;white-space:nowrap}
td.src{font-size:.86rem}
td.flag{color:var(--hazard);font-weight:600}
td.t{color:var(--ink);font-weight:500}
.tbl-dense table{font-size:.9rem}
.tbl-dense tbody th,.tbl-dense tbody td{padding:5px 8px}
figcaption{font:400 .82rem/1.45 var(--mono);color:var(--ink-2);padding:8px 0 0;border-top:0}
.tbl-rain table td{text-align:right}
@media (max-width:700px){
  table,thead,tbody,tr,th,td{display:block}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  tbody tr{border-top:2px solid var(--rule);padding:6px 0}
  tbody th{border:0;padding:6px 10px 2px}
  tbody td{border:0;padding:2px 10px;display:grid;grid-template-columns:minmax(0,9.5rem) 1fr;gap:8px;text-align:left}
  td.num{text-align:left;white-space:normal}
  tbody td::before{content:attr(data-label);font:500 .75rem/1.5 var(--mono);color:var(--ink-2);text-transform:uppercase}
  .tbl-rain tbody tr{display:grid;grid-template-columns:repeat(4,1fr)}
  .tbl-rain tbody th{grid-column:1/-1}
  .tbl-rain tbody td{grid-template-columns:1fr;gap:0}
}

/* map figure */
.fig-map{margin:8px 0 18px}
.fig-map-wide{max-width:760px}
.rmap{width:100%;height:auto;border:1px solid var(--rule)}
.rmap .bg{fill:var(--map-bg)}
.rmap .gr{stroke:var(--map-grid);stroke-width:.6}
.rmap .gr2{stroke:var(--rule-soft);stroke-width:.8}
.rmap .ring{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-dasharray:6 4}
.rmap .ring2{stroke:var(--rule);stroke-width:.8}
.rmap .wash{fill:none;stroke:var(--wash);stroke-width:2.2;stroke-linejoin:round}
.rmap .wash-g{stroke-dasharray:5 3}
.rmap .ga{fill:var(--map-bg);stroke:var(--wash);stroke-width:1.2}
.rmap .bs{fill:var(--signal);stroke:var(--ink);stroke-width:1}
.rmap .zp{fill:var(--ink)}
.rmap .zl,.rmap .bl,.rmap .wl,.rmap .rl,.rmap .sb text,.rmap .nl{font:500 11px var(--mono);fill:var(--ink)}
.rmap .wl{fill:var(--wash);font-size:12px}
.rmap .bl{font-size:10.5px}
.rmap .cx,.rmap .sb line,.rmap .na{stroke:var(--hazard-fill);stroke-width:2}
.rmap .sb line,.rmap .na{stroke:var(--ink)}
.rmap a:hover .zp{fill:var(--hazard-fill)}

/* chart */
.fig-chart svg{width:100%;background:var(--panel);border:1px solid var(--rule)}
.fig-chart .bar{fill:var(--ink-2)}
.fig-chart .bar-m{fill:var(--signal);stroke:var(--ink);stroke-width:1}
.fig-chart .axis{stroke:var(--ink);stroke-width:1}
.fig-chart .bv,.fig-chart .bm{font:500 11px var(--mono);fill:var(--ink);text-anchor:middle}

/* sheet index TOC (this site only) */
.sheet-index{border:1px solid var(--ink);background:var(--panel);margin:0 0 20px}
.si-h{margin:0;padding:8px 12px;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--signal);color:#161B21}
.sheet-index ol{list-style:none;margin:0;padding:0}
.sheet-index a{display:grid;grid-template-columns:2.6rem 1fr;border-top:1px solid var(--rule-soft);text-decoration:none;font-size:.95rem}
.sheet-index a:hover .ti-t{text-decoration:underline;text-decoration-color:var(--signal-deep)}
.ti-n{font:500 .85rem var(--mono);color:var(--ink-2);padding:8px 0 8px 12px;border-right:1px solid var(--rule-soft)}
.ti-t{padding:8px 12px}
@media (min-width:960px){.toc-col .sheet-index{position:sticky;top:16px}}

/* rail */
.rail{padding-top:4px}
.rail-box{border:1px solid var(--rule);background:var(--panel);padding:14px;margin-bottom:16px}
.rail-box .btn{margin:4px 6px 4px 0}
.rail-h{font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 6px}
.rail-ph{font:700 1.5rem var(--sans);margin:0 0 8px}
.rail-ph a{text-decoration:none}
.rail-l{list-style:none;margin:0;padding:0}
.rail-l li{border-top:1px solid var(--rule-soft)}
.rail-l a{display:block;padding:6px 0}
.contact-grid{display:grid;gap:16px;margin:10px 0 24px}
@media (min-width:640px){.contact-grid{grid-template-columns:1fr 1fr}}

/* faq: exclusive accordion */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:12px 32px 12px 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:10px;font:500 1.2rem var(--mono);color:var(--ink-2)}
.faq details[open] summary::after{content:"\2212"}
.faq-a{padding:0 0 14px;color:var(--ink)}
:root{interpolate-size:allow-keywords}
@media (prefers-reduced-motion:no-preference){
  .faq details::details-content{block-size:0;overflow:clip;transition:block-size .25s,content-visibility .25s allow-discrete}
  .faq details[open]::details-content{block-size:auto}
}

/* cta line and sources */
.cta-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;border:1px solid var(--ink);border-left:6px solid var(--signal);padding:12px 16px;margin:28px 0;background:var(--panel)}
.cta-line p{margin:0;font-weight:600}
.sources ol{font-size:.92rem;padding-left:1.4em}
.sources li{margin:.3em 0}

/* entitymap */
.em-ent{border-top:1px solid var(--rule);padding:12px 0}
.em-ent h2{margin-top:.2em;font-size:1.3rem}
.em-type{font:500 .8rem var(--mono);color:var(--ink-2);margin:0 0 6px}
.em-ent blockquote{border-left:3px solid var(--signal);padding:4px 0 4px 12px;margin:8px 0}
.em-ent cite{display:block;font:400 .82rem var(--mono);color:var(--ink-2);margin-top:4px}
.em-rel{font:500 .86rem var(--mono)}

/* footer */
.site-f{background:var(--graphite);color:var(--on-graphite);margin-top:40px;padding-bottom:20px}
.site-f .contour polyline{stroke:#3D4854}
.site-f a{color:var(--on-graphite);text-decoration-color:#5F6B78}
.site-f a:hover{text-decoration-color:var(--signal)}
.fgrid{display:grid;gap:22px}
@media (min-width:760px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.fgrid{grid-template-columns:1.3fr 1fr 1fr 1.2fr .9fr}}
.fh{font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--signal);margin:0 0 8px}
.fcol ul{list-style:none;margin:0;padding:0;font-size:.95rem}
.fcol li{margin:.3em 0}
.fphone a{font:700 1.4rem var(--sans);text-decoration:none}
.fcol p{color:var(--on-graphite-2)}
.fbase{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;border-top:1px solid #3D4854;margin-top:20px;padding-top:14px;font:400 .84rem var(--mono);color:var(--on-graphite-2)}
.fbase p{margin:0}

/* phone call bar */
.callbar{display:none}
@media (max-width:1039px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:8px var(--gut) calc(8px + env(safe-area-inset-bottom));background:var(--graphite);border-top:3px solid var(--signal)}
  .callbar .btn{justify-content:center}
  body{padding-bottom:72px}
}
.cards>*,.em-ent{content-visibility:auto;contain-intrinsic-size:auto 320px}
.em-ent h3{margin-top:.2em;font-size:1.2rem}
.em-ent h3 .em-type{display:inline-block;margin:0 0 0 8px;font-size:.75rem;vertical-align:middle}
.em-group>h2{margin-top:1.6em;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.em-toc ol{columns:2;column-gap:24px;font:500 .9rem var(--mono);padding-left:1.4em}
.em-n,.em-why,.em-conf{color:var(--ink-2)}
.em-why{font-weight:400}
.em-same{font:500 .82rem var(--mono);color:var(--ink-2);margin:4px 0}
.em-ent blockquote p{margin:0}
@media (max-width:640px){.em-toc ol{columns:1}}

/* photographs: report plates, hairline frame, numbered mono captions */
.photo{margin:18px 0 26px}
.photo picture{display:block;border:1px solid var(--rule);background:var(--panel);padding:6px}
.photo img{width:100%;height:auto;background:var(--rule-soft)}
.photo figcaption{border-top:1px solid var(--rule-soft);margin-top:0;padding-top:8px}
.fig-n{display:inline-block;margin-right:1.4ch;color:var(--ink);font-weight:600;letter-spacing:.06em;white-space:nowrap}
.fig-n::before{content:"";display:inline-block;width:.62em;height:.62em;margin-right:.6ch;background:var(--signal);vertical-align:.02em}
.photo-portrait{max-width:440px}
.hero-fig{margin:0}
@media (min-width:960px){
  .hero{grid-template-rows:auto 1fr}
  .hero-tool{grid-row:1/span 2}
  .hero-fig{grid-column:1/span 6;grid-row:2;align-self:start}
}
#rain .photo{margin-top:6px}
@media (min-width:960px){#rain .span-5{padding-right:12px}}
.cr-thumb{width:120px;height:auto;border:1px solid var(--rule)}
.tbl-credits td,.tbl-credits th{font-size:.92rem}
@media (max-width:700px){.cr-thumb{width:100%;max-width:320px}}
