/* Bitterman Law, injury site. One stylesheet for every page (English and Spanish).
   Look: a New York construction fence. Plywood with stenciled headlines for the home hero, inner page heads and the
   last call; aluminum signs with screws for the case review, the attorney and the tools; poured concrete and white for
   reading. Safety yellow marks the hazards and the main actions; WhatsApp keeps its own green. */
:root{
  --ply:#CBA77A;            /* plywood */
  --stencil:#151515;        /* spray paint, sign bands, footer */
  --vis:#FFC629;            /* safety yellow */
  --vis-deep:#E5AE0B;
  --vis-soft:#FFF6D6;
  --wa:#25D366;             /* WhatsApp */
  --wa-deep:#1EBE5A;
  --alu:#F8F8F5;            /* aluminum sign face */
  --concrete:#E3E3DE;       /* page */
  --white:#FFFFFF;
  --ink:#18191A;
  --wood-ink:#2A2118;       /* text on plywood */
  --muted:#5B5D5A;
  --rule:#CFCEC7;
  --danger:#A3261B;
  --f-stencil:"Big Shoulders Stencil Display","Barlow Condensed",Impact,sans-serif;
  --f-head:"Barlow Condensed","Arial Narrow",sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,sans-serif;
  --f-voice:"Newsreader",Georgia,serif;
  --wrap:1220px;
  /* shared textures, drawn in the browser (no image files) */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.09 0.0035' numOctaves='4' seed='14' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.40 0 0 0 0 0.25 0 0 0 0 0.10 0 0 0 1.1 -0.38'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");
  --speck:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.2 0 0 0 0 0.1 0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--concrete);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--stencil);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;line-height:1.02;letter-spacing:-.005em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.1rem,4.3vw,3.3rem)}
h3{font-size:1.38rem;line-height:1.1}
h4{font-size:1.15rem}
p{margin:0 0 1em}
.lede{font-size:1.16rem;line-height:1.5;max-width:38em}
.mark{width:44px;height:44px;color:var(--vis);flex:none}

/* plywood: home hero, inner page heads, app head, last call */
.ply,.hero2,.page-hero,.app-top,.contact{background-color:var(--ply);
  background-image:linear-gradient(180deg,rgba(255,244,222,.16),rgba(80,50,20,.14)),
    linear-gradient(90deg,rgba(90,58,24,.55) 0 2px,rgba(255,238,205,.28) 2px 3px,transparent 3px),
    var(--grain),var(--speck);
  background-size:auto,384px 100%,700px 700px,300px 300px;color:var(--wood-ink)}
.spray{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;color:var(--stencil);line-height:.86;letter-spacing:.005em;
  text-shadow:0 0 1px rgba(21,21,21,.55),0 0 9px rgba(21,21,21,.2)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:56px;padding:0 1.35em;border:0;border-radius:3px;cursor:pointer;
  font-family:var(--f-head);font-weight:800;font-size:1.2rem;letter-spacing:.01em;line-height:1.1;text-decoration:none;white-space:nowrap;
  transition:background .15s,transform .12s}
.btn:active{transform:translateY(1px)}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-call{background:var(--stencil);color:var(--vis);box-shadow:0 3px 0 #000}
.btn-call:hover{background:#000}
.btn-vis{background:var(--vis);color:var(--stencil);box-shadow:0 3px 0 #C99700}
.btn-vis:hover{background:var(--vis-deep)}
.btn-wa{background:var(--wa);color:var(--stencil);box-shadow:0 3px 0 #179A48}
.btn-wa:hover{background:var(--wa-deep)}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;color:var(--muted);font-weight:600;font-size:.95rem;text-decoration:underline;text-underline-offset:3px}

/* ad strip + header */
.adstrip{background:var(--stencil);color:rgba(255,255,255,.72);font-size:.8rem}
.adstrip .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:34px}
.adright{display:flex;align-items:center;gap:1rem}
.app-link{color:var(--vis);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,198,41,.5)}
.lang{display:flex;gap:2px}
.lang a{text-decoration:none;padding:2px 9px;color:rgba(255,255,255,.72)}
.lang a[aria-current="page"]{color:var(--vis);font-weight:700;box-shadow:inset 0 -2px 0 var(--vis)}
header.site{background:var(--stencil);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
@media (min-width:761px){header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20}}
header.site .wrap{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-width:0}
.brand b{display:block;font-family:var(--f-head);font-weight:700;font-size:1.45rem;letter-spacing:.01em;line-height:1}
.brand small{display:block;font-size:.8rem;color:rgba(255,255,255,.6);margin-top:3px}
nav.main{display:flex;gap:22px;font-weight:600;font-size:.96rem}
nav.main a{text-decoration:none;color:rgba(255,255,255,.8);white-space:nowrap}
nav.main a:hover{color:#fff}
.hdr-call{font-family:var(--f-head);font-weight:800;font-size:1.55rem;color:var(--vis);text-decoration:none;white-space:nowrap;line-height:1}
.hdr-call small{display:block;font-family:var(--f-body);font-weight:500;font-size:.72rem;color:rgba(255,255,255,.6);margin-bottom:2px}
@media (max-width:1180px){nav.main{display:none}}
@media (max-width:600px){
  .adstrip{font-size:.72rem}
  .lang a{font-size:0;padding:2px 7px}
  .lang a::after{content:attr(data-short);font-size:.74rem}
  header.site .wrap{min-height:62px;gap:10px}
  .mark{width:36px;height:36px}
  .brand b{font-size:1.15rem}
  .brand small{display:none}
  .hdr-call{font-size:1.2rem}
  .hdr-call small{display:none}
}

/* home hero */
.hero2{position:relative;overflow:hidden;padding-block:56px 84px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);grid-template-areas:"copy form" "badge form";gap:30px 56px;align-items:start}
.hero-main{grid-area:copy;min-width:0}
.kicker{display:inline-block;font-size:clamp(1.12rem,1.9vw,1.6rem);letter-spacing:.04em;line-height:1;margin:0 0 14px;padding-bottom:8px;border-bottom:4px solid var(--stencil);text-wrap:balance}
.hero2 h1{font-size:clamp(3.2rem,8vw,7.2rem)}
.voice{font-family:var(--f-voice);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2;margin:20px 0 18px;color:var(--stencil)}
.hero-lines{margin:0 0 18px;padding:0;list-style:none;font-weight:700;font-size:1.12rem;color:var(--stencil)}
.hero-lines li{display:flex;gap:10px;align-items:center;margin-bottom:4px}
.hero-lines li::before{content:"";width:16px;height:4px;background:var(--stencil);flex:none}
.hero-sub{font-size:1.08rem;font-weight:500;max-width:34em;margin:0 0 4px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.assure{margin:14px 0 0;font-size:.94rem;font-weight:500;max-width:34em}
.staffline{margin:14px 0 0;font-weight:600}
.listen{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:var(--alu);color:var(--stencil);border:2px solid var(--stencil);border-radius:3px;padding:8px 14px;font-weight:700;font-size:.95rem;cursor:pointer}
.listen svg{width:18px;height:18px}
.listen[aria-pressed="true"]{background:var(--stencil);color:var(--vis)}
@media (max-width:600px){.hero-ctas .btn{flex:1 1 0;padding:0 .7em;font-size:1.1rem}}

/* aluminum sign (case review, attorney, contact) */
.post{position:relative;background:var(--alu);color:var(--ink);border-radius:3px;
  box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.06),0 3px 0 rgba(60,38,14,.35),0 26px 34px -20px rgba(55,32,10,.75)}
.screw{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#9a9a96 55%,#6d6d69);box-shadow:0 1px 0 rgba(0,0,0,.25);z-index:1}
.screw::after{content:"";position:absolute;left:1.5px;right:1.5px;top:4px;height:1px;background:#555;transform:rotate(35deg)}
.s1{top:8px;left:8px}.s2{top:8px;right:8px}.s3{bottom:8px;left:8px}.s4{bottom:8px;right:8px}
.band{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--stencil);color:var(--vis);border-radius:3px 3px 0 0;
  padding:22px 26px 12px;font-family:var(--f-stencil);font-weight:900;font-size:1.7rem;line-height:1;text-transform:uppercase;letter-spacing:.03em}
.band small{font-family:var(--f-body);font-weight:600;font-size:.85rem;text-transform:none;letter-spacing:0;color:rgba(255,255,255,.72)}
.badge{grid-area:badge;max-width:480px;transform:rotate(-1.2deg)}
.badge .band{font-size:1.15rem;padding:16px 24px 9px}
.badge .in{display:flex;gap:16px;align-items:center;padding:20px 24px 24px}
.badge .seal{width:80px;height:80px;color:#8A6A35;flex:none}
.badge b{display:block;font-family:var(--f-head);font-weight:800;font-size:1.6rem;line-height:1}
.badge p{margin:6px 0 0;font-size:.95rem;color:var(--muted);line-height:1.4}
@media (max-width:920px){
  .hero2{padding-block:32px 70px}
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"copy" "form" "badge";gap:28px}
  .badge,form.intake.post{transform:none}
}

/* case review */
form.intake.post{grid-area:form;min-width:0;transform:rotate(.6deg);scroll-margin-top:96px}
.ibody{padding:18px 24px 26px}
.imeta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;font-weight:600;color:var(--muted);margin-bottom:12px}
.intake-step{margin:0}
.ibars{display:flex;gap:4px;flex:1;max-width:180px}
.ibars i{flex:1;height:5px;background:var(--rule)}
.ibars i.on{background:var(--stencil)}
.istep[hidden]{display:none}
.istep.enter{animation:stepin .22s ease-out}
@keyframes stepin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
form.intake fieldset{border:0;margin:0 0 16px;padding:0;min-width:0}
form.intake legend{font-family:var(--f-head);font-weight:700;font-size:1.25rem;line-height:1.15;padding:0;margin-bottom:10px}
form.intake .tiles-set legend{font-size:1.8rem;margin-bottom:4px}
.hint{margin:0 0 12px;color:var(--muted);font-size:.95rem}
.ptiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ptile{position:relative;display:block;cursor:pointer}
.ptile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ptile span{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:14px 8px 12px;background:#fff;border:2px solid var(--rule);border-radius:3px;
  text-align:center;font-weight:700;font-size:.95rem;line-height:1.15;transition:border-color .12s,transform .12s}
.ptile svg{width:68px;height:61px}
.ptile input:checked+span{border-color:var(--stencil);background:var(--vis-soft)}
.ptile input:focus-visible+span{outline:3px solid var(--stencil);outline-offset:2px}
.ptile.wide{grid-column:1/-1}
.ptile.wide span{flex-direction:row;justify-content:center;padding:13px;font-weight:600;color:var(--muted)}
.ptile.wide b{color:var(--ink)}
.pills>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pills.stack>div{grid-template-columns:1fr}
.pill{position:relative;display:block;cursor:pointer}
.pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pill span{display:block;height:100%;padding:12px 14px;background:#fff;border:2px solid var(--rule);border-radius:3px;font-weight:600;font-size:1rem;line-height:1.25}
.pill input:checked+span{border-color:var(--stencil);background:var(--vis-soft)}
.pill input:focus-visible+span{outline:3px solid var(--stencil);outline-offset:2px}
.field{margin-bottom:12px}
.field label{display:block;font-weight:700;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-size:1.05rem;padding:12px 14px;border:2px solid var(--rule);border-radius:3px;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--stencil);outline:none}
.more-opts{margin:4px 0 14px}
.more-opts summary{cursor:pointer;font-family:var(--f-body);font-weight:600;color:var(--muted);font-size:.95rem;line-height:1.3;padding:10px 36px 10px 0}
.more-opts summary::after{width:24px;height:24px;margin-top:-12px;border-width:2px;background:linear-gradient(var(--stencil),var(--stencil)) center/10px 2px no-repeat,linear-gradient(var(--stencil),var(--stencil)) center/2px 10px no-repeat,var(--vis)}
.more-opts[open] summary::after{background:linear-gradient(var(--stencil),var(--stencil)) center/10px 2px no-repeat,var(--vis)}
.more-opts[open] summary{margin-bottom:10px}
.inav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:6px}
.inav .btn{flex:1}
.ierr{color:var(--danger);font-weight:600;font-size:.92rem;margin:8px 0 0;min-height:1.2em}
.form-note{font-size:.84rem;color:var(--muted);margin:10px 0 0}
.private{font-size:.88rem;color:var(--muted);margin:14px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-done{display:none;padding:16px;background:#EDF8F0;border-left:5px solid var(--wa);margin-top:12px}
.form-done strong{display:block;font-family:var(--f-head);font-weight:800;font-size:1.35rem;margin-bottom:4px}
.form-done .demo{display:block;margin-top:10px;font-size:.88rem;color:var(--muted)}
@media (max-width:420px){.ptiles{gap:7px}.ptile span{padding:10px 4px;font-size:.86rem}.ptile svg{width:56px;height:50px}.band{font-size:1.4rem;padding:18px 18px 10px}.ibody{padding:14px 16px 22px}.pills>div{grid-template-columns:1fr}}

/* caution tape under the hero */
.tapebox{position:relative;z-index:2;overflow:hidden;margin-top:-30px;padding-block:14px}
.tape{margin:0 -24px;transform:rotate(-1.4deg);background:var(--vis);overflow:hidden;box-shadow:0 6px 12px -6px rgba(0,0,0,.45);border-block:2px solid rgba(0,0,0,.08)}
.tape div{display:flex;width:max-content;animation:roll 60s linear infinite}
.tape span{font-family:var(--f-stencil);font-weight:900;font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stencil);padding:10px 0;white-space:nowrap}
.tape span::after{content:"\25CF";margin:0 22px;font-size:.7em;vertical-align:.18em}
@keyframes roll{to{transform:translateX(-50%)}}

/* sections */
section{padding-block:96px;scroll-margin-top:90px}
@media (max-width:640px){section{padding-block:60px}}
.sec-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:end;margin-bottom:40px}
.sec-intro p{margin:0;color:var(--muted);font-size:1.12rem;max-width:34em}
@media (max-width:860px){.sec-intro{grid-template-columns:1fr;gap:14px;margin-bottom:28px}}
.disc,.note{font-size:.88rem;color:var(--muted);max-width:52em;margin-top:16px}

/* rights (English) and hard questions (Spanish) */
.law,.qa{background:var(--white)}
.law-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.law-grid>div,.qa-grid>div{border-top:4px solid var(--stencil);padding-top:16px}
.law-grid h3,.qa-grid h3{margin-bottom:8px}
.law-grid p,.qa-grid p{margin:0;color:var(--muted)}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
@media (max-width:860px){.law-grid,.qa-grid{grid-template-columns:1fr;gap:26px}}

/* what a case covers */
.cmp{overflow-x:auto;background:#fff;border-radius:3px;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.cmp table{width:100%;border-collapse:collapse;min-width:560px}
.cmp th,.cmp td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--rule);vertical-align:top}
.cmp thead th{background:var(--stencil);color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.1rem}
.cmp thead th:last-child{background:var(--vis);color:var(--stencil)}
.cmp td:first-child{font-weight:700}
.cmp td:last-child{font-weight:700;background:#FFF8E0}
.cmp .n{color:var(--danger)}
.cmp .p{color:var(--muted)}
.cmp tr:last-child td{border-bottom:0}

/* how your case works: a real sequence, so it is numbered */
.howit{background:var(--concrete)}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;counter-reset:st}
.timeline li{counter-increment:st;border-top:4px solid var(--stencil);padding-top:14px}
.timeline li:last-child{border-top-color:var(--vis)}
.timeline li::before{content:counter(st);display:block;font-family:var(--f-stencil);font-weight:900;font-size:3.8rem;line-height:.9;margin-bottom:10px}
.timeline h3{font-size:1.25rem;margin-bottom:6px}
.timeline p{margin:0;color:var(--muted);font-size:.97rem}
@media (max-width:980px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.timeline{grid-template-columns:1fr}}

/* free tools: small signs */
.tools{background:var(--white)}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.tool{position:relative;background:var(--alu);border-radius:3px;padding:0 26px 26px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 0 rgba(0,0,0,.12),0 18px 26px -18px rgba(0,0,0,.4)}
.tool h3{margin:0 -26px 6px;padding:18px 26px 12px;background:var(--stencil);color:var(--vis);border-radius:3px 3px 0 0;font-size:1.45rem}
.tool p{color:var(--muted);margin:0}
.tool .btn{align-self:flex-start;margin-top:6px}
@media (max-width:800px){.tool-grid{grid-template-columns:1fr}}

/* accidents we focus on */
.accidents{background:var(--concrete)}
.acc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px}
.acc{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--rule);text-decoration:none;align-items:start}
.acc>svg{width:62px;height:62px;padding:8px;background:var(--vis);border:2px solid var(--stencil);border-radius:3px;flex:none}
.acc>div:only-child{grid-column:1/-1}
.acc h3{font-size:1.4rem;margin-bottom:4px}
.acc p{margin:0;color:var(--muted);font-size:.98rem}
.acc .more{display:inline-block;margin-top:8px;font-weight:700;text-decoration:underline;text-decoration-color:var(--vis);text-decoration-thickness:3px;text-underline-offset:4px}
@media (max-width:800px){.acc-list{grid-template-columns:1fr}}

/* serious injuries */
.serious{background:var(--white)}
.sev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sev{display:flex;flex-direction:column;gap:8px;background:var(--concrete);border:2px solid transparent;border-radius:3px;padding:22px;text-decoration:none;transition:border-color .12s}
.sev h3{font-size:1.4rem;margin:0}
.sev p{margin:0;color:var(--muted)}
.sev .more{margin-top:auto;padding-top:8px;font-weight:700}
@media (max-width:860px){.sev-grid{grid-template-columns:1fr}}

/* results (hidden until Greg gives real ones) */
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.result-card{border-top:4px solid var(--stencil);padding-top:12px}
.result-card b{display:block;font-family:var(--f-stencil);font-weight:900;font-size:2.6rem;line-height:1}
@media (max-width:800px){.result-grid{grid-template-columns:1fr}}

/* the attorney */
.atty{background:var(--concrete)}
.atty-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:center}
.cred-card{background:var(--white);border-top:6px solid var(--stencil);border-radius:2px;padding:36px 34px 28px;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.cred-card .seal{display:block;width:132px;height:132px;color:#8A6A35;margin:0 auto 14px}
.cred-card .name{text-align:center;font-family:var(--f-head);font-weight:800;font-size:1.85rem;line-height:1}
.cred-card .role{text-align:center;color:var(--muted);margin:6px 0 18px}
.cred-card dl{margin:0}
.cred-card dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--rule);font-size:.97rem}
.cred-card dt{color:var(--muted)}
.cred-card dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.atty h2{margin-bottom:16px}
.atty .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--rule)}
.atty .facts dt{font-size:.85rem;color:var(--muted)}
.atty .facts dd{margin:2px 0 0;font-family:var(--f-head);font-weight:700;font-size:1.2rem}
@media (max-width:900px){.atty-grid{grid-template-columns:1fr;gap:36px}}

/* what you can expect */
.promise{background:var(--white)}
.pledges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.pledges>div{padding-left:36px;position:relative}
.pledges>div::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;background:var(--vis);border:2px solid var(--stencil);border-radius:2px}
.pledges>div::after{content:"";position:absolute;left:7px;top:5px;width:6px;height:11px;border:solid var(--stencil);border-width:0 3px 3px 0;transform:rotate(45deg)}
.pledges h3{font-size:1.3rem;margin-bottom:6px}
.pledges p{margin:0;color:var(--muted)}
@media (max-width:860px){.pledges{grid-template-columns:1fr}}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px}
.vs-col{background:var(--concrete);padding:24px}
.vs-col ul{margin:0;padding-left:1.1em}
@media (max-width:800px){.vs{grid-template-columns:1fr}}

/* share and pride bands */
.share{background:var(--stencil);color:#fff;padding-block:56px}
.share .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.share .wrap>div{max-width:42rem}
.share h2{color:#fff;margin-bottom:10px}
.share .lede{margin:0;color:rgba(255,255,255,.78)}
.pride h2{color:var(--vis)}

/* family band (Spanish) */
.family{background:var(--white)}
.family .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center}
.family h2{margin-bottom:12px}
.family p{color:var(--muted)}
@media (max-width:800px){.family .wrap{grid-template-columns:1fr;gap:20px}}

/* staff faces (initials, no photos) */
.faces{display:flex;align-items:center;gap:10px;margin-top:14px;max-width:34rem}
.faces p{margin:0;font-weight:500;line-height:1.4}
.av{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:1.05rem;background:var(--vis);color:var(--stencil);border:2px solid var(--stencil)}
.av2{background:var(--alu);margin-left:-14px}
.faces .av:only-of-type{margin-left:0}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.person{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:var(--white);padding:14px;border-radius:3px}
.person .av2{margin-left:0}
.person h3{font-size:1.2rem;margin-bottom:2px}
.person p{margin:0;color:var(--muted);font-size:.93rem}
@media (max-width:560px){.people{grid-template-columns:1fr}}

/* questions */
.faq{background:var(--white)}
.faq-list{max-width:54rem;border-top:4px solid var(--stencil)}
details{border-bottom:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;position:relative;padding:18px 44px 18px 0;font-family:var(--f-head);font-weight:700;font-size:1.32rem;line-height:1.2}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:2px;top:50%;width:32px;height:32px;margin-top:-16px;border:2px solid var(--stencil);border-radius:2px;
  background:linear-gradient(var(--stencil),var(--stencil)) center/14px 3px no-repeat,linear-gradient(var(--stencil),var(--stencil)) center/3px 14px no-repeat,var(--vis)}
details[open] summary::after{background:linear-gradient(var(--stencil),var(--stencil)) center/14px 3px no-repeat,var(--vis)}
details .ans{padding:0 0 20px;color:#34352F;max-width:46em}
.qlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.qlist a{display:block;background:var(--white);border:2px solid transparent;border-radius:3px;padding:16px 18px;text-decoration:none;font-family:var(--f-head);font-weight:700;font-size:1.25rem;line-height:1.25;transition:border-color .12s}

/* check that we are real */
.verify{background:var(--concrete)}
.verify-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.vfacts{margin:20px 0;display:grid;gap:10px}
.vfacts div{border-top:1px solid var(--rule);padding-top:8px}
.vfacts dt{font-size:.86rem;color:var(--muted)}
.vfacts dd{margin:2px 0 0;font-family:var(--f-head);font-weight:700;font-size:1.35rem;font-variant-numeric:tabular-nums}
.promises{background:var(--white);border-radius:3px;padding:24px}
.promises h3{margin-bottom:10px}
.promises ul{list-style:none;margin:0 0 14px;padding:0}
.promises li{position:relative;padding:9px 0 9px 30px;border-top:1px solid var(--rule)}
.promises li::before{content:"\2715";position:absolute;left:4px;top:8px;font-weight:800;color:var(--danger)}
.vbtn{color:var(--stencil)}
@media (max-width:860px){.verify-grid{grid-template-columns:1fr;gap:24px}}

/* last call (plywood again) */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.contact h2{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,6vw,5rem);line-height:.88;color:var(--stencil);margin-bottom:16px;
  text-shadow:0 0 1px rgba(21,21,21,.55),0 0 9px rgba(21,21,21,.2)}
.contact .lede{font-weight:500}
.contact small{display:block;font-weight:500}
.bigphone{display:block;font-family:var(--f-stencil);font-weight:900;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;color:var(--stencil);text-decoration:none;white-space:nowrap;margin:18px 0 8px}
.hours{margin-top:14px;font-size:.95rem;max-width:32em}
.contact-card .ibody>p{margin:0 0 14px}
.contact-card .btn{width:100%}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:28px}}

/* inner pages */
.page-hero{padding-block:44px 52px}
.crumb{font-size:.9rem;font-weight:600;margin-bottom:16px;color:var(--wood-ink)}
.crumb a{color:var(--stencil)}
.page-hero h1{font-family:var(--f-head);font-weight:800;font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:.98;color:var(--stencil);max-width:18em;margin-bottom:16px}
.page-hero .lede{font-weight:500}
.page-hero .hero-ctas{margin-top:18px}
.two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:32rem}
.two-up .btn{padding:0 .8em}
.page-hero .btn-vis{background:var(--stencil);color:var(--vis);box-shadow:0 3px 0 #000}
.page-hero .btn-vis:hover{background:#000}
.article{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-top:56px;padding-bottom:72px}
.prose{max-width:41em;min-width:0}
.prose h2{font-size:2.05rem;margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.4rem;margin:28px 0 8px}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin-bottom:6px}
.prose a{text-decoration-color:var(--vis-deep);text-decoration-thickness:2px;text-underline-offset:3px}
.callout{background:var(--white);border-left:6px solid var(--vis);padding:18px 22px;margin:24px 0;border-radius:0 3px 3px 0}
.callout p:last-child{margin:0}
.reviewed{font-size:.88rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px;margin-top:28px}
table.who{width:100%;border-collapse:collapse;margin:18px 0;font-size:.98rem;background:#fff}
.who th,.who td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.who th{background:var(--stencil);color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.05rem}
aside.side{position:sticky;top:96px;align-self:start;min-width:0}
.side-card{background:var(--stencil);color:#fff;padding:24px;border-radius:3px}
.side-card h3{color:var(--vis);font-size:1.5rem;margin-bottom:8px}
.side-card p{color:rgba(255,255,255,.78);font-size:.96rem}
.side-card .bigphone{color:var(--vis);font-size:2.3rem;margin:10px 0 14px;text-shadow:none}
.side-card .btn{width:100%;margin-top:8px}
.side-links{margin-top:18px;padding:18px 20px;background:var(--white);border-radius:3px}
.side-links h4{margin-bottom:8px}
.side-links ul{list-style:none;margin:0;padding:0}
.side-links li{padding:7px 0;border-bottom:1px solid var(--concrete);font-size:.96rem}
.side-links a{text-decoration:none}
.side-links a:hover{text-decoration:underline}
/* big numbers on the city statistics page */
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.stat-grid div{background:var(--white);border-top:5px solid var(--vis);padding:14px 16px;border-radius:0 0 3px 3px}
.stat-grid b{display:block;font-family:var(--f-head);font-weight:800;font-size:2.6rem;line-height:1}
.stat-grid span{display:block;font-size:.95rem;margin-top:6px;color:var(--muted)}
table.nums{width:100%;border-collapse:collapse;margin:14px 0 18px;background:#fff;font-size:1rem}
table.nums th,table.nums td{padding:9px 12px;border-bottom:1px solid var(--concrete);text-align:right;white-space:nowrap}
table.nums th:first-child,table.nums td:first-child{text-align:left;font-weight:600}
table.nums thead th{background:var(--ink);color:#fff;font-family:var(--f-head);font-weight:700;letter-spacing:.02em}
@media (max-width:420px){table.nums th,table.nums td{padding:8px 7px;font-size:.95rem}}
.hoodlist{columns:2;gap:32px}
@media (max-width:950px){.article{grid-template-columns:1fr;gap:36px}aside.side{position:static}}
@media (max-width:500px){.hoodlist{columns:1}}

/* tools: job-site lookup and photo checklist */
.tool-page{padding-block:48px 72px}
.lookup-form{display:grid;grid-template-columns:140px minmax(0,1fr) 200px auto;gap:12px;align-items:end;background:var(--alu);padding:20px;border-radius:3px;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.lookup-form .field{margin:0}
@media (max-width:860px){.lookup-form{grid-template-columns:1fr 1fr}.lookup-form .field:nth-child(2){grid-column:1/-1;order:-1}.lookup-form button{grid-column:1/-1}}
.lookup-status{margin:18px 0 0;font-weight:600;color:var(--muted)}
.results{display:grid;gap:14px;margin-top:16px}
.job{background:var(--white);border-left:5px solid var(--stencil);border-radius:0 3px 3px 0;padding:18px 20px}
.job h3{font-size:1.3rem;margin-bottom:8px}
.job dl{display:grid;grid-template-columns:200px 1fr;gap:6px 16px;margin:0;font-size:.97rem}
.job dt{font-weight:600;color:var(--muted)}
.job dd{margin:0}
.job dd.big{font-family:var(--f-head);font-weight:800;font-size:1.2rem}
.after{margin-top:22px;background:var(--stencil);color:#fff;padding:22px;border-radius:3px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.after p{margin:0;max-width:38em;color:rgba(255,255,255,.8)}
.after[hidden]{display:none}
.photo-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:ph}
.photo-list li{counter-increment:ph;background:var(--white);border:2px solid transparent;border-radius:3px;padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}
.photo-list li::before{content:counter(ph);display:grid;place-items:center;width:46px;height:46px;background:var(--stencil);color:var(--vis);font-family:var(--f-stencil);font-weight:900;font-size:1.7rem;border-radius:3px}
.photo-list li.done{border-color:var(--stencil);background:var(--vis-soft)}
.photo-list li.done::before{content:"\2713";background:var(--vis);color:var(--stencil)}
.photo-list h3{font-size:1.2rem;margin-bottom:2px}
.photo-list p{margin:0;color:var(--muted);font-size:.95rem}
.snap{position:relative;display:inline-flex}
.snap input{position:absolute;inset:0;opacity:0;cursor:pointer}
.snap span{font-weight:700;border:2px solid var(--stencil);border-radius:3px;padding:10px 14px;white-space:nowrap;background:#fff}
.snap input:focus-visible+span{outline:3px solid var(--stencil);outline-offset:3px}
.thumbs{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:2px}
@media (max-width:600px){.photo-list li{grid-template-columns:auto minmax(0,1fr)}.snap{grid-column:2}.thumbs{grid-column:1/-1}}
.meter{height:10px;background:var(--rule);margin:16px 0 28px;border-radius:2px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--stencil);transition:width .3s}
.safety{background:var(--vis-soft);border-left:6px solid var(--stencil);padding:16px 20px;margin-bottom:28px}
.safety p{margin:0}
.share-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* the app */
.app-top{padding-block:40px 36px}
.app-top h1{font-family:var(--f-stencil);font-weight:900;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.9;color:var(--stencil);margin-bottom:12px}
.app-top .lede{font-weight:500}
.install-card{margin-top:18px;background:var(--alu);border-radius:3px;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 3px 0 rgba(60,38,14,.35)}
.install-card p{margin:0}
.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:28px;padding-bottom:16px}
.tile{display:flex;flex-direction:column;gap:4px;background:var(--white);border:2px solid transparent;border-radius:3px;padding:18px;min-height:124px;text-decoration:none;transition:border-color .12s}
.tile svg{width:24px;height:24px;margin-bottom:6px}
.tile b{font-family:var(--f-head);font-weight:700;font-size:1.25rem;line-height:1.15}
.tile span{color:var(--muted);font-size:.92rem}
.tile-call{background:var(--stencil);color:var(--vis)}
.tile-call span{color:rgba(255,255,255,.75)}
.tile-wa{background:var(--wa)}
.tile-wa span{color:var(--stencil)}
@media (max-width:860px){.app-grid{grid-template-columns:1fr 1fr}}
.diary{background:var(--white)}
.diary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:860px){.diary-grid{grid-template-columns:1fr}}
.diary hr{border:0;border-top:1px solid var(--rule);margin:16px 0}
.since{font-weight:700;margin:4px 0 0}
.diary input[type=range]{width:100%;accent-color:var(--stencil)}
.diary .pill{display:inline-flex;align-items:center}
.diary .pill input{position:static;opacity:1;margin-right:8px;width:20px;height:20px;accent-color:var(--stencil)}
.diary .pill span{border:0;background:none;padding:0}
.diary-actions{margin-bottom:16px}
.diary-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.diary-list li{background:var(--concrete);border-left:5px solid var(--stencil);padding:12px 16px;font-size:.96rem;border-radius:0 3px 3px 0}
.diary-list li.empty{border-left-color:var(--rule);color:var(--muted)}

/* banner suggesting the Spanish site */
.es-suggest{background:var(--vis);color:var(--stencil)}
.es-suggest .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:9px;padding-bottom:9px;font-weight:700}
.es-suggest a{color:var(--stencil)}
.es-suggest button{background:none;border:0;font-size:1.3rem;cursor:pointer;color:var(--stencil);padding:0 6px}

/* footer */
footer{background:var(--stencil);color:rgba(255,255,255,.66);font-size:.88rem;padding-block:48px 120px}
footer .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
footer .mark{width:52px;height:52px}
footer .fbody{display:grid;gap:12px}
footer strong{color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.2rem}
footer p{margin:0;max-width:62em}
.footlocs{display:flex;flex-wrap:wrap;gap:6px 22px}
.footlocs a{color:#fff}
@media (max-width:600px){footer .wrap{grid-template-columns:1fr}}

/* phones: call / WhatsApp bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--stencil);
  box-shadow:0 -8px 24px rgba(0,0,0,.2);transition:transform .25s ease}
.callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font-family:var(--f-head);font-weight:800;font-size:1.15rem;text-decoration:none;color:var(--vis);background:var(--stencil)}
.callbar a.wa{background:var(--wa);color:var(--stencil)}
.callbar svg{width:1.2em;height:1.2em}
.callbar.off{transform:translateY(110%)}
@media (max-width:760px){.callbar{display:flex}}

/* phones: tables become cards (no sideways scrolling) */
@media (max-width:640px){
  .cmp{overflow:visible;background:none;box-shadow:none}
  .cmp table,table.who{min-width:0;width:100%;background:none}
  .cmp thead,table.who thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp tbody,table.who tbody{display:grid;gap:12px}
  .cmp tr,table.who tr{display:block;background:#fff;border-top:4px solid var(--stencil);border-radius:2px}
  .cmp td,table.who td{display:block;border-bottom:1px solid var(--concrete);padding:10px 14px}
  .cmp td:first-child,table.who td:first-child{font-family:var(--f-head);font-weight:800;font-size:1.15rem;background:var(--alu)}
  .cmp td:not(:first-child)::before,table.who td:not(:first-child)::before{content:attr(data-label);display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:2px}
  .cmp td:last-child{background:#FFF8E0}
  .job dl{grid-template-columns:1fr}
}

/* hover effects only on devices with a mouse: on phones a tap leaves :hover stuck, which made the
   answer under the finger look already chosen */
@media (hover:hover){
  .ptile:hover span{border-color:var(--stencil);transform:translateY(-2px)}
  .pill:hover span{border-color:var(--stencil)}
  .sev:hover,.qlist a:hover,.tile:hover{border-color:var(--stencil)}
}
