/* DESIGN04: owner-approved photographs, film scenes and uncropped artworks.
   This stylesheet is deliberately absent from the closed portfolio archive. */
.family{--fon:#F3E5DE;--karta:#F3E5DE;--ink:#1C1F26;--tekst:#1C1F26;--tihiy:#4A5664;--edva:#4A5664;--liniya:#D8D2CC;--akcent:#2A3F73;--akcent-tusklyy:#2A3F73;--on-akcent:#fff;--akcent-myagkiy:#e8ecf5;background:var(--fon);color:var(--ink);overflow-wrap:break-word}
.family-personal,.family-aptv{font-family:"IBM Plex Sans",sans-serif;font-size:18px;line-height:1.65}
.family *{box-sizing:border-box}.family img{max-width:100%;height:auto}.family a{text-underline-offset:4px}.family :is(a,button,summary):focus-visible{outline:3px solid var(--akcent);outline-offset:5px}
.family :is(h1,h2,h3){letter-spacing:-.03em;line-height:1.1}.family h1{font-size:clamp(38px,5vw,76px);max-width:19ch}.family h2{font-size:clamp(28px,3.2vw,48px)}.family h3{font-size:24px}.family :is(p,li){max-width:74ch}
.family-personal .obl,.family-aptv .obl{max-width:1328px;padding-inline:24px}.family-personal main>section,.family-aptv main>.approved-content>section{margin:0;padding-block:65px}
.family-personal header.shapka,.family-aptv header.shapka{position:sticky;top:0;z-index:20;margin:0;background:var(--fon);padding:14px 0;border-bottom:1px solid var(--liniya)}
.family .menyu a,.family .yazyk{min-height:44px;display:inline-flex;align-items:center}.family .imya{font-family:Literata,Georgia,serif;font-size:23px}.family .imya .tochka{color:var(--akcent)}
.family-personal .personal-opening{display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center;min-height:75svh}.family-personal .personal-opening h1{font-size:clamp(34px,4.2vw,64px);font-weight:600}.family-personal .roli{font-size:clamp(19px,2vw,26px)}
.family-personal .personal-photo{max-width:1200px;margin:40px auto 100px;padding:0 24px}.family-personal .personal-photo img{display:block;width:100%;max-height:90svh;object-fit:contain}.family-personal .personal-photo figcaption{padding:16px 0;font:14px/1.5 Literata,Georgia,serif;color:var(--tihiy)}
.family-personal .personal-opening .personal-photo{padding:0;margin:0}.family-personal .personal-opening .personal-photo img{height:clamp(360px,65svh,740px);object-fit:cover;object-position:66% 40%}
.family-personal .cases,.family-personal .professional-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.family-personal .case{border:0;border-top:1px solid var(--liniya);border-radius:0;padding:24px 0;background:transparent}
.family-personal .prose{max-width:none}.family-personal .prose>:is(p,ul,ol,header,h2){max-width:800px;margin-inline:auto}.family-personal .prose>header{margin-block:65px}.family-personal .prose p{font-family:Literata,Georgia,serif;line-height:1.8}
.family .art-gallery{margin:70px 0}.family .artwork{position:relative;width:66%;max-width:960px;margin:70px 0 130px 8%;scroll-margin-top:150px}.family .artwork:nth-of-type(even){margin-left:26%}.family .artwork>a{display:block}.family .artwork img{display:block;width:100%;height:auto;object-fit:contain}
.family .artwork figcaption{position:absolute;bottom:0;left:0;max-width:68%;padding:40px 18px 16px;color:white;background:linear-gradient(transparent,#000c);pointer-events:none;font:16px/1.4 "IBM Plex Sans",sans-serif}.family .artwork figcaption strong{display:block;font-weight:600}.family .artwork figcaption span{display:block;font-size:13px;margin-top:6px}
.family .object-card{max-width:1040px;margin:auto;padding:40px 24px}.family .object-card :is(h1,h2){max-width:30ch;font-size:clamp(28px,4vw,44px)}.family .object-card>img{display:block;width:100%;max-height:80svh;object-fit:contain}.family .object-card p{font-family:Literata,Georgia,serif;line-height:1.8}
.family .art-dialog{width:min(1100px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:16px;border:1px solid var(--liniya);background:var(--fon);color:var(--ink)}.family .art-dialog::backdrop{background:#101010b0}.family .art-dialog>[data-close]{position:sticky;top:0;float:right;min-height:44px;padding:8px 18px;font:inherit;background:var(--fon);border:1px solid var(--akcent);z-index:1;cursor:pointer}
.family-tvpro header.shapka{background:#101010;position:sticky;top:0;z-index:20;padding:14px 0;margin-bottom:0}.family-tvpro header.shapka .logo,.family-tvpro nav.glavnoe a{color:#fff}.family-tvpro header .obolochka{max-width:1328px}.family-tvpro .logo svg{height:42px}.family-tvpro nav.glavnoe a{min-height:44px;display:flex;align-items:center}
.family-tvpro main.obolochka,.family-aptv main.obl{max-width:none;padding:0}.family-tvpro main>section{max-width:1280px;padding:65px 24px;margin:auto}.family-tvpro .setka{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.family-tvpro .setka.uzkaya{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr))}.family-tvpro .plashka{border-radius:0;background:transparent;border:0;border-top:1px solid var(--liniya)}
.family-tvpro .geroy h1{font-size:clamp(44px,6vw,88px)}.family-tvpro .geroy .vvod{font-size:clamp(19px,2.2vw,28px);max-width:48ch}.family-tvpro .flagman{border:0;border-radius:0}.family-tvpro .flagman .serii{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.family .project-scene,.family-tvpro main>.project-scene{max-width:1600px;padding:0;margin:8vh auto;scroll-margin-top:120px}.family .project-scene:nth-of-type(even){max-width:1280px}.family .project-scene figure{position:relative;background:#101010;margin:0}.family .project-scene img{display:block;width:100%;max-height:85svh;object-fit:contain}.family .project-scene figcaption{position:absolute;bottom:0;left:0;right:0;color:white;padding:8% 7% 4%;background:linear-gradient(transparent,#000b)}.family .project-scene h2{max-width:24ch;margin:0 0 10px;text-shadow:0 2px 12px #0009}
.family .scene-action{display:inline-flex;align-items:center;min-height:48px;color:white;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0;margin-right:24px}.family .scene-action.dark{color:var(--akcent)}
.family-aptv .opening,.family-aptv .approved-content{max-width:1280px;margin:auto;padding:70px 24px}.family-aptv .opening>p{font-size:clamp(19px,2.2vw,28px)}.family-aptv .approved-content .geroy h2{max-width:30ch}.family-aptv .shapka-ryad{gap:24px}.family-aptv .marka{font:500 23px/1.2 Literata,Georgia,serif;white-space:nowrap}
.family .family-footer{padding:40px 24px;max-width:1328px;margin:auto;border-top:1px solid var(--liniya)}.family .family-footer h2{font-size:22px;font-family:inherit;text-transform:none;letter-spacing:normal}.family .family-footer nav{display:flex;gap:24px;flex-wrap:wrap}.family .family-footer a{display:inline-flex;min-height:44px;align-items:center;font-size:15px}
.family [data-reveal]{opacity:1}.family .reveal-enabled[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s,transform .6s}.family .reveal-enabled[data-reveal][data-visible=true],.family .reveal-enabled[data-reveal]:focus-within{opacity:1;transform:none}
@media(max-width:700px){.family h1{font-size:clamp(32px,8vw,44px)}.family-personal .personal-opening{display:block}.family-personal .personal-opening .personal-photo{margin-top:32px}.family-personal .personal-opening .personal-photo img{height:auto;object-fit:contain}.family-personal .cases,.family-personal .professional-routes{grid-template-columns:1fr}.family-personal .personal-photo{padding:0;margin-bottom:60px}.family-personal main>section{padding-block:40px}.family .artwork,.family .artwork:nth-of-type(even){width:100%;margin:45px 0 75px}.family .artwork figcaption{font-size:12px;line-height:1.3;max-width:75%;padding:22px 10px 8px}.family .artwork figcaption span{font-size:11px;margin-top:3px}.family .project-scene,.family-tvpro main>.project-scene{margin:40px 0}.family .project-scene figcaption{position:static;padding:20px;background:#101010}.family .project-scene h2{font-size:30px}.family-aptv .opening,.family-aptv .approved-content{padding:40px 20px}.family .family-footer nav{display:grid;gap:4px}.family-personal header.shapka .obl{gap:8px 18px}.family-personal .menyu{order:3;flex-basis:100%;gap:4px 18px}.family-tvpro nav.glavnoe{gap:2px 16px}.family .object-card{padding-inline:0}.family .art-dialog .object-card{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.family *, .family *::before,.family *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.family .reveal-enabled[data-reveal]{opacity:1;transform:none}}

.family section[id]{scroll-margin-top:190px}
