.circular-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:470px;border-bottom:2px solid var(--ep-line)}.circular-hero>div{align-self:center;padding:clamp(44px,7vw,82px) clamp(20px,5vw,62px) clamp(44px,7vw,82px) 8px}.circular-hero h1,.section-title h2{margin:0;font-family:"Fraunces",Georgia,serif;font-weight:700;letter-spacing:-.07em;line-height:.88}.circular-hero h1{color:var(--ep-red);font-size:clamp(63px,9vw,112px)}.circular-hero p:not(.ep-kicker){max-width:38ch;margin:20px 0 0;font-size:18px}.circular-hero figure{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:350px;margin:0;overflow:hidden;border-left:2px solid var(--ep-line);background:var(--ep-blue)}.circular-hero figure::before{position:absolute;top:-52px;right:-52px;width:255px;height:255px;border:2px solid var(--ep-line);border-radius:50%;background:var(--ep-yellow);content:""}.circular-hero img{position:relative;z-index:1;display:block;max-height:405px;max-width:93%;object-fit:contain;object-position:bottom}.circular-hero figcaption{position:absolute;z-index:2;right:15px;bottom:14px;padding:5px 8px;background:var(--ep-paper);font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.home-hero figure{background:var(--ep-rose)}.home-hero img{width:100%;max-height:none;max-width:100%;height:100%;object-fit:cover}.home-note{padding:28px;text-align:center;background:var(--ep-red);color:var(--ep-paper);font-family:"Fraunces",Georgia,serif;font-size:clamp(23px,3vw,34px);font-weight:600;letter-spacing:-.04em}.home-note p{margin:0}.roster-section,.mission-section,.service-register{padding:clamp(52px,9vw,92px) clamp(8px,4vw,44px);border-bottom:2px solid var(--ep-line)}.service-register{padding-top:clamp(30px,4vw,46px)}.section-title{max-width:650px;margin:0 auto 35px;text-align:center}.section-title h2{font-size:clamp(39px,5vw,63px)}.roster-list{max-width:750px;margin:0 auto;padding:0;border-top:2px solid var(--ep-line);list-style:none}.roster-list li{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--ep-line)}.roster-list a{color:var(--ep-red);font-family:"Fraunces",Georgia,serif;font-size:clamp(27px,3vw,38px);font-weight:700;letter-spacing:-.04em;text-decoration:none}.roster-list a:hover{text-decoration:underline;text-underline-offset:5px}.roster-list span,.service-entry span{align-self:center;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.mission-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(34px,7vw,86px);background:var(--ep-rose)}.mission-section .section-title{text-align:left}.mission-lines{border-top:2px solid var(--ep-line)}.mission-lines p{margin:0;padding:16px 0;border-bottom:1px solid var(--ep-line);font-family:"Fraunces",Georgia,serif;font-size:clamp(22px,2.8vw,32px);letter-spacing:-.04em;line-height:1.15}.services-hero figure{background:var(--ep-yellow)}.service-register-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ep-line);border-left:2px solid var(--ep-line)}.service-entry{min-height:230px;padding:24px;border-right:2px solid var(--ep-line);border-bottom:2px solid var(--ep-line);background:var(--ep-paper);text-decoration:none}.service-entry:nth-child(1){background:var(--ep-blue)}.service-entry:nth-child(1) h3{color:var(--ep-ink)}.service-entry:nth-child(2){background:var(--ep-yellow)}.service-entry:nth-child(3){background:var(--ep-cream)}.service-entry:nth-child(4){background:var(--ep-rose)}.service-entry:hover{box-shadow:inset 0 0 0 5px var(--ep-paper)}.service-entry h3{margin:34px 0 8px;color:var(--ep-red);font-family:"Fraunces",Georgia,serif;font-size:clamp(28px,3vw,39px);letter-spacing:-.055em;line-height:1}.service-entry p{margin:0;font-size:16px}.service-entry.service-entry-featured{background:var(--ep-red);color:var(--ep-paper);box-shadow:inset 0 0 0 5px var(--ep-paper)}.service-entry.service-entry-featured h3{color:var(--ep-yellow)}.service-entry.service-entry-featured span{color:var(--ep-yellow)}.service-entry.service-entry-featured:hover{background:var(--ep-red-dark)}@media(max-width:760px){.circular-hero{grid-template-columns:1fr}.circular-hero>div{padding-left:0}.circular-hero figure{min-height:340px;border-top:2px solid var(--ep-line);border-left:0}.mission-section{grid-template-columns:1fr}.mission-section .section-title{text-align:center}.service-register-grid{grid-template-columns:1fr}}@media(max-width:430px){.circular-hero h1{font-size:67px}.roster-list li{grid-template-columns:1fr;gap:4px}.roster-list span{align-self:start}}

/* --- Services page --- */
/* Centre the filing cabinet in its panel instead of standing it on the
   floor, and pin Fraunces' optical size low so the display type gets the
   blunt, low-contrast letterforms of the era (same fix as the homepage). */
.services-circular .services-hero figure{align-items:center;padding:26px}
.services-hero figure::before{background:var(--ep-rose)}
.services-circular .services-hero img{max-height:375px;max-width:88%;object-position:center}
@media(max-width:760px){.services-circular .services-hero figure{padding:20px}.services-circular .services-hero img{max-height:280px}}

/* --- About page --- */
/* About.png is the only artwork on the site with a baked-in white
   background (77% opaque white, where every other image is 26-79%
   transparent), so it lands as a white rectangle on the panel instead of
   letting the colour through. Rather than fight it, it is mounted as a
   framed plate — 2px rule and a hard offset shadow, the same language as
   the buttons and the HouseCall card — and centred so it is not stranded
   at the bottom of the panel. Peach panel + warm band mirrors the homepage. */
.about-circular .about-hero figure{align-items:center;padding:30px;background:var(--ep-peach)}
.about-circular .about-hero img{max-height:300px;max-width:86%;object-position:center;border:2px solid var(--ep-line);box-shadow:6px 6px 0 var(--ep-line)}
.about-circular .mission-section{background:var(--ep-gold)}
@media(max-width:760px){.about-circular .about-hero figure{padding:20px}.about-circular .about-hero img{max-height:220px;box-shadow:4px 4px 0 var(--ep-line)}}
