/* Glen Ellyn: business field guide, three district folio and a customer-memory loop. */
.gel-page{--ink:#252c28;--olive:#555f39;--paper:#f8f5ed;--soft:#e9e7da;--line:#c8c8b7;color:var(--ink);background:var(--paper);font-family:var(--font-body,"DM Sans",sans-serif)}
.gel-page *{box-sizing:border-box}
.gel-page a{color:inherit;text-underline-offset:.2em}
.gel-page a:hover{color:#758043}
.gel-page a:focus-visible{outline:3px solid #758043;outline-offset:4px}
.gel-page ::selection{background:#555f39;color:#fff}
.gel-shell{width:min(1190px,calc(100% - 3rem));margin-inline:auto}
.gel-page h1,.gel-page h2,.gel-page h3{font-family:var(--font-display,"Cormorant Garamond",Georgia,serif);font-weight:500;letter-spacing:-.029em;text-wrap:balance}
.gel-page h2{font-size:clamp(2.6rem,4.9vw,5.2rem);line-height:1.02;margin:0}
.gel-page p{line-height:1.62}
.gel-eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin:0 0 1rem;color:var(--olive)}
.gel-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);min-height:740px;border-bottom:1px solid var(--line)}
.gel-hero-copy{padding:2rem max(2.5rem,calc((100vw - 1190px)/2)) 4rem max(2.5rem,calc((100vw - 1190px)/2));padding-right:4rem;display:flex;flex-direction:column;justify-content:center}
.gel-hero nav{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.78rem;margin-bottom:4rem}
.gel-edition{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem;font-weight:800;border-top:2px solid var(--ink);padding-top:.6rem;margin:0 0 2rem}
.gel-edition span{font-weight:500}
.gel-hero h1{font-size:clamp(3.2rem,4.6vw,5.4rem);line-height:.99;margin:0;max-width:14ch}
.gel-hero h1 span{display:block;font-family:var(--font-body,"DM Sans",sans-serif);font-size:.8rem;font-weight:800;line-height:1.4;letter-spacing:.015em;color:var(--olive);margin-bottom:1.25rem}
.gel-lead{max-width:52ch;font-size:1.09rem;margin:1.6rem 0 .8rem}
.gel-first-action{display:flex;align-items:center;gap:1.4rem;margin-top:1rem}
.gel-first-action>a,.gel-book{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--ink);color:#fff!important;text-decoration:none;padding:1rem 1.15rem;font-weight:800;font-size:.9rem}
.gel-first-action p{font-size:.76rem;line-height:1.25;margin:0}
.gel-first-action strong,.gel-first-action small{display:block}
.gel-first-action strong{font-size:1.15rem}
.gel-hero figure{position:relative;margin:0;background:#d5d3be;min-width:0}
.gel-hero figure:before{content:"";position:absolute;z-index:1;inset:1.5rem;border:1px solid rgba(255,255,255,.7);pointer-events:none}
.gel-hero img{width:100%;height:100%;display:block;object-fit:cover;object-position:57% center}
.gel-thesis{padding:clamp(5rem,9vw,9rem) 0}
.gel-thesis .gel-shell{display:grid;grid-template-columns:1fr 1fr;column-gap:8rem}
.gel-thesis .gel-eyebrow{grid-column:1/-1}
.gel-thesis h2{max-width:12ch}
.gel-thesis .gel-shell>div p:first-child{margin-top:0}
.gel-thesis .gel-shell>div p{font-size:1.1rem}
.gel-thesis .gel-shell>div a{display:block;width:max-content;max-width:100%;margin:.7rem 0;font-size:.79rem;font-weight:800}
.gel-districts{background:#e3e4d7;padding:clamp(5rem,8vw,8rem) 0}
.gel-section-top{display:flex;justify-content:space-between;gap:3rem;align-items:start;margin-bottom:3rem}
.gel-section-top .gel-eyebrow{width:18rem;flex:none}
.gel-section-top h2{max-width:16ch;margin-left:auto}
.gel-district-list{border-top:2px solid var(--ink)}
.gel-district-list section{display:grid;grid-template-columns:.2fr .7fr 1.2fr .65fr;gap:2.5rem;align-items:start;border-bottom:1px solid #aeb4a6;padding:2rem 0}
.gel-number{font-size:.79rem;font-weight:800;color:var(--olive)}
.gel-district-list h3{font-size:2.6rem;line-height:1;margin:0}
.gel-district-list p{margin:0}
.gel-district-list strong{font-size:.85rem;line-height:1.5}
.gel-district-source{font-size:.78rem;margin-top:2rem}
.gel-loop{background:#2d352d;color:#f7f4ec;padding:clamp(5rem,9vw,9rem) 0}
.gel-loop .gel-shell{display:grid;grid-template-columns:1fr .86fr;gap:8rem;align-items:center}
.gel-loop .gel-eyebrow{color:#d6d9b4}
.gel-loop h2{max-width:14ch;margin-bottom:2rem}
.gel-loop p:not(.gel-eyebrow){font-size:1.06rem;max-width:57ch}
.gel-loop a{font-size:.8rem;font-weight:800}
.gel-loop-image{margin:2.6rem 0 0;overflow:hidden;aspect-ratio:3/2}
.gel-loop-image img{width:100%;height:100%;display:block;object-fit:cover}
.gel-loop ol{list-style:none;padding:0;margin:0;border-top:1px solid #718071;counter-reset:gel}
.gel-loop li{display:grid;grid-template-columns:1fr 1.1fr;gap:1rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid #718071;counter-increment:gel}
.gel-loop li:before{content:"0" counter(gel);font-size:.7rem;color:#c6cda7;grid-column:1/-1}
.gel-loop li span{font-family:var(--font-display,Georgia,serif);font-size:2.65rem;line-height:1}
.gel-loop li small{font-size:.85rem;line-height:1.4}
.gel-fit{padding:clamp(5rem,9vw,9rem) 0}
.gel-fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.gel-fit-grid section{background:#fff;border-top:4px solid var(--olive);padding:2rem;min-height:260px;display:flex;flex-direction:column}
.gel-fit-grid h3{font-size:2.45rem;line-height:1;margin:0}
.gel-fit-grid p{font-size:.96rem}
.gel-fit-grid a{margin-top:auto;font-size:.78rem;font-weight:800}
.gel-accounting{background:#d4d9d1;padding:clamp(5rem,9vw,9rem) 0}
.gel-accounting .gel-shell{display:grid;grid-template-columns:.3fr 1fr 1fr;gap:3rem}
.gel-accounting h2{max-width:15ch}
.gel-accounting .gel-shell>div p:first-child{margin-top:0}
.gel-accounting .gel-shell>div a{display:block;margin:.8rem 0;font-weight:800;font-size:.85rem}
.gel-close{background:#eee8d8;padding:clamp(5rem,9vw,9rem) 0}
.gel-close .gel-shell{display:grid;grid-template-columns:1fr .85fr;gap:8rem}
.gel-close h2{max-width:15ch}
.gel-close p:not(.gel-eyebrow){font-size:1.1rem;max-width:50ch}
.gel-book{width:max-content;max-width:100%;margin-top:1.5rem}
.gel-prices{border-top:2px solid var(--ink)}
.gel-prices h3{font-size:2rem;margin:.7rem 0 1.5rem}
.gel-prices a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;border-bottom:1px solid var(--line);padding:1rem 0}
.gel-prices a span{font-family:var(--font-display,Georgia,serif);font-size:1.55rem;line-height:1}
.gel-prices strong{font-size:.84rem;text-align:right}
.gel-prices small{display:block;margin-top:1.5rem;line-height:1.5}
.gel-faq{padding:clamp(5rem,9vw,9rem) 0}
.gel-faq .gel-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:7rem}
.gel-faq h2{max-width:11ch}
.gel-faq section{border-top:1px solid var(--line);padding:1.15rem 0}
.gel-faq h3{font-family:var(--font-body,"DM Sans",sans-serif);font-size:1rem;font-weight:800;letter-spacing:0;margin:0}
.gel-faq p{max-width:68ch}
.gel-foot{background:#263027;color:#fff;padding:1.35rem 0}
.gel-foot .gel-shell{display:flex;justify-content:space-between;gap:2rem;align-items:center;font-size:.8rem}
.gel-foot nav{display:flex;gap:1.3rem;flex-wrap:wrap}
@media(max-width:850px){.gel-shell{width:calc(100% - 2rem)}.gel-hero{display:flex;flex-direction:column;min-height:0}.gel-hero-copy{padding:4.8rem 1rem 2rem}.gel-hero nav{margin-bottom:1.4rem}.gel-edition{margin-bottom:1.4rem}.gel-hero h1{font-size:clamp(2.5rem,10vw,4.3rem)}.gel-lead{font-size:.98rem;margin:1rem 0 .5rem}.gel-first-action{display:block;margin-top:.6rem}.gel-first-action>a{width:100%}.gel-first-action p{margin-top:.8rem}.gel-hero figure{height:260px}.gel-hero figure:before{inset:.8rem}.gel-thesis .gel-shell,.gel-loop .gel-shell,.gel-accounting .gel-shell,.gel-close .gel-shell,.gel-faq .gel-shell{grid-template-columns:1fr;gap:1.6rem}.gel-section-top{display:block}.gel-section-top h2{margin:0}.gel-district-list section{grid-template-columns:3rem 1fr;gap:.5rem 1rem}.gel-district-list h3{font-size:2.25rem}.gel-district-list p,.gel-district-list strong{grid-column:2}.gel-fit-grid{grid-template-columns:1fr}.gel-fit-grid section{min-height:0}.gel-foot .gel-shell{display:block}.gel-foot nav{margin-top:1rem}}
