/* Community guide components, ported from the Libertyville cg-* rules and remapped to this site's tokens. */
.cg-page{overflow-x:hidden}
.cg-page .wrap{max-width:1240px;margin:0 auto;}

.cg h2 em{font-style:italic;color:var(--gold);}
.cg .lead{max-width:56rem}
.cg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.cg-grid.cg-one{grid-template-columns:1fr}
.cg-card{background:#fff;border:1px solid var(--line);padding:28px 26px 24px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;border-radius:0}
.cg-card p{font-size:.93rem;line-height:1.65;color:#414842;margin:0 0 14px;font-family:Arial,Helvetica,sans-serif}
.cg-card .cg-year{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1;color:var(--gold);margin:0 0 12px;font-weight:400}
.cg-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.12rem;line-height:1.3;color:var(--forest);margin:0 0 10px;letter-spacing:0}
.cg-card p.cg-source{margin-top:auto;margin-bottom:0;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;line-height:1.5;color:#6a716b}
.cg-source a{color:#7a6640;text-decoration:underline;text-underline-offset:2px;font-style:italic}
.cg-story{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cg-story summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-family:Arial,Helvetica,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.cg-story summary::-webkit-details-marker{display:none}
.cg-story summary::after{content:"+";font-size:1.3rem;color:var(--gold);font-weight:400}
.cg-story[open] summary::after{content:"\2013"}
.cg-story-body{max-width:820px;padding:0 0 28px}
.cg-story-body h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.3rem;color:var(--forest);margin:22px 0 8px}
.cg-story-body p{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.75;color:#414842;margin:0 0 14px}
.cg-story-body p.cg-source{font-family:Arial,Helvetica,sans-serif;font-size:.74rem;color:#6a716b}
.cg-subhead{display:flex;align-items:center;gap:12px;margin:56px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;color:var(--forest);letter-spacing:0}
.cg-subhead svg{width:24px;height:24px;color:var(--gold);flex:none}
.cg-place-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cg-place-top h3{margin:0 0 8px}
.cg-pill{flex:none;border-radius:999px;background:#efe9dc;color:#6c5a35;font-family:Arial,Helvetica,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;white-space:nowrap}
.cg-card p.cg-type{font-family:Arial,Helvetica,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.06em;color:#7a6640;margin:0 0 10px}
.cg-card p.cg-addr{display:flex;gap:6px;align-items:flex-start;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;color:#6a716b;margin:auto 0 14px}
.cg-addr svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--gold)}
.cg-visit{align-self:flex-start;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
.cg-visit:hover{color:#7a6640}
.cg-card.cg-wide{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:end}
.cg-card.cg-wide>div:last-child{display:flex;flex-direction:column}
.cg-edu-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.cg-edu-head h2{margin:0}
.cg-note{font-family:Arial,Helvetica,sans-serif;font-size:.95rem;line-height:1.6;color:#414842;margin:0 0 22px}
.cg-btn-arrow::after{content:"\2197";margin-left:10px}
.cg-card p.cg-label{font-family:Arial,Helvetica,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6a716b;margin:0 0 10px}
.cg-edu .cg-card{background:#fff}
.cg-list{list-style:none;margin:0 0 18px;padding:0}
.cg-list li{position:relative;border-top:1px solid var(--line);padding:9px 0 9px 18px;font-family:Arial,Helvetica,sans-serif;font-size:.88rem;line-height:1.45;color:#414842}
.cg-list li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:1px;background:var(--gold)}
.cg-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px 18px}
.cg-life .cg-card h3{font-weight:400;font-size:1.2rem}
.cg-life .cg-card .cg-visit{margin-top:auto}
.cg-banner{position:relative;color:#fff;background:#2e392f url(/images/bloomfield-estate.png) center/cover no-repeat;min-height:620px;display:flex;align-items:flex-end;padding:170px 7vw 80px}
.cg-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,17,.82) 0%,rgba(16,20,17,.5) 55%,rgba(16,20,17,.2) 100%)}
.cg-banner .wrap{position:relative;z-index:1;width:100%}
.cg-banner h1{margin:0 0 18px;color:#fff;font:clamp(48px,6.4vw,96px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.05em}
.cg-banner p.cg-banner-sub{max-width:44rem;margin:0;color:rgba(255,255,255,.88);font-family:Arial,Helvetica,sans-serif;font-size:1.08rem;line-height:1.7}
.cg-banner .eyebrow{color:rgba(255,255,255,.78)}
.cg-glance p.cg-glance-text{font-family:Arial,Helvetica,sans-serif;font-size:1.08rem;line-height:1.8;color:#414842;max-width:56rem;margin:0}
.cg-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.cg-page .cg-banner .wrap{max-width:1240px}
.cg .lead{font-size:22px}
.cg h2+.lead{margin-top:30px}
.cg-cta-row .button{display:inline-flex}
.cg-cta-row .button:not(.button-dark){border-color:var(--ink)}
.cg-closing{background:var(--paper)}

@media (max-width:900px){.cg-grid{gap:18px}.cg-card{padding:24px 20px 22px}.cg-edu-head{grid-template-columns:1fr;gap:18px}.cg-card .cg-year{font-size:1.7rem}.cg-banner{padding:130px 6vw 60px}.cg .lead{font-size:19px}}
@media (max-width:760px){.cg-grid{grid-template-columns:1fr}.cg-card.cg-wide{grid-template-columns:1fr;gap:6px}.cg-subhead{font-size:1.35rem;margin-top:44px}.cg-banner{min-height:480px}}

/* WT legal pages (2026-10-15) */
.wt-legalpage .wrap{max-width:760px}
.wt-legalpage h2{font-size:1.35rem;margin:1.8em 0 .5em;line-height:1.25}
.wt-legalpage p{line-height:1.7;margin:0 0 1em;overflow-wrap:anywhere}
.wt-legalpage a{text-decoration:underline;text-underline-offset:3px}
.wt-legal-links a{margin-right:.2em}
