/* v0.6 — measured typography and photograph overlay corrections.
   Keep photos free of baked-in captions; all labels remain selectable HTML. */
body{--caption:11px;--caption-color:#4b607a}
h1,h2,h3{font-weight:700;text-wrap:pretty}
.brand-copy small{font-size:10px;line-height:1.4}
.hero:before{background:linear-gradient(90deg,rgba(3,24,48,.83) 0%,rgba(3,24,48,.78) 57%,rgba(3,24,48,.15) 77%,transparent 100%)}
.hero h1,.hero-sub{max-width:65%;text-shadow:0 1px 2px #00172d40}
.hero h1{font-size:clamp(34px,3.1vw,44px);line-height:1.15;letter-spacing:-.8px}
.hero-sub{font-size:16px;line-height:1.5}
.eyebrow{background:#102e50b3;font-size:12px;line-height:1.5}
.search-input input,.search-box select{font-size:14px;min-height:44px}
.search-submit{min-height:44px;font-size:14px}
input::placeholder{color:#566780;opacity:1}
.popular,.popular button{font-size:11px}
.category strong{font-size:13px;line-height:1.4;color:#071321}
.category small{font-size:11px;line-height:1.4;color:#071321;opacity:1}
.section-heading .small,.notices .section-heading .small{font-size:11px;line-height:1.4}
.notice small,.mobile-notices .notice small,.news small,.event small,.guide-grid small{font-size:11px;line-height:1.5;color:var(--caption-color)}
.guide-grid strong{font-size:11px;line-height:1.4;overflow-wrap:normal}
.guide-grid button{min-width:0}
.tag{font-size:11px;line-height:1.4;color:#08622b}
.date{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:30px;min-height:38px;padding:4px 5px;background:#fff;color:#142a52;box-shadow:0 1px 4px #11284226;line-height:1.15}
.date-day{font-size:15px;font-weight:700}.date-month{font-size:11px;font-weight:700;margin-top:2px}
.rating{font-size:12px;line-height:1.3;color:#172c48;background:#fff;padding:4px 5px}
.demo-label,footer{font-size:11px;line-height:1.5;color:#4c607b}
.how{display:grid;grid-template-columns:minmax(0,1fr) 70px;column-gap:6px;align-content:start;overflow:visible}
.how h3{grid-column:1/-1}.how ol{min-width:0}.how li{font-size:12px;max-width:none;padding-left:34px}.how span{font-size:11px;color:#4b607a}
.how img{position:static;align-self:end;width:70px;height:150px;object-fit:contain}
.join h2{line-height:1.25}.join p{line-height:1.5}
@media(min-width:769px) and (max-width:1100px){.search-city,.search-district{width:140px}.search-submit{width:85px}.search-box form{gap:7px}.hero h1,.hero-sub{max-width:75%}}
@media(max-width:768px){
 .brand-copy small{font-size:9px}.hero h1{font-size:31px;max-width:76%;line-height:1.16}.hero-sub{font-size:15px;max-width:76%;line-height:1.45}.hero-sub br{display:none}
 .hero:before{background:linear-gradient(90deg,rgba(3,24,48,.84) 0%,rgba(3,24,48,.78) 72%,rgba(3,24,48,.18) 92%),linear-gradient(0deg,#00163299,transparent 80%)}
 .search-input input{font-size:16px;min-height:44px}.search-box form{min-height:44px}
 .mobile-notices .section-heading .small{font-size:11px}
 .bottom-item{font-size:11px;line-height:1.3;min-height:52px}.bottom-item svg{width:20px;height:20px}
 .mobile-guide .guide-grid button{height:90px;position:relative}.mobile-guide .guide-grid img{height:90px;width:100%;object-fit:cover}
 .mobile-guide .guide-grid strong{position:absolute;inset:auto 0 0;padding:19px 5px 7px;background:linear-gradient(transparent,#071a30f5 45%);color:white;font-size:11px;line-height:1.35;white-space:normal;text-overflow:clip;min-height:42px;text-align:center}
 .join{padding:14px calc(34% + 12px) 14px 12px;min-height:154px;align-items:flex-start}.join>div:first-child{width:100%;min-width:0}.join h2{font-size:18px;max-width:none;line-height:1.25;letter-spacing:-.3px}.join p{font-size:12px;max-width:none;line-height:1.5}.join>div:last-child{position:relative;z-index:1}.join button{max-width:100%;width:auto;font-size:12px;white-space:normal}.join:after{width:32%}
}
@media(max-width:350px){.hero h1{font-size:28px}.hero-sub{font-size:14px}.brand-copy small{font-size:8px}.section-heading .small{font-size:11px}.join h2{font-size:17px}.join{min-height:172px}.mobile-guide .guide-grid strong{font-size:11px}.bottom-item{font-size:10px}}

/* v0.7: compact calendar labels and humanist event title face. */
.event-grid{align-items:stretch}.event{display:flex;flex-direction:column;min-width:0;height:100%;border-radius:7px;background:#fff}.event>div{width:100%;flex-shrink:0}.event img{display:block}
.event .date{top:6px;left:6px;width:30px;min-width:30px;height:36px;min-height:36px;padding:3px 2px;gap:1px;border:1px solid #e4eaf1;border-radius:5px;color:#d4264b;background:#fff;box-shadow:0 1px 5px #132a4329;font-style:normal}
.event .date-day{font-family:'Sehrim Head',var(--font);font-size:17px;font-weight:700;line-height:20px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.event .date-month{font-family:var(--font);font-size:10px;font-weight:700;line-height:11px;letter-spacing:.15px;text-transform:uppercase;margin:0}
.event>strong{font-family:'Sehrim Head',var(--font);font-weight:700;font-size:15px;line-height:1.2;letter-spacing:0;margin:8px 7px 5px;min-height:36px;text-align:left}
.event>small{font-size:11px;line-height:1.45;margin:0 7px 7px;min-height:32px;text-align:left}.event>.tag{align-self:flex-start;margin:auto 7px 0;font-size:10px;line-height:1.4}
@media(max-width:1100px) and (min-width:769px){.how{display:none}.service-copy{width:auto;flex:1}}
@media(max-width:768px){.mobile-events .event>strong{font-family:'Sehrim Head',var(--font);font-size:17px;line-height:1.2;margin:9px 8px 5px;min-height:0}.mobile-events .event>small{font-size:12px;line-height:1.5;margin:auto 8px 9px;min-height:54px}.mobile-events .event img{height:104px}.mobile-events .event .date{width:34px;height:40px;min-height:40px;top:6px;left:6px}.mobile-events .event .date-day{font-size:19px}.mobile-events .event .date-month{font-size:10px}}

/* v0.8: keep city state visible on mobile and contain arbitrary query text. */
#city-state{margin:8px 0 16px;padding:12px 14px;border:1px solid #c9def8;border-radius:7px;background:#edf5ff;color:#254563;font-size:13px;line-height:1.5}
#preview-title,#preview-text{overflow-wrap:anywhere}#preview-text{white-space:pre-line}
[hidden]{display:none!important}

/* v0.9 — final reference comparison: restore hierarchy and image presence. */
@media(min-width:769px){
 .hero:before{background:linear-gradient(90deg,rgba(3,24,48,.68) 0%,rgba(3,24,48,.60) 57%,rgba(3,24,48,.09) 80%,transparent 100%)}
 .hero h1{font-size:clamp(36px,3.6vw,50px);max-width:82%;line-height:1.15}
 .how{grid-template-columns:minmax(0,1fr) 100px;column-gap:10px}
 .how img{width:100px;height:155px;object-fit:cover;object-position:62% center;border-radius:6px}
}
@media(max-width:768px){
 .hero:before{background:linear-gradient(90deg,rgba(3,24,48,.76) 0%,rgba(3,24,48,.68) 76%,rgba(3,24,48,.08) 95%),linear-gradient(0deg,#00163280,transparent 80%)}
 .hero-sub{max-width:82%}
 .mobile-notices .institution{background:#086bff;color:white;width:46px;min-height:48px;border-radius:7px}
 .mobile-notices .notice:nth-of-type(2) .institution{background:#0798c4}
 .mobile-notices .notice:nth-of-type(3) .institution{background:#ef2b4d}
 .mobile-notices .institution svg{width:28px;height:32px;stroke-width:1.6}
}
@media(min-width:1200px){.account .nav-item{display:flex}}
@media(max-width:768px){
 .mobile-cat-grid button{min-height:100px;font-size:12px}
 .mobile-two.card-rail article>img{height:104px}
 .quick-mobile{padding-top:16px;padding-bottom:12px;margin-bottom:23px}
 .mobile-notices .institution svg{color:#fff;stroke:#fff}
 .mobile-notices .notice strong{font-size:12px}
}
a.details,a[data-directory-link]{text-decoration:none;color:inherit}a.details{border:1px solid var(--border);border-radius:5px;text-align:center;background:white}a[data-directory-link]:hover,a.details:hover{color:var(--blue)}
