/* Review proposal: compact story introductions and native, keyboard-friendly disclosures. */
.expandable-story{border-top:1px solid var(--line);padding-top:32px;margin-top:36px;scroll-margin-top:125px}
.story-preview{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:44px;align-items:center}
.story-preview-photo{min-width:0;margin:0}
.story-preview-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:320px;object-fit:contain;border-radius:var(--radius-photo,16px);margin-inline:auto}
.story-preview-photo figcaption{font:15px/1.6 var(--sans);color:var(--muted);margin-top:10px}
.story-preview-copy{min-width:0}
.story-kicker{font:600 13px/1.7 var(--sans);letter-spacing:.09em;color:var(--rust);margin:0}
.story-preview-copy h3{font:38px/1.12 var(--serif);letter-spacing:-.03em;margin:15px 0 0;max-width:630px}
.story-teaser{font:19px/1.75 var(--sans);color:var(--muted);margin:19px 0 0;max-width:700px}
.story-role{display:block;margin:21px 0 0;padding:0 0 0 17px;border-left:2px solid var(--rust)}
.story-role dt{font:600 13px/1.6 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--green);margin:0 0 5px}
.story-role dd{font:17px/1.7 var(--sans);color:var(--muted);margin:0}
.story-expansion{margin-top:24px}
.story-expansion>summary{display:flex;width:fit-content;max-width:100%;align-items:center;gap:26px;margin-left:calc(41% + 26px);font:17px/1.5 var(--sans);color:var(--green);list-style:none;border-bottom:1px solid var(--green);padding:9px 0;cursor:pointer}
.story-expansion>summary::-webkit-details-marker{display:none}
.story-control-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.story-close{display:none}
.story-expansion[open]>summary .story-read{display:none}
.story-expansion[open]>summary .story-close{display:inline}
.story-plus{color:var(--rust);font-size:25px;line-height:1;font-weight:400}
.story-expansion[open]>summary .story-plus{transform:rotate(45deg)}
.story-full-content{border-top:1px solid var(--line);margin-top:28px;padding-top:30px}
.story-full-prose{max-width:880px;margin-inline:auto;font:19px/1.8 var(--sans);color:var(--muted)}
.story-full-prose p{margin:0 0 20px;font:inherit;color:inherit}
.story-full-prose h4{font:28px/1.25 var(--serif);color:var(--green);letter-spacing:-.02em;margin:28px 0 18px}
.story-full-prose blockquote{margin:28px 0 17px;font:italic 29px/1.45 var(--serif);letter-spacing:-.02em;color:var(--green)}
.story-full-prose .quote-credit{font:16px/1.65 var(--sans);color:var(--green);margin-bottom:25px}
.story-full-prose .second-quote{padding:0;margin-top:25px;border:0}
.story-full-prose .route{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font:16px/1.6 var(--sans);color:var(--green);margin:25px 0}
.story-full-prose .route i{width:18px;height:1px;background:var(--line)}
.story-expansion .photo-gallery:has(figure:only-child){grid-template-columns:1fr;max-width:650px;margin-inline:auto}
.story-family-album img{height:360px;object-fit:contain;background:var(--paper-deep,#eee9dc)}
.story-preview-section .expandable-story{margin-top:20px}
.service-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;border-top:1px solid var(--line)}
.service-faq-intro .eyebrow{color:var(--rust);margin-bottom:20px}
.service-faq-intro h2{font-size:43px;line-height:1.12;letter-spacing:-.03em}
.service-faq-list{min-width:0}
.service-faq-list details{border-top:1px solid var(--line)}
.service-faq-list details:last-child{border-bottom:1px solid var(--line)}
.service-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 0;list-style:none;font:20px/1.5 var(--sans);color:var(--green);cursor:pointer}
.service-faq-list summary::-webkit-details-marker{display:none}
.faq-plus{flex-shrink:0;color:var(--rust);font-size:26px;line-height:1}
.service-faq-list details[open] .faq-plus{transform:rotate(45deg)}
.faq-answer{padding:0 34px 23px 0}
.faq-answer p{font:18px/1.8 var(--sans);color:var(--muted);margin:0}
@media(max-width:1000px){.story-preview{gap:30px}.story-preview-copy h3{font-size:33px}.story-preview-photo img{max-height:300px}.service-faq{gap:40px}.service-faq-intro h2{font-size:38px}}
@media(max-width:720px){.story-preview{grid-template-columns:1fr;gap:23px}.story-preview-photo{max-width:600px;width:100%;margin-inline:auto}.story-preview-photo img{height:auto;max-height:370px}.story-preview-copy h3{font-size:36px}.story-expansion>summary{margin-left:0;font-size:17px;min-height:44px}.story-role dd{font-size:18px}.story-teaser{font-size:18px}.story-full-prose{font-size:18px}.story-family-album img{height:auto;max-height:400px}.service-faq{grid-template-columns:1fr;gap:28px}.service-faq-intro h2{font-size:40px}.service-faq-list summary{font-size:19px;padding:20px 0}.faq-answer{padding-right:12px}.faq-answer p{font-size:18px}.expandable-story{margin-top:30px;padding-top:28px}}
@media print{.story-expansion>summary,.service-faq-list summary .faq-plus{display:none}.story-expansion>.story-full-content,.service-faq-list details>.faq-answer{display:block!important}.expandable-story{break-inside:auto}}
