/* ===========================================================
   LOCKED — HOME FRONT DOOR (APPROVED)
   Do not casually redesign. Treat like hubs / guides / utils /
   bond pages: structure and brand tokens are frozen.

   Reference pattern: src/index.njk → .home-ed
   Strongest page on the site. Brand + Illinois voice + route.
   Not a hub clone. Navy / warm paper / Illinois gold thread
   (per-state palette may replace gold when approved).
   Category hues only as thin route marks — never a rainbow hero.
   Hub, guide, util, and bond-page systems are locked separately.
   =========================================================== */

.home-ed *,
.home-ed *::before,
.home-ed *::after{
  box-sizing:border-box;
}

.home-ed{
  --home-ink:#0f172a;
  --home-muted:#334155;
  --home-line:color-mix(in srgb,var(--home-ink) 16%,#d4c4a0);
  --home-paper:#fbfaf7;
  --home-paper-soft:#f3efe6;
  --home-paper-deep:#ebe4d6;
  --home-accent:#b8922e;
  --home-accent-on-paper:#8a6a14;
  --home-accent-soft:color-mix(in srgb,var(--home-accent) 38%,transparent);
  --home-accent-wash:color-mix(in srgb,var(--home-accent) 12%,transparent);
  --home-accent-soft-on-dark:color-mix(in srgb,var(--home-accent) 55%,transparent);
  --home-navy:#1a2a8a;
  --home-hover:#6b7fe0;
  --home-border:color-mix(in srgb,var(--home-ink) 14%,#d4c4a0);
  --home-hero-gradient:linear-gradient(148deg,#060910 0%,#0c1424 36%,#121e3c 62%,#1a2a6e 88%,#1e3488 100%);
  --home-max:1080px;

  color:var(--home-ink);
  font-family:inherit;
  margin:0 calc(-50vw + 50%);
  width:100vw;
  padding:0;
  background:var(--home-paper);
}

.home-ed .home-inner{
  max-width:var(--home-max);
  margin:0 auto;
  padding:0 28px;
}

/* ========== HERO: designed lobby ========== */

.home-ed .home-hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:min(86vh,780px);
  padding:clamp(72px,11vh,120px) 0 clamp(56px,8vh,84px);
  background-color:#060910;
  background-image:
    radial-gradient(ellipse 55% 70% at 92% 8%,color-mix(in srgb,var(--home-accent) 32%,transparent) 0%,transparent 55%),
    radial-gradient(ellipse 40% 50% at 0% 100%,color-mix(in srgb,#1a2a8a 55%,transparent) 0%,transparent 55%),
    radial-gradient(ellipse 80% 40% at 50% 100%,rgba(0,0,0,.35) 0%,transparent 70%),
    var(--home-hero-gradient);
  overflow:hidden;
}

.home-ed .home-hero::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--home-accent) 0%,color-mix(in srgb,var(--home-accent) 40%,transparent) 55%,transparent 100%);
}

.home-ed .home-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:4px;
  background:linear-gradient(90deg,var(--home-accent) 0%,color-mix(in srgb,var(--home-accent) 70%,#fff) 22%,color-mix(in srgb,var(--home-accent) 25%,transparent) 55%,transparent 100%);
}

.home-ed .home-hero .home-inner{
  position:relative;
  z-index:1;
  width:100%;
}

.home-ed .home-hero-eyebrow{
  margin:0 0 22px;
  color:var(--home-accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1.4;
  text-transform:uppercase;
}

.home-ed .home-brand{
  margin:0 0 10px!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(3rem,7.2vw,5.25rem)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.035em;
}

.home-ed .home-brand-lead{
  color:rgba(255,252,245,.96);
}

.home-ed .home-brand-accent{
  color:var(--home-accent);
}

.home-ed .home-promise{
  max-width:28ch;
  margin:0 0 36px;
  color:rgba(255,248,235,.88);
  font-family:Georgia,"Times New Roman",Times,serif;
  font-size:clamp(1.2rem,2.1vw,1.55rem);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.015em;
}

.home-ed .home-hero-body{
  max-width:48ch;
  margin:0 0 32px;
  color:rgba(255,248,235,.62);
  font-size:1rem;
  line-height:1.65;
}

.home-ed .home-hero-body a{
  color:color-mix(in srgb,var(--home-accent) 80%,#fff);
  font-weight:650;
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--home-accent) 45%,transparent);
}

.home-ed .home-hero-body a:hover{
  color:#fff;
  border-bottom-color:var(--home-accent);
}

/* Search as instrument, not lonely widget */

.home-ed .home-find{
  max-width:560px;
}

.home-ed .home-find-label{
  display:block;
  margin:0 0 10px;
  color:rgba(255,248,235,.5);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-ed .home-search{
  position:relative;
}

.home-ed .home-search-field{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:60px;
  padding:0 20px;
  border:1px solid rgba(255,248,235,.22);
  border-bottom:2px solid var(--home-accent);
  background:rgba(255,255,255,.06);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

.home-ed .home-search-field:focus-within{
  border-color:rgba(255,248,235,.4);
  border-bottom-color:var(--home-accent);
  background:rgba(255,255,255,.1);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--home-accent) 22%,transparent);
}

.home-ed .home-search-icon{
  flex:0 0 auto;
  display:flex;
  color:var(--home-accent);
}

.home-ed .home-search-input{
  flex:1 1 auto;
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:1.0625rem;
  line-height:1.4;
  outline:none;
}

.home-ed .home-search-input::placeholder{
  color:rgba(255,248,235,.42);
}

.home-ed .home-search-results{
  position:absolute;
  z-index:30;
  top:calc(100% + 6px);
  left:0;
  right:0;
  max-height:320px;
  overflow:auto;
  border:1px solid var(--home-border);
  background:var(--home-paper);
  box-shadow:0 18px 48px rgba(6,9,16,.4);
}

.home-ed .home-search-results[hidden]{
  display:none!important;
}

.home-ed .home-search-results .site-search-result{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:13px 18px;
  border-bottom:1px solid var(--home-line);
  color:inherit;
  text-decoration:none;
}

.home-ed .home-search-results .site-search-result:last-child{
  border-bottom:0;
}

.home-ed .home-search-results .site-search-result:hover,
.home-ed .home-search-results .site-search-result.is-active{
  background:var(--home-accent-wash);
}

.home-ed .home-search-results .site-search-result-title{
  color:var(--home-ink);
  font-size:.9375rem;
  font-weight:600;
}

.home-ed .home-search-results .site-search-result-meta{
  color:var(--home-muted);
  font-size:.8125rem;
}

.home-ed .home-search-results .site-search-empty{
  padding:16px 18px;
  color:var(--home-muted);
  font-size:.875rem;
}

.home-ed .home-suggest{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 20px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.home-ed .home-suggest-label{
  color:rgba(255,248,235,.42);
  font-size:.8125rem;
  font-weight:600;
}

.home-ed .home-suggest a{
  color:rgba(255,248,235,.78);
  font-size:.8125rem;
  font-weight:500;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent-soft-on-dark);
}

.home-ed .home-suggest a:hover{
  color:#fff;
  border-bottom-color:var(--home-accent);
}

.home-ed .home-hero-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 28px;
  margin:36px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(255,248,235,.12);
  max-width:560px;
}

.home-ed .home-hero-foot p{
  margin:0;
  color:rgba(255,248,235,.5);
  font-size:.8125rem;
  line-height:1.5;
}

.home-ed .home-hero-foot a{
  color:rgba(255,248,235,.88);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent-soft-on-dark);
}

.home-ed .home-hero-foot a:hover{
  color:#fff;
  border-bottom-color:var(--home-accent);
}

/* ========== INTRO STRIP: Illinois voice ========== */

.home-ed .home-intro{
  padding:clamp(22px,3.2vh,32px) 0;
  background:var(--home-paper);
  border-bottom:1px solid var(--home-line);
}

.home-ed .home-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:32px 64px;
  align-items:start;
}

.home-ed .home-intro h2{
  margin:0 0 14px!important;
  color:var(--home-ink)!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(1.5rem,2.4vw,1.95rem)!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:-.02em;
  max-width:16em;
}

.home-ed .home-intro p{
  margin:0;
  max-width:48ch;
  color:var(--home-muted);
  font-size:1.015625rem;
  line-height:1.7;
}

.home-ed .home-intro-aside{
  padding:20px 0 0;
  border-top:2px solid var(--home-accent);
}

.home-ed .home-intro-aside p{
  margin:0;
  color:var(--home-ink);
  font-size:.9375rem;
  line-height:1.6;
}

.home-ed .home-intro-aside strong{
  font-weight:700;
}

.home-ed .home-intro-aside a{
  color:var(--home-accent-on-paper);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent-soft);
}

.home-ed .home-intro-aside a:hover{
  border-bottom-color:var(--home-navy);
  color:var(--home-navy);
}

.home-ed .home-intro-aside-link{
  margin-top:14px;
}

/* ========== GATE: editorial routes, not hub cards ========== */

.home-ed .home-gate{
  padding:clamp(32px,4.5vh,48px) 0;
  background:var(--home-paper-soft);
}

.home-ed .home-gate-head{
  margin:0 0 8px;
}

.home-ed .home-gate-eyebrow{
  margin:0 0 12px;
  color:var(--home-accent-on-paper);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.home-ed .home-gate h2{
  margin:0 0 10px!important;
  color:var(--home-ink)!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(1.5rem,2.3vw,1.9rem)!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:-.015em;
}

.home-ed .home-gate-desc{
  max-width:48ch;
  margin:0 0 36px;
  color:var(--home-muted);
  font-size:1rem;
  line-height:1.65;
}

/* Primary three — large editorial entries */

.home-ed .home-primary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0 0 40px;
  padding:0;
  list-style:none;
  border-top:1px solid var(--home-line);
}

.home-ed .home-primary li{
  border-bottom:1px solid var(--home-line);
  border-right:1px solid var(--home-line);
}

.home-ed .home-primary li:last-child{
  border-right:0;
}

.home-ed .home-primary a{
  display:block;
  height:100%;
  padding:28px 24px 28px 22px;
  border-left:3px solid var(--home-cat,var(--home-accent));
  color:inherit;
  text-decoration:none;
  transition:background .15s ease;
}

.home-ed .home-primary a:hover{
  background:color-mix(in srgb,var(--home-paper) 70%,transparent);
}

.home-ed .home-primary-title{
  margin:0 0 10px;
  color:var(--home-ink);
  font-family:Georgia,"Times New Roman",Times,serif;
  font-size:1.35rem;
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.2;
}

.home-ed .home-primary a:hover .home-primary-title{
  color:var(--home-accent-on-paper);
}

.home-ed .home-primary-summary{
  margin:0 0 16px;
  max-width:28ch;
  color:var(--home-muted);
  font-size:.875rem;
  line-height:1.55;
}

.home-ed .home-primary-action{
  color:var(--home-accent-on-paper);
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Secondary routes — quiet text columns */

.home-ed .home-secondary-label{
  margin:0 0 14px;
  color:var(--home-muted);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-ed .home-secondary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px 40px;
  margin:0;
  padding:0;
  list-style:none;
}

.home-ed .home-secondary a{
  display:block;
  padding:12px 0;
  border-top:1px solid var(--home-line);
  color:var(--home-ink);
  font-size:.9375rem;
  font-weight:600;
  text-decoration:none;
  line-height:1.35;
}

.home-ed .home-secondary a span{
  display:block;
  margin-top:3px;
  color:var(--home-muted);
  font-size:.8125rem;
  font-weight:400;
}

.home-ed .home-secondary a:hover{
  color:var(--home-accent-on-paper);
}

.home-ed .home-secondary a:hover span{
  color:var(--home-ink);
}

.home-ed .home-gate-foot{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  margin:28px 0 0;
  padding-top:20px;
  border-top:1px solid var(--home-line);
}

.home-ed .home-gate-foot a{
  color:var(--home-accent-on-paper);
  font-size:.875rem;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent-soft);
}

.home-ed .home-gate-foot a:hover{
  border-bottom-color:var(--home-navy);
  color:var(--home-navy);
}

.home-ed .home-cat--construction{ --home-cat:#4a2c14; }
.home-ed .home-cat--license{ --home-cat:#1a2a8a; }
.home-ed .home-cat--court{ --home-cat:#0c2448; }

/* ========== LOCAL MARKETS: city desk doorway ========== */

.home-ed .home-markets{
  padding:clamp(32px,4.5vh,48px) 0;
  border-top:1px solid var(--home-line);
  background:
    linear-gradient(180deg,var(--home-paper-soft) 0%,var(--home-paper) 100%);
}

.home-ed .home-markets-head{
  margin:0 0 22px;
}

.home-ed .home-markets h2{
  max-width:18em;
  margin:0 0 12px!important;
  color:var(--home-ink)!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(1.45rem,2.2vw,1.85rem)!important;
  font-weight:500!important;
  line-height:1.22!important;
  letter-spacing:-.015em;
}

.home-ed .home-markets-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
}

.home-ed .home-markets-list a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  color:var(--home-ink);
  font-weight:650;
  font-size:.95rem;
  text-decoration:none;
  border:1px solid var(--home-border);
  background:var(--home-paper);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}

.home-ed .home-markets-list a:hover{
  border-color:color-mix(in srgb,var(--home-accent) 55%,var(--home-border));
  color:var(--home-accent-on-paper);
  background:color-mix(in srgb,var(--home-accent) 10%,var(--home-paper));
}

.home-ed .home-markets-more{
  margin:18px 0 0;
}

.home-ed .home-markets-more a{
  color:var(--home-accent-on-paper);
  font-size:.9rem;
  font-weight:650;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent-soft);
}

.home-ed .home-markets-more a:hover{
  border-bottom-color:var(--home-navy);
  color:var(--home-navy);
}

/* ========== TRUST: woven, not a gray strip ========== */

.home-ed .home-trust{
  padding:clamp(32px,4.5vh,48px) 0;
  background:var(--home-paper);
}

.home-ed .home-trust-eyebrow{
  margin:0 0 14px;
  color:var(--home-accent-on-paper);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.home-ed .home-trust h2{
  max-width:18em;
  margin:0 0 18px!important;
  color:var(--home-ink)!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(1.45rem,2.2vw,1.85rem)!important;
  font-weight:500!important;
  line-height:1.22!important;
  letter-spacing:-.015em;
}

.home-ed .home-trust-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:28px 56px;
  align-items:start;
}

.home-ed .home-trust-prose{
  margin:0;
  max-width:54ch;
  color:var(--home-muted);
  font-size:1rem;
  line-height:1.7;
}

.home-ed .home-trust-prose + .home-trust-prose{
  margin-top:1em;
}

.home-ed .home-trust-card{
  padding:22px 0 0;
  border-top:2px solid var(--home-accent);
}

.home-ed .home-trust-card p{
  margin:0 0 8px;
  color:var(--home-ink);
  font-size:.9375rem;
  line-height:1.55;
}

.home-ed .home-trust-card p:last-child{
  margin-bottom:0;
  color:var(--home-muted);
  font-size:.8125rem;
}

.home-ed .home-trust-card a{
  color:var(--home-ink);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--home-accent);
}

.home-ed .home-trust-card a:hover{
  color:var(--home-accent-on-paper);
}

/* ========== CLOSE ========== */

.home-ed .home-close{
  padding:clamp(32px,5vh,48px) 0;
  border-top:3px solid var(--home-accent);
  background:
    radial-gradient(ellipse 45% 80% at 0% 100%,var(--home-accent-wash) 0%,transparent 55%),
    var(--home-paper-deep);
}

.home-ed .home-close-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
}

.home-ed .home-close h2{
  margin:0 0 8px!important;
  color:var(--home-ink)!important;
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-size:clamp(1.45rem,2.2vw,1.85rem)!important;
  font-weight:500!important;
  line-height:1.2!important;
}

.home-ed .home-close p{
  margin:0;
  max-width:40ch;
  color:var(--home-muted);
  font-size:.96875rem;
  line-height:1.55;
}

.home-ed .home-close-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 24px;
}

.home-ed .home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 28px;
  border:1px solid var(--home-ink);
  border-radius:2px;
  background:var(--home-ink);
  color:#fff!important;
  font-size:.9375rem;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease;
}

.home-ed .home-btn:hover{
  background:var(--home-navy);
  border-color:var(--home-navy);
}

.home-ed .home-btn-ghost{
  color:var(--home-ink)!important;
  font-size:.875rem;
  font-weight:600;
  text-decoration:none!important;
  border-bottom:1px solid var(--home-accent);
  padding-bottom:2px;
}

.home-ed .home-btn-ghost:hover{
  color:var(--home-accent-on-paper)!important;
}

@media (max-width:900px){
  .home-ed .home-intro-grid,
  .home-ed .home-trust-grid,
  .home-ed .home-primary,
  .home-ed .home-secondary{
    grid-template-columns:1fr;
  }

  .home-ed .home-primary li{
    border-right:0;
  }

  .home-ed .home-hero{
    min-height:0;
    align-items:center;
  }
}

@media (max-width:720px){
  .home-ed .home-hero{
    padding:52px 0 44px;
  }

  .home-ed .home-inner{
    padding:0 20px;
  }

  .home-ed .home-close-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .home-ed .home-primary a{
    padding:22px 16px 22px 14px;
  }
}
