.commune-page{padding:12px;background:var(--surface)}.commune-page .commune-hero{position:relative;min-height:640px;padding:clamp(2rem,6vw,6rem);border-radius:var(--radius-card-lg);background:var(--brand-deep);color:#fff;overflow:hidden}.commune-hero-copy{position:relative;z-index:1;width:64%}.commune-page h1{font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;font-weight:500;line-height:1.08;margin:0;overflow-wrap:break-word}.commune-page .clip-mask{display:block;padding-bottom:.12em;margin-bottom:-.12em}.commune-page .clip-mask .inner{display:block}.commune-hero-copy>p{max-width:60ch;font-size:1rem;line-height:1.8;color:#e1e7ef;margin:2rem 0}.commune-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem}.commune-page .commune-text-link{display:inline-flex;gap:.6rem;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:.25em;font-size:.875rem}.commune-hero-copy>.commune-location{font-size:.75rem;margin-bottom:0;color:#e1e7ef}.commune-portrait{position:absolute;right:0;bottom:0;width:36%;height:85%}.commune-portrait img{object-fit:contain;object-position:bottom}.commune-page .commune-section{padding:clamp(2rem,6vw,6rem);margin-top:12px;border-radius:var(--radius-card-lg)}.commune-faq,.commune-market{background:#fff}.commune-preparation{background:var(--surface)}.commune-page h2{font-size:clamp(2rem,4vw,4rem);line-height:1.08;letter-spacing:-.03em;font-weight:500;margin:0}.commune-page h3{font-weight:500;font-size:1.25rem;line-height:1.5;margin:0 0 1rem}.commune-page .commune-intro{font-size:1rem;color:var(--ink-soft);line-height:1.8;max-width:70ch;margin:2rem 0 3rem}.commune-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem)}.commune-editorial-grid p,.commune-support-grid p{color:var(--ink-soft);line-height:1.8;max-width:65ch;margin:0 0 1.25rem;font-size:.9375rem}.commune-lines{list-style:none;padding:0;margin:0 0 1.5rem}.commune-lines li{padding:1rem 0;border-bottom:1px solid var(--hairline);font-size:.9375rem;line-height:1.8;color:var(--ink-soft)}.commune-lines li:first-child{padding-top:0}.commune-support{background:var(--brand-deep);color:#fff}.commune-page .commune-support .commune-intro,.commune-support-grid p{color:#e1e7ef}.commune-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin:3rem 0}.commune-support-grid>div{padding-top:1.5rem;border-top:1px solid #ffffff50}.commune-faq-list{margin-top:3rem;max-width:60rem}.commune-faq-list details{border-bottom:1px solid var(--hairline)}.commune-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;list-style:none;padding:1.5rem 0;font-size:1rem;line-height:1.6}.commune-faq-list summary::-webkit-details-marker{display:none}.commune-faq-list summary svg{flex-shrink:0;transition:transform .18s}.commune-faq-list details[open] summary svg{transform:rotate(180deg)}.commune-faq-list p{max-width:70ch;line-height:1.8;color:var(--ink-soft);margin:0 0 1.5rem;font-size:.9375rem}.commune-nearby{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:3rem}.commune-nearby p{flex-basis:100%;margin:0;color:var(--ink-soft)}.commune-nearby a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--brand-deep);text-underline-offset:.25em}.commune-page :is(a,summary):focus-visible{outline:2px solid var(--brand-light);outline-offset:5px}@media (hover:hover){.commune-nearby a:hover,.commune-page .commune-text-link:hover{text-decoration-thickness:2px}}@media (max-width:899px){.commune-hero-copy{width:100%}.commune-page .commune-hero{min-height:auto;padding-bottom:0}.commune-portrait{position:relative;height:300px;width:260px;margin:2rem auto 0}.commune-support-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width:639px){.commune-page{padding:8px}.commune-page .commune-section{margin-top:8px}.commune-editorial-grid{grid-template-columns:1fr;gap:2rem}.commune-actions{align-items:flex-start;flex-direction:column;gap:1rem}.commune-hero-copy>p,.commune-page .commune-intro{font-size:.9375rem}.commune-portrait{height:260px}}@media (prefers-reduced-motion:reduce){.commune-faq-list summary svg{transition:none}}