/* Generated by tools/build-style-bundles.mjs. Edit original CSS sources, then rebuild. */

/* SOURCE: assets/css/state-templates.css */
/* Native Gutenberg adapter. The following pinned source sheet supplies the exact component rhythm. */
.gs-state-template{--bg-warm:#FCFAF5;--bg-cream:#FBF1DC;--bg-peach-mid:#F8D6AB;--ink-branded:#484747;--border-hairline:#ECE7DD;--font-sans:var(--wp--preset--font-family--sans);--font-display:var(--font-sans);--font-serif:var(--wp--preset--font-family--serif);background:#FCFAF5;color:#484747;font:400 16px/1.625 var(--font-sans);overflow-x:clip}
.gs-state-template :where(p,h1,h2,h3,h4,ul,ol,figure,details,.wp-block-group):not(:where(.gs-affiliations *,.gs-closing-band *)){margin:0}
.gs-state-template :where(ul,ol):not(:where(.gs-affiliations *)){padding:0;list-style:none}.gs-state-template :where(.wp-block-group){min-width:0}
.gs-state-template .gs-container{margin-inline:auto}
/* WordPress supplies the toolbar scroll padding. Reserve the sticky site header separately. */
.gs-state-template :where(section[id],.gs-state-content[id],.gs-state-anchor){scroll-margin-top:96px}
@media(min-width:1200px){.gs-state-template :where(section[id],.gs-state-content[id],.gs-state-anchor){scroll-margin-top:108px}}
.gs-state-template .gs-display{font:500 clamp(2.25rem,1.55rem + 2.1vw,3.5rem)/1.1 var(--font-sans);letter-spacing:-.012em;color:#484747}
.gs-state-template h1 .gs-serif{display:inline-block}
.gs-state-template .gs-h2-serif{font:400 clamp(2rem,1.3rem + 2vw,3.125rem)/1.12 var(--font-serif);letter-spacing:0;color:#484747}
.gs-state-template .gs-serif{font-family:var(--font-serif);font-weight:400;font-style:italic;letter-spacing:0}.gs-state-template .gs-emph{color:#E36629}
.gs-state-template .gs-lede{font-size:clamp(1.0625rem,.95rem + .5vw,1.1875rem);line-height:1.62}
.gs-state-template .gs-measure{max-width:68ch}.gs-state-template .gs-state-width-14ch{max-width:14ch}.gs-state-template .gs-state-width-16ch{max-width:16ch}
.gs-state-bg-cream{background:#FBF1DC}.gs-state-bg-warm{background:#FCFAF5}.gs-state-border-top{border-top:1px solid #ECE7DD}.gs-state-border-bottom{border-bottom:1px solid #ECE7DD}
.gs-state-template .gs-il-hero{background:#FCFAF5;padding-block:28px}.gs-state-template .relative{position:relative}.gs-state-template .z-10{z-index:10}.gs-state-template .overflow-hidden{overflow:hidden}
.gs-state-template .flex{display:flex}.gs-state-template .flex-col{flex-direction:column}.gs-state-template .grid{display:grid}.gs-state-template .gap-3{gap:12px}.gs-state-template .gap-10{gap:40px}.gs-state-template .items-stretch{align-items:stretch}
.gs-state-template .max-w-2xl{max-width:672px}.gs-state-template .max-w-3xl{max-width:768px}.gs-state-template .w-full{width:100%}.gs-state-template .h-full{height:100%}.gs-state-template .font-medium{font-weight:500}.gs-state-template .leading-relaxed{line-height:1.625}
.gs-state-template .text-\[16px\]{font-size:16px}.gs-state-template .text-\[16\.5px\]{font-size:16.5px}
.gs-state-template .mt-2{margin-top:8px}.gs-state-template .mt-3{margin-top:12px}.gs-state-template .mt-4{margin-top:16px}.gs-state-template .mt-5{margin-top:20px}.gs-state-template .mt-6{margin-top:24px}.gs-state-template .mt-7{margin-top:28px}.gs-state-template .mt-8{margin-top:32px}.gs-state-template .mt-9{margin-top:36px}.gs-state-template .mt-10{margin-top:40px}
.gs-state-template .gs-state-link{margin-top:16px}.gs-state-template .gs-action-link>.gs-state-chevron{display:none}
.gs-state-chevron{display:inline-block;flex:none;vertical-align:middle;width:10px;height:16px;background:#E36629;mask:url('../images/golden-chevron.svg') center/contain no-repeat;transition:transform .18s}
.gs-state-template a:hover>.gs-state-chevron{transform:translateX(2px)}.gs-state-template .gs-faq-chev{width:13px;height:20px}
.gs-state-template a.gs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11.2px 28px;border-radius:999px;border:1px solid #F1861E;gap:10px;font-weight:600;font-size:15px;line-height:1.25;letter-spacing:.01em;text-decoration:none;transition:transform .18s,box-shadow .18s}
.gs-state-template .gs-btn-audience-surrogate{background:#F1861E;color:#fff}.gs-state-template .gs-btn-audience-surrogate>.gs-state-chevron{background:#fff}.gs-state-template .gs-btn-parent-secondary{background:#FBF1DC;color:#8C4B2B}
.gs-state-template .gs-btn-audience-surrogate:is(:hover,:focus-visible){background:#E07615;border-color:#E07615;color:#fff}
.gs-state-template .gs-btn-parent-secondary:is(:hover,:focus-visible){background:#F8D6AB;color:#8C4B2B}
.gs-state-template a.gs-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #E3662926}.gs-state-template .gs-il-herocta>p{display:contents}
.gs-state-template .gs-toc__link,.gs-state-template .gs-iltoc-list a,.gs-state-template .gs-toc__action{text-decoration:none}
.gs-state-template .gs-il-heromedia{padding:0}.gs-state-template .gs-state-hero-photo{--gs-ratio:5/4;--gs-mobile-ratio:5/4;margin:0}.gs-state-template .gs-state-outline-photo{position:relative}
.gs-state-template .gs-state-illinois-outline{position:absolute;right:3%;top:12%;width:36%;height:76%;object-fit:contain;pointer-events:none}
.gs-state-template .gs-state-regional-outline{position:absolute;object-fit:contain;pointer-events:none}
.gs-state-template .gs-il-glance__pattern{background-image:url('../images/gs-mark-outline.png')}
.gs-state-template .gs-xcard>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;min-height:56px;padding:.8rem .95rem .8rem 1.15rem;border-radius:12px;font:600 1.01rem/1.35 var(--font-sans);letter-spacing:-.002em;color:#484747}
.gs-state-template details>summary::-webkit-details-marker{display:none}.gs-state-template details>summary::marker{content:''}.gs-state-template .gs-toc__mobile>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-weight:600}
.gs-state-template .gs-state-process .gs-process-rail{list-style:none;margin:32px 0 0;padding:0}.gs-state-template .gs-process-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;border-top:1px solid #ECE7DD;position:relative;--gs-step-accent:#F1861E}
.gs-state-template .gs-process-num{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid #F0AD56;background:#FBF1DC;color:#8C4B2B;font:600 15px/1 var(--font-sans);transition:background .3s,color .3s}
.gs-state-template .gs-process-step:hover>.gs-process-num{background:#F1861E;color:#FCFAF5}.gs-state-template .gs-state-step-title{font:600 clamp(1.08rem,1rem + .35vw,1.28rem)/1.25 var(--font-sans)}.gs-state-template .gs-state-step-body{margin-top:10px;font-size:15.5px;line-height:1.625}
.gs-state-template .gs-process-continues{margin-top:26px;padding:20px;border:1px solid #F0AD5670;border-radius:12px;background:#FEF9E9}.gs-state-template .gs-state-process-intro{display:grid;gap:24px;align-items:center}.gs-state-template .gs-state-process-photo{--gs-ratio:3/2;--gs-mobile-ratio:3/2;max-width:520px}
.gs-state-template .gs-state-family-section{margin-top:32px}.gs-state-template .gs-state-family-photo{max-width:580px;margin-inline:auto;--gs-ratio:3/2;--gs-mobile-ratio:3/2}
.gs-state-template .gs-state-family-intro{display:grid;gap:24px;align-items:center}@media(min-width:1024px){.gs-state-template .gs-state-family-intro{grid-template-columns:1fr 1fr;gap:48px}}
.gs-state-template .gs-state-editorial-grid{display:grid;gap:40px;align-items:center}.gs-state-template .gs-state-editorial-subhead{color:#484747;font-family:var(--font-sans);font-weight:600;font-style:normal;margin-top:12px;font-size:17px;line-height:1.375}.gs-state-template .gs-state-editorial-body{margin-top:16px;font-size:16.5px;line-height:1.625}.gs-state-template .gs-state-editorial-copy>.gs-state-link{margin-top:24px}
.gs-state-template .gs-state-photo-pending{min-height:280px;aspect-ratio:5/4;display:grid;place-items:center;border:1px dashed #F0AD56;border-radius:16px;background:#FEF9E9;padding:28px;max-width:550px}.gs-state-template .gs-state-photo-pending-label{font-size:14px;color:#6C6663;text-align:center}
.gs-state-template .gs-state-motif-field{position:relative;isolation:isolate}.gs-state-template .gs-state-motif-field:before{content:'';position:absolute;inset:0;z-index:-1;background:url('../images/gs-mark-outline.png') repeat 0 0/260px auto;opacity:.13;pointer-events:none}.gs-state-template .gs-state-motif-field--fade:before{mask-image:linear-gradient(180deg,transparent,transparent 170px,#000 260px)}
.gs-state-template .gs-state-resource-grid{display:grid;gap:24px;margin-top:36px}.gs-state-template .gs-state-resource-card{position:relative;display:flex;flex-direction:column;border:1px solid #F0AD56;border-radius:12px;background:#FEF9E9;padding:24px;box-shadow:0 2px 8px #4847470d;transition:box-shadow .2s,transform .2s,border-color .2s}.gs-state-template .gs-state-resource-title{font:600 1.14rem/1.28 var(--font-sans)}.gs-state-template .gs-state-resource-body{margin-top:12px;font-size:15.5px;line-height:1.625}.gs-state-template .gs-state-resource-card>.gs-state-link{margin-top:auto;padding-top:20px;font-size:14.5px}.gs-state-template .gs-state-resource-card a:before{content:'';position:absolute;inset:0;border-radius:12px}.gs-state-template .gs-state-resource-card:hover{border-color:#E36629;box-shadow:0 10px 24px #4847471f;transform:translateY(-3px)}
.gs-state-template .gs-state-faq-columns>.gs-faqcols{margin-top:32px}.gs-state-template .gs-audience-faq-head .gs-state-link{margin-top:24px}.gs-state-template .gs-state-mini .gs-state-link{font-size:14px;text-align:center}
@media(min-width:640px){.gs-state-template .sm\:flex-row{flex-direction:row}.gs-state-template .sm\:gap-4{gap:16px}.gs-state-template .sm\:items-center{align-items:center}.gs-state-template .sm\:w-auto{width:auto}}
@media(min-width:768px){.gs-state-template .gs-il-hero{padding-block:32px}.gs-state-template .md\:text-\[17px\]{font-size:17px}.gs-state-template .gs-state-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.gs-state-template .gs-il-hero{padding-block:36px}.gs-state-template .lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,26rem\)\]{grid-template-columns:minmax(0,1fr) minmax(0,26rem)}.gs-state-template .lg\:gap-14{gap:56px}.gs-state-template .lg\:items-start{align-items:start}.gs-state-template .gs-state-process-intro,.gs-state-template .gs-state-editorial-grid{grid-template-columns:1fr 1fr;gap:48px}.gs-state-template .gs-state-mini{margin-right:20px}}
@media(min-width:1024px){.gs-state-template .gs-state-editorial-grid{gap:56px}}
@media(min-width:1280px){.gs-state-template .gs-state-resource-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.gs-state-template *{transition:none!important}.gs-state-template a.gs-btn:hover,.gs-state-template .gs-state-resource-card:hover{transform:none}}
/* Keep two-line legal questions level without coupling expanded answers. */
.gs-state-location .gs-xcard > summary { min-height: 72px; }
/* Compact state content must not restyle the shared global closing and logos. */
.gs-state-template .gs-affiliations.gs-section-standard{padding-block:56px}
@media(min-width:768px){.gs-state-template .gs-affiliations.gs-section-standard{padding-block:88px}}
@media(min-width:1280px){.gs-state-template .gs-affiliations.gs-section-standard{padding-block:96px}}
.gs-state-template .gs-state-faq-columns>.gs-audience-faq-head{position:static;max-width:760px}
.gs-state-template .gs-faqcols{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.gs-state-template .gs-faqcols .gs-afaq{margin:0;min-width:0}
@media(min-width:900px){.gs-state-template .gs-faqcols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gs-state-template .gs-faqcols .gs-afaq>summary{min-height:calc(2lh + 48px)}}
/* Inline editorial photos retain the prototype's copy-to-photo breathing room. */
.gs-state-template .gs-state-content>p+.gs-state-body-photo{margin-top:32px}
/* Paired information panels share a bottom edge; expanding answers remain independent. */
.gs-state-template .gs-il-twocol>.gs-il-panel{align-self:stretch}
.gs-state-template .gs-il-subgrid--two>.gs-il-diffcard{display:flex;flex-direction:column}
.gs-state-template .gs-il-subgrid--two>.gs-il-diffcard>.gs-state-link-row:last-child{margin-top:auto}
/* Match the approved MotifField's restrained orange wash above its pattern. */
.gs-state-template .gs-state-motif-field:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklab,#F1861E 5%,transparent),color-mix(in oklab,#F1861E 2%,transparent))}

/* Match the reference typography at desktop and phone widths. */
.gs-state-template .gs-xcard__body p{font-size:17px;line-height:1.62}
@media(min-width:768px){.gs-state-template .gs-xcard__body p{font-size:18px}}

/* State template reference alignment: resource cards and narrow process progression. */
.gs-state-template .gs-state-resource-card{background:#FBF1DC;border-color:rgb(227 102 41 / 42%);padding:24px 24px 25.6px;box-shadow:0 2px 10px rgb(72 71 71 / 6%)}
.gs-state-template .gs-state-resource-card .gs-action-link{font-size:14.5px;line-height:1.6;gap:8px}
.gs-state-template .gs-state-resource-card .gs-action-link:after{width:9px;height:13.94px}
.gs-state-template .gs-process-num{position:relative;z-index:1;background:color-mix(in oklab,#F1861E 12%,#FCFAF5);border-color:color-mix(in oklab,#F1861E 40%,transparent)}
.gs-state-template .gs-process-step:is(:hover,:focus-within)>.gs-process-num{background:#F1861E;border-color:#F1861E;color:#FCFAF5;box-shadow:0 0 0 5px color-mix(in oklab,#F1861E 12%,transparent)}
@media(max-width:899.98px){.gs-state-template .gs-process-step{gap:15.2px}.gs-state-template .gs-process-step:first-child{border-top:0}.gs-state-template .gs-process-step:before{content:'';position:absolute;left:19px;top:2.7rem;bottom:-.3rem;width:1px;background:color-mix(in oklab,#F1861E 30%,transparent);pointer-events:none}.gs-state-template .gs-process-step:first-child:before{top:2.45rem}.gs-state-template .gs-process-step:last-child:before{content:none}}
@media(max-width:767px){.gs-state-template .gs-state-resource-grid{gap:20px}}

/* Illinois location process components retain their audience accent and reference callout. */
.gs-state-template .gs-state-process:has(a[href*="/intended-parents/surrogacy-process"]) { --gs-state-process-accent:#E36629; }
.gs-state-template .gs-state-process { --gs-state-process-accent:#F1861E; }
.gs-state-template .gs-process-step { --gs-step-accent:var(--gs-state-process-accent,#F1861E); }
.gs-state-template .gs-process-num { background:color-mix(in oklab,var(--gs-step-accent) 12%,#FCFAF5);border-color:color-mix(in oklab,var(--gs-step-accent) 40%,transparent);transition:background 400ms ease,border-color 400ms ease,box-shadow 400ms ease; }
.gs-state-template .gs-process-step:is(:hover,:focus-within)>.gs-process-num { background:var(--gs-step-accent);border-color:var(--gs-step-accent);color:#FCFAF5;box-shadow:0 0 0 5px color-mix(in oklab,var(--gs-step-accent) 12%,transparent); }
.gs-state-template .gs-process-step:before { background:color-mix(in oklab,var(--gs-step-accent) 30%,transparent); }
.gs-state-template .gs-process-continues { background:color-mix(in oklab,var(--gs-state-process-accent,#F1861E) 8%,#FCFAF5);border-color:color-mix(in oklab,var(--gs-state-process-accent,#F1861E) 26%,transparent);padding:18.4px 20px 20px; }
.gs-state-template .gs-process-continues .gs-state-step-title { font-size:clamp(1.05rem,.98rem + .3vw,1.2rem); }
@media(min-width:640px){.gs-state-template .gs-process-continues{margin-left:53.2px;padding:21.6px 24px 23.2px}}
@media(prefers-reduced-motion:reduce){.gs-state-template .gs-process-num{transition:none}}


/* Page-guide links may target nested headings as well as whole sections. */
.gs-state-template :where(h2[id],h3[id],h4[id]){scroll-margin-top:96px}
@media(min-width:1200px){.gs-state-template :where(h2[id],h3[id],h4[id]){scroll-margin-top:108px}}

/* State extensions retain their structured matching copy with the template paragraph rhythm. */
.gs-state-template .gs-il-legalbody>ul:has(>li>strong)>li{font-size:1rem;line-height:1.68}
.gs-state-template .gs-il-legalbody>ul:has(>li>strong)>li+li,.gs-state-template .gs-il-legalbody>ul:has(>li>strong)+p{margin-top:.75rem}

/* Long state names retain the closing buttons' inset and wrap naturally on phones. */
@media(max-width:639px){.gs-state-template .gs-audience-closing .gs-closing-actions .wp-block-button__link{white-space:normal;height:auto;min-height:50px;line-height:1.25;padding:11.2px 26px;text-align:center}}

/* Compiled location answers use gs-xcontent; retain the same inset and type as gs-xcard__body. */
.gs-state-template .gs-xcard > .gs-xcontent{margin-block-start:0;padding:0 1.15rem 1rem;font-size:17px;line-height:1.62;color:#484747}
.gs-state-template .gs-xcard > .gs-xcontent p{margin:0;font-size:inherit;line-height:inherit}
.gs-state-template .gs-xcard > .gs-xcontent > p + p{margin-top:.7rem}
.gs-state-template .gs-xcard > .gs-xcontent > ul{margin:.6rem 0 0;padding-left:1.1rem}
.gs-state-template .gs-xcard > .gs-xcontent > ul > li + li{margin-top:.35rem}
@media(min-width:768px){.gs-state-template .gs-xcard > .gs-xcontent{font-size:18px}}

/* Dual-audience law summaries: compact introduction above a balanced legal summary. */
.gs-state-page:not(.gs-state-surrogate) section[id$="-surrogacy-laws"] .gs-il-twocol {grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
.gs-state-page:not(.gs-state-surrogate) section[id$="-surrogacy-laws"] .gs-il-twocol > .gs-il-panel {min-height:0}
.gs-state-page:not(.gs-state-surrogate) section[id$="-surrogacy-laws"] .gs-il-panelbody {max-width:85ch}
@media(min-width:768px){
 .gs-state-page:not(.gs-state-surrogate) section[id$="-surrogacy-laws"] .gs-il-panel--legal > .gs-il-legal {display:block;columns:2;column-gap:48px}
 .gs-state-page:not(.gs-state-surrogate) section[id$="-surrogacy-laws"] .gs-il-panel--legal > .gs-il-legal > li {break-inside:avoid;margin-top:0;margin-bottom:16px}
}


/* SOURCE: assets/css/state-templates-source.css */
/* Pinned approved Illinois templates. Scope applied by native adapter. */
.gs-il-herogrid {
  display: grid;
  gap: 1.75rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .gs-il-herogrid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 3rem;
  }
}
.gs-il-heromedia {
  margin: 0;
  max-width: 560px;
  width: 100%;
}
@media (min-width: 1024px) {
  .gs-il-heromedia {
    max-width: none;
    margin-left: auto;
    margin-top: 0.5rem;
  }
}
/* Room for the offset cream plane and its segmented edge, so nothing clips
   against the container edge at any width. */
.gs-il-heromedia.gs-frame {
  padding-right: var(--gs-frame-offset);
  padding-top: var(--gs-frame-offset);
  --gs-frame-radius: 16px;
  --gs-frame-plane-radius: 12px;
}
.gs-il-heroimg {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 16px;
}
.gs-il-heroimg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.gs-il-herocap {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #6C6663;
  text-align: center;
}

/* On This Page: compact multi-column anchor panel. */
.gs-toc {
  background-color: var(--bg-warm);
  padding-block: 0 1.75rem;
}
.gs-toc__panel {
  border: 1px solid #E6C89A;
  border-radius: 14px;
  background-color: #FEF9E9;
  padding: 1.1rem 1.15rem 1.15rem;
}
@media (min-width: 768px) {
  .gs-toc__panel { padding: 1.35rem 1.5rem 1.45rem; }
}
.gs-toc__title {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8C4B2B;
}
.gs-toc__list {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.15rem 1.75rem;
}
@media (min-width: 640px) { .gs-toc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gs-toc__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gs-toc__link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-right: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  line-height: 1.35;
  font-weight: 500;
  color: #484747;
  text-decoration: none;
  border-bottom: 1px solid rgba(230, 200, 154, 0.5);
}
.gs-toc__link:hover { color: #E36629; }
.gs-toc__link:focus-visible { outline: 3px solid #E36629; outline-offset: 2px; border-radius: 4px; }
.gs-toc__desktop { display: none; }
@media (min-width: 640px) {
  .gs-toc__desktop { display: block; }
  .gs-toc__mobile { display: none; }
}
.gs-toc__summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  margin-top: 0.5rem;
  cursor: pointer;
  font-family: var(--font-sans);
  font-weight: 600;
  color: #484747;
}
.gs-toc__summary::-webkit-details-marker { display: none; }
.gs-toc__chev { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
.gs-toc__mobile[open] .gs-toc__chev .gs-faq-chev { transform: rotate(90deg); }

/* Quick Answer panel. */
.gs-il-qagrid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) {
  .gs-il-qagrid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 3rem; align-items: start; }
}
.gs-il-qapanel {
  border: 1px solid #E6C89A;
  border-radius: 14px;
  background-color: #FEF9E9;
  padding: 1.25rem 1.25rem 1.15rem;
}
@media (min-width: 768px) { .gs-il-qapanel { padding: 1.6rem 1.75rem 1.5rem; } }
.gs-il-qalist { margin: 0; }
.gs-il-qarow {
  display: grid;
  gap: 0.2rem 1.25rem;
  padding-block: 0.7rem;
  border-bottom: 1px solid rgba(230, 200, 154, 0.6);
}
.gs-il-qarow:first-child { padding-top: 0; }
@media (min-width: 640px) {
  .gs-il-qarow { grid-template-columns: 11rem minmax(0, 1fr); }
}
.gs-il-qaterm {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #8C4B2B;
}
.gs-il-qadef { margin: 0; font-size: 0.98rem; line-height: 1.55; color: #484747; }
.gs-il-qanote { margin-top: 0.9rem; font-size: 0.9rem; line-height: 1.5; color: #6C6663; }

/* Why women consider it: compact two-by-two editorial grid. */
.gs-il-whygrid {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 1.5rem 2.5rem;
}
@media (min-width: 768px) { .gs-il-whygrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gs-il-whyitem { border-top: 2px solid #F0AD56; padding-top: 0.9rem; }
.gs-il-whytitle {
  font-family: var(--font-sans);
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--ink-branded);
  line-height: 1.3;
}
.gs-il-whybody { margin-top: 0.5rem; font-size: 0.98rem; line-height: 1.6; color: #484747; }

/* Who can become a Surrogate: agency criteria beside the state framework. */
.gs-il-twocol { display: grid; gap: 1.25rem; margin-top: 2.25rem; }
/* Panels stack through tablet widths, where side-by-side becomes cramped, and
   take an intentional 58/42 division at wide desktop. */
@media (min-width: 1200px) { .gs-il-twocol { grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: 1.75rem; align-items: start; } }
.gs-il-panel {
  border: 1px solid #E6C89A;
  border-radius: 14px;
  background-color: var(--bg-warm);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) { .gs-il-panel { padding: 1.75rem; } }
.gs-il-panel--legal { background-color: #FEF9E9; }
.gs-il-panelkicker {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8C4B2B;
}
.gs-il-paneltitle {
  margin-top: 0.5rem;
  font-family: var(--font-sans);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ink-branded);
  line-height: 1.3;
}
.gs-il-panelbody { margin-top: 0.65rem; font-size: 0.98rem; line-height: 1.6; color: #484747; }
.gs-il-crit {
  list-style: none;
  margin: 1.1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.4rem 1.5rem;
}
@media (min-width: 520px) { .gs-il-crit { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Fifteen criteria read as three balanced columns of five where space allows. */
@media (min-width: 900px) { .gs-il-crit { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: column; grid-template-rows: repeat(5, auto); } }
.gs-il-crit li {
  position: relative;
  padding-left: 1.1rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #484747;
}
.gs-il-crit li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #F1861E;
}
.gs-il-legal {
  list-style: none;
  margin: 1.1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}
.gs-il-legal li {
  position: relative;
  padding-left: 1.1rem;
  font-size: 0.97rem;
  line-height: 1.55;
  color: #484747;
}
.gs-il-legal li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #E36629;
}
.gs-il-panelnote {
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(230, 200, 154, 0.7);
  font-size: 0.9rem;
  line-height: 1.55;
  color: #6C6663;
}
.gs-il-panellinks {
  margin-top: auto;
  padding-top: 1.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}

/* Legal and timeline editorial grids. */
.gs-il-legalgrid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) {
  .gs-il-legalgrid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 3rem; align-items: start; }
}
.gs-il-legallede { margin-top: 1rem; font-size: 1.02rem; line-height: 1.6; color: #484747; }
.gs-il-legalbody > p { font-size: 1rem; line-height: 1.68; color: #484747; max-width: 68ch; }
.gs-il-legalbody > p + p { margin-top: 1rem; }
.gs-il-callout {
  margin-top: 1.5rem;
  border: 1px solid #E6C89A;
  border-left: 3px solid #F1861E;
  border-radius: 12px;
  background-color: #FEF9E9;
  padding: 1.1rem 1.25rem;
}
.gs-il-callout__title {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #8C4B2B;
}
.gs-il-callout__body { margin-top: 0.5rem; font-size: 0.96rem; line-height: 1.6; color: #484747; }
.gs-il-legallink { display: flex; flex-wrap: wrap; gap: 0.75rem 1.75rem; margin-top: 1.4rem; }

/* Compensation. */
.gs-il-ledgergrid { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .gs-il-ledgergrid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 3rem; align-items: start; } }
.gs-il-subhead {
  font-family: var(--font-sans);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ink-branded);
  margin-bottom: 0.9rem;
}
.gs-il-fineprint { margin-top: 0.9rem; font-size: 0.9rem; line-height: 1.55; color: #6C6663; }
.gs-il-paylist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.85rem; }
.gs-il-paylist li {
  position: relative;
  padding-left: 1.1rem;
  font-size: 0.97rem;
  line-height: 1.6;
  color: #484747;
}
.gs-il-paylist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #F1861E;
}
.gs-il-paylinks { margin-top: 1.4rem; display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; }

/* What makes Golden different. */
.gs-il-diffgrid {
  list-style: none;
  margin: 2.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}
/* Nine cards: three equal columns by three rows from tablet up, one column on
   mobile. Never a two-column layout, which would orphan the final card. */
@media (min-width: 768px) { .gs-il-diffgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
.gs-il-diffcard {
  border: 1px solid #E6C89A;
  border-radius: 14px;
  background-color: #FEF9E9;
  padding: 1.15rem 1.25rem 1.25rem;
  height: 100%;
}
.gs-il-difftitle {
  font-family: var(--font-sans);
  font-size: 1.04rem;
  font-weight: 600;
  color: var(--ink-branded);
  line-height: 1.3;
}
.gs-il-diffbody { margin-top: 0.5rem; font-size: 0.95rem; line-height: 1.6; color: #484747; }

/* Cities and communities. */
.gs-il-citiesgrid { display: grid; gap: 1.75rem; }
@media (min-width: 1024px) { .gs-il-citiesgrid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 3rem; align-items: center; } }
.gs-il-cities { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .gs-il-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } }
.gs-il-city {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 0.5rem 0.9rem;
  border: 1px solid #E6C89A;
  border-radius: 10px;
  background-color: var(--bg-warm);
  font-family: var(--font-sans);
  font-size: 0.97rem;
  font-weight: 600;
  color: #484747;
}

/* ─────────────── Illinois corrections ─────────────── */

/* Table of contents: Apply Now as a full-width action beneath the columns. */
.gs-toc__action {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  margin-top: 0.65rem;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #8C4B2B;
  text-decoration: none;
}
.gs-toc__action:hover { color: #E36629; }
.gs-toc__action:focus-visible { outline: 3px solid #E36629; outline-offset: 2px; border-radius: 4px; }

/* Statute source inside the legal-information callout. */
.gs-il-callout__source {
  margin-top: 0.6rem;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #6C6663;
}

/* Pre-pregnancy compensation callout. Compact by design: never a second grid. */
.gs-il-prepay {
  margin-top: 1.75rem;
  border: 1px solid #E6C89A;
  border-left: 4px solid #F1861E;
  border-radius: 14px;
  background-color: #FBF1DC;
  padding: 1.15rem 1.15rem 1.2rem;
}
@media (min-width: 768px) { .gs-il-prepay { padding: 1.5rem 1.75rem 1.55rem; } }
.gs-il-prepay__kicker {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8C4B2B;
}
.gs-il-prepay__title {
  margin-top: 0.45rem;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink-branded);
}
.gs-il-prepay__amount { font-weight: 700; white-space: nowrap; color: #8C4B2B; }
.gs-il-prepay__rows {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0 2rem;
}
@media (min-width: 900px) {
  .gs-il-prepay__rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gs-il-prepay__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--gs-fin-col, 7rem);
  align-items: baseline;
  gap: 0.75rem;
  padding-block: 0.5rem;
  border-bottom: 1px solid rgba(230, 200, 154, 0.75);
}
.gs-il-prepay__label { font-size: 0.94rem; line-height: 1.45; color: #484747; }
.gs-il-prepay__value {
  text-align: right;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink-branded);
  white-space: nowrap;
}
.gs-il-prepay__note { margin-top: 0.85rem; font-size: 0.9rem; line-height: 1.55; color: #6C6663; }

/* Illinois hero: long CTA labels must wrap on narrow phones rather than
   widening the grid track and pushing the media past the viewport. */
.gs-il-herogrid > * { min-width: 0; }
.gs-il-herocta .gs-btn {
  white-space: normal;
  text-align: center;
  line-height: 1.25;
  padding-block: 0.7rem;
}

/* Wide process sequences (no accompanying image) balance into two ordered
   columns from 900px so the section reads as one designed process rather than
   a narrow timeline in an empty band. Semantic order stays 1 through 8. */
@media (min-width: 900px) {
  .gs-process-rail--split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 3rem;
    row-gap: 0;
    align-items: start;
  }
  .gs-process-rail--split .gs-process-step { padding: 1.35rem 0 1.5rem; }
  .gs-process-rail--split .gs-process-step:first-child { padding-top: 1.35rem; border-top: 1px solid var(--border-hairline); }
  .gs-process-rail--split .gs-process-step:nth-child(1),
  .gs-process-rail--split .gs-process-step:nth-child(2) { border-top: 0; padding-top: 0; }
  .gs-process-rail--split .gs-process-step:last-child { padding-bottom: 1.5rem; }
  .gs-process-rail--split .gs-process-step::before { content: none; }
}

/* Compensation summary: never leave an orphaned half-width total card. */
@media (min-width: 768px) and (max-width: 1099.98px) {
  .gs-pay-cols .gs-pay-card--total { grid-column: 1 / -1; }
}
@media (min-width: 900px) and (max-width: 1099.98px) {
  .gs-pay-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gs-pay-cols .gs-pay-card--total { grid-column: auto; }
}

.gs-iltoc-groups {
  display: grid;
  gap: 1.6rem 2rem;
  margin-top: 1.1rem;
}
@media (min-width: 640px) {
  .gs-iltoc-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .gs-iltoc-groups { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Restored live-page H2. Editorial serif in warm charcoal, clearly
   subordinate to the page H1 and sitting above the anchor groups. */
/* Restored supporting link inside a differentiator card title. Inherits the
   card's type treatment; only the underline and hover color are added. */
.gs-il-difflink {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(227, 102, 41, 0.45);
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}
.gs-il-difflink:hover {
  color: #B4551F;
  text-decoration-color: #E36629;
}
.gs-iltoc-h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--ink-branded);
  font-size: 1.8rem;
  line-height: 1.16;
  letter-spacing: -0.005em;
  margin: 0.55rem 0 1.35rem;
}
@media (min-width: 1024px) {
  .gs-iltoc-h2 {
    font-size: 2.4rem;
    margin: 0.6rem 0 1.6rem;
  }
}
.gs-iltoc-grouptitle {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
  color: #484747;
  margin: 0 0 0.65rem;
}
.gs-iltoc-grouptitle::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  margin-top: 0.55rem;
  background-color: #E36629;
}
@media (max-width: 1023.98px) {
  .gs-iltoc-grouptitle {
    font-size: 0.85rem;
    letter-spacing: 0.075em;
    margin-bottom: 0.55rem;
  }
  .gs-iltoc-grouptitle::after {
    margin-top: 0.45rem;
  }
}
.gs-iltoc-list {
  margin-top: 0.7rem;
  display: grid;
  gap: 0.15rem;
}
.gs-iltoc-list a {
  display: block;
  min-height: 44px;
  padding: 0.6rem 0;
  font-family: var(--font-sans);
  font-size: 0.98rem;
  line-height: 1.35;
  color: var(--ink-branded);
  border-bottom: 1px solid var(--border-hairline);
}
.gs-iltoc-list a:hover { color: #E36629; }
.gs-iltoc-list a:focus-visible {
  outline: 3px solid #E36629;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Editorial byline and review date for state-location pages. */
.gs-il-byline {
  font-family: var(--font-sans);
  font-size: 0.92rem;
  line-height: 1.5;
  color: #6B6664;
}

/* Single-column variant of the state-page criteria list, used when items are
   full sentences rather than short chips. Prevents ragged two-column wraps. */
.gs-il-crit.gs-il-crit--single {
  grid-template-columns: 1fr;
  grid-template-rows: none;
  grid-auto-flow: row;
}

/* ─────────────── Dual-audience state template refinements ───────────────
   Compact composition for the reusable state-location framework: a restrained
   patterned glance band with opaque fact cards, a compact multi-column anchor
   panel, height-capped process banners, and two-column legal disclosures.
   Kadence mapping: Row + Grid + Info Box + Details blocks. */

/* Glance band: pattern only around the opaque cards, never behind copy. */
.gs-il-glance {
  position: relative;
  overflow: hidden;
  padding-block: 2.6rem;
  background-color: var(--bg-cream);
  border-top: 1px solid var(--border-hairline);
  border-bottom: 1px solid var(--border-hairline);
}
@media (min-width: 1024px) {
  .gs-il-glance { padding-block: 3.1rem; }
}
.gs-il-glance__pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: repeat;
  background-size: 240px auto;
  opacity: 0.09;
}
.gs-il-glance__inner { position: relative; z-index: 1; }
/* Glance heading: uses the full section width and stays on one line from
   1024px up. Fluid sizing keeps the established display scale without ever
   orphaning the final word. */
.gs-il-glancehead { max-width: none; }
.gs-il-glancehead .gs-h2-serif {
  text-wrap: balance;
  max-width: none;
}
@media (min-width: 1024px) {
  .gs-il-glancehead .gs-h2-serif {
    white-space: nowrap;
    font-size: min(2.4rem, 4.2vw);
  }
}
.gs-il-glancegrid {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.35rem;
  align-items: stretch;
}
@media (min-width: 640px) {
  .gs-il-glancegrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .gs-il-glancegrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
}

.gs-il-glancecard {
  background-color: #FEF9E9;
  border: 1px solid rgba(240, 173, 86, 0.45);
  border-radius: 12px;
  padding: 1.05rem 1.15rem 1.1rem;
  box-shadow: 0 1px 2px rgba(72, 71, 71, 0.05);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.gs-il-glancetitle {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink-branded);
  margin: 0;
  min-height: 2.6em;
}
@media (max-width: 639.98px) {
  .gs-il-glancetitle { min-height: 0; }
}
.gs-il-glancebody {
  margin-top: 0.4rem;
  font-size: 0.93rem;
  line-height: 1.5;
  color: #484747;
}


/* Compact anchor panel: three columns on desktop, tighter rows. */
.gs-iltoc-groups--compact { gap: 1.1rem 1.75rem; }
@media (min-width: 1024px) {
  .gs-iltoc-groups--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.gs-iltoc-groups--compact .gs-iltoc-list { margin-top: 0.35rem; gap: 0; }
.gs-iltoc-groups--compact .gs-iltoc-list a {
  min-height: 0;
  padding: 0.4rem 0;
  font-size: 0.94rem;
}
@media (max-width: 767.98px) {
  .gs-iltoc-groups--compact .gs-iltoc-list a { min-height: 44px; padding: 0.6rem 0; }
}

/* Typeset the three desktop columns: equal container heights, headings on one
   baseline, and each list distributing its own rows across the same available
   height so first and last rows line up across columns. Below the stacking
   breakpoint every list returns to natural, compact content height. */
@media (min-width: 768px) {
  .gs-iltoc-groups--compact { align-items: stretch; }
  .gs-iltoc-col {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-inline: 0;
  }
  .gs-iltoc-groups--compact .gs-iltoc-col .gs-iltoc-list {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }
  .gs-iltoc-groups--compact .gs-iltoc-col .gs-iltoc-list > li {
    flex: 1 1 0;
    display: flex;
  }
  .gs-iltoc-groups--compact .gs-iltoc-col .gs-iltoc-list a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.45rem 0;
  }
}

/* Height-capped process banner above a two-column stage rail. */
.gs-process-banner {
  position: relative;
  margin-top: 1.9rem;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--border-hairline);
  aspect-ratio: 16 / 7;
  max-height: 260px;
}
@media (min-width: 1024px) {
  .gs-process-banner { aspect-ratio: 21 / 6; max-height: 300px; }
}

/* Two-column legal topic disclosures. */
.gs-il-discgrid {
  display: grid;
  gap: 0.7rem;
  margin-top: 1.75rem;
}
@media (min-width: 1024px) {
  .gs-il-discgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1.5rem;
    align-items: start;
  }
}

/* Page-scoped density for the dual-audience state template. The same content
   in a tighter rhythm: shorter section padding, tighter process rails, and
   compact panels, so a comprehensive state page scans in fewer scrolls. */
.gs-state-page .gs-section-standard { padding-block: 2.9rem; }
.gs-state-page .gs-section-compact { padding-block: 2.5rem; }
@media (min-width: 1024px) {
  .gs-state-page .gs-section-standard { padding-block: 3.5rem; }
  .gs-state-page .gs-section-compact { padding-block: 3rem; }
}
.gs-state-page .gs-process-step { padding: 1rem 0 1.05rem; }
.gs-state-page .gs-process-rail--split .gs-process-step { padding: 1rem 0 1.1rem; }
.gs-state-page .gs-il-panel { padding: 1.35rem 1.4rem 1.3rem; }
@media (min-width: 768px) {
  .gs-state-page .gs-il-panel { padding: 1.5rem 1.6rem 1.45rem; }
}
.gs-state-page .gs-il-whygrid { margin-top: 1.6rem; }
.gs-state-page .gs-il-twocol { margin-top: 1.6rem; }
.gs-state-page .gs-process-banner { max-height: 220px; margin-top: 1.6rem; }
@media (min-width: 1024px) {
  .gs-state-page .gs-process-banner { max-height: 240px; }
}
@media (min-width: 1024px) {
  .gs-state-page .gs-section-standard { padding-block: 3.1rem; }
  .gs-state-page .gs-section-compact { padding-block: 2.6rem; }
}
.gs-state-page .gs-il-discgrid { margin-top: 1.3rem; }
.gs-state-page .gs-il-panellinks { margin-top: 1rem; }
.gs-state-page .gs-il-glancegrid { margin-top: 1.15rem; }
.gs-state-page .gs-process-rail--split .gs-process-step { padding: 0.85rem 0 0.95rem; }
.gs-state-page .gs-il-callout { margin-top: 1.5rem; }
.gs-state-page .gs-il-whyitem { padding-top: 0.7rem; }
.gs-state-page .gs-il-whygrid { gap: 1.25rem 1.75rem; }
.gs-state-page .gs-il-diffcard { padding: 1.1rem 1.2rem; }
.gs-state-page .gs-il-crit li { line-height: 1.45; }
.gs-state-page .gs-il-panelbody,
.gs-state-page .gs-il-whybody { line-height: 1.52; }
.gs-state-page .gs-lede { margin-top: 0.8rem; }
.gs-state-page .gs-process-continues { margin-top: 1.25rem; }
@media (min-width: 900px) {
  /* Evaluation checklist reads as two balanced columns on wide screens. */
  .gs-state-page .gs-il-evalcols { columns: 2; column-gap: 2rem; }
  .gs-state-page .gs-il-evalcols li { break-inside: avoid; }
}
/* Final density calibration for the state template rhythm. */
.gs-state-page .gs-section-standard { padding-block: 2.5rem; }
.gs-state-page .gs-section-compact { padding-block: 2.2rem; }
@media (min-width: 1024px) {
  .gs-state-page .gs-section-standard { padding-block: 2.8rem; }
  .gs-state-page .gs-section-compact { padding-block: 2.35rem; }
}
.gs-state-page .gs-h2-serif { margin-top: 0.5rem; }
.gs-state-page .gs-il-legalbody > p + p { margin-top: 0.75rem; }

/* ═══════════════════════════════════════════════════════════════
   GS EXPANDABLE CARD SYSTEM (one interaction treatment everywhere)
   Used by the state-template legal disclosures, the legal question rows,
   the mobile "Jump to a section" navigator, and (through .gs-afaq) the
   audience FAQ rows. Resting, hover, focus and open states are defined
   once so no accordion on the site invents its own behaviour.

   Kadence mapping: Core Details block with these classes, or a Kadence
   Accordion styled with the identical border, fill and radius values.
   ═══════════════════════════════════════════════════════════════ */
.gs-xcard {
  border-radius: 12px;
  background-color: #FCFAF5;
  border: 1px solid #F0AD56;
  color: #484747;
  box-shadow: 0 1px 2px rgba(72, 71, 71, 0.05);
  transition: background-color 180ms ease, border-color 180ms ease,
    box-shadow 180ms ease, transform 180ms ease;
}
.gs-xcard__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  min-height: 56px;
  padding: 0.8rem 0.95rem 0.8rem 1.15rem;
  border-radius: 12px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 1.01rem;
  line-height: 1.35;
  letter-spacing: -0.002em;
  color: #484747;
}
.gs-xcard__summary::-webkit-details-marker { display: none; }
.gs-xcard__summary::marker { content: ""; }
.gs-xcard__summary:focus-visible {
  outline: 3px solid #E36629;
  outline-offset: 2px;
}
.gs-xcard__label { padding-top: 0.35rem; }
.gs-xcard__chev {
  flex: none;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gs-xcard__body {
  padding: 0 1.15rem 1rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #484747;
}
.gs-xcard__body > p + p { margin-top: 0.7rem; }
.gs-xcard__body > ul { margin: 0.6rem 0 0; padding-left: 1.1rem; }
.gs-xcard__body > ul > li + li { margin-top: 0.35rem; }
/* Hover is elegant and warm: apricot fill, burnt-orange edge, no charcoal
   or dark-red contrast pairing. Pointer devices only. */
@media (hover: hover) and (pointer: fine) {
  .gs-xcard:hover {
    background-color: #FBF1DC;
    border-color: #E36629;
    box-shadow: 0 6px 16px rgba(120, 62, 20, 0.10);
    transform: translateY(-1px);
  }
  .gs-xcard:hover .gs-faq-chev { color: #C9541A; }
}
.gs-xcard:focus-within {
  border-color: #E36629;
  background-color: #FBF1DC;
}
.gs-xcard[open] {
  background-color: #F8D6AB;
  border-color: #E36629;
  box-shadow: 0 6px 16px rgba(120, 62, 20, 0.10);
}
.gs-xcard[open] .gs-faq-chev { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) {
  .gs-xcard { transition: none; }
  .gs-xcard:hover { transform: none; }
  .gs-xcard .gs-faq-chev { transition: none; }
}

/* Shared disclosure grid. Controlled gap replaces per-card top margins, and
   align-items: start stops an opened card from stretching its neighbour. */
.gs-xgrid {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.3rem;
  align-items: start;
}
@media (min-width: 1100px) {
  .gs-xgrid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1.4rem;
  }
}

/* Audience FAQ rows join the same system: hover only on pointer devices. */
@media (hover: none) {
  .gs-afaq:hover { background-color: #FCFAF5; border-color: #F0AD56; box-shadow: none; transform: none; }
}

/* Legal authority source list. */
.gs-il-authorities {
  margin-top: 1.25rem;
  border: 1px solid rgba(240, 173, 86, 0.6);
  border-radius: 12px;
  background-color: #FCFAF5;
  padding: 1rem 1.15rem 1.1rem;
}
.gs-il-authtitle {
  font-family: var(--font-sans);
  font-size: 0.78rem
  ;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #8C4B2B;
}
.gs-il-authlist {
  list-style: none;
  margin: 0.7rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
}
.gs-il-authlist a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(240, 173, 86, 0.8);
  border-radius: 999px;
  background-color: #FEF9E9;
  font-family: var(--font-sans);
  font-size: 0.92rem;
  font-weight: 500;
  color: #484747;
  text-decoration: none;
}
.gs-il-authlist a:hover { border-color: #E36629; color: #C9541A; }
.gs-il-authlist a:focus-visible { outline: 3px solid #E36629; outline-offset: 2px; }
.gs-il-authnote { margin-top: 0.8rem; font-size: 0.9rem; line-height: 1.55; color: #6C6663; }

/* Legal group headings inside the Illinois law section. */
.gs-il-lawgroup { margin-top: 2rem; }
.gs-il-lawgroup:first-of-type { margin-top: 1.5rem; }
.gs-il-lawgroup__title {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 1.08rem + 0.45vw, 1.45rem);
  line-height: 1.25;
  color: #484747;
}
.gs-il-lawgroup__intro {
  margin-top: 0.45rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #484747;
  max-width: 74ch;
}

/* Navigation panel breathing room on the dual-audience state template. */
.gs-state-page .gs-toc { padding-block: 1.875rem; }

/* Compact sub-topic disclosures reused for audience supporting detail. */
.gs-il-subgrid { display: grid; gap: 0.85rem; margin-top: 1.3rem; align-items: start; }
@media (min-width: 900px) {
  .gs-il-subgrid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.4rem; }
}

/* Four-across process rail on wide desktop: two rows of four, so an
   eight-stage summary reads in one screen instead of several. */
@media (min-width: 1280px) {
  .gs-state-page .gs-process-rail--split {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 1.85rem;
  }
  .gs-state-page .gs-process-rail--split .gs-process-step { border-top: 0; padding-top: 0; }
  .gs-state-page .gs-process-rail--split .gs-process-step:nth-child(n + 5) {
    border-top: 1px solid var(--border-hairline);
    padding-top: 1.15rem;
    margin-top: 1.15rem;
  }
}

/* Illinois statutory citations: one full-width row per authority so the
   citation, official section title, and source never break awkwardly or
   leave punctuation stranded on its own line. */
.gs-il-authlist--stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .gs-il-authlist--stacked { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gs-il-authlist--stacked a {
  display: flex;
  align-items: flex-start;
  width: 100%;
  border-radius: 12px;
  padding: 0.6rem 0.85rem;
  line-height: 1.45;
  text-wrap: pretty;
}


