
/* BenefitsGPS Build 23 — task-first field guide art direction.
   Visual-only layer: existing DOM IDs, interaction hooks, and behavior stay intact. */
:root{
  --bg:#f1efe7;
  --bg-2:#e9ede5;
  --paper:#fffef9;
  --paper-2:#f7f5ee;
  --ink:#17231d;
  --muted:#5f6a63;
  --line:rgba(23,35,29,.14);
  --line-strong:rgba(23,35,29,.24);
  --brand:#1d5d43;
  --brand-2:#2e6f76;
  --brand-3:#dcebe2;
  --brand-4:#eff6f1;
  --focus:#0b57d0;
  --shadow:none;
  --shadow-sm:0 8px 22px rgba(23,35,29,.06);
  --radius-xl:18px;
  --radius-lg:15px;
  --radius-md:12px;
  --radius-sm:10px;
  --maxw:1320px;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html{background:var(--bg)}
body{
  background:
    linear-gradient(90deg,rgba(29,93,67,.035) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(rgba(29,93,67,.025) 1px,transparent 1px) 0 0/48px 48px,
    var(--bg);
  color:var(--ink);
  font-family:var(--body);
}
a{color:var(--brand)}
.topbar{
  background:rgba(255,254,249,.95);
  border-bottom:1px solid var(--line-strong);
  box-shadow:none;
  backdrop-filter:blur(12px);
}
.topbar-inner{padding:.72rem 1rem}
.brand{gap:.7rem}
.brand-copy strong{font-size:1.02rem;letter-spacing:-.015em}
.brand-copy small{font-size:.72rem;color:var(--muted);font-weight:650}
.lang-select,.about-trigger,.saved-trigger{
  background:transparent;
  border-color:var(--line-strong);
  border-radius:999px;
}
.top-help-button{
  border-radius:999px!important;
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  box-shadow:none!important;
}
.page-pad{padding:clamp(.75rem,2.2vw,1.7rem)}
.page-shell{max-width:var(--maxw)}
.layout{gap:1rem}
.supportDesk{
  overflow:visible;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  background:transparent;
}
.heroStory{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr)!important;
  min-height:530px;
  border:1px solid var(--line-strong);
  border-radius:0 0 34px 0!important;
  overflow:hidden;
  background:var(--ink);
}
.deskTop{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(2rem,5vw,4.8rem)!important;
  border:0!important;
  background:linear-gradient(155deg,#15271f 0%,#1b3b2d 64%,#214a38 100%);
  color:#fffdf7;
}
.heroEyebrow{
  margin:0 0 1rem!important;
  color:#bdd7c8!important;
  font-size:.77rem!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
  font-weight:850;
}
.deskHeadline{
  max-width:10ch!important;
  margin:0!important;
  color:#fffdf7!important;
  font-family:var(--display)!important;
  font-weight:600!important;
  font-size:clamp(3rem,5.3vw,5rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  white-space:pre-line!important;
}
.deskSub{
  max-width:45ch!important;
  margin:1.4rem 0 0!important;
  color:#dce8e0!important;
  font-size:clamp(1rem,1.3vw,1.12rem)!important;
  line-height:1.65!important;
}
.heroTrust{
  margin-top:1.55rem!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.5rem 1rem!important;
}
.heroTrust span{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  color:#eef5f0!important;
  font-size:.82rem!important;
}
.heroTrust b{color:#8fc7a4!important}
.heroStart{
  align-self:flex-start;
  margin-top:2rem!important;
  min-height:50px!important;
  padding:.75rem 1.05rem!important;
  border-radius:999px!important;
  border:1px solid #fffdf7!important;
  background:#fffdf7!important;
  color:#17231d!important;
  box-shadow:none!important;
}
.heroMeta{
  margin:1rem 0 0!important;
  color:#b8c8bd!important;
  font-size:.74rem!important;
  letter-spacing:.02em;
}
.heroVisual{
  min-height:100%!important;
  margin:0!important;
  border-radius:0!important;
  background:#d8ddd5;
}
.heroVisual img{
  width:100%;
  height:100%!important;
  min-height:530px;
  object-fit:cover;
  object-position:50% 45%;
  filter:saturate(.78) contrast(.94);
}
.heroVisualShade{
  background:linear-gradient(90deg,rgba(23,35,29,.22),transparent 38%,rgba(255,255,255,.04))!important;
}

/* Task panel deliberately overlaps the field-guide cover on wide screens. */
.entryBoard{
  position:relative;
  z-index:4;
  width:min(1120px,calc(100% - 4rem));
  margin:-62px auto 0!important;
  padding:0!important;
}
.entryMain{
  padding:clamp(1.25rem,3vw,2rem)!important;
  border:1px solid var(--line-strong)!important;
  border-top:5px solid var(--brand)!important;
  border-radius:0 22px 22px 22px!important;
  background:var(--paper)!important;
  box-shadow:0 18px 46px rgba(23,35,29,.12)!important;
}
.intakeHeader{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem 2rem!important;
  margin-bottom:1rem!important;
}
.formEyebrow{
  margin:0 0 .45rem!important;
  color:var(--brand)!important;
  font-size:.73rem!important;
  letter-spacing:.13em!important;
}
.entryLabel{
  max-width:18ch;
  margin:0!important;
  color:var(--ink)!important;
  font-family:var(--display)!important;
  font-size:clamp(2rem,3.3vw,3.2rem)!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
}
.entryHint{max-width:54ch!important;margin:.75rem 0 0!important;font-size:.9rem!important}
.miniSignals{align-content:start;justify-content:flex-end;max-width:330px}
.miniSignal{
  min-height:30px!important;
  padding:.28rem .58rem!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--muted)!important;
  font-size:.75rem!important;
}
.focusFrame{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
label.field-label{
  margin-bottom:.1rem;
  color:var(--ink)!important;
  font-size:.8rem!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
textarea.searchBox{
  min-height:148px!important;
  padding:1rem 0!important;
  border:0!important;
  border-top:1px solid var(--line-strong)!important;
  border-bottom:2px solid var(--ink)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-family:var(--display)!important;
  font-size:clamp(1.18rem,1.9vw,1.55rem)!important;
  line-height:1.48!important;
}
textarea.searchBox:focus{
  border-bottom-color:var(--brand)!important;
}
.jurisdictionField{
  margin-top:1.3rem!important;
  padding:1rem 0 0!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.jurisdictionGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.jurisdictionField select,.jurisdictionField input{
  border-color:var(--line-strong)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.trustGrid{
  margin-top:1.25rem!important;
  border-top:1px solid var(--line)!important;
  padding-top:1rem!important;
}
.trustCard{
  padding:.7rem 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.trustCard + .trustCard{border-inline-start:1px solid var(--line)!important;padding-left:1rem!important}
.helperShareCallout{
  border-radius:0!important;
  border-width:1px 0!important;
  background:#eef4ef!important;
}
.hintList{margin-top:.8rem!important}
.actionRow{align-items:center;margin-top:1.15rem!important}
.btn{
  border-radius:999px!important;
  box-shadow:none!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
}
.btn:hover{transform:none!important;box-shadow:none!important}
.btn.primary{
  min-width:190px;
  background:var(--ink)!important;
  border-color:var(--ink)!important;
}
.btn.ghost{background:transparent!important}
.btn.outline{background:transparent!important;border-color:var(--line-strong)!important}
.recentWrap{margin-top:1.25rem!important}
.recentStrip button,.filterBar button{
  border-radius:999px!important;
  background:transparent!important;
}

/* Optional routes become a quieter index after the primary action. */
.categorySection{
  margin:clamp(2.3rem,5vw,4.5rem) 0 0!important;
  padding:clamp(1.4rem,3vw,2.2rem) 0!important;
  border:0!important;
  border-top:1px solid var(--line-strong)!important;
  border-bottom:1px solid var(--line-strong)!important;
  background:transparent!important;
}
.categoryHeading{
  display:grid!important;
  grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);
  align-items:end!important;
  gap:1.5rem!important;
  padding:0 clamp(.2rem,2vw,1.2rem) 1rem!important;
}
.categoryHeading h2{
  margin:0!important;
  font-family:var(--display)!important;
  font-size:clamp(1.8rem,3vw,2.7rem)!important;
  font-weight:600!important;
  letter-spacing:-.04em!important;
}
.categoryHeading p{margin:0!important;max-width:52ch!important}
.categoryRail{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  overflow:visible!important;
}
.categoryCard{
  min-width:0!important;
  min-height:118px!important;
  padding:1.1rem!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-inline-end:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.categoryCard:nth-child(3n){border-right:0!important}
.categoryCard:nth-child(n+4){border-top-color:var(--line-strong)!important}
.categoryCard:hover{
  transform:none!important;
  background:rgba(255,254,249,.72)!important;
  box-shadow:none!important;
}
.categoryIcon{
  width:38px!important;height:38px!important;border-radius:50%!important;
  background:var(--brand-3)!important;color:var(--brand)!important;
}
.categoryCard strong{font-family:var(--display);font-size:1.15rem;font-weight:600}
.categoryCard small{margin-top:.22rem!important;line-height:1.4!important}
.privacyStrip{
  display:grid!important;
  grid-template-columns:auto minmax(0,1.3fr) minmax(260px,.7fr)!important;
  align-items:start!important;
  gap:1rem!important;
  margin:0!important;
  padding:1rem clamp(.2rem,2vw,1.2rem)!important;
  border:0!important;
  border-bottom:1px solid var(--line-strong)!important;
  border-radius:0!important;
  background:#e9eee8!important;
  color:#34453c!important;
}
.privacyIcon{display:none!important}
.privacyStrip strong{font-family:var(--display);font-size:1.05rem}
.privacyStrip p{margin:0!important;font-size:.78rem!important;line-height:1.55!important}

/* Results become an evidence ledger, not a field of equal cards. */
.resultsShell{
  margin-top:clamp(2rem,5vw,4rem)!important;
  overflow:visible!important;
  border:1px solid var(--line-strong)!important;
  border-radius:0 26px 26px 26px!important;
  background:var(--paper)!important;
  box-shadow:none!important;
}
.resultsHeader{
  position:relative;
  align-items:start!important;
  padding:clamp(1.5rem,3vw,2.2rem)!important;
  border-bottom:1px solid var(--line-strong)!important;
  background:transparent!important;
}
.resultsKicker{
  font-family:var(--display)!important;
  font-size:clamp(2.2rem,4vw,3.5rem)!important;
  font-weight:600!important;
  letter-spacing:-.05em!important;
  line-height:1!important;
  text-transform:none!important;
  color:var(--ink)!important;
}
.resultsLead{font-size:.92rem!important}
.resultsHeader #resultsCount{
  align-self:center;
  padding:.45rem .75rem;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:var(--paper-2);
}
.resultsStatusNotice,.freshnessSummary{
  margin:1rem clamp(1rem,3vw,2rem) 0!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.filterBar{
  padding:1rem clamp(1rem,3vw,2rem) 0!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
.directory{padding:.6rem clamp(.6rem,2vw,1.4rem) 1.5rem!important}
.needCoverage{
  margin:1rem 0!important;
  padding:1rem 0 1.1rem!important;
  border:0!important;
  border-bottom:1px solid var(--line-strong)!important;
  border-radius:0!important;
  background:transparent!important;
}
.needCoverageHead{padding:0 .35rem}
.needCoverageHead h3{
  font-family:var(--display)!important;
  font-size:clamp(1.6rem,2.7vw,2.25rem)!important;
  font-weight:600!important;
  letter-spacing:-.04em!important;
}
.needCoverageGrid{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--line)!important;
  margin-top:1rem!important;
}
.needCoverageItem{
  padding:.8rem .85rem!important;
  border:0!important;
  border-inline-end:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.needCoverageItem:last-child{border-right:0!important}
.nextSteps{
  margin:1rem 0 1.5rem!important;
  padding:1.1rem!important;
  border:1px solid var(--line)!important;
  border-inline-start:5px solid var(--brand-2)!important;
  border-radius:0 12px 12px 0!important;
  background:#f3f7f5!important;
}
.nextStepsHead h3{
  font-family:var(--display)!important;
  font-size:1.45rem!important;
  font-weight:600!important;
}
.nextStepsList{gap:0!important;border-top:1px solid var(--line)!important}
.nextStep{
  grid-template-columns:2rem minmax(0,1fr) auto!important;
  padding:.8rem .2rem!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.nextStepNumber{background:var(--ink)!important;color:#fff!important}
.guardrailBox{
  margin:1rem 0 1.5rem!important;
  padding:1rem!important;
  border:0!important;
  border-top:1px solid var(--line-strong)!important;
  border-bottom:1px solid var(--line-strong)!important;
  border-radius:0!important;
  background:#fff8e8!important;
}
.needGroup{
  margin:1.7rem 0 0!important;
  border:0!important;
  border-top:2px solid var(--ink)!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.needGroupHeader{
  align-items:center!important;
  padding:.8rem .25rem!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
}
.needGroupTitle{
  font-family:var(--display)!important;
  font-size:clamp(1.45rem,2.2vw,1.85rem)!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
}
.needGroupIcon{
  width:36px!important;height:36px!important;
  border-radius:50%!important;
  background:var(--brand-3)!important;
}
.needGroupCount{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--muted)!important;
}
.needGroupBody{padding:0!important}
.needGroup .directoryItem{margin:0!important}
.directoryItem{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) minmax(160px,190px)!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.directoryBand{
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:1.3rem!important;
  border-right:0!important;
  background:transparent!important;
  color:var(--type-text)!important;
  font-family:var(--display)!important;
  font-size:1.15rem!important;
}
.directoryBody{padding:1.15rem .8rem 1.2rem .25rem!important}
.directoryTop{align-items:flex-start!important}
.directoryTitle{
  max-width:34ch!important;
  font-family:var(--display)!important;
  font-size:clamp(1.25rem,2vw,1.55rem)!important;
  font-weight:600!important;
  line-height:1.12!important;
  letter-spacing:-.03em!important;
}
.directoryChips{max-width:50%!important}
.type-chip{
  border:0!important;
  background:var(--type-bg)!important;
  border-radius:999px!important;
}
.verificationBadge{
  border-radius:3px!important;
  font-size:.72rem!important;
}
.directoryDesc{
  max-width:70ch;
  margin-top:.6rem!important;
  color:#3f4c45!important;
  line-height:1.58!important;
  -webkit-line-clamp:3!important;
}
.detailsGrid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:1rem!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.detailBox{
  min-height:78px;
  padding:.7rem .75rem!important;
  border:0!important;
  border-inline-end:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.detailBox:last-child{border-right:0!important}
.detailBox strong{font-size:.66rem!important}
.directoryMeta{margin-top:.75rem!important}
.verificationDetails{
  border-top:0!important;
  padding-top:.35rem!important;
}
.safetyNote{
  padding:.55rem .65rem;
  border-inline-start:3px solid #d5a341;
  background:#fff9ea;
}
.directoryActions{
  justify-content:flex-start!important;
  padding:1.15rem .4rem 1.15rem .8rem!important;
  border-inline-start:1px solid var(--line)!important;
  background:transparent!important;
}
.directoryActions .btn{
  justify-content:center!important;
  width:100%!important;
  min-height:44px!important;
  padding:.58rem .7rem!important;
  background:transparent!important;
}
.directoryActions .btn:first-child{
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  color:#fff!important;
}
.needGap{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:#f4f4ef!important;
}
.savedPanel{
  border-radius:14px!important;
  box-shadow:none!important;
}

/* Dialogs inherit the editorial system without changing semantics. */
dialog{
  border-radius:14px!important;
  border-color:var(--line-strong)!important;
  box-shadow:0 28px 70px rgba(23,35,29,.22)!important;
}
.actionPlanHeader h2,.aboutTitle,.feedbackDialogHeader h2{
  font-family:var(--display)!important;
  font-weight:600!important;
  letter-spacing:-.03em!important;
}

/* Tablet: preserve semantic order, widen controls, flatten results actions. */
@media (max-width:980px){
  .heroStory{
    grid-template-columns:1fr 1fr!important;
    min-height:470px;
  }
  .deskTop{padding:2.2rem!important}
  .heroVisual img{min-height:470px}
  .entryBoard{
    width:calc(100% - 2rem);
    margin:-32px auto 0!important;
  }
  .categoryRail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .categoryCard:nth-child(3n){border-right:1px solid var(--line)!important}
  .categoryCard:nth-child(2n){border-right:0!important}
  .categoryCard:nth-child(n+3){border-top-color:var(--line-strong)!important}
  .privacyStrip{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)!important}
  .privacyStrip > div{grid-column:1}
  .privacyStrip p{grid-column:2}
  .directoryItem{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  .directoryActions{
    grid-column:2!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    padding:.2rem .8rem 1rem .25rem!important;
    border-left:0!important;
  }
  .directoryActions .btn{width:auto!important;min-width:120px}
  .detailsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .detailBox:nth-child(2){border-right:0!important}
  .detailBox:nth-child(-n+2){border-bottom:1px solid var(--line)!important}
}

/* Phone: the task leads, imagery becomes supporting context, results remain linear. */
@media (max-width:680px){
  body{background:var(--bg)}
  .page-pad{padding:.5rem!important}
  .topbar-inner{padding:.58rem .65rem!important}
  .brand-copy small{display:none!important}
  .top-controls{gap:.35rem!important}
  .lang-select{min-width:0!important;width:118px!important}
  .about-trigger{display:none!important}
  .top-help-button{display:none!important}
  .heroStory{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    border-radius:0 0 18px 0!important;
  }
  .deskTop{order:1;padding:1.5rem 1.25rem 1.7rem!important}
  .heroVisual{
    order:2;
    min-height:170px!important;
    max-height:190px;
  }
  .heroVisual img{
    min-height:170px!important;
    height:190px!important;
    object-position:50% 52%;
  }
  .deskHeadline{
    max-width:12ch!important;
    font-size:clamp(2.55rem,12vw,3.55rem)!important;
  }
  .deskSub{font-size:.95rem!important}
  .heroTrust{margin-top:1rem!important;gap:.35rem .7rem!important}
  .heroStart{margin-top:1.3rem!important}
  .entryBoard{
    width:calc(100% - .7rem)!important;
    margin:-18px auto 0!important;
  }
  .entryMain{
    padding:1rem!important;
    border-radius:0 14px 14px 14px!important;
    box-shadow:0 10px 26px rgba(23,35,29,.1)!important;
  }
  .intakeHeader{display:block!important}
  .miniSignals{justify-content:flex-start;margin-top:.7rem}
  .entryLabel{font-size:2rem!important;max-width:20ch}
  textarea.searchBox{
    min-height:126px!important;
    font-size:1.17rem!important;
  }
  .trustGrid{grid-template-columns:1fr!important}
  .trustCard + .trustCard{
    border-left:0!important;
    border-top:1px solid var(--line)!important;
    padding-left:0!important;
  }
  .actionRow{display:grid!important;grid-template-columns:1fr 1fr!important}
  .actionRow .btn{width:100%!important;min-width:0!important}
  .actionRow .btn.primary{grid-column:1 / -1!important;grid-row:1!important}
  .savePrivacyNote{grid-column:1 / -1}
  .categorySection{margin-top:2.4rem!important}
  .categoryHeading{display:block!important;padding:0 .5rem 1rem!important}
  .categoryHeading p{margin-top:.4rem!important}
  .categoryRail{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity;
    padding-bottom:.25rem;
  }
  .categoryCard{
    flex:0 0 76vw!important;
    min-height:104px!important;
    border-inline-end:1px solid var(--line)!important;
    border-top:1px solid var(--line)!important;
    scroll-snap-align:start;
  }
  .privacyStrip{
    display:block!important;
    padding:1rem .6rem!important;
  }
  .privacyStrip p{margin-top:.55rem!important}
  .resultsShell{
    margin-top:2rem!important;
    border-radius:0 16px 16px 16px!important;
  }
  .resultsHeader{
    display:block!important;
    padding:1.2rem!important;
  }
  .resultsHeader #resultsCount{
    display:inline-flex;
    margin-top:.8rem;
  }
  .filterBar{padding:.75rem .8rem 0!important}
  .directory{padding:.35rem .55rem 1rem!important}
  .needCoverageGrid{
    display:flex!important;
    overflow-x:auto;
  }
  .needCoverageItem{
    flex:0 0 155px;
  }
  .nextStep{
    grid-template-columns:2rem minmax(0,1fr)!important;
  }
  .nextStepActions{
    grid-column:2!important;
    justify-content:flex-start!important;
  }
  .needGroup{margin-top:1.4rem!important}
  .needGroupHeader{padding:.7rem .1rem!important}
  .needGroupTitle{font-size:1.35rem!important}
  .needGroupCount{white-space:normal!important;text-align:right}
  .directoryItem{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  .directoryBand{padding-top:1rem!important}
  .directoryBody{padding:.95rem .2rem 1rem 0!important}
  .directoryTop{display:block!important}
  .directoryChips{
    max-width:none!important;
    justify-content:flex-start!important;
    margin-top:.55rem!important;
  }
  .detailsGrid{grid-template-columns:1fr!important}
  .detailBox{
    min-height:0;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .detailBox:last-child{border-bottom:0!important}
  .directoryActions{
    grid-column:2!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    padding:0 0 1rem!important;
  }
  .directoryActions .btn{width:100%!important;min-width:0!important}
  .directoryActions .btn:first-child{grid-column:1/-1}
}
@media (max-width:380px){
  .actionRow{grid-template-columns:1fr!important}
  .actionRow .btn.primary{grid-column:1!important}
  .categoryCard{flex-basis:86vw!important}
  .directoryActions{grid-template-columns:1fr!important}
  .directoryActions .btn:first-child{grid-column:1!important}
}

@media (prefers-reduced-motion:reduce){
  .btn,.heroStart,.categoryCard{
    transition:none!important;
    animation:none!important;
  }
}
