.asm-resources{
  --resource-blue:#213563;
  --resource-blue-bright:#334d85;
  --resource-ink:#1f2d49;
  --resource-muted:#5b677b;
  --resource-red:#d63f34;
  --resource-red-dark:#b72e25;
  --resource-green:#577e2b;
  --resource-cream:#f4f2e8;
  --resource-sky:#e7f4f7;
  --resource-border:rgba(33,53,99,.14);
  --resource-shadow:0 20px 50px rgba(31,45,73,.12);
  color:var(--resource-ink);
  background:#fff;
  overflow:hidden;
}

.asm-resources *,
.asm-resources *::before,
.asm-resources *::after{
  box-sizing:border-box;
}

.asm-resource-hero{
  position:relative;
  isolation:isolate;
  color:#fff;
  background:
    radial-gradient(900px 460px at 8% 5%, rgba(110,183,204,.28), transparent 60%),
    radial-gradient(780px 480px at 100% 80%, rgba(148,201,76,.18), transparent 64%),
    linear-gradient(132deg, #1c2f5a 0%, #2e4378 58%, #405b8d 100%);
}

.asm-resource-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background-image:
    linear-gradient(30deg, transparent 24%, rgba(255,255,255,.13) 25%, rgba(255,255,255,.13) 26%, transparent 27%, transparent 74%, rgba(255,255,255,.13) 75%, rgba(255,255,255,.13) 76%, transparent 77%),
    linear-gradient(150deg, transparent 24%, rgba(255,255,255,.08) 25%, rgba(255,255,255,.08) 26%, transparent 27%, transparent 74%, rgba(255,255,255,.08) 75%, rgba(255,255,255,.08) 76%, transparent 77%);
  background-size:72px 72px;
}

.asm-resource-hero-inner{
  min-height:540px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:72px;
  padding-bottom:84px;
}

.asm-resource-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
  margin:0 0 1.35rem;
  color:rgba(255,255,255,.84);
  font-size:.9rem;
  font-weight:700;
}

.asm-resource-breadcrumbs a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  color:#fff;
  text-decoration:none;
}

.asm-resource-breadcrumbs a:hover,
.asm-resource-breadcrumbs a:focus-visible{
  text-decoration:underline;
}

.asm-resource-hero-copy{
  max-width:850px;
}

.asm-resource-eyebrow,
.asm-resource-kicker{
  display:block;
  color:#496521;
  font-size:.77rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.asm-resource-hero .asm-resource-eyebrow{
  color:#d6f19e;
}

.asm-resource-hero h1,
.asm-resource-article-hero h1{
  margin:.8rem 0 1rem;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2.5rem, 5.8vw, 5rem);
  font-weight:900;
  line-height:1.01;
  letter-spacing:-.045em;
}

.asm-resource-hero-copy > p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.02rem, 1.8vw, 1.22rem);
  line-height:1.75;
}

.asm-resource-trust{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.65rem;
}

.asm-resource-trust span{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.7rem .95rem;
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  font-weight:800;
  backdrop-filter:blur(5px);
}

.asm-resource-trust svg{
  color:#d6f19e;
}

.asm-resource-section{
  padding:84px 0;
}

.asm-resource-section-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
  align-items:end;
  gap:2rem;
  margin-bottom:2.1rem;
}

.asm-resource-section-head h2,
.asm-resource-more-layout h2,
.asm-resource-cta h2,
.asm-resource-faq-intro h2{
  margin:.45rem 0 0;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.9rem, 3.5vw, 3rem);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.035em;
}

.asm-resource-section-head > p{
  margin:0;
  color:var(--resource-muted);
  font-size:1rem;
  line-height:1.75;
}

.asm-resource-library-switch{
  background:#fff;
  border-bottom:1px solid var(--resource-border);
  box-shadow:0 10px 28px rgba(31,45,73,.06);
}

.asm-resource-library-switch-inner{
  min-height:74px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem .85rem;
  padding-top:.65rem;
  padding-bottom:.65rem;
}

.asm-resource-library-switch-inner > span{
  color:var(--resource-muted);
  font-size:.82rem;
  font-weight:800;
}

.asm-resource-library-switch a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.65rem .9rem;
  color:var(--resource-blue);
  background:#f3f6f9;
  border:1px solid var(--resource-border);
  border-radius:999px;
  font-size:.84rem;
  font-weight:900;
  text-decoration:none;
}

.asm-resource-library-switch a:hover,
.asm-resource-library-switch a:focus-visible,
.asm-resource-library-switch a[aria-current="page"]{
  color:#fff;
  background:var(--resource-blue);
  border-color:var(--resource-blue);
}

.asm-resource-trade-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
}

.asm-resource-trade-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--resource-border);
  border-radius:26px;
  box-shadow:0 16px 42px rgba(31,45,73,.1);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.asm-resource-trade-card:hover{
  transform:translateY(-5px);
  border-color:rgba(33,53,99,.3);
  box-shadow:var(--resource-shadow);
}

.asm-resource-trade-image{
  display:block;
  overflow:hidden;
  aspect-ratio:16/8.4;
  background:#dfe7ed;
}

.asm-resource-trade-image picture,
.asm-resource-trade-image img{
  display:block;
  width:100%;
  height:100%;
}

.asm-resource-trade-image img{
  object-fit:cover;
  transition:transform .45s ease;
}

.asm-resource-trade-card:hover .asm-resource-trade-image img{
  transform:scale(1.035);
}

.asm-resource-trade-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:1.55rem;
}

.asm-resource-trade-title-row{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1rem;
}

.asm-resource-trade-title-row .asm-resource-card-icon{
  position:static;
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-width:0;
}

.asm-resource-trade-title-row .asm-resource-card-count{
  display:block;
  margin:0 0 .25rem;
}

.asm-resource-trade-title-row h2{
  margin:0;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.35rem,2.3vw,1.85rem);
  font-weight:900;
  line-height:1.15;
}

.asm-resource-trade-title-row h2 a{
  color:inherit;
  text-decoration:none;
}

.asm-resource-trade-body > p{
  flex:1;
  margin:0 0 1.15rem;
  color:var(--resource-muted);
  line-height:1.7;
}

.asm-resource-trade-stats{
  display:flex;
  gap:.75rem;
  margin-bottom:1rem;
}

.asm-resource-trade-stats span{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.6rem .75rem;
  color:#4b5870;
  background:#f3f6f9;
  border:1px solid var(--resource-border);
  border-radius:12px;
  font-size:.8rem;
}

.asm-resource-trade-stats strong{
  color:var(--resource-blue);
  font-size:1rem;
}

.asm-resource-trade-card-electrical .asm-resource-card-icon{
  background:#be392f;
  box-shadow:0 12px 24px rgba(190,57,47,.24);
}

.asm-resource-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}

.asm-resource-topic-card,
.asm-resource-guide-card,
.asm-resource-related-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--resource-border);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(31,45,73,.08);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.asm-resource-topic-card:hover,
.asm-resource-guide-card:hover,
.asm-resource-related-card:hover{
  transform:translateY(-5px);
  border-color:rgba(33,53,99,.28);
  box-shadow:var(--resource-shadow);
}

.asm-resource-card-image{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#dfe7ed;
}

.asm-resource-card-image img,
.asm-resource-card-image picture{
  display:block;
  width:100%;
  height:100%;
}

.asm-resource-card-image img{
  object-fit:cover;
  transition:transform .45s ease;
}

.asm-resource-topic-card:hover .asm-resource-card-image img,
.asm-resource-guide-card:hover .asm-resource-card-image img,
.asm-resource-related-card:hover .asm-resource-card-image img{
  transform:scale(1.035);
}

.asm-resource-card-body{
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
  padding:1.45rem;
}

.asm-resource-card-icon{
  position:absolute;
  top:-30px;
  right:1.35rem;
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--resource-red);
  border:5px solid #fff;
  border-radius:18px;
  box-shadow:0 12px 24px rgba(214,63,52,.24);
  font-size:1.35rem;
}

.asm-resource-card-count{
  margin:0 4rem .55rem 0;
  color:#526331;
  font-size:.76rem;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.asm-resource-card-body h3,
.asm-resource-guide-body h3,
.asm-resource-related-card h3{
  margin:0 0 .75rem;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:1.18rem;
  line-height:1.3;
  font-weight:900;
}

.asm-resource-card-body h3 a,
.asm-resource-guide-body h3 a,
.asm-resource-related-card h3 a{
  color:inherit;
  text-decoration:none;
}

.asm-resource-card-body h3 a::after,
.asm-resource-guide-body h3 a::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.asm-resource-card-body p,
.asm-resource-guide-body p{
  margin:0 0 1.15rem;
  color:var(--resource-muted);
  font-size:.94rem;
  line-height:1.68;
}

.asm-resource-card-body p{
  flex:1;
}

.asm-resource-text-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:fit-content;
  color:#a42d25;
  font-size:.9rem;
  line-height:1.35;
  font-weight:900;
  text-decoration:none;
}

.asm-resource-text-link:hover,
.asm-resource-text-link:focus-visible{
  color:#7f201a;
  text-decoration:underline;
}

.asm-resource-text-link svg{
  transition:transform .2s ease;
}

.asm-resource-text-link:hover svg{
  transform:translateX(4px);
}

.asm-resource-city-section{
  background:
    linear-gradient(120deg,rgba(110,183,204,.09),transparent 44%),
    var(--resource-cream);
  border-top:1px solid var(--resource-border);
  border-bottom:1px solid var(--resource-border);
}

.asm-resource-city-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.asm-resource-county-groups{
  display:grid;
  gap:2.4rem;
}

.asm-resource-county-group{
  display:grid;
  gap:1rem;
}

.asm-resource-county-heading{
  display:flex;
  align-items:center;
  gap:.9rem;
}

.asm-resource-county-heading .asm-resource-city-icon{
  flex:0 0 48px;
  background:var(--resource-red);
}

.asm-resource-county-heading h3{
  margin:0;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:1.2rem;
  font-weight:900;
}

.asm-resource-county-heading p{
  margin:.2rem 0 0;
  color:var(--resource-muted);
  font-size:.86rem;
}

.asm-resource-city-card{
  min-height:96px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  align-items:center;
  gap:.9rem;
  padding:1rem 1.1rem;
  color:var(--resource-ink);
  background:rgba(255,255,255,.9);
  border:1px solid var(--resource-border);
  border-radius:18px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(31,45,73,.05);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.asm-resource-city-card:hover,
.asm-resource-city-card:focus-visible{
  transform:translateY(-3px);
  color:var(--resource-blue);
  border-color:rgba(33,53,99,.3);
  box-shadow:0 14px 30px rgba(31,45,73,.11);
}

.asm-resource-city-icon,
.asm-resource-service-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--resource-blue);
  border-radius:14px;
  font-size:1.1rem;
}

.asm-resource-city-card strong{
  display:block;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:.98rem;
  line-height:1.25;
  font-weight:900;
}

.asm-resource-city-card small{
  display:block;
  margin-top:.25rem;
  color:var(--resource-muted);
  font-size:.78rem;
}

.asm-resource-city-arrow{
  color:var(--resource-red);
}

.asm-resource-cta-section{
  padding:72px 0;
  background:#fff;
}

.asm-resource-cta{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:1.5rem;
  padding:2rem;
  color:#fff;
  background:
    radial-gradient(450px 220px at 100% 0%,rgba(148,201,76,.22),transparent 70%),
    linear-gradient(130deg,#203461,#354f84);
  border-radius:28px;
  box-shadow:0 24px 58px rgba(31,45,73,.2);
}

.asm-resource-cta .asm-resource-kicker{
  color:#d6f19e;
}

.asm-resource-cta h2{
  color:#fff;
  font-size:clamp(1.55rem,2.4vw,2.25rem);
}

.asm-resource-cta p{
  margin:.6rem 0 0;
  color:rgba(255,255,255,.85);
  line-height:1.65;
}

.asm-resource-cta-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  color:var(--resource-blue);
  background:#d6f19e;
  border-radius:22px;
  font-size:1.65rem;
}

.asm-resource-cta-actions{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}

.asm-resource-county-phones{
  display:grid;
  gap:.38rem;
}

.asm-resource-county-phones a{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.58rem .78rem;
  color:#fff;
  background:var(--resource-red);
  border:1px solid rgba(255,255,255,.22);
  border-radius:11px;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease;
}

.asm-resource-county-phones a:hover,
.asm-resource-county-phones a:focus-visible{
  color:#fff;
  background:#b83229;
  transform:translateY(-1px);
}

.asm-resource-county-phones span{
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.asm-resource-county-phones strong{
  font-size:.9rem;
  white-space:nowrap;
}

.asm-resource-btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.8rem 1.05rem;
  border:1px solid transparent;
  border-radius:14px;
  font-size:.92rem;
  line-height:1.3;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.asm-resource-btn:hover,
.asm-resource-btn:focus-visible{
  transform:translateY(-2px);
}

.asm-resource-btn-primary{
  color:#fff;
  background:var(--resource-red);
  box-shadow:0 12px 28px rgba(214,63,52,.24);
}

.asm-resource-btn-primary:hover,
.asm-resource-btn-primary:focus-visible{
  color:#fff;
  background:var(--resource-red-dark);
}

.asm-resource-btn-light{
  color:var(--resource-blue);
  background:#fff;
}

.asm-resource-btn-light:hover,
.asm-resource-btn-light:focus-visible{
  color:var(--resource-blue);
  background:#f0f5fb;
}

.asm-resource-btn-outline{
  color:var(--resource-blue);
  background:#fff;
  border-color:rgba(33,53,99,.25);
}

.asm-resource-btn-outline:hover,
.asm-resource-btn-outline:focus-visible{
  color:var(--resource-blue);
  background:#f0f5fb;
  border-color:var(--resource-blue);
}

.asm-resource-hub-hero{
  padding:58px 0 78px;
}

.asm-resource-hub-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.86fr);
  align-items:center;
  gap:3rem;
}

.asm-resource-hub-layout .asm-resource-btn{
  margin-top:1.4rem;
}

.asm-resource-hub-image{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border:7px solid rgba(255,255,255,.16);
  border-radius:28px;
  box-shadow:0 28px 58px rgba(8,16,34,.3);
}

.asm-resource-hub-image::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  border-radius:20px;
  pointer-events:none;
}

.asm-resource-hub-image picture,
.asm-resource-hub-image img{
  display:block;
  width:100%;
  height:100%;
}

.asm-resource-hub-image img{
  object-fit:cover;
}

.asm-resource-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}

.asm-resource-guide-body{
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
  padding:1.35rem;
}

.asm-resource-guide-label{
  min-height:30px;
  display:flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.6rem;
  color:#435d22;
  font-size:.75rem;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.asm-resource-guide-body h3{
  min-height:3.9em;
  font-size:1.08rem;
}

.asm-resource-guide-body p{
  flex:1;
}

.asm-resource-guide-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding-top:.9rem;
  border-top:1px solid var(--resource-border);
}

.asm-resource-guide-foot span,
.asm-resource-guide-foot a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.76rem;
  line-height:1.3;
  font-weight:800;
}

.asm-resource-guide-foot span{
  color:var(--resource-muted);
}

.asm-resource-guide-foot a{
  position:relative;
  z-index:2;
  color:#a42d25;
  text-decoration:none;
}

.asm-resource-more-section{
  padding:68px 0;
  background:var(--resource-sky);
  border-top:1px solid var(--resource-border);
}

.asm-resource-more-layout{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  align-items:start;
  gap:3rem;
}

.asm-resource-more-layout h2{
  font-size:clamp(1.7rem,2.6vw,2.35rem);
}

.asm-resource-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}

.asm-resource-chip-list a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:.65rem .9rem;
  color:var(--resource-blue);
  background:#fff;
  border:1px solid rgba(33,53,99,.18);
  border-radius:999px;
  font-size:.83rem;
  line-height:1.25;
  font-weight:800;
  text-decoration:none;
}

.asm-resource-chip-list a:hover,
.asm-resource-chip-list a:focus-visible{
  color:#fff;
  background:var(--resource-blue);
  border-color:var(--resource-blue);
}

.asm-resource-article-hero{
  position:relative;
  padding:56px 0 72px;
  background:
    radial-gradient(650px 320px at 5% 0%,rgba(110,183,204,.2),transparent 70%),
    linear-gradient(180deg,#edf5f8 0%,#f8fafc 100%);
  border-bottom:1px solid var(--resource-border);
}

.asm-resource-article-hero .asm-resource-breadcrumbs{
  color:#526078;
}

.asm-resource-article-hero .asm-resource-breadcrumbs a{
  color:var(--resource-blue);
}

.asm-resource-article-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.88fr);
  align-items:center;
  gap:3rem;
}

.asm-resource-topic-pill{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.6rem .85rem;
  color:#324d14;
  background:#e0efbd;
  border:1px solid rgba(87,126,43,.22);
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
}

.asm-resource-topic-pill:hover,
.asm-resource-topic-pill:focus-visible{
  color:#fff;
  background:#435f23;
}

.asm-resource-article-hero h1{
  color:var(--resource-blue);
  font-size:clamp(2.25rem,4.4vw,4.15rem);
}

.asm-resource-article-deck{
  margin:0;
  color:#4d5a70;
  font-size:clamp(1rem,1.5vw,1.15rem);
  line-height:1.75;
}

.asm-resource-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1rem;
  margin-top:1.35rem;
}

.asm-resource-article-meta span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#46546b;
  font-size:.82rem;
  font-weight:800;
}

.asm-resource-article-meta svg{
  color:#a42d25;
}

.asm-resource-article-image{
  overflow:hidden;
  margin:0;
  background:#dfe7ed;
  border:6px solid #fff;
  border-radius:26px;
  box-shadow:var(--resource-shadow);
}

.asm-resource-article-image picture,
.asm-resource-article-image img{
  display:block;
  width:100%;
}

.asm-resource-article-image img{
  aspect-ratio:16/9;
  object-fit:cover;
}

.asm-resource-article-image figcaption{
  padding:.7rem .9rem;
  color:#526078;
  background:#fff;
  font-size:.75rem;
  line-height:1.45;
}

.asm-resource-article-section{
  padding:76px 0 82px;
  background:#fff;
}

.asm-resource-article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  align-items:start;
  gap:3.5rem;
}

.asm-resource-prose{
  min-width:0;
  color:#2e3b52;
  font-size:1.04rem;
  line-height:1.82;
}

.asm-resource-prose > p{
  margin:0 0 1.25rem;
}

.asm-resource-prose > p:first-of-type{
  color:#263957;
  font-size:1.17rem;
  line-height:1.78;
}

.asm-resource-prose h2{
  scroll-margin-top:140px;
  margin:2.65rem 0 1rem;
  padding-top:.25rem;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.65rem,2.9vw,2.35rem);
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.03em;
}

.asm-resource-prose h2::after{
  content:"";
  display:block;
  width:58px;
  height:4px;
  margin-top:.7rem;
  background:linear-gradient(90deg,var(--resource-red),#f18e54);
  border-radius:999px;
}

.asm-resource-prose h3{
  scroll-margin-top:140px;
  margin:1.8rem 0 .75rem;
  color:#30466e;
  font-family:'Montserrat',sans-serif;
  font-size:1.25rem;
  font-weight:900;
  line-height:1.3;
}

.asm-resource-prose ul{
  display:grid;
  gap:.65rem;
  margin:0 0 1.5rem;
  padding:0;
  list-style:none;
}

.asm-resource-prose li{
  position:relative;
  padding:.68rem .8rem .68rem 2.25rem;
  background:#f7fafc;
  border:1px solid rgba(33,53,99,.1);
  border-radius:12px;
}

.asm-resource-prose li::before{
  content:"";
  position:absolute;
  top:1.12rem;
  left:.9rem;
  width:8px;
  height:8px;
  background:var(--resource-red);
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(214,63,52,.11);
}

.asm-resource-safety-note{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:1rem;
  margin-bottom:2rem;
  padding:1.15rem;
  color:#4a3811;
  background:#fff5d9;
  border:1px solid #e7c66d;
  border-left:5px solid #b27700;
  border-radius:16px;
}

.asm-resource-safety-note strong{
  display:block;
  color:#563d06;
  font-family:'Montserrat',sans-serif;
  font-size:1rem;
  font-weight:900;
}

.asm-resource-safety-note p{
  margin:.3rem 0 0;
  font-size:.9rem;
  line-height:1.65;
}

.asm-resource-safety-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#9a6500;
  border-radius:14px;
}

.asm-resource-editorial-note{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:.75rem;
  margin-top:2.4rem;
  padding:1rem 1.1rem;
  color:#42506a;
  background:var(--resource-sky);
  border:1px solid rgba(46,63,117,.14);
  border-radius:15px;
}

.asm-resource-editorial-note svg{
  margin-top:.2rem;
  color:var(--resource-blue);
  font-size:1.25rem;
}

.asm-resource-editorial-note p{
  margin:0;
  font-size:.86rem;
  line-height:1.65;
}

.asm-resource-inline-guides{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:1rem;
  margin:2.4rem 0 0;
  padding:1.25rem;
  color:#263957;
  background:linear-gradient(135deg,#eef7fb 0%,#f5f8ee 100%);
  border:1px solid rgba(46,63,117,.14);
  border-radius:18px;
}

.asm-resource-inline-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--resource-blue);
  border-radius:15px;
}

.asm-resource-inline-guides h2{
  margin:0 0 .45rem;
  padding:0;
  font-size:1.15rem;
  letter-spacing:-.02em;
}

.asm-resource-inline-guides h2::after{
  display:none;
}

.asm-resource-inline-guides p{
  margin:0 0 .75rem;
  color:#4d5d76;
  font-size:.9rem;
  line-height:1.6;
}

.asm-resource-inline-guides ul{
  gap:.4rem;
  margin:0;
}

.asm-resource-inline-guides li{
  padding:0 0 0 1.25rem;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:.91rem;
}

.asm-resource-inline-guides li::before{
  top:.7rem;
  left:.1rem;
  width:6px;
  height:6px;
  box-shadow:none;
}

.asm-resource-inline-guides a{
  color:#29477b;
  font-weight:800;
  text-underline-offset:3px;
}

.asm-resource-sidebar{
  position:sticky;
  top:124px;
  display:grid;
  gap:1rem;
}

.asm-resource-toc,
.asm-resource-local-help{
  padding:1.25rem;
  background:#fff;
  border:1px solid var(--resource-border);
  border-radius:20px;
  box-shadow:0 12px 30px rgba(31,45,73,.07);
}

.asm-resource-toc h2,
.asm-resource-local-help h2{
  margin:0 0 .8rem;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:1.08rem;
  line-height:1.25;
  font-weight:900;
}

.asm-resource-toc ol{
  display:grid;
  gap:.1rem;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:resource-toc;
}

.asm-resource-toc li{
  counter-increment:resource-toc;
}

.asm-resource-toc a{
  min-height:42px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:.45rem;
  padding:.45rem .25rem;
  color:#4a5870;
  border-bottom:1px solid rgba(33,53,99,.08);
  font-size:.8rem;
  line-height:1.4;
  text-decoration:none;
}

.asm-resource-toc a::before{
  content:counter(resource-toc,decimal-leading-zero);
  color:#9b3028;
  font-size:.68rem;
  font-weight:900;
}

.asm-resource-toc a:hover,
.asm-resource-toc a:focus-visible{
  color:var(--resource-blue);
  text-decoration:underline;
}

.asm-resource-local-help{
  color:#fff;
  background:
    radial-gradient(250px 130px at 100% 0%,rgba(148,201,76,.2),transparent 70%),
    var(--resource-blue);
  border-color:transparent;
}

.asm-resource-local-help .asm-resource-kicker{
  color:#d6f19e;
}

.asm-resource-local-help h2{
  margin:.5rem 0 .6rem;
  color:#fff;
  font-size:1.25rem;
}

.asm-resource-local-help p{
  margin:0 0 1rem;
  color:rgba(255,255,255,.86);
  font-size:.85rem;
  line-height:1.6;
}

.asm-resource-local-help .asm-resource-btn{
  width:100%;
  margin-top:.55rem;
}

.asm-resource-local-help .asm-resource-btn-outline{
  color:#fff;
  background:transparent;
  border-color:rgba(255,255,255,.45);
}

.asm-resource-local-help .asm-resource-btn-outline:hover,
.asm-resource-local-help .asm-resource-btn-outline:focus-visible{
  color:var(--resource-blue);
  background:#fff;
}

.asm-resource-local-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  color:var(--resource-blue);
  background:#d6f19e;
  border-radius:14px;
  font-size:1.2rem;
}

.asm-resource-services-section{
  background:var(--resource-cream);
  border-top:1px solid var(--resource-border);
  border-bottom:1px solid var(--resource-border);
}

.asm-resource-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.asm-resource-service-card{
  min-height:104px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 20px;
  align-items:center;
  gap:1rem;
  padding:1.05rem;
  color:var(--resource-ink);
  background:#fff;
  border:1px solid var(--resource-border);
  border-radius:18px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(31,45,73,.05);
}

.asm-resource-service-card:hover,
.asm-resource-service-card:focus-visible{
  color:var(--resource-blue);
  border-color:rgba(33,53,99,.34);
  box-shadow:0 14px 30px rgba(31,45,73,.1);
}

.asm-resource-service-card > svg{
  color:var(--resource-red);
}

.asm-resource-service-card strong,
.asm-resource-service-card small{
  display:block;
}

.asm-resource-service-card strong{
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:.94rem;
  line-height:1.3;
  font-weight:900;
}

.asm-resource-service-card small{
  margin-top:.3rem;
  color:var(--resource-muted);
  font-size:.78rem;
  line-height:1.35;
}

.asm-resource-service-card-all{
  background:#e9f4f7;
}

.asm-resource-faq-section{
  background:#f7fafc;
}

.asm-resource-faq-layout{
  display:grid;
  grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);
  align-items:start;
  gap:3rem;
}

.asm-resource-faq-intro{
  position:sticky;
  top:124px;
}

.asm-resource-faq-intro p{
  margin:.85rem 0 1rem;
  color:var(--resource-muted);
  line-height:1.7;
}

.asm-resource-faqs{
  display:grid;
  gap:.8rem;
}

.asm-resource-faq{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--resource-border);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(31,45,73,.05);
}

.asm-resource-faq summary{
  min-height:66px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 32px;
  align-items:center;
  gap:1rem;
  padding:1rem 1.1rem;
  color:var(--resource-blue);
  cursor:pointer;
  font-family:'Montserrat',sans-serif;
  font-size:.98rem;
  line-height:1.45;
  font-weight:900;
  list-style:none;
}

.asm-resource-faq summary::-webkit-details-marker{
  display:none;
}

.asm-resource-faq-plus{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--resource-red);
  border-radius:10px;
  font-size:.75rem;
}

.asm-resource-faq[open] .asm-resource-faq-plus{
  transform:rotate(45deg);
}

.asm-resource-faq > div{
  padding:0 1.1rem 1.1rem;
}

.asm-resource-faq p{
  margin:0;
  padding-top:.9rem;
  color:#4f5c72;
  border-top:1px solid var(--resource-border);
  line-height:1.7;
}

.asm-resource-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}

.asm-resource-related-card > div{
  padding:1.2rem;
}

.asm-resource-related-card > div > span{
  display:block;
  margin-bottom:.45rem;
  color:#435d22;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.asm-resource-related-card h3{
  font-size:1rem;
}

.asm-resource-nearby-section{
  padding-top:0;
}

.asm-resource-nearby-panel{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:2rem;
  align-items:center;
  padding:2rem;
  background:linear-gradient(135deg,#eef4fa 0%,#f8faf3 100%);
  border:1px solid var(--resource-border);
  border-radius:26px;
}

.asm-resource-nearby-panel h2{
  margin:.35rem 0 .6rem;
  color:var(--resource-blue);
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.45rem,2.5vw,2rem);
  font-weight:900;
  line-height:1.15;
}

.asm-resource-nearby-panel p{
  margin:0;
  color:#536078;
  line-height:1.7;
}

.asm-resource-nearby-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

.asm-resource-nearby-links a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.12rem .65rem;
  align-items:center;
  min-height:78px;
  padding:.85rem 1rem;
  color:#29477b;
  background:#fff;
  border:1px solid rgba(46,63,117,.12);
  border-radius:15px;
  box-shadow:0 8px 22px rgba(31,45,73,.06);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.asm-resource-nearby-links a:hover{
  transform:translateY(-2px);
  border-color:rgba(214,63,52,.35);
  box-shadow:0 12px 26px rgba(31,45,73,.1);
}

.asm-resource-nearby-links span,
.asm-resource-nearby-links strong{
  grid-column:1;
}

.asm-resource-nearby-links span{
  color:#60708a;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.asm-resource-nearby-links strong{
  line-height:1.3;
}

.asm-resource-nearby-links svg{
  grid-column:2;
  grid-row:1/3;
  color:var(--resource-red);
}

.asm-resources a:focus-visible,
.asm-resources summary:focus-visible{
  outline:3px solid #f0a100;
  outline-offset:3px;
}

@media (max-width:1100px){
  .asm-resource-topic-grid,
  .asm-resource-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asm-resource-article-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
    gap:2rem;
  }

  .asm-resource-article-layout{
    grid-template-columns:minmax(0,1fr) 285px;
    gap:2rem;
  }

  .asm-resource-cta{
    grid-template-columns:64px minmax(0,1fr);
  }

  .asm-resource-cta-actions{
    grid-column:2;
    flex-direction:row;
    flex-wrap:wrap;
  }
}

@media (max-width:860px){
  .asm-resource-hero-inner{
    min-height:auto;
    padding-top:62px;
    padding-bottom:68px;
  }

  .asm-resource-section{
    padding:64px 0;
  }

  .asm-resource-section-head,
  .asm-resource-more-layout,
  .asm-resource-faq-layout{
    grid-template-columns:1fr;
    gap:1.1rem;
  }

  .asm-resource-city-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asm-resource-hub-layout,
  .asm-resource-article-hero-grid{
    grid-template-columns:1fr;
  }

  .asm-resource-hub-image,
  .asm-resource-article-image{
    max-width:680px;
  }

  .asm-resource-article-layout{
    grid-template-columns:1fr;
  }

  .asm-resource-nearby-panel{
    grid-template-columns:1fr;
  }

  .asm-resource-sidebar,
  .asm-resource-faq-intro{
    position:static;
  }

  .asm-resource-sidebar{
    grid-row:1;
  }

  .asm-resource-toc ol{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 .8rem;
  }

  .asm-resource-local-help{
    display:grid;
    grid-template-columns:56px minmax(0,1fr) auto;
    align-items:center;
    gap:.5rem 1rem;
  }

  .asm-resource-local-icon{
    grid-row:1/4;
    margin:0;
  }

  .asm-resource-local-help .asm-resource-kicker,
  .asm-resource-local-help h2,
  .asm-resource-local-help p{
    grid-column:2;
  }

  .asm-resource-local-help h2,
  .asm-resource-local-help p{
    margin:0;
  }

  .asm-resource-local-help .asm-resource-btn{
    grid-column:3;
    min-width:180px;
    margin:0;
  }
}

@media (max-width:640px){
  .asm-resource-hero h1,
  .asm-resource-article-hero h1{
    font-size:clamp(2.05rem,11vw,3.15rem);
  }

  .asm-resource-trust{
    display:grid;
  }

  .asm-resource-trust span{
    width:fit-content;
  }

  .asm-resource-topic-grid,
  .asm-resource-trade-grid,
  .asm-resource-guide-grid,
  .asm-resource-city-grid,
  .asm-resource-service-grid,
  .asm-resource-related-grid{
    grid-template-columns:1fr;
  }

  .asm-resource-section,
  .asm-resource-article-section{
    padding:52px 0;
  }

  .asm-resource-cta-section{
    padding:48px 0;
  }

  .asm-resource-cta{
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.35rem;
    border-radius:22px;
  }

  .asm-resource-cta-icon{
    width:58px;
    height:58px;
    border-radius:17px;
  }

  .asm-resource-cta-actions{
    grid-column:1;
    flex-direction:column;
  }

  .asm-resource-hub-hero,
  .asm-resource-article-hero{
    padding:42px 0 52px;
  }

  .asm-resource-hub-image,
  .asm-resource-article-image{
    border-width:4px;
    border-radius:19px;
  }

  .asm-resource-article-image img{
    height:auto;
  }

  .asm-resource-guide-body h3{
    min-height:0;
  }

  .asm-resource-guide-foot{
    align-items:flex-start;
    flex-direction:column;
  }

  .asm-resource-prose{
    font-size:1rem;
    line-height:1.76;
  }

  .asm-resource-prose h2{
    margin-top:2.15rem;
  }

  .asm-resource-inline-guides{
    grid-template-columns:1fr;
  }

  .asm-resource-nearby-links{
    grid-template-columns:1fr;
  }

  .asm-resource-toc ol{
    grid-template-columns:1fr;
  }

  .asm-resource-local-help{
    display:block;
  }

  .asm-resource-local-icon{
    margin-bottom:.8rem;
  }

  .asm-resource-local-help .asm-resource-kicker,
  .asm-resource-local-help h2,
  .asm-resource-local-help p,
  .asm-resource-local-help .asm-resource-btn{
    display:flex;
    width:100%;
    margin-top:.6rem;
  }

  .asm-resource-local-help .asm-resource-kicker{
    display:block;
  }

  .asm-resource-safety-note{
    grid-template-columns:40px minmax(0,1fr);
    padding:1rem;
  }

  .asm-resource-safety-icon{
    width:40px;
    height:40px;
  }

  .asm-resource-faq summary{
    min-height:72px;
    font-size:.9rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .asm-resources *,
  .asm-resources *::before,
  .asm-resources *::after{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
