/* Infrastructure Almanac — building context journey. Mobile first. */
.bcx-progress{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0 0;padding:0;
  counter-reset:s;font-size:.85rem}
.bcx-progress li{counter-increment:s;display:flex;align-items:center;gap:.4rem;
  padding:.35rem .7rem;border-radius:999px;background:var(--ici-sky);color:var(--ici-navy)}
.bcx-progress li::before{content:counter(s);display:grid;place-items:center;width:1.35rem;
  height:1.35rem;border-radius:50%;background:var(--ici-white);font-family:var(--font-data);font-size:.8rem}
.bcx-progress li[aria-current]{background:var(--ici-navy);color:#fff;font-weight:650}
.bcx-progress li[aria-current]::before{background:var(--ici-sun);color:var(--ici-navy)}
.bcx-progress li.done{background:var(--ici-teal);color:var(--ici-navy)}
.bcx-step{border:0;padding:0;margin:0}
.bcx-step legend{font-size:1.35rem;font-weight:650;color:var(--ici-navy);margin:0 0 .3rem;padding:0}
.bcx-step legend:focus-visible{outline:3px solid var(--ici-navy);outline-offset:3px}
.bcx-step label{display:block;margin:1rem 0 .3rem;font-weight:600;font-size:.95rem}
.bcx-step input[type=text],.bcx-step select{width:100%;max-width:32rem;min-height:2.9rem;
  padding:.5rem .7rem;font:inherit;font-size:1rem;border:1px solid var(--ici-control-edge);
  border-radius:var(--ici-radius);background:var(--ici-white)}
.bcx-step input:focus-visible,.bcx-step select:focus-visible,.bcx-step button:focus-visible{
  outline:3px solid var(--ici-navy);outline-offset:2px}
.bcx-hint{font-size:.88rem;color:#40525E;margin:.3rem 0 0;max-width:56ch}
.bcx-msg{min-height:1.3em;font-size:.9rem;color:#40525E;margin:.5rem 0 0}
.bcx-conditional{margin:.6rem 0 0;padding:.8rem 1rem;border-left:3px solid var(--ici-teal);
  background:var(--ici-sky);border-radius:0 var(--ici-radius) var(--ici-radius) 0}
.bcx-opts{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}
.bcx-opts button{width:100%;min-height:2.9rem;text-align:left;padding:.5rem .8rem;font:inherit;
  border:1px solid var(--ici-hairline);border-radius:var(--ici-radius);background:var(--ici-white);cursor:pointer}
.bcx-opts button:hover{background:var(--ici-sky)}
.bcx-opts span{display:block;font-size:.82rem;color:#40525E}
.bcx-equip-row{display:grid;gap:.5rem;padding:.9rem 1rem;margin:.6rem 0;border:1px solid var(--ici-hairline);
  border-radius:var(--ici-radius);background:var(--ici-white)}
.bcx-equip-row label{margin:.2rem 0 .2rem;font-size:.85rem}
.bcx-check{display:flex;gap:.6rem;align-items:flex-start;margin:.9rem 0;font-weight:400}
.bcx-check input{width:1.4rem;height:1.4rem;margin-top:.15rem;flex:none}
.bcx-retention{font-size:.88rem;color:#40525E;background:var(--ici-sky);padding:.8rem 1rem;
  border-radius:var(--ici-radius);max-width:64ch}
.bcx-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.6rem 0 0}
.bcx-nav .btn{min-height:2.9rem}
.bcx-summary dl,.bcx-dl{display:grid;gap:.3rem;margin:.6rem 0}
.bcx-dl>div{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:.6rem;font-size:.9rem}
.bcx-dl dt{color:#40525E}.bcx-dl dd{margin:0}
.bcx-cards{display:grid;gap:1rem}
.bcx-card{background:var(--ici-white);border:1px solid var(--ici-hairline);
  border-radius:var(--ici-radius);padding:1.1rem 1.2rem}
.bcx-card h3{margin:0 0 .4rem;font-size:1.15rem;color:var(--ici-navy)}
.bcx-what{font-size:1rem;margin:.2rem 0 .6rem}
.bcx-sub{margin:.7rem 0 .2rem;font-weight:650;font-size:.92rem;color:var(--ici-navy)}
.bcx-card ul{margin:.2rem 0 0;padding-left:1.1rem}
.bcx-card li{margin:.2rem 0;font-size:.93rem}
.bcx-systems{font-size:.9rem;color:#40525E}
.bcx-limit{font-size:.85rem;color:#40525E;margin:.6rem 0 0}
.bcx-card details summary{cursor:pointer;font-size:.88rem;color:var(--ici-teal-ink);margin-top:.6rem}
.bcx-actions{list-style:none;margin:.3rem 0 1rem;padding:0;display:grid;gap:.4rem}
.bcx-actions li{background:var(--ici-white);border:1px solid var(--ici-hairline);
  border-radius:var(--ici-radius);padding:.6rem .8rem;font-size:.95rem}
.bcx-rules{display:block;font-family:var(--font-data);font-size:.72rem;color:#5D6F7B;margin-top:.25rem}
.bcx-seasons{display:grid;gap:1rem}
.bcx-seasons>div{background:var(--ici-white);border:1px solid var(--ici-hairline);
  border-radius:var(--ici-radius);padding:.9rem 1rem}
.bcx-seasons h3{margin:0 0 .4rem;font-size:1rem;color:var(--ici-navy)}
.bcx-table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--ici-white)}
.bcx-table th,.bcx-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--ici-hairline);vertical-align:top}
@media (min-width:760px){
  .bcx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcx-seasons{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bcx-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){.bcx-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media print{
  .bcx-progress,.bcx-nav,#bcx-form{display:none !important}
  .bcx-card,.bcx-seasons>div,.bcx-actions li{break-inside:avoid;border:0.6pt solid #444;background:#fff}
  .bcx-cards,.bcx-seasons,.bcx-actions{display:block}
  .bcx-card details{display:block}
  .bcx-card details summary{display:none}
  h2{break-after:avoid;font-size:12pt}
  .bcx-rules{color:#000}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

.bcx-preview{background:var(--ici-sun);color:var(--ici-navy);padding:.7rem 1rem;border-radius:var(--ici-radius);font-size:.92rem;margin:0 0 1rem;max-width:64ch}
.bcx-label{display:block;margin:1rem 0 .3rem;font-weight:600;font-size:.95rem}
.bcx-extra{border:0;padding:0;margin:1.2rem 0 0}
#check-fsa,.check-step select,.check-step input[type=text]{width:100%;max-width:32rem;min-height:2.9rem;padding:.5rem .7rem;font:inherit;border:1px solid var(--ici-control-edge);border-radius:var(--ici-radius);background:var(--ici-white)}
.ici-alm{margin:2rem 0 0;padding-top:1.4rem;border-top:2px solid var(--ici-teal)}
.ici-alm h2{font-size:1.25rem;color:var(--ici-navy);margin:0 0 .6rem}
.ici-alm-cards{display:grid;gap:1rem}
.ici-alm-card{background:var(--ici-white);border:1px solid var(--ici-hairline);border-radius:var(--ici-radius);padding:1rem 1.1rem}
.ici-alm-card h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--ici-navy)}
.ici-alm-sub{margin:.6rem 0 .2rem;font-weight:650;font-size:.9rem}
.ici-alm-note{font-size:.85rem;color:#40525E}
.ici-alm-actions{list-style:none;margin:.3rem 0 1rem;padding:0;display:grid;gap:.4rem}
.ici-alm-actions li{background:var(--ici-white);border:1px solid var(--ici-hairline);border-radius:var(--ici-radius);padding:.55rem .8rem;font-size:.93rem}
.ici-alm-rules{display:block;font-family:var(--font-data);font-size:.72rem;color:#5D6F7B;margin-top:.2rem}
.ici-alm-seasons{display:grid;gap:.8rem}
.ici-alm-seasons>div{background:var(--ici-white);border:1px solid var(--ici-hairline);border-radius:var(--ici-radius);padding:.8rem .9rem}
.ici-alm-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--ici-white)}
.ici-alm-table th,.ici-alm-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--ici-hairline);vertical-align:top}
.ici-alm-dl>div{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr;gap:.5rem;font-size:.85rem}
.ici-alm-dl dt{color:#40525E}.ici-alm-dl dd{margin:0}
@media (min-width:760px){.ici-alm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ici-alm-seasons{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ici-alm-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.ici-alm{break-before:auto;border-top:1pt solid #000}
  .ici-alm-card,.ici-alm-seasons>div,.ici-alm-actions li{break-inside:avoid;border:0.6pt solid #444}
  .ici-alm-cards,.ici-alm-seasons,.ici-alm-actions{display:block}
  .ici-alm-card details{display:block}.ici-alm-card summary{display:none}}
