/* Locality-specific editorial Life pages. Existing search, forms and shared layouts unchanged. */
.life-guide{--lg-ink:#173a43;--lg-paper:#f7f3eb;--lg-accent:#9a6945;--lg-gutter:clamp(20px,5vw,100px);color:var(--lg-ink);background:var(--lg-paper)}
.life-guide [id]{scroll-margin-top:120px}.lg-wrap{margin-inline:var(--lg-gutter)}
.lg-hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:590px;background:#e8e4d9;align-items:stretch}
.lg-hero-copy{padding:clamp(36px,5vw,88px) clamp(24px,4vw,76px);align-self:center;min-width:0}
.lg-hero h1{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;font-size:clamp(48px,4.7vw,88px)!important;line-height:1.04!important;letter-spacing:-.025em!important;max-width:13ch!important;margin:0 0 25px!important;color:var(--lg-ink)!important}
.lg-hero p{font-size:clamp(16px,1.2vw,19px);line-height:1.7;max-width:47ch;margin:0 0 28px}
.lg-hero figure{position:relative;margin:0;min-height:500px;display:flex;flex-direction:column;background:#173a43}
.lg-hero figure img{display:block;width:100%;height:100%;min-height:500px;object-fit:cover;flex:1}
.lg-hero figcaption{position:relative;background:#173a43;color:#fff;padding:10px 18px;font:11px/1.55 'DM Sans',sans-serif;text-align:left}
.lg-hero figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.lg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:24px}
.lg-button,.lg-button:visited{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:48px;background:var(--lg-ink);color:#fff;border:1px solid var(--lg-ink);font:600 14px/1.35 'DM Sans',sans-serif;text-decoration:none;text-align:center;white-space:normal;box-sizing:border-box}
.lg-link{font:600 14px/1.5 'DM Sans',sans-serif;color:var(--lg-ink);text-decoration:underline;text-underline-offset:5px}
.life-guide a:focus-visible,.life-guide button:focus-visible,.life-guide summary:focus-visible{outline:3px solid #a26a2b;outline-offset:5px}
.lg-jump{display:flex;gap:10px 28px;flex-wrap:wrap;padding:23px var(--lg-gutter);border-bottom:1px solid #173a432f;background:#f7f3eb}
.lg-jump a{font:600 14px/1.5 'DM Sans',sans-serif;color:var(--lg-ink);text-decoration:underline;text-underline-offset:5px}
.lg-section{padding-block:clamp(48px,6vw,90px)}.lg-section+.lg-section{border-top:1px solid #173a4326}
.lg-heading{max-width:820px;margin-bottom:36px}.life-guide .lg-heading h2,.life-guide .lg-day h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(34px,3.2vw,58px);font-weight:400;line-height:1.08;letter-spacing:-.018em;margin:0 0 20px;color:var(--lg-ink)}
.lg-heading p,.lg-day p{max-width:68ch;line-height:1.75;font-size:17px}.lg-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.lg-moments article{border-top:1px solid #173a4352;padding-top:20px}.lg-moments h3{font:400 29px/1.15 'Instrument Serif',Georgia,serif;margin:0 0 16px}.lg-moments p{font-size:16px;line-height:1.75;max-width:56ch;margin:0}
.life-guide .pd-local-story{border:0;background:transparent;padding:0;display:block;border-radius:0;box-shadow:none}
.life-guide .pd-local-story figure{margin:0 0 24px}.life-guide .pd-local-story img{height:320px;width:100%;object-fit:cover;display:block}.life-guide .pd-local-story figcaption{font-size:11px;line-height:1.6;min-height:35px;padding-top:10px}
.life-guide .pd-local-story h3{font:400 clamp(29px,2.6vw,43px)/1.12 'Instrument Serif',Georgia,serif;margin:0 0 18px;max-width:22ch}.life-guide .pd-local-story p{line-height:1.75;max-width:65ch;font-size:16px}
.life-guide .pd-grid:has(.pd-local-story){display:block}.life-guide .pd-local-story{display:grid;grid-template-columns:1fr 1fr;gap:18px 50px;align-items:start;padding-block:35px;border-top:1px solid #173a4333}.life-guide .pd-local-story figure{grid-row:1/5}.life-guide .pd-local-story h3,.life-guide .pd-local-story p,.life-guide .pd-local-story details,.life-guide .pd-local-story>a{grid-column:2;align-self:start}.life-guide .pd-local-story>a{justify-self:start}.life-guide .pd-local-story:nth-child(even) figure{grid-column:2}.life-guide .pd-local-story:nth-child(even) h3,.life-guide .pd-local-story:nth-child(even) p,.life-guide .pd-local-story:nth-child(even) details,.life-guide .pd-local-story:nth-child(even)>a{grid-column:1;grid-row:auto}.life-guide .pd-local-story:nth-child(even) figure{grid-row:1/5}
.life-guide .pd-local-story details{font-size:14px;line-height:1.7}.life-guide summary{cursor:pointer}.life-guide details p{margin-top:15px}
.lg-places{background:#eae7dc}.lg-venue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:0}
.lg-venue{min-width:0;border-top:1px solid #173a4352;padding:30px 0 36px;display:flex;flex-direction:column;gap:0}.lg-venue h3{font:400 clamp(29px,2.6vw,43px)/1.12 'Instrument Serif',Georgia,serif;margin:0 0 12px;max-width:24ch}.lg-venue-address{font:500 13px/1.6 'DM Sans',sans-serif;margin:0 0 19px;color:#415355}.lg-venue>p:not(.lg-venue-address){font-size:16px;line-height:1.8;max-width:68ch;margin:0 0 22px}.lg-venue dl{margin:0 0 26px;max-width:65ch;display:block}.lg-venue dl>div{margin:0 0 18px}.lg-venue dt{font:600 13px/1.5 'DM Sans',sans-serif;margin-bottom:5px}.lg-venue dd{font-size:15px;line-height:1.75;margin:0}.lg-venue .lg-actions{margin-top:auto;align-items:stretch}.lg-venue .lg-actions a{min-height:44px;display:inline-flex;align-items:center}
.lg-venue-note{font-size:13px!important;line-height:1.7;max-width:85ch}.lg-notice{border-left:3px solid var(--lg-accent);padding:14px 20px;background:#fff9;margin:0 0 30px;max-width:80ch;font-size:15px;line-height:1.75}
.lg-day-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.lg-day-grid>div{min-width:0}.lg-day-grid h3{font:400 30px/1.2 'Instrument Serif',Georgia,serif;margin:0 0 20px}.lg-day details{margin-top:32px;border-top:1px solid #173a4344;padding:20px 0}.lg-day summary{font-size:17px;font-weight:600;line-height:1.55}.lg-day .lg-actions{margin-top:24px}.lg-day details p{font-size:16px}
.life-guide .decision-grid{gap:30px}.life-guide .decision-grid>article{background:transparent!important;border:0!important;border-radius:0;padding:20px 0;border-top:1px solid #173a4340!important;box-shadow:none!important}
.life-guide .life-area-grid{grid-template-columns:1fr!important;gap:40px!important}.life-guide .life-area-grid>article{display:grid;grid-template-columns:1fr 1fr;border:0!important;background:transparent!important;gap:45px;align-items:center;padding:0 0 40px;border-bottom:1px solid #173a4330!important;border-radius:0;box-shadow:none}.life-guide .life-area-grid>article figure{margin:0}.life-guide .life-area-grid>article>div{padding:0!important}.life-guide .life-area-grid>article img{width:100%;height:370px;object-fit:cover}.life-guide .life-area-grid>article h2{font-size:clamp(30px,3vw,48px);max-width:22ch}.life-guide .life-area-grid>article p{max-width:62ch;line-height:1.75}.life-guide .life-area-grid>article:nth-child(even)>figure{order:2}
.lg-hub-routine{margin:24px 0;border-top:1px solid #173a4330;padding-top:24px}.lg-hub-routine h3{font:400 28px/1.15 'Instrument Serif',Georgia,serif;margin:0 0 12px}.lg-hub-routine p{font-size:16px;line-height:1.75;max-width:60ch}.lg-hub-routine a{display:inline-flex;min-height:44px;align-items:center;font-weight:600;text-underline-offset:5px}
@media(min-width:1700px){.lg-hero{min-height:690px}.lg-hero figure img{max-height:850px}.life-guide .pd-local-story img,.life-guide .life-area-grid>article img{height:470px}}
@media(max-width:900px){.lg-hero{grid-template-columns:1fr 1fr;min-height:0}.lg-hero-copy{padding:36px 25px}.lg-hero h1{font-size:clamp(42px,5.8vw,60px)!important}.lg-hero figure,.lg-hero figure img{min-height:410px}.lg-moments{gap:22px}.lg-venue-list{column-gap:36px}.lg-day-grid{gap:32px}.life-guide .pd-local-story{gap:16px 28px}.life-guide .pd-local-story img{height:300px}.life-guide .life-area-grid>article{gap:28px}.life-guide .life-area-grid>article img{height:310px}}
@media(max-width:650px){.life-guide{--lg-gutter:20px}.lg-hero{display:flex;flex-direction:column}.lg-hero figure{order:-1;min-height:0}.lg-hero figure img{height:250px;min-height:0;max-height:none;flex:none}.lg-hero-copy{padding:30px 20px 38px}.lg-hero h1{font-size:46px!important;max-width:13ch!important;margin-bottom:21px!important}.lg-hero p{font-size:16px}.lg-hero figcaption{font-size:10px;padding:8px 14px}.lg-jump{gap:14px 22px;padding-block:20px}.lg-moments,.lg-venue-list,.lg-day-grid{grid-template-columns:1fr}.lg-moments{gap:20px}.lg-section{padding-block:44px}.lg-heading{margin-bottom:27px}.lg-venue{padding-block:27px}.lg-venue h3{font-size:34px}.lg-day-grid{gap:30px}.life-guide .pd-local-story{display:block;padding-block:28px}.life-guide .pd-local-story img{height:250px}.life-guide .pd-local-story figure{margin-bottom:22px}.life-guide .pd-local-story h3{font-size:34px}.life-guide .pd-local-story>a{margin-top:18px}.life-guide .life-area-grid>article{display:flex;flex-direction:column;gap:23px;align-items:stretch}.life-guide .life-area-grid>article:nth-child(even)>figure{order:0}.life-guide .life-area-grid>article img{height:260px}.life-guide .life-area-grid>article h2{font-size:34px}.lg-actions{gap:16px}.lg-button{max-width:100%}.lg-venue-list .lg-actions{justify-content:space-between}.lg-venue-note{font-size:13px!important}}
@media(max-width:350px){.lg-hero h1{font-size:41px!important}.lg-hero figure img{height:220px}.lg-actions{align-items:stretch;flex-direction:column}.lg-venue .lg-actions{flex-direction:row}.lg-jump{gap:12px 18px}}
/* Join new sections to each site's actual current presentation frame. */
body[data-portfolio-site] .life-guide{--lg-gutter:var(--reading-edge)}
body:is([data-site=south-end],[data-site=beacon-hill]) .life-guide{--lg-gutter:max(32px,calc((100vw - 1180px)/2))}
@media(max-width:900px){body:is([data-site=south-end],[data-site=beacon-hill]) .life-guide{--lg-gutter:20px}}
@media(max-width:600px){body:is([data-site=south-end],[data-site=beacon-hill]) .life-guide{--lg-gutter:16px}}
/* Portrait source files must not determine the editorial hero's row height. */
.lg-hero figure{height:clamp(540px,44vw,730px)}
.lg-hero figure img{min-height:0;min-width:0;height:100%;flex:1 1 0;object-fit:cover}
.life-guide .life-area-grid>article{grid-template-rows:auto!important;grid-template-areas:'photo copy';grid-row:auto!important;grid-column:auto!important}
.life-guide .life-area-grid>article>figure{grid-area:photo!important;order:0!important}
.life-guide .life-area-grid>article>div{grid-area:copy!important;order:0!important}
.life-guide .life-area-grid>article:nth-child(even){grid-template-areas:'copy photo'}
@media(max-width:900px){.lg-hero figure{height:510px}}
@media(max-width:650px){.lg-hero figure{height:auto}.lg-hero figure img{height:250px;flex:none}.life-guide .life-area-grid>article{grid-template-areas:none}.life-guide .life-area-grid>article>figure,.life-guide .life-area-grid>article>div{grid-area:auto!important}}
@media(max-width:350px){.lg-hero figure img{height:220px}}
/* Existing photo-alignment runtime adds flex card classes after load. Keep the settled editorial area composition. */
.life-guide .life-area-grid>article.photo-align-card{display:grid!important;align-items:center!important}
.life-guide .life-area-grid>article>figure,.life-guide .life-area-grid>article>.photo-align-body{width:100%!important;max-width:none!important;min-width:0;justify-self:stretch}
@media(max-width:650px){.life-guide .life-area-grid>article.photo-align-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}}
