/* Restore the selected About reference; business story precedes the bios. */
.about-draft .directory-hero h1 { max-width:none; }
.reference-intro { padding:57px 0 47px; }
.reference-intro-inner { display:grid; grid-template-columns:1fr 1.12fr; gap:64px; align-items:center; }
.reference-intro h2 { font-size:54px; line-height:1.03; }
.reference-intro-copy { border-left:1px solid #6d8377; padding-left:36px; }
.reference-intro-copy > p:first-child { font-weight:700; font-size:17px; line-height:1.65; color:var(--forest); }
.reference-intro-copy p.intro-detail { margin-top:17px; color:#6b756e; font-size:16px; line-height:1.7; }
.reference-story { padding:36px 0 65px; background:#fff; }
.reference-story-inner { border-top:1px solid #e3e9e1; padding-top:46px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.reference-story h2 { font-size:54px; line-height:1.02; }
.story-paragraph { margin-top:18px; }
.story-paragraph h3 { font:700 17px/1.5 var(--body); text-transform:none; }
.story-paragraph p { margin-top:5px; font-size:16px; line-height:1.65; color:#69716c; }
.reference-story-copy .story-signature { margin-top:24px; padding-top:16px; border-top:1px solid #dce3d8; font:600 38px/1.1 var(--script); color:var(--forest); }
.reference-photo { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; min-width:0; overflow:hidden; color:#536359; background:linear-gradient(32deg,transparent calc(50% - .5px),#c3cdc5 50%,transparent calc(50% + .5px)),linear-gradient(-32deg,transparent calc(50% - .5px),#c3cdc5 50%,transparent calc(50% + .5px)),linear-gradient(135deg,#e5e9e5,#edf0ec); border:1px solid #cdd6cc; border-radius:6px; }
.reference-photo > .icon { width:34px; height:34px; stroke-width:1.25; background:#e8ece7; box-shadow:0 0 0 10px #e8ece7; }
.reference-photo > span { position:relative; padding:3px 10px; font-size:15px; line-height:1.5; text-align:center; background:#e8ece7; }
.story-photo { width:100%; aspect-ratio:1.4; }
.reference-brothers { padding:58px 0 62px; background:linear-gradient(110deg,#f0f6ed,#eaf2e9); }
.reference-brothers h2 { font-size:54px; line-height:1.04; }
.brothers-grid { display:grid; grid-template-columns:1fr 1fr; gap:37px; margin-top:30px; }
.brother-card { overflow:hidden; background:#fff; border-radius:7px; }
.brother-photo { aspect-ratio:2.05; border-radius:7px 7px 0 0; }
.brother-name { padding:17px 30px 16px; background:var(--forest); color:#fff; }
.brother-name h3 { font-size:29px; line-height:1.1; text-transform:none; }
.brother-name p { font-size:12px; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--lime); margin-top:5px; }
.brother-bio { padding:25px 30px 19px; }
.brother-bio > div + div { margin-top:21px; }
.brother-bio h4 { margin:0 0 6px; font-size:15px; font-weight:700; line-height:1.5; }
.brother-bio p { font-size:15px; line-height:1.7; color:#69716c; }
.brother-bio > .brother-quote { margin-top:22px; padding-top:15px; border-top:1px solid #dce3d8; display:flex; align-items:center; gap:19px; }
.brother-quote > span { font:900 57px/.85 var(--display); color:var(--lime); }
.brother-quote p { font-size:14px; font-style:italic; color:var(--forest); }
.reference-approach { padding:49px 0 54px; background:var(--forest); color:#fff; }
.reference-approach .eyebrow { color:#e7f0df; }
.reference-approach h2 { font-size:54px; line-height:1.05; }
.reference-approach h2 span { color:var(--lime); }
.reference-values { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:34px; }
.reference-value { display:flex; gap:19px; align-items:flex-start; padding-right:22px; border-right:1px solid #a7c09b65; }
.reference-value:last-child { border-right:0; padding-right:0; }
.reference-value-icon { display:grid; place-items:center; width:67px; height:67px; flex:none; border:2px solid var(--lime); border-radius:50%; color:white; }
.reference-value-icon .icon { width:30px; height:30px; stroke-width:1.5; }
.reference-value h3 { font-size:26px; line-height:1.1; text-transform:none; padding-top:8px; }
.reference-value p { margin-top:12px; color:#d6e1d3; font-size:15px; line-height:1.7; }
.reference-gallery { padding:51px 0 46px; }
.reference-gallery h2 { font-size:54px; }
.reference-gallery > .container > p:not(.eyebrow) { margin-top:13px; font-size:17px; color:var(--muted); }
.reference-gallery-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin-top:23px; }
.reference-gallery-grid figure { overflow:hidden; border-radius:6px; }
.gallery-photo { height:190px; border-radius:6px 6px 0 0; }
.gallery-photo > span { font-size:13px; }
.reference-gallery-grid figcaption { background:var(--forest); color:#fff; font-size:12px; font-weight:700; line-height:1.5; padding:8px 13px; }
.reference-invitation { padding:46px 0 48px; background:linear-gradient(110deg,#edf4e8,#f3f7ef); }
.reference-invitation-inner { display:grid; grid-template-columns:53px .9fr 1.35fr; gap:29px; align-items:start; }
.invitation-quote { font:900 105px/.83 var(--display); color:var(--lime); }
.reference-invitation h2 { font-size:48px; line-height:1.04; padding-top:8px; }
.invitation-copy { padding-left:35px; border-left:1px solid #93a18d; }
.invitation-copy .invitation-message { font-size:15px; font-weight:700; line-height:1.6; color:var(--forest); }
.invitation-copy > p + p { margin-top:7px; font-size:15px; line-height:1.7; color:#66735f; }
.invitation-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:24px; }
.invitation-button { border-radius:999px; background:var(--forest); color:#fff; padding:10px 11px 10px 22px; min-height:57px; font-size:14px; gap:20px; }
.invitation-button:hover { background:#0b482f; }
.invitation-button > span { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--forest); }
.invitation-button .icon { width:20px; height:20px; }
.invitation-phone { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.invitation-phone .icon { width:22px; height:22px; color:#8bc600; }
@media(max-width:1100px) {
 .reference-intro-inner,.reference-story-inner { gap:38px; }
 .reference-intro h2,.reference-story h2,.reference-brothers h2,.reference-gallery h2,.reference-approach h2 { font-size:46px; }
 .brothers-grid { gap:27px; }
 .reference-values { gap:23px; }
 .reference-value { display:block; padding-right:17px; }
 .reference-value-icon { margin-bottom:14px; }
 .reference-value h3 { padding-top:0; }
 .reference-invitation-inner { grid-template-columns:40px .9fr 1.25fr; gap:21px; }
 .reference-invitation h2 { font-size:42px; }
 .invitation-copy { padding-left:25px; }
 .invitation-actions { gap:22px; }
}
@media(max-width:760px) {
 .reference-intro-inner { grid-template-columns:1fr; gap:25px; }
 .reference-intro-copy { padding-left:23px; }
 .reference-story-inner { gap:30px; }
 .reference-story h2 { font-size:42px; }
 .story-paragraph h3 { font-size:16px; }
 .story-paragraph p { font-size:15px; }
 .brother-name,.brother-bio { padding-inline:23px; }
 .reference-invitation-inner { grid-template-columns:40px 1fr; }
 .invitation-copy { grid-column:2; border:0; padding-left:0; }
 .gallery-photo { height:160px; }
}
@media(max-width:600px) {
 .reference-intro { padding:36px 0; }
 .reference-intro h2,.reference-story h2,.reference-brothers h2,.reference-gallery h2,.reference-approach h2 { font-size:40px; line-height:1.05; }
 .reference-intro-copy > p:first-child { font-size:16px; }
 .reference-intro-copy p.intro-detail { font-size:15px; }
 .reference-story { padding:0 0 39px; }
 .reference-story-inner { grid-template-columns:1fr; padding-top:35px; }
 .story-photo { aspect-ratio:1.4; }
 .reference-brothers { padding:37px 0 42px; }
 .brothers-grid { grid-template-columns:1fr; gap:25px; margin-top:24px; }
 .brother-name { padding:17px 24px; }
 .brother-bio { padding:23px 24px 19px; }
 .brother-bio p { font-size:16px; }
 .brother-photo { aspect-ratio:1.75; }
 .reference-approach { padding:37px 0 41px; }
 .reference-values { grid-template-columns:1fr; gap:23px; margin-top:25px; }
 .reference-value { display:flex; padding:0 0 22px; border:0; border-bottom:1px solid #ffffff25; }
 .reference-value:last-child { padding-bottom:0; border:0; }
 .reference-value-icon { width:57px; height:57px; margin:0; }
 .reference-value h3 { padding-top:4px; font-size:26px; }
 .reference-value p { margin-top:8px; font-size:16px; }
 .reference-gallery { padding:36px 0; }
 .reference-gallery-grid { grid-template-columns:1fr 1fr; gap:14px; }
 .reference-gallery-grid figure:first-child { grid-column:1/-1; }
 .gallery-photo { height:150px; }
 .reference-gallery-grid figure:first-child .gallery-photo { height:190px; }
 .gallery-photo > span { font-size:12px; }
 .reference-gallery-grid figcaption { font-size:11px; padding:8px 10px; }
 .reference-invitation { padding:35px 0 38px; }
 .reference-invitation-inner { grid-template-columns:31px 1fr; gap:17px; }
 .invitation-quote { font-size:76px; }
 .reference-invitation h2 { font-size:38px; padding:0; }
 .invitation-actions { gap:20px; }
 .invitation-phone { font-size:14px; }
}
@media(max-width:360px) { .reference-invitation h2 {font-size:33px;} .invitation-phone {font-size:13px;gap:7px;} }

/* Generated preview photography replaces the six empty image frames. */
.reference-photo.has-image { display:block; background:var(--forest); border:0; }
.reference-photo.has-image > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.story-photo.has-image > img { object-position:50% 45%; }
.brother-photo.has-image > img { object-position:50% 40%; }
.reference-gallery-grid figure:first-child .gallery-photo > img { object-position:50% 10%; }
.reference-gallery-grid figure:nth-child(2) .gallery-photo > img { object-position:43% 55%; }
.reference-gallery-grid figure:nth-child(3) .gallery-photo > img { object-position:50% 50%; }
