/* ============================================================
   Centralized Intake — the one journey the RFP puts discovery
   and UI/UX in scope for. Uses the site's existing tokens.
   ============================================================ */
.intake-hero{padding:clamp(6.5rem,10vw,9rem) 0 clamp(1.5rem,3vw,2.5rem);}  /* top padding clears the sticky site header; without it the h1 sits behind it */
.intake-hero h1{font-size:clamp(2rem,5vw,3.4rem); line-height:1.05; margin:.2em 0 .5em;}
.intake-hero .lede{max-width:62ch; font-size:clamp(1.02rem,1.6vw,1.2rem); color:var(--muted);}
.intake-steps{list-style:none; display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:1.75rem 0 0; padding:0;}
.intake-steps li{display:flex; align-items:center; gap:.6rem; font-weight:600; color:var(--ink);}
.intake-steps span{display:grid; place-items:center; width:1.85rem; height:1.85rem; border-radius:50%;
  background:var(--accent); color:#fff; font-size:.92rem; font-weight:700; flex:none;}

.intake{display:block;}
.intake-step{padding:clamp(1.75rem,4vw,2.75rem) 0; border-top:1px solid var(--line);}
.intake-step h2{display:flex; align-items:center; gap:.7rem; font-size:clamp(1.25rem,2.4vw,1.7rem); margin:0 0 .35em;}
.intake-num{display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; flex:none;
  background:var(--tint); color:var(--accent); font-size:1rem; font-weight:700;}
.intake-help{color:var(--muted); max-width:66ch; margin:0 0 1.25rem;}

/* --- stage chooser: real radios, styled; keyboard and screen reader native --- */
.intake-stages{display:grid; gap:.85rem; grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));}
.intake-stage{position:relative; display:block; cursor:pointer;}
.intake-stage input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer;}
.intake-stage__body{display:block; height:100%; padding:1.15rem 1.25rem; border-radius:1rem;
  background:var(--glass-strong,#fff); border:1px solid var(--line);
  box-shadow:0 .35rem 1.1rem rgb(23 45 48 / 5%); transition:border-color .18s, transform .18s, box-shadow .18s;}
.intake-stage:hover .intake-stage__body{transform:translateY(-2px); box-shadow:0 .7rem 1.6rem rgb(23 45 48 / 9%);}
.intake-stage input:focus-visible + .intake-stage__body{outline:3px solid var(--accent); outline-offset:3px;}
.intake-stage input:checked + .intake-stage__body{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent) inset;}
.intake-stage__title{display:block; font-weight:700; font-size:1.05rem; margin-bottom:.3rem;}
.intake-stage__who{display:block; font-size:.86rem; color:var(--accent); font-weight:600; margin-bottom:.45rem;}
.intake-stage__desc{display:block; font-size:.93rem; color:var(--muted); line-height:1.5;}

/* --- county --- */
.intake-county{max-width:32rem;}
.intake-county label{display:block; font-weight:600; margin-bottom:.4rem;}
.intake-county input{width:100%; padding:.85rem 1rem; font-size:1rem; border-radius:.7rem;
  border:1px solid var(--control-line); background:#fff; color:var(--ink);}
.intake-county input:focus-visible{outline:3px solid var(--accent); outline-offset:2px;}
.intake-result{margin:1.1rem 0 0; padding:.9rem 1.1rem; border-radius:.7rem; background:var(--tint);
  border-left:4px solid var(--accent); font-weight:600;}
.intake-result:empty{display:none;}

/* --- the three routes --- */
.intake-routes{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));}
.intake-route{display:flex; flex-direction:column; gap:.5rem; padding:1.35rem; border-radius:1rem;
  background:var(--glass-strong,#fff); border:1px solid var(--line); text-decoration:none; color:inherit;
  transition:transform .18s, box-shadow .18s, border-color .18s;}
.intake-route:hover{transform:translateY(-3px); border-color:var(--accent); box-shadow:0 .8rem 1.8rem rgb(23 45 48 / 10%);}
.intake-route:focus-visible{outline:3px solid var(--accent); outline-offset:3px;}
.intake-route__k{font-weight:700; font-size:1.08rem; color:var(--accent);}
.intake-route__d{color:var(--muted); line-height:1.55;}
.intake-route__m{margin-top:auto; padding-top:.6rem; border-top:1px solid var(--line);
  font-size:.83rem; color:var(--muted); font-style:italic;}

/* --- scheduling embed placeholder --- */
.intake-embed{padding:1.5rem; border:2px dashed var(--control-line); border-radius:1rem; background:#fff; max-width:38rem;}
.intake-embed__label{font-weight:700; margin:0 0 .4rem;}
.intake-embed__note{color:var(--muted); margin:0 0 .8rem; font-size:.93rem;}
.intake-embed__fallback{margin:0; font-weight:600;}

/* --- regions table --- */
.intake-table-wrap{overflow-x:auto;}
.intake-table{width:100%; border-collapse:collapse; min-width:34rem;}
.intake-table th, .intake-table td{text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--line);}
.intake-table thead th{background:var(--tint); color:var(--ink); font-size:.86rem; letter-spacing:.03em; text-transform:uppercase;}
.intake-table tbody th{font-weight:700;}
.intake-table tbody tr:hover td, .intake-table tbody tr:hover th{background:rgb(8 107 112 / 4%);}

/* --- languages --- */
.intake-langlist{list-style:none; display:flex; flex-wrap:wrap; gap:.6rem; margin:0; padding:0;}
.intake-langlist li{padding:.5rem 1rem; border-radius:999px; background:var(--tint); font-weight:600;}

.visually-hidden{position:absolute!important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

@media (prefers-reduced-motion: reduce){
  .intake-stage:hover .intake-stage__body,.intake-route:hover{transform:none;}
}
@media (max-width:40rem){
  .intake-steps{gap:.6rem 1rem; font-size:.94rem;}
  .intake-step h2{font-size:1.2rem;}
}
