/* «Видимая» — общий бренд разных фотографических историй. */
.brand-logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:9px;flex-shrink:0;color:var(--ink)}
.brand-logo__name{font-family:Manrope,Arial,sans-serif;font-size:34px;font-weight:800;letter-spacing:-.035em;line-height:1;white-space:nowrap}
.brand-logo__accent{color:var(--rose)}
.brand-logo__tagline{font-family:Manrope,Arial,sans-serif;font-size:9px;font-weight:500;letter-spacing:.075em;line-height:1.5;text-transform:uppercase;white-space:nowrap;color:var(--brown)}
.brand-header{padding-block:30px;min-height:124px;gap:38px}
.brand-header .header-rule{background:#d4c9bd;opacity:1}
.brand-header .site-nav{font-size:10px;letter-spacing:.1em}
.project-label{margin-bottom:32px;color:var(--brown);letter-spacing:.1em}
.other-stories{padding-top:90px;padding-bottom:110px;border-top:1px solid #d4c9bd}
.other-stories>.eyebrow{color:var(--brown);margin-bottom:34px}
.other-stories__title{font-size:clamp(90px,11.8vw,190px);margin-bottom:50px}
.other-stories__image-link{display:block}
.family-frame{margin:0;overflow:hidden;background:var(--sand);aspect-ratio:2.15/1}
.family-frame img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.family-placeholder{position:relative;display:flex;align-items:center;justify-content:center;height:100%;min-height:100%;overflow:hidden;background:linear-gradient(112deg,#e8e0d6 0%,#ded3c7 49%,#d2c1b3 100%);isolation:isolate}
.family-placeholder:before,.family-placeholder:after{content:'';position:absolute;z-index:-1;top:-10%;bottom:-10%;width:29%;border-inline:1px solid #c7b5a55c;transform:rotate(12deg)}
.family-placeholder:before{left:15%;background:#f5f1ea22}.family-placeholder:after{right:9%;background:#a9897210}
.family-placeholder__word{font-family:Sofia,'Arial Narrow',Arial,sans-serif;font-weight:300;font-size:clamp(130px,24vw,370px);letter-spacing:-.035em;line-height:1;color:#755e4c;opacity:.29;transform:translateY(-4%)}
.family-placeholder__note.hand-note{position:absolute;right:11%;bottom:23%;font-size:clamp(24px,3.8vw,58px);color:#755e4c;margin:0;max-width:none;transform:rotate(-7deg)}
.family-placeholder__caption{position:absolute;left:28px;bottom:24px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#65594f}
.other-stories__description{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:60px;margin-top:35px}
.other-stories__description h3{font-size:clamp(70px,8vw,130px)}
.other-stories__description p{font-size:clamp(16px,1.5vw,21px);line-height:1.7;max-width:480px;margin-bottom:25px}
.other-stories__description .text-link{line-height:1.6;gap:16px}
.other-stories__description .generations-project-link,.other-stories__description .generations-project-link:visited{color:var(--ink)}
.generations-project-link__arrow{display:block;width:17px;height:17px;flex:0 0 17px;align-self:center;pointer-events:none}
.brand-footer{background:#171615;color:var(--paper)}
.brand-footer__inner{padding-top:72px;padding-bottom:40px}
.brand-footer__top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;border-bottom:1px solid #60544c;padding-bottom:42px}
.brand-footer .brand-logo{color:var(--paper)}
.brand-footer .brand-logo__name{font-size:clamp(40px,4.3vw,64px)}
.brand-footer .brand-logo__tagline{color:#d2c8bd;font-size:10px;letter-spacing:.08em}
.brand-footer__author{text-align:right;font-size:11px;line-height:1.7;letter-spacing:.08em;text-transform:uppercase;padding-top:8px}
.brand-footer__author span{display:block;color:#b6a79d;font-size:9px;letter-spacing:.15em;margin-top:3px}
.brand-footer__title{font-size:clamp(72px,8.3vw,134px);line-height:.94;max-width:1100px;margin-top:52px;text-wrap:balance}
.brand-footer__text{font-size:clamp(16px,1.7vw,23px);line-height:1.75;font-weight:350;color:#d1c7bf;max-width:920px;margin-top:28px}
.brand-footer__bottom{display:flex;justify-content:space-between;gap:35px;align-items:baseline;margin-top:60px}
.brand-footer__nav{display:flex;flex-wrap:wrap;gap:20px 38px;font-size:11px;letter-spacing:.075em;text-transform:uppercase}
.brand-footer__nav a{padding-bottom:6px;border-bottom:1px solid transparent}
.brand-footer__nav a:hover,.brand-footer__nav [aria-current=page]{border-color:#8a7464}
.brand-footer__domain{color:#cf9e87;font-size:14px}
.generations-hero{padding-top:65px;padding-bottom:95px}
.generations-hero>.eyebrow{color:var(--brown);margin-bottom:35px}
.generations-hero h1{font-size:clamp(130px,23vw,370px);line-height:.8;letter-spacing:-.025em}
.generations-intro{font-size:clamp(18px,2vw,28px);font-weight:350;line-height:1.6;max-width:690px;margin-top:35px;margin-bottom:50px}
.generations-story{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:start;padding-top:35px;padding-bottom:110px}
.generations-story .display-title{font-size:clamp(70px,8.2vw,132px)}
.generations-story__body{font-size:17px;line-height:1.8;max-width:540px;padding-top:5px}
.generations-story__body p+p{margin-top:20px}
.generations-story__body .hand-note{font-size:40px;line-height:1.2;margin-top:28px}
.generations-process{padding-top:65px;padding-bottom:110px;border-top:1px solid #d4c9bd}
.generations-process>.display-title{font-size:clamp(80px,10vw,160px)}
.generations-process__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6%;margin-top:60px}
.generations-process__step{border-top:1px solid #d4c9bd;padding-top:23px}
.generations-process__step h3{font-size:18px;font-weight:500;line-height:1.5;margin-bottom:15px}
.generations-process__step p{font-size:15px;line-height:1.8;color:var(--brown)}
.generations-page .contact-section{padding-top:30px;padding-bottom:100px}
@media(max-width:1100px){
 .brand-header{gap:24px}.brand-logo__name{font-size:31px}.brand-logo__tagline{font-size:8px}.brand-header .site-nav{gap:23px;font-size:9px}
 .generations-story{grid-template-columns:1fr;gap:35px}.generations-story .display-title{font-size:12vw}.generations-story__body{max-width:650px}
}
@media(max-width:760px){
 .brand-header{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-top:25px;padding-bottom:22px;min-height:0}
 .brand-header .brand-logo__name{font-size:32px}.brand-logo__tagline{font-size:8px;letter-spacing:.06em}
 .brand-header .site-nav{width:100%;margin:0;border-top:1px solid #d4c9bd;padding-top:12px;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:.075em}
 .brand-header .site-nav a{padding-block:5px}
 .project-label{font-size:8px;line-height:1.6;letter-spacing:.04em;margin-bottom:22px;grid-row:1}
 .chapter--vremya .display-title{grid-row:2}.chapter--vremya .scene-photo{grid-row:3}.chapter--vremya .chapter__body{grid-row:4}.chapter--vremya .hand-note{grid-row:5}.chapter--vremya .chapter__link{grid-row:6}
 .other-stories{padding-top:55px;padding-bottom:65px}.other-stories>.eyebrow{font-size:9px;margin-bottom:25px}
 .other-stories__title{font-size:clamp(62px,18.1vw,130px);margin-bottom:32px}
 .family-frame{aspect-ratio:4/3}.family-placeholder__word{font-size:37vw}.family-placeholder__note.hand-note{font-size:27px;right:7%;bottom:25%}
 .family-placeholder__caption{font-size:7px;left:15px;bottom:16px;letter-spacing:.04em}
 .other-stories__description{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:28px}.other-stories__description h3{font-size:25vw}.other-stories__description p{font-size:16px;line-height:1.7;margin-bottom:24px}
 .other-stories__description .text-link{font-size:11px;letter-spacing:.01em;max-width:100%;gap:12px}.other-stories__description .text-link span{flex-shrink:0}
 .brand-footer__inner{padding-top:45px;padding-bottom:30px}.brand-footer__top{flex-direction:column;gap:25px;padding-bottom:30px}
 .brand-footer .brand-logo__name{font-size:45px}.brand-footer .brand-logo__tagline{font-size:8px;letter-spacing:.04em}
 .brand-footer__author{text-align:left;padding:0;font-size:10px}.brand-footer__author span{font-size:8px;margin-top:1px}
 .brand-footer__title{font-size:clamp(63px,17vw,125px);line-height:.97;margin-top:35px;text-wrap:initial}
 .brand-footer__text{font-size:15px;line-height:1.8;margin-top:23px}.brand-footer__bottom{flex-direction:column;gap:30px;margin-top:36px}
 .brand-footer__nav{font-size:9px;letter-spacing:.035em;gap:18px}.brand-footer__domain{font-size:13px}
 .generations-hero{padding-top:35px;padding-bottom:65px}.generations-hero>.eyebrow{font-size:9px;margin-bottom:28px}.generations-hero h1{font-size:25.2vw;line-height:.85}
 .generations-intro{font-size:18px;line-height:1.7;margin-top:25px;margin-bottom:30px}
 .generations-story{padding-top:0;padding-bottom:65px;gap:28px}.generations-story .display-title{font-size:clamp(57px,16.9vw,125px)}.generations-story__body{font-size:15px;line-height:1.8}.generations-story__body .hand-note{font-size:33px}
 .generations-process{padding-top:50px;padding-bottom:60px}.generations-process>.display-title{font-size:clamp(57px,16.8vw,125px)}.generations-process__grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.generations-process__step h3{font-size:17px;margin-bottom:10px}.generations-process__step p{font-size:14px}
 .generations-page .contact-section{padding-top:10px;padding-bottom:60px}
}

/* A quiet personal note between the project name and the booking link. */
.booking-note{max-width:680px;margin:24px auto 28px;text-align:center}
.booking-note__title{font-family:Manrope,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.07em;line-height:1.7;color:var(--brown)}
.booking-note__text{font-family:Caveat,cursive;font-size:31px;font-weight:400;line-height:1.25;color:var(--rose);margin-top:7px;transform:rotate(-2deg)}
@media(max-width:760px){.booking-note{margin:21px auto 26px;max-width:360px}.booking-note__title{font-size:10px;letter-spacing:.055em}.booking-note__text{font-size:27px;margin-top:8px;line-height:1.3}}
/* Keep the portfolio word within the mobile text column. */
@media(max-width:760px){.portfolio-page .portfolio-intro .display-title{font-size:23.5vw}}

/* Individual composition follows the person rather than the empty studio wall. */
.photo-rail .photo-rail__item--natural{width:calc(var(--rail-height)*var(--photo-ratio))}
.photo-rail .photo-rail__item--natural img{object-fit:contain;object-position:50% 50%}
.photo-rail .photo-rail__item--wide-bottom{width:calc(var(--rail-height)*1.55)}
.photo-rail .photo-rail__item--square-bottom{width:calc(var(--rail-height)*1.1)}
.photo-rail .photo-rail__item--portrait-bottom{width:calc(var(--rail-height)*.95)}
.photo-rail .photo-rail__item--wide-bottom img,.photo-rail .photo-rail__item--square-bottom img,.photo-rail .photo-rail__item--portrait-bottom img{object-position:50% 100%}
.about-portrait img{object-position:50% 30%}
.family-placeholder .family-placeholder__tree{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;z-index:-1;opacity:.75;pointer-events:none}
.family-placeholder--tree .family-placeholder__word{opacity:.24}
.brand-footer__copyright{margin-top:30px;padding-top:23px;border-top:1px solid #3d342d;font-size:10px;line-height:1.8;letter-spacing:.025em;color:#b6a79d}
@media(max-width:760px){
 .photo-rail .photo-rail__item--wide-bottom{width:calc(100vw - 2*var(--gutter));height:calc((100vw - 2*var(--gutter))/1.55);align-self:center}
 .brand-footer__copyright{font-size:9px;letter-spacing:.01em;margin-top:25px;padding-top:20px;max-width:350px}
 .family-placeholder .family-placeholder__tree{width:100%;left:0;max-width:100%;object-fit:cover;object-position:right center;opacity:.75}
}
