/* About-only family celebration and accessible profiles. */
.ghs-site .ghs-family-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start;margin-bottom:38px;}
.ghs-site .ghs-family-intro h2{margin:0;}
.ghs-site .ghs-family-intro p{margin:0 0 18px;}
.ghs-site .ghs-family-photo{margin:0;}
.ghs-site .ghs-family-photo-frame{position:relative;}
.ghs-site .ghs-family-photo img{display:block;width:100%;height:auto;border-radius:24px;}
.ghs-site .ghs-family-photo figcaption{font-size:14px;color:var(--muted);margin:12px 0 24px;}
.ghs-site .ghs-person-marker{position:absolute;display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:6px 12px;border:2px solid var(--cream);border-radius:999px;color:var(--cream);background:var(--brown);box-shadow:0 3px 14px #20120d55;font-size:14px;font-weight:700;transform:translate(-50%,-50%);transition:background .15s;}
.ghs-site .ghs-person-marker:hover,.ghs-site .ghs-person-marker:focus-visible{background:var(--teal);}
.ghs-site .ghs-person-marker-lemlem{left:65%;top:53%;}
.ghs-site .ghs-person-marker-ela{left:51%;top:49%;}
.ghs-site .ghs-person-marker-esrom{left:89%;top:28.5%;}
.ghs-site .ghs-owner-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;}
.ghs-site .ghs-owner-profile{border:1px solid var(--line);border-radius:18px;background:var(--cream);scroll-margin-top:145px;overflow:hidden;}
.ghs-site .ghs-owner-profile summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:22px 20px;min-height:94px;}
.ghs-site .ghs-owner-profile summary::-webkit-details-marker{display:none;}
.ghs-site .ghs-owner-profile summary:hover{background:var(--sand);}
.ghs-site .ghs-owner-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--teal);color:var(--cream);font-weight:700;}
.ghs-site .ghs-owner-profile summary strong{font-size:21px;font-family:Georgia,serif;display:block;line-height:1.3;}
.ghs-site .ghs-owner-summary-role{display:block;font-size:14px;color:var(--muted);}
.ghs-site .ghs-owner-plus{font-size:24px;margin-left:auto;color:var(--teal);}
.ghs-site .ghs-owner-bio{padding:0 20px 20px;font-size:16px;}
.ghs-site .ghs-family-closing{max-width:760px;margin:32px auto 0;text-align:center;color:var(--muted);font-size:17px;}
.ghs-site .ghs-profile-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--sand);border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px #20120d55;overflow:auto;}
.ghs-site .ghs-profile-dialog::backdrop{background:rgba(32,18,13,.65);backdrop-filter:blur(4px);}
.ghs-site .ghs-profile-dialog-inner{padding:clamp(24px,5vw,38px);border-top:7px solid var(--teal);}
.ghs-site .ghs-profile-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;}
.ghs-site .ghs-profile-kicker{font-size:14px;color:var(--teal);font-weight:700;}
.ghs-site .ghs-profile-close{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:9px 15px;min-height:44px;cursor:pointer;color:var(--brown);font-size:14px;white-space:nowrap;}
.ghs-site .ghs-profile-title-row{display:flex;align-items:center;gap:16px;}
.ghs-site .ghs-profile-title-row h2{font-size:44px;margin:0;line-height:1.1;}
.ghs-site .ghs-profile-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:var(--cream);font-weight:700;}
.ghs-site #ghs-profile-role{margin:14px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px;}
.ghs-site .ghs-profile-line{color:var(--teal);font-family:Georgia,serif;font-size:24px;line-height:1.35;}
.ghs-site [data-dialog-content] p{margin:0 0 18px;}
.ghs-site [data-dialog-content] p:last-child{margin-bottom:0;}
html.ghs-profile-open{overflow:hidden;}
@media(max-width:700px){
 .ghs-site .ghs-family-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px;}
 .ghs-site .ghs-owner-profiles{grid-template-columns:1fr;gap:10px;}
 .ghs-site .ghs-owner-profile summary{min-height:78px;padding:16px 18px;}
 .ghs-site .ghs-marker-name{display:none;}
 .ghs-site .ghs-person-marker{width:44px;height:44px;padding:0;}
 .ghs-site .ghs-person-marker-lemlem{top:59%;}
 .ghs-site .ghs-family-photo img{border-radius:16px;}
 .ghs-site .ghs-profile-dialog{max-height:calc(100dvh - 24px);}
}
@media(prefers-reduced-motion:reduce){.ghs-site .ghs-person-marker{transition:none;}}
