/* Two-family prototype: uses the site's existing editorial typography and colors. */
.home-page .family-gate{padding:clamp(65px,7vw,106px) 0 78px;background:#ebeee9;border-top:1px solid rgba(48,60,60,.12);border-bottom:1px solid rgba(48,60,60,.12)}
.family-gate-head{display:grid;grid-template-columns:1fr .72fr;gap:clamp(24px,6vw,95px);align-items:end;margin-bottom:35px}
.home-page .family-gate-head h2{font:400 clamp(39px,4.8vw,69px)/1.09 var(--serif);letter-spacing:-.049em;color:#303c3c;margin:0}
.home-page .family-gate-head h2 em{color:#a55145;font-weight:400}
.family-gate-head>p{font:17px/1.73 var(--serif);color:#43534e;max-width:490px;margin:0 0 5px}
.family-gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.family-gate-card{min-height:315px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:#303c3c;padding:clamp(28px,4vw,51px);border-top:3px solid #a55145;background:#fcfaf6;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.family-gate-card--meghan{background:#f3e9e3;border-top-color:#627d76}
.family-gate-card:before{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(48,60,60,.12);border-radius:50%;right:-107px;top:-109px;box-shadow:0 0 0 27px rgba(48,60,60,.025),0 0 0 65px rgba(48,60,60,.018);pointer-events:none}
.family-gate-card:hover,.family-gate-card:focus-visible{transform:translateY(-3px);box-shadow:0 13px 30px rgba(38,50,49,.1)}
.family-gate-label{font:800 10px/1.5 var(--sans);letter-spacing:.135em;text-transform:uppercase;color:#85564f}
.family-gate-card--meghan .family-gate-label{color:#496c63}
.family-gate-card strong{font:400 clamp(35px,3.5vw,48px)/1.16 var(--serif);letter-spacing:-.04em;color:#303c3c;margin:25px 0 13px}
.family-gate-description{font:16px/1.68 var(--serif);color:#4a5b55;max-width:420px}
.family-gate-link{font:800 11px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-top:auto;padding-top:32px;color:#a55145}
.family-gate-card--meghan .family-gate-link{color:#496c63}
.family-gate-note{font:13px/1.7 var(--sans);color:#586960;margin:20px 0 0;max-width:790px}
.home-page .family-gate+.home-people{padding-top:66px}
.meghan-family-page{background:#f7f3ed}
.meghan-page{color:#303c3c}
.meghan-page .meghan-wrap{width:min(1100px,calc(100% - 64px));margin-inline:auto}
.meghan-page .meghan-kicker{font:800 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.17em;color:#9d5449;margin:0 0 18px}
.meghan-page .meghan-intro{padding:clamp(80px,10vw,145px) 0 clamp(70px,8vw,110px);background:#e7eeea}
.meghan-page .meghan-intro-grid{display:grid;grid-template-columns:1.42fr .58fr;gap:clamp(35px,6vw,95px);align-items:end}
.meghan-page h1{font:400 clamp(49px,6.3vw,88px)/1.07 var(--serif);letter-spacing:-.056em;margin:0;color:#303c3c}
.meghan-page h1 em,.meghan-page h2 em{color:#8c5b51;font-weight:400}
.meghan-page .meghan-lede{font:clamp(20px,2.1vw,26px)/1.59 var(--serif);max-width:790px;margin:31px 0 0;color:#3e514c}
.meghan-page .meghan-portrait-space{border-top:1px solid rgba(48,60,60,.26);padding-top:28px;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.meghan-page .meghan-portrait-space strong{display:block;font:400 40px/1.1 var(--serif);letter-spacing:-.03em}
.meghan-page .meghan-portrait-space p{font:15px/1.69 var(--serif);color:#56685f;margin:15px 0 0}
.meghan-page .meghan-lines{padding:clamp(75px,9vw,120px) 0}
.meghan-page .meghan-lines-head{display:grid;grid-template-columns:1fr .9fr;gap:clamp(24px,6vw,85px);margin-bottom:45px;align-items:end}
.meghan-page h2{font:400 clamp(38px,4.7vw,62px)/1.13 var(--serif);letter-spacing:-.048em;margin:0}
.meghan-page .meghan-lines-head p:last-child{font:18px/1.68 var(--serif);color:#56615d;margin:0 0 4px}
.meghan-page .meghan-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.meghan-page .meghan-branch{padding:35px;background:#eae7df;border-top:3px solid #9e6658}
.meghan-page .meghan-branch:last-child{background:#e3eae5;border-top-color:#627d76}
/* Accessible small type and stable anchored headings on editorial family pages. */
.meghan-page .meghan-branch .meghan-kicker{color:#754639}
.meghan-page .meghan-intro .meghan-kicker{color:#87473f}
.meghan-page [id],.home-page [id]{scroll-margin-top:105px}

.meghan-page .meghan-branch h3{font:400 31px/1.24 var(--serif);margin:10px 0 18px;letter-spacing:-.025em}
.meghan-page .meghan-branch p{font:15px/1.68 var(--serif);color:#596862;margin:0}
.meghan-page .meghan-slots{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:30px}
.meghan-page .meghan-slot{background:rgba(255,255,255,.55);padding:18px 15px 21px;min-height:119px;display:flex;flex-direction:column;justify-content:space-between}
.meghan-page .meghan-slot span{font:800 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.11em;color:#64716b}
.meghan-page .meghan-slot strong{font:400 23px/1.2 var(--serif);letter-spacing:-.02em;color:#303c3c}
.meghan-page .meghan-closing{background:#303c3c;color:#fcfaf6;padding:clamp(75px,8vw,115px) 0}
.meghan-page .meghan-closing h2{color:#fcfaf6;max-width:800px}
.meghan-page .meghan-closing h2 em{color:#e6b9a9}
.meghan-page .meghan-closing p:not(.meghan-kicker){font:19px/1.75 var(--serif);max-width:730px;color:#dbe1dc;margin:24px 0 0}
.meghan-page .meghan-closing a{display:inline-block;border-bottom:1px solid #e6b9a9;text-decoration:none;padding-bottom:7px;margin-top:35px;color:#e6b9a9;font:800 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em}
.meghan-page .meghan-closing a:hover{color:#fff}
@media(max-width:850px){.family-gate-head,.meghan-page .meghan-intro-grid,.meghan-page .meghan-lines-head{grid-template-columns:1fr;gap:19px}.meghan-page .meghan-portrait-space{display:none}}
@media(max-width:660px){.family-gate-grid,.meghan-page .meghan-branch-grid{grid-template-columns:1fr}.family-gate-card{min-height:255px}.meghan-page .meghan-wrap{width:calc(100% - 42px)}.meghan-page .meghan-branch{padding:23px}.meghan-page .meghan-slots{gap:9px}.meghan-page .meghan-slot{padding:15px 12px;min-height:100px}.meghan-page .meghan-slot strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.family-gate-card{transition:none}}

/* Shared Our Family landing page: neither family's historical specifics are universalized. */
.home-page .shared-home-reflection{padding:clamp(78px,9vw,130px) 0;background:#f7f3ed;border-top:1px solid rgba(48,60,60,.13)}
.home-page .shared-home-reflection-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,8vw,120px);align-items:start}
.home-page .shared-home-reflection h2{font:400 clamp(39px,4.7vw,65px)/1.14 var(--serif);letter-spacing:-.045em;color:#303c3c;margin:0}
.home-page .shared-home-reflection h2 em{font-weight:400;color:#a55145}
.home-page .shared-home-reflection .home-copy p{font-size:18px;line-height:1.76}
.home-page .shared-home-invitation{padding:clamp(85px,11vw,145px) 0;background:#303c3c;color:#f7f3ed;text-align:center}
.home-page .shared-home-invitation .home-kicker{color:#dfa99a}
.home-page .shared-home-invitation h2{font:400 clamp(40px,5.7vw,76px)/1.13 var(--serif);letter-spacing:-.047em;margin:0 auto 27px;max-width:1040px;color:#f7f3ed}
.home-page .shared-home-invitation h2 em{font-weight:400;color:#e6b9a9}
.home-page .shared-home-invitation p:not(.home-kicker){max-width:700px;margin:0 auto;color:#d8dfd9;font:clamp(18px,2vw,23px)/1.69 var(--serif)}
.home-page .shared-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:left;max-width:850px;margin:61px auto 0}
.home-page .shared-home-links a{display:block;border-top:2px solid #dca99c;padding:20px 0;text-decoration:none}
.home-page .shared-home-links strong{display:block;font:400 clamp(23px,2.4vw,31px)/1.2 var(--serif);color:#f7f3ed}
.home-page .shared-home-links span{display:block;font:13px/1.55 var(--sans);color:#bcc8c0;margin-top:10px}
.home-page .shared-home-links a:hover strong{color:#efc5b9}
.home-page .zach-family-intro{background:#e8eeea}
.home-page .zach-return{margin:21px 0 0}
.home-page .zach-return a{font:750 12px/1.55 var(--sans);color:#4c6d62;text-decoration:none;border-bottom:1px solid rgba(76,109,98,.35);padding-bottom:4px}
.home-page .zach-return a:hover{color:#a55145}
.family-anchor-alias{height:0}
@media(max-width:850px){.home-page .shared-home-reflection-grid{grid-template-columns:1fr;gap:26px}}
@media(max-width:540px){.home-page .shared-home-links{grid-template-columns:1fr;gap:8px;margin-top:37px}.home-page .shared-home-reflection .home-copy p{font-size:17px}}
