/* Shared visual refinement: clear sections, shorter reading paths and generous space. */
:root { --paper:#f7f9f5; --line:#dfe6dc; }
body { overflow-wrap:break-word; }
main { min-height:55vh; }
.wrap { max-width:1264px; }
.nav { height:94px; }
.brand img { width:174px; height:78px; }
.links a { font-size:.9rem; transition:color .18s; }
.links a[aria-current="page"] { text-decoration:underline; text-decoration-color:#8aa72e; text-underline-offset:9px; text-decoration-thickness:2px; }
.button { border-radius:50px; padding:15px 24px; }
.button:hover { transform:translateY(-1px); }
.button.outline:hover { background:#e7eddc; }
.eyebrow { line-height:1.5; font-size:.76rem; letter-spacing:1.7px; }
h1,h2,h3 { text-wrap:balance; }
h1 em { font-family:Georgia,serif; font-weight:400; }
h2 { font-size:clamp(1.9rem,3.1vw,2.75rem); letter-spacing:-1.3px; }
h3 { font-size:1.4rem; }
p { line-height:1.75; }
.section { padding-top:76px; padding-bottom:76px; }
.section-tight { padding-top:0; }
.page-head { max-width:1264px; padding-top:45px; padding-bottom:48px; }
.page-head h1 { max-width:870px; font-size:clamp(2.5rem,4.7vw,3.8rem); }
.page-head .lead { max-width:650px; font-size:1.125rem; }
.breadcrumb { margin-bottom:28px; font-size:.85rem; }
.page-head .eyebrow { margin-bottom:17px; }
.hero { padding-top:52px; padding-bottom:58px; }
.hero h1 { font-size:clamp(2.6rem,4.7vw,4rem); }
.hero-photo>img { border-radius:100px 22px 100px 22px; }
.photo-note { border-radius:14px; }
.value { border:0; border-top:2px solid #cbdba7; border-radius:0; background:transparent; padding:26px 16px 0 0; }
.value .number { font-size:1.15rem; font-family:inherit; font-weight:bold; margin-bottom:24px; }
.value p { max-width:330px; }
.facts { background:#143f32; }
.fact span { font-size:.86rem; }
.group { border-radius:22px; }
.join { border-radius:26px; }
.contact-details { border-top:0; background:white; border-radius:22px; padding:15px 27px 27px; }
.contact-row { grid-template-columns:120px minmax(0,1fr); }
.contact-row p { overflow-wrap:anywhere; }
.contact-row:last-of-type { border-bottom:0; }
.footer { padding-top:50px; }
.footer-top h3 { font-size:1.3rem; }
.footer-links a { padding:8px 0; }
.footer-links a:hover { text-decoration-thickness:2px; }
.editorial-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; align-items:center; padding-top:45px; padding-bottom:45px; }
.editorial-hero h1 { font-size:clamp(2.5rem,4.1vw,3.6rem); line-height:1.12; letter-spacing:-2px; margin:0 0 24px; }
.editorial-hero .lead { color:var(--muted); max-width:460px; font-size:1.125rem; }
.editorial-photo { margin:0; min-width:0; }
.editorial-photo img { width:100%; height:330px; object-fit:cover; border-radius:24px; }
.editorial-hero .editorial-photo img { border-radius:24px 85px 24px 24px; height:340px; }
.editorial-photo figcaption { font-size:.82rem; line-height:1.55; color:var(--muted); margin-top:11px; padding:0 3px; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.tags span { font-size:.8rem; font-weight:700; padding:6px 12px; border:1px solid #cdd9c8; border-radius:30px; }
.topic-nav { display:flex; flex-wrap:wrap; gap:10px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.topic-nav a { display:flex; align-items:center; justify-content:space-between; gap:23px; text-decoration:none; font-size:.88rem; font-weight:700; padding:11px 15px; border-radius:30px; background:#e9eee3; }
.topic-nav a:hover { background:var(--lime); }
.topic-nav span { font-size:1rem; }
.editorial-row { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; align-items:start; }
.editorial-row p { color:var(--muted); }
.section-intro>p { max-width:430px; }
.principles article { display:flex; gap:22px; border-bottom:1px solid var(--line); padding:23px 0; }
.principles article:first-child { padding-top:0; }
.principles article>span { background:var(--lime); border-radius:50%; width:42px; height:42px; flex-shrink:0; display:grid; place-items:center; font-size:.85rem; font-weight:700; }
.principles h3 { margin-bottom:7px; }
.principles p { margin:0; }
.band { background:#edf2e8; }
.story-pair { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.story-pair>article { min-width:0; }
.story-pair .editorial-photo img { height:265px; border-radius:20px; }
.story-copy { padding:28px 4px 0; }
.story-copy>.eyebrow { margin-bottom:12px; }
.story-copy>p { max-width:490px; color:var(--muted); }
.feature-duo { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.feature-panel { border-radius:25px; padding:38px; min-width:0; }
.green-panel { background:#e4ecd7; }
.yellow-panel { background:#f7edce; }
.feature-panel h3 { font-size:2rem; line-height:1.15; letter-spacing:-.8px; margin-bottom:22px; }
.feature-panel p { max-width:470px; }
.feature-panel h2 { font-size:2.1rem; }
.more { border-top:1px solid #173c3226; border-bottom:0; padding:0; margin-top:22px; }
.more summary { display:flex; align-items:center; gap:22px; justify-content:space-between; font-size:.94rem; line-height:1.5; list-style:none; padding:19px 0; min-height:52px; }
.more summary::-webkit-details-marker { display:none; }
.more summary::after { content:'+'; font-size:1.5rem; font-weight:400; line-height:1; flex-shrink:0; }
.more[open] summary::after { content:'−'; }
.detail-copy p { padding:0; margin:0 0 16px; font-size:.96rem; }
.detail-copy p:last-child { margin-bottom:22px; }
.accordion-stack { border-top:1px solid #bccbb7; }
.accordion-stack .more { margin:0; border-top:0; border-bottom:1px solid #bccbb7; }
.accordion-stack summary { font-size:1.1rem; padding:25px 0; }
.dayline { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:0; padding:0; list-style:none; counter-reset:day; }
.dayline li { border-top:2px solid #9eb867; padding-top:26px; }
.day-label { font-size:.83rem; color:#49603c; display:block; margin-bottom:17px; font-weight:bold; }
.dayline h3 { font-size:1.25rem; }
.dayline p { color:var(--muted); margin:0; }
.closing { background:var(--green); color:white; border-radius:25px; padding:44px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.closing h2 { font-size:2.1rem; margin-bottom:15px; }
.closing .eyebrow { color:var(--lime); margin-bottom:15px; }
.closing p { color:#deeadf; margin:0; max-width:610px; }
.closing .button { flex-shrink:0; }
.group-overview { align-items:start; }
.group-overview .group { padding:30px; }
.group-overview .eyebrow { margin-bottom:27px; }
.short-list { margin:24px 0 0; padding:0; list-style:none; font-size:.95rem; }
.short-list li { border-top:1px solid #173c321c; padding:10px 0; }
.group-overview .more { margin-top:12px; }
.hours-panel { background:white; border-radius:24px; padding:35px; }
.hours-panel>strong { display:block; font-size:2.5rem; font-weight:500; letter-spacing:-1px; line-height:1.2; margin-bottom:10px; }
.hours-panel>span:not(.eyebrow) { color:var(--muted); font-size:.9rem; }
.hour-options { display:flex; gap:24px; border-top:1px solid var(--line); margin-top:24px; padding-top:24px; }
.hour-options span { font-size:.9rem; }
.hour-options b { display:block; font-size:1.65rem; }
.hours-panel .small { margin:16px 0 0; }
.gallery { gap:30px; }
.gallery .editorial-photo img { height:290px; }
.history article { display:flex; align-items:start; gap:30px; padding:0 0 26px; }
.history article>strong { font-size:2rem; font-weight:500; }
.history article p { margin:0; padding-top:5px; }
.board-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.board-grid article { padding:25px; background:white; border:1px solid var(--line); border-radius:16px; }
.board-grid .eyebrow { margin-bottom:16px; }
.board-grid h3 { font-size:1.2rem; margin:0; }
.team-section { display:grid; grid-template-columns:270px 1fr; gap:50px; padding:40px 0; border-top:1px solid var(--line); }
.team-section h2 { font-size:1.7rem; line-height:1.25; letter-spacing:-.5px; }
.team-section .team-grid { grid-template-columns:1fr 1fr; gap:18px; align-content:start; }
.person { display:flex; gap:16px; align-items:start; background:white; padding:23px; border:1px solid var(--line); border-radius:16px; }
.person h3 { font-size:1.08rem; }
.person p { font-size:.9rem; line-height:1.6; }
.initials { display:grid; place-items:center; border-radius:50%; background:#e8efda; width:43px; height:43px; flex-shrink:0; font-size:.82rem; font-weight:700; }
.team-note { margin:15px 0 0; }
.career-card { display:grid; grid-template-columns:1fr 1fr; border-radius:25px; overflow:hidden; border:1px solid var(--line); background:white; }
.career-heading { background:#e4ecd7; padding:42px; }
.career-heading h2 { font-size:clamp(1.8rem,2.5vw,2.4rem); overflow-wrap:anywhere; }
.career-heading .small { margin-top:25px; margin-bottom:0; }
.career-details { padding:42px; }
.benefits { padding-left:20px; margin:22px 0; }
.benefits li { margin-bottom:12px; }
.career-details>.textlink { margin-top:28px; }
.info-box { background:white; border:1px solid var(--line); border-radius:20px; padding:30px; }
.legal-layout { display:grid; grid-template-columns:265px minmax(0,1fr); gap:70px; padding-bottom:85px; align-items:start; }
.legal-layout aside { position:sticky; top:125px; }
.legal-layout nav { border-top:1px solid var(--line); padding-top:22px; }
.legal-layout nav a { display:block; font-size:.9rem; line-height:1.55; text-decoration:none; padding:9px 0; color:var(--muted); }
.legal-layout nav a:hover { color:var(--green); text-decoration:underline; }
.legal-copy { min-width:0; max-width:740px; }
.legal-section { border-top:1px solid var(--line); padding:28px 0 12px; }
.legal-section h2 { font-size:1.55rem; line-height:1.3; letter-spacing:-.4px; }
.legal-section p { overflow-wrap:anywhere; }
.legal-section .small { margin-top:25px; }
[id] { scroll-margin-top:115px; }
@media (max-width:1050px) {
 .editorial-hero { gap:35px; }
 .editorial-row { gap:45px; }
 .team-section { grid-template-columns:210px 1fr; gap:30px; }
 .team-section .team-grid { grid-template-columns:1fr; }
 .closing { align-items:start; flex-direction:column; gap:25px; }
 .feature-panel,.career-heading,.career-details { padding:30px; }
 .group-overview { grid-template-columns:1fr; }
 .group-overview .group { display:block; }
 .legal-layout { gap:35px; grid-template-columns:220px minmax(0,1fr); }
}
@media (max-width:760px) {
 .nav { height:80px; }
 .brand img { width:150px; height:66px; }
 .links { top:80px; padding:20px 24px; }
 .links a { font-size:1rem; padding:8px 0; }
 .links a.button { padding:14px; }
 .links a[aria-current="page"] { text-underline-offset:5px; }
 .section { padding-top:50px; padding-bottom:50px; }
 .section-tight { padding-top:0; }
 .hero { padding-top:35px; }
 .hero h1 { font-size:clamp(2.2rem,9.5vw,3rem); letter-spacing:-1.5px; }
 .hero-photo { margin-top:12px; }
 .hero-photo>img { height:285px; }
 .page-head { padding-top:30px; padding-bottom:32px; }
 .page-head h1 { font-size:clamp(2.15rem,9vw,2.75rem); letter-spacing:-1.2px; }
 .page-head .lead,.editorial-hero .lead { font-size:1.05rem; }
 .breadcrumb { margin-bottom:25px; }
 .editorial-hero { grid-template-columns:1fr; gap:25px; padding-top:30px; padding-bottom:30px; }
 .editorial-hero h1 { font-size:clamp(2.15rem,9vw,2.75rem); letter-spacing:-1.4px; }
 .editorial-hero .editorial-photo img { height:230px; border-radius:20px 65px 20px 20px; }
 .tags { margin-top:19px; }
 .topic-nav { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:16px 0; }
 .topic-nav a { font-size:.8rem; padding:10px 12px; gap:7px; }
 .editorial-row,.story-pair,.feature-duo,.career-card { grid-template-columns:1fr; gap:30px; }
 .feature-duo { gap:16px; }
 .feature-panel { padding:28px; border-radius:20px; }
 .feature-panel h3,.feature-panel h2 { font-size:1.8rem; }
 .story-pair { gap:36px; }
 .story-pair .editorial-photo img { height:215px; }
 .story-copy { padding-top:23px; }
 .dayline { grid-template-columns:1fr; gap:26px; }
 .dayline li { padding-top:23px; }
 .day-label { margin-bottom:12px; }
 .closing { padding:28px; border-radius:20px; }
 .closing h2 { font-size:1.8rem; }
 .closing .button { max-width:100%; white-space:normal; text-align:center; }
 .contact-details { padding:12px 21px 23px; }
 .contact-row { grid-template-columns:1fr; gap:7px; }
 .hours-panel { padding:28px; }
 .hours-panel>strong { font-size:2.2rem; }
 .hour-options { gap:23px; }
 .board-grid { grid-template-columns:1fr 1fr; gap:12px; }
 .board-grid article { padding:20px; }
 .board-grid .eyebrow { font-size:.7rem; letter-spacing:.8px; overflow-wrap:anywhere; }
 .board-grid h3 { font-size:1.05rem; }
 .history article { gap:22px; }
 .team-section { grid-template-columns:1fr; gap:10px; padding:28px 0; }
 .team-section h2 { font-size:1.65rem; }
 .team-section .team-grid { grid-template-columns:1fr; gap:12px; }
 .person { padding:22px; }
 .career-card { gap:0; }
 .career-heading,.career-details { padding:28px; }
 .career-heading h2 { font-size:clamp(1.55rem,6.8vw,2.1rem); }
 .legal-layout { grid-template-columns:1fr; gap:30px; padding-bottom:45px; }
 .legal-layout aside { position:static; }
 .legal-layout nav { background:#eaf0e3; padding:23px; border:0; border-radius:18px; }
 .legal-layout nav a { padding:7px 0; }
 .legal-layout .eyebrow { margin-bottom:13px; }
 .legal-section { padding-top:24px; }
 .legal-section h2 { font-size:1.4rem; }
 [id] { scroll-margin-top:100px; }
}
@media (prefers-reduced-motion:reduce) { .button:hover { transform:none; } }
