.family{max-width:1180px;margin:auto;padding:3rem 1.25rem 5rem}.family h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1.5rem}.family h2{font-size:1.5rem;margin:0 0 1.5rem}.notice{max-width:85ch;padding:1rem 1.25rem;background:#e7eeff;border-radius:12px;color:#243d70;margin-bottom:2.5rem}.family-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:4rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.optional{font-size:.875rem;color:var(--muted)}textarea{font:inherit;border:1px solid #9aa9be;border-radius:10px;padding:.85rem;width:100%;resize:vertical;color:var(--ink);background:white}textarea::placeholder{color:var(--muted)}fieldset{padding:0;border:0;margin:2rem 0}legend{font-size:1.125rem;font-weight:700}fieldset p,.privacy{color:var(--muted);font-size:.9375rem}.upload{padding:1rem;background:#e8eef8;border-radius:12px}.upload input{background:white;font-size:.875rem}.photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.photo-tile{margin:0;min-width:0}.photo-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.photo-tile button{width:100%;font-size:.875rem;min-height:44px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--blue);margin-top:.3rem}.photo-tile button:disabled{color:var(--muted);cursor:default}.form-actions{display:flex;gap:1rem;flex-wrap:wrap}.secondary{border:1px solid #9aa9be;background:white;border-radius:10px;padding:.8rem 1rem;color:var(--ink)}.child-preview{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.child-preview>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.cover-empty{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:2rem;background:#e8eef8;color:var(--muted)}.preview-body{padding:1.5rem;overflow-wrap:anywhere}.preview-body h3{font-size:1.8rem;line-height:1.2;margin:1rem 0}.preview-body p{white-space:pre-wrap}.draft{font-size:.875rem;color:#52647d}#photo-status:empty,#preview-status:empty{display:none}aside{align-self:start;position:sticky;top:100px}#preview-status{color:var(--muted)}@media(max-width:800px){.family-layout{grid-template-columns:1fr;gap:2.5rem}aside{position:static}.family{padding-top:2rem}}@media(max-width:420px){.fields{grid-template-columns:1fr}.photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.missing{min-height:calc(100svh - 76px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:820px}
.missing .error-code{font-size:clamp(5rem,18vw,11rem);font-weight:850;line-height:.8;letter-spacing:-.04em;color:var(--blue);margin:0 0 2rem;font-variant-numeric:tabular-nums}
.missing>p:not(.error-code){max-width:55ch;color:var(--muted);font-size:1.1rem;margin:0 0 2rem}
.family h1{overflow-wrap:anywhere}.policy{max-width:850px}.policy h1{font-size:clamp(2.1rem,10vw,4rem)}.policy>section{padding:2rem 0;border-bottom:1px solid var(--line)}.policy>section h2{font-size:1.6rem;margin-bottom:.75rem}.policy>section p{max-width:70ch;margin:0;color:#32435b}.policy a{color:var(--blue);text-underline-offset:4px}.policy-updated{color:var(--muted);font-size:.875rem;margin-top:2rem}

#publication-consent{display:inline-block;width:1.15rem;height:1.15rem;min-height:0;margin:0 .5rem 0 0;vertical-align:middle}
.policy h1{font-size:clamp(1.4rem,6.5vw,4rem);overflow-wrap:normal;hyphens:auto}
.photo-tile figcaption{font-size:.875rem;color:var(--muted);margin-top:.5rem}
/* По умолчанию показываем весь снимок, без обрезки лица. */
.photo-tile>img,.child-preview>img{object-fit:contain;aspect-ratio:4/3;background:var(--paper)}
.photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-editor{margin-top:.65rem;font-size:.875rem}.photo-editor summary{cursor:pointer;min-height:44px;padding:.65rem 0;color:var(--blue);font-weight:650}.photo-editor label{display:block;margin:.75rem 0}.photo-editor select{font-size:.875rem}.photo-editor input[type=range]{padding:0;accent-color:var(--blue);min-height:44px;width:100%}.photo-editor p{font-size:.875rem;color:var(--muted);margin:.75rem 0}.position-value{font-variant-numeric:tabular-nums;color:var(--muted)}@media(max-width:480px){.photo-list{grid-template-columns:1fr}}

.records-editor{border-top:1px solid var(--line);padding-top:1.5rem}.record-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(140px,.8fr) auto;gap:.75rem;align-items:end;margin:1rem 0}.record-row label{margin:0}.record-row button{min-height:48px}.records-preview{margin:1.25rem 0}.records-preview h4{font-size:.875rem;color:var(--muted);margin:0 0 .5rem}.records-preview dl{margin:0}.records-preview dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--line)}.records-preview dt{font-weight:650}.records-preview dd{margin:0;text-align:right}.records-preview time{display:block;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:680px){.record-row{grid-template-columns:1fr 1fr}.record-row label:first-child{grid-column:1/-1}.record-row button{width:100%}}@media(max-width:420px){.record-row{grid-template-columns:1fr}.record-row label:first-child{grid-column:auto}}
