*,*::before,*::after{box-sizing:border-box}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p,ul,dl,blockquote,figure{margin-top:0}
[id]{scroll-margin-top:9rem}
:focus-visible{outline:3px solid var(--link);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:.6rem;left:.6rem;transform:translateY(-180%);padding:.7rem 1rem;background:var(--text-primary);color:var(--page-background);font-weight:800}
.skip-link:focus{transform:none}
.direct-contact{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-weight:800;text-decoration:none}
.direct-contact span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:var(--accent-contrast)}
.community-menu summary{display:none}
.community-menu nav{border-top:1px solid var(--border);background:var(--surface)}
.community-menu ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));width:min(82rem,100%);margin:0 auto;padding:0;list-style:none}
.community-menu li+li{border-left:1px solid var(--border)}
.community-menu a{display:flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.4rem .7rem;font-size:.7rem;font-weight:750;letter-spacing:.05em;text-align:center;text-decoration:none;text-transform:uppercase}
.welcome>p,.general-info>p,.information-panel>div>p,.facility-list header>p,.community-gallery header>p,.contact-facts>div>p,.contact-banner>div>p{color:var(--accent);font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.welcome>div{max-width:38rem;color:var(--text-secondary);font-size:1.05rem}
.welcome nav{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.welcome nav a,.contact-banner>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1rem;border:1px solid var(--border);background:var(--surface);font-size:.8rem;font-weight:800;text-decoration:none}
.welcome nav a:first-child{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}
.community-opening figcaption{position:absolute;right:1rem;bottom:1rem;padding:.35rem .65rem;background:var(--page-background);font-family:Georgia,serif;font-size:.8rem;font-style:italic}
.quick-facts p{margin:0;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase}
.quick-facts ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem 3rem;margin:0;padding:0;list-style:none;font-weight:750}
.general-info>div>p{max-width:48rem;color:var(--text-secondary);font-size:1.08rem}
.information-panel .rich{max-width:39rem;color:var(--text-secondary)}
.information-panel .rich ul{padding-left:1.25rem}
.facility-list>header{display:grid;grid-template-columns:.45fr 1.55fr;gap:2rem;margin-bottom:3rem}
.facility-list h2{max-width:18ch}
.facility-list>div{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}
.facility-list article+article{border-left:1px solid var(--border)}
.facility-list article p{color:var(--text-secondary);font-size:.88rem}
.community-gallery{padding:clamp(5rem,8vw,8rem) max(1.2rem,calc((100vw - 82rem)/2));background:var(--surface)}
.community-gallery>header{display:grid;grid-template-columns:.45fr 1.55fr;gap:2rem;margin-bottom:3rem}
.community-gallery h2{max-width:15ch}
.community-gallery>div{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.community-gallery figure{margin:0}
.community-gallery img{height:auto;aspect-ratio:16/10}
.community-gallery figcaption{padding-top:.7rem;color:var(--text-secondary);font-size:.78rem}
.contact-facts dl{margin:0;border-top:1px solid var(--border)}
.contact-facts dl>div{display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border)}
.contact-facts dt{color:var(--text-secondary);font-size:.7rem;font-weight:800;text-transform:uppercase}
.resident-note{padding:clamp(5rem,9vw,9rem) max(1.2rem,8vw);background:var(--surface)}
.resident-note blockquote{max-width:65rem;margin:auto;text-align:center}
.resident-note blockquote p{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4.2rem);line-height:1.08}
.resident-note footer{color:var(--text-secondary);font-size:.75rem}
.contact-banner>div>p{color:inherit}
.contact-banner>div>p:last-child{max-width:40rem}
.community-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem max(1.2rem,calc((100vw - 82rem)/2));border-top:1px solid var(--border);font-size:.75rem}
.community-footer>div>a{font-family:Georgia,serif;font-size:1rem;font-style:italic;text-decoration:none}
.community-footer p{margin:.3rem 0 0;color:var(--text-secondary)}
.community-footer ul{display:flex;gap:1.5rem;margin:0;padding:0;list-style:none}
.community-footer a{text-decoration:none}

@media(max-width:820px){[id]{scroll-margin-top:5rem}
.identity-band{grid-template-columns:1fr auto;min-height:4.5rem}
.community-name{padding-inline:1rem}
.identity-band p{display:none}
.community-menu{position:absolute;right:1rem;top:.75rem}
.community-menu summary{display:flex;align-items:center;min-height:44px;padding:0 .8rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.7rem;list-style:none;text-transform:uppercase}
.community-menu summary::-webkit-details-marker{display:none}
.community-menu:not([open]) nav{display:none}
.community-menu[open] nav{position:absolute;top:3.1rem;right:0;width:min(20rem,calc(100vw - 2rem));border:1px solid var(--border)}
.community-menu ul{display:grid;grid-template-columns:1fr}
.community-menu li+li{border-top:1px solid var(--border);border-left:0}
.community-menu a{justify-content:flex-start;padding-inline:1rem}
.direct-contact{display:none}
.community-opening,.general-info,.information-panel,.information-panel.reverse,.facility-list>header,.community-gallery>header,.contact-facts,.contact-banner{grid-template-columns:1fr}
.community-opening{padding-top:3rem}
.community-opening figure{min-height:27rem}
.quick-facts{grid-template-columns:1fr}
.quick-facts ul{justify-content:flex-start}
.information-panel.reverse img{order:2}
.facility-list>div{grid-template-columns:1fr}
.facility-list article+article{border-top:1px solid var(--border);border-left:0}
.facility-list span{margin-bottom:1rem}
.contact-banner>a{justify-self:start}
.community-footer{display:grid}
.community-gallery>div{grid-template-columns:1fr}
}
@media(max-width:520px){.identity-band{width:100%}
.community-name{font-size:1.25rem}
.community-opening,.quick-facts,.general-info,.information-panel,.facility-list,.contact-facts,.contact-banner{width:calc(100% - 1.25rem)}
.welcome h1{font-size:clamp(3rem,15vw,4.8rem)}
.community-opening figure,.information-panel img{min-height:23rem}
.information-panel>div{padding:2rem 1.25rem}
.contact-facts dl>div{grid-template-columns:1fr;gap:.3rem}
.contact-banner{margin:.75rem auto}
.community-footer{padding-inline:.75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}



/* Shared interaction language; composition remains template-specific. */
[hidden] { display: none !important; }
html {scroll-behavior:smooth; color-scheme: light dark; background: var(--page-background); }
body {margin:0;background:var(--page-background);color:var(--text-primary);font:16px/1.65 ui-sans-serif,system-ui,sans-serif; overflow-wrap: anywhere; }
h1,h2,h3,p,li,dd,dt,article,section,figure { min-width: 0; }
a {color:inherit; text-underline-offset: .22em; }
a:focus-visible,summary:focus-visible,button:focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
.actions { flex-wrap: wrap; }
.actions:empty { display: none; }
.header-tools { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; min-width: 0; }
.site-footer { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: baseline; justify-content: space-between; padding: 2rem 0; border-top: 1px solid var(--border); color: var(--text-secondary); }
.site-footer a { color: var(--link); }
dd,address { white-space: pre-line; }
.theme-switcher { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 10px; border: 0; border-radius: 4px; background: transparent; color: var(--text-secondary); cursor: pointer; }
.theme-switcher:hover { color: var(--link); background: var(--surface); }
.theme-switcher:focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
.theme-switcher svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.theme-switcher[data-theme-mode="light"] [data-theme-icon="light"],
.theme-switcher[data-theme-mode="dark"] [data-theme-icon="dark"] { display: none; }



/* Park Linden: generous reading space without oversized empty stages. */
.community-header {z-index:30;top:0;background:var(--page-background);box-shadow:0 1px 0 var(--border); position: relative; }
.identity-band {display:grid;align-items:center;width:min(82rem,calc(100% - 2.5rem));margin:auto; grid-template-columns: minmax(0,1fr) auto auto; gap: 1.5rem; padding-block: 1.25rem; min-height: 0; }
.identity-band p {font-size:.85rem; margin: 0; color: var(--text-secondary); }
.community-wide-nav { border-block: 1px solid var(--border); }
.community-wide-nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; width: min(82rem,calc(100% - 3rem)); margin: auto; padding: .5rem 0; list-style: none; }
.community-wide-nav a { display: block; min-height: 44px; padding: .6rem 0; text-decoration: none; font-weight: 600; font-size: .875rem; }
.community-menu { display: none; }
.community-opening {display:grid;align-items:center;width:min(82rem,calc(100% - 2.5rem));margin:0 auto;padding:clamp(3rem,7vw,7rem) 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-block: 3rem; gap: 3rem; }
.welcome h1 {margin-bottom:1.3rem;font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em; font-size: clamp(3rem,5vw,5rem); line-height: 1.04; max-width: 14ch; }
.community-opening figure {position:relative;margin:0; min-height: 0; height: 25rem; overflow: hidden; border-radius: .5rem; }
.community-opening--text { grid-template-columns: minmax(0,1fr); }
.community-opening--text .welcome { max-width: 60rem; }
.community-opening--text h1 { max-width: 20ch; }
.quick-facts {display:grid;gap:2rem;width:min(82rem,calc(100% - 2.5rem));margin:auto;padding:1.2rem 0;border-block:1px solid var(--border); grid-template-columns: auto 1fr; padding-block: 1.25rem; }
.general-info,.contact-facts { padding-block: 3.5rem; gap: 2rem 4rem; }
.general-info {display:grid;gap:2rem 4rem;width:min(82rem,calc(100% - 2.5rem));margin:auto;padding:3.5rem 0; grid-template-columns: minmax(0,.5fr) minmax(0,1.5fr); }
.general-info h2,.information-panel h2,.facility-list h2,.community-gallery h2,.contact-facts h2,.contact-banner h2 {margin-bottom:1.2rem;font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em; font-size: clamp(2rem,3.6vw,3.5rem); line-height: 1.12; }
.information-panel {display:grid;grid-template-columns:1fr 1fr;gap:0;width:min(82rem,calc(100% - 2.5rem));margin:0 auto clamp(4rem,8vw,8rem);background:var(--surface); margin-bottom: 3rem; border-radius: .5rem; overflow: hidden; }
.information-panel>div { padding: 2.5rem; }
.information-panel img { min-height: 0; height: 100%; max-height: 32rem; }
.information-panel--text { grid-template-columns: minmax(0,1fr); }
.information-panel--text .rich { max-width: 65ch; }
.facility-list {width:min(82rem,calc(100% - 2.5rem));margin:auto;padding:clamp(4rem,7vw,7rem) 0; padding-block: 2rem 3rem; }
.facility-list>header,.community-gallery>header { display: block; margin-bottom: 1.5rem; }
.facility-list h2,.community-gallery h2 { max-width: 26ch; }
.facility-list span {margin-bottom:3rem;color:var(--accent);font-size:.7rem;font-weight:850; display: none; }
.facility-list article { padding: 1.5rem; }
.facility-list h3 {font-family:Georgia,serif;font-weight:400; font-size: 1.5rem; }
.community-gallery,.resident-note { padding-block: 3rem; }
.contact-facts {display:grid;gap:2rem 4rem;width:min(82rem,calc(100% - 2.5rem));margin:auto;padding:3.5rem 0; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
.contact-facts dd {margin:0;font-weight:750; white-space: pre-line; }
.contact-banner>a { background: var(--accent); color: var(--accent-contrast); border-color: var(--accent); }
.contact-banner {display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;width:min(82rem,calc(100% - 2.5rem));margin:2rem auto; margin-block: 1rem 3rem; padding: 2.5rem; border-radius: .5rem; border: 1px solid var(--border); background:var(--surface); color:var(--text-primary); }
.contact-banner h2{margin-bottom:.8rem}
@media(max-width:60rem) {
 .identity-band { grid-template-columns: minmax(0,1fr) auto; padding-inline-end: 5rem; }
 .identity-band p,.direct-contact,.community-wide-nav { display: none; }
 .community-menu { display: block; position: absolute; right: 1rem; top: 1.25rem; }
 .community-menu summary { display: flex; min-height: 44px; align-items: center; padding: .5rem .75rem; border: 1px solid var(--border); background: var(--surface); cursor: pointer; font-size: .875rem; }
 .community-menu nav { position: absolute; top: 3rem; right: 0; width: min(22rem,calc(100vw - 2rem)); background: var(--surface); border: 1px solid var(--border); box-shadow: 0 8px 24px #0002; }
 .community-menu ul { display: block; margin: 0; padding: .5rem; list-style: none; }
 .community-menu a { display: block; padding: .75rem; min-height: 44px; text-decoration: none; }
 .community-opening,.general-info,.contact-facts,.information-panel,.contact-banner { grid-template-columns: minmax(0,1fr); }
 .community-opening figure { height: 22rem; }
 .information-panel img { max-height: 24rem; }
}
@media(max-width:40rem) {
 .community-opening,.quick-facts,.general-info,.information-panel,.facility-list,.contact-facts,.contact-banner { width: calc(100% - 2rem); }
 .community-opening { gap: 2rem; padding-block: 2rem; }
 .community-opening figure { height: 18rem; }
 .quick-facts { grid-template-columns: minmax(0,1fr); gap: .75rem; }
 .quick-facts ul { justify-content: start; gap: .5rem 1.5rem; }
 .information-panel>div,.contact-banner { padding: 1.5rem; }
 .facility-list>div { grid-template-columns: minmax(0,1fr); }.identity-band{width:100%}
}

.community-name {align-self:stretch;display:flex;align-items:center;font-family:Georgia,serif;font-style:italic;text-decoration:none; font-size: clamp(1.5rem,3vw,2.5rem); background:transparent; color:var(--text-primary); padding:0; }
.contact-banner>p { font:inherit; text-transform:none; letter-spacing:normal; }
@media(max-width:60rem) { .community-header .identity-band{grid-template-columns:minmax(0,1fr) auto; padding-right:5.5rem} }

h1 { color:var(--accent); }

.community-header .identity-band{grid-template-columns:minmax(0,1fr) auto;gap:1.5rem}
.community-identity{min-width:0}.community-identity .community-name{display:inline-block;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2}
.community-identity p{display:block;margin:.5rem 0 0;max-width:55ch;font-size:.875rem;line-height:1.5}
@media(max-width:60rem){.community-header .identity-band{padding-right:5.5rem}.community-identity p{font-size:.8125rem}.community-menu{top:1.25rem}}

.community-opening nav:not(:has(a)) { display: none; }
