/* Same Héritage palette, with a quiet introduction before the tree opens. */
.family-gate{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;overflow:auto}
body[data-access=locked]>.app-header,body[data-access=locked]>main{visibility:hidden}
.family-art{position:relative;min-height:100dvh;background:#244c3a;color:#e4e9dd;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.family-wordmark{font:34px Georgia,serif;letter-spacing:-1px;z-index:1}.family-wordmark span{color:#c2a16e}
.family-art p{font:clamp(32px,4.6vw,66px)/1.16 Georgia,serif;letter-spacing:-1px;margin:35px 0 0;z-index:1}
.family-seed{position:absolute;top:25%;left:39%;font:150px Georgia,serif;color:#c2a16e;opacity:.75}
.family-orbit{position:absolute;border:1px solid #68836d;border-radius:50%;width:470px;height:470px;opacity:.45;top:11%;left:6%}.orbit-two{width:630px;height:630px;top:0;left:-10%}
.family-orbit:before,.family-orbit:after{content:'';position:absolute;width:12px;height:12px;background:#c2a16e;border-radius:50%;left:45%;top:-6px}.family-orbit:after{top:auto;bottom:20%;left:3%}
.family-welcome{align-self:center;max-width:620px;padding:60px 64px;margin:auto;width:100%}
.family-welcome .eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);margin-bottom:24px}
.family-welcome h1{font:clamp(40px,4.3vw,65px)/1.06 Georgia,serif;letter-spacing:-1.8px;font-weight:400;margin:0 0 23px}.family-welcome h1 span{color:var(--gold)}
.family-intro{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 38px;max-width:370px}
#family-form label{display:block;font-size:12px;font-weight:600;margin-bottom:11px}
.family-code-field{display:flex;background:var(--panel);border:1px solid #bbc8b5;border-radius:6px;min-height:52px;overflow:hidden}.family-code-field input{min-width:0;width:100%;padding:13px 14px;font-size:16px;border:0;background:transparent;color:var(--ink)}
.family-code-field button{border:0;background:transparent;padding:0 14px;color:var(--muted);font-size:11px;min-height:48px}
#family-submit{width:100%;min-height:51px;margin-top:16px;font-size:13px;justify-content:space-between;padding:13px 18px}
#family-message{font-size:12px;line-height:1.6;min-height:20px;color:var(--green);margin:12px 0 0}
.family-footnote{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:23px}
body[data-edition=family] .format-link{display:none}#lock-family{font-size:10px;white-space:nowrap;min-height:36px}
@media(max-width:759px){.family-gate{display:block}.family-art{min-height:145px;height:145px;padding:24px 26px}.family-wordmark{font-size:28px}.family-art p{font-size:19px;position:absolute;right:25px;bottom:25px;margin:0}.family-seed{font-size:80px;left:43%;top:8%}.family-orbit{width:230px;height:230px;top:-40%;left:16%}.orbit-two{width:330px;height:330px;top:-70%;left:5%}.family-welcome{padding:32px 27px;max-width:490px}.family-welcome h1{font-size:43px}.family-intro{font-size:14px;margin-bottom:26px}.family-welcome .eyebrow{margin:0 0 17px}.family-footnote{margin-top:15px;padding-top:15px}#lock-family{padding:6px;font-size:9px}.app-header:has(#lock-family:not([hidden])) .collection-heading{display:none}}
@media(max-height:500px) and (min-width:760px){.family-welcome{padding:25px 40px}.family-welcome h1{font-size:37px}.family-intro{margin-bottom:17px}.family-welcome .eyebrow{margin:0 0 14px}.family-footnote{margin-top:8px;padding-top:10px}.family-art{padding:30px}.family-art p{font-size:35px}}

.family-guide-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;text-underline-offset:4px;color:var(--green)}
.family-guide-link:hover{color:var(--ink)}
