/* Портфолио дизайн-проектов (визуализации) и полноэкранный просмотр проекта. */
.pf{background:var(--paper)}
.pf__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,40px)}
.pf__card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:20px}
.pf__card:nth-child(even){margin-top:clamp(40px,7vw,120px)}
.pf__img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--bone-2)}
.pf__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.pf__card:hover .pf__img img{transform:scale(1.04)}
.pf__card:focus-visible{outline:1px solid var(--rose-d);outline-offset:6px}
.pf__meta{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:baseline}
.pf__tag{grid-column:1/-1;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.pf__meta b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,36px)}
.pf__meta em{font-style:normal;color:var(--muted);font-weight:300;grid-column:1}
.pf__meta small{grid-column:2;grid-row:2/4;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-d);transition:transform .5s var(--ease)}
.pf__card:hover .pf__meta small{transform:translateX(6px)}

.case{position:fixed;inset:0;z-index:90;background:var(--ink);color:var(--bone);animation:caseIn .6s var(--ease)}
@keyframes caseIn{from{opacity:0}}
.case__x{position:absolute;right:24px;top:20px;z-index:2;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-d);background:rgba(7,23,34,.5);color:var(--bone);font-size:24px;font-weight:300}
.case__x:hover{background:var(--bone);color:var(--ink)}
.case__in{display:grid;grid-template-columns:minmax(280px,.32fr) minmax(0,1fr);height:100%}
.case__side{padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;gap:14px;overflow:auto;border-right:1px solid var(--line-d)}
.case__side .pf__tag{color:var(--rose)}
.case__side h3{font-size:clamp(32px,3vw,48px);line-height:1.05}
.case__side em{font-style:normal;color:var(--muted-d)}
.case__side p{font-weight:300;color:rgba(244,241,236,.8);margin:10px 0}
.case__rooms{list-style:none;margin:6px 0 26px;padding:0;border-top:1px solid var(--line-d)}
.case__rooms li{padding:12px 0;border-bottom:1px solid var(--line-d);cursor:pointer;color:var(--muted-d);display:flex;gap:14px;transition:color .3s}
.case__rooms li span{font-size:12px;letter-spacing:.16em;color:var(--rose);width:22px}
.case__rooms li[aria-current="true"],.case__rooms li:hover{color:var(--bone)}
.case__side .btn{margin-top:auto;align-self:flex-start}
.case__stage{margin:0;position:relative;display:flex;flex-direction:column;min-height:0}
.case__stage img{flex:1;min-height:0;width:100%;object-fit:cover;animation:caseImg .7s var(--ease)}
@keyframes caseImg{from{opacity:.2;transform:scale(1.015)}}
.case__stage figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(20px,3vw,40px);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d)}
.case__nav{display:flex;align-items:center;gap:14px}
.case__nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-d);background:none;color:var(--bone)}
.case__nav button:hover{background:var(--bone);color:var(--ink)}
/* шапка: пунктов меню стало больше — в одну строку */
.hdr__nav a,.hdr__tel{white-space:nowrap}
@media (max-width:1500px){ .hdr__nav{gap:24px;font-size:12px;letter-spacing:.12em} .hdr{gap:28px} }
@media (max-width:1280px){ .hdr__tel{display:none} }

@media (max-width:900px){
  .pf__grid{grid-template-columns:minmax(0,1fr)}
  .pf__card:nth-child(even){margin-top:0}
  .case__in{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:auto}
  .case__side{border-right:0;order:2;padding-bottom:40px}
  .case__side .btn{margin-top:10px}
  .case__stage{order:1;height:62vh}
  .case__rooms{display:none}
}

/* ── слайдер дизайн-проектов: смена шторкой, медленное приближение, текст строками, автопрокрутка ── */
.pfs{position:relative;width:100vw;margin-left:calc(50% - 50vw);outline:0}
.pfs__stage{position:relative;height:min(88vh,900px);min-height:520px;overflow:hidden;background:var(--ink);color:var(--bone)}
.pfs__slide{position:absolute;inset:0;clip-path:inset(0 0 0 100%);transition:clip-path 1.3s cubic-bezier(.77,0,.18,1);z-index:1}
.pfs__slide.is-on{clip-path:inset(0 0 0 0);z-index:2}
.pfs__slide.is-prev{clip-path:inset(0 0 0 0);z-index:1}
.pfs.back .pfs__slide{clip-path:inset(0 100% 0 0)}
.pfs.back .pfs__slide.is-on,.pfs.back .pfs__slide.is-prev{clip-path:inset(0 0 0 0)}
.pfs__img{position:absolute;inset:0;overflow:hidden}
.pfs__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.16);transition:opacity .6s var(--ease)}
.pfs__slide.is-on .pfs__img img{animation:pfsZoom 9s var(--ease) forwards}
.pfs__slide.is-prev .pfs__img img{transform:scale(1.04) translateX(-4%);transition:transform 1.3s cubic-bezier(.77,0,.18,1)}
.pfs__img img.fade{opacity:0}
@keyframes pfsZoom{from{transform:scale(1.16)}to{transform:scale(1.03)}}
.pfs__shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(7,23,34,.82) 0%,rgba(7,23,34,.45) 38%,transparent 65%),linear-gradient(0deg,rgba(7,23,34,.7),transparent 40%)}
.pfs__panel{position:absolute;z-index:4;left:var(--pad);bottom:clamp(40px,7vh,90px);width:min(560px,80%)}
.pfs__info{position:absolute;left:0;bottom:0;width:100%;pointer-events:none;opacity:0;transition:opacity .4s}
.pfs__info.is-on{position:relative;pointer-events:auto;opacity:1}
.pfs__info .pf__tag{color:var(--rose);display:block;margin-bottom:18px}
.pfs__info h3,.pfs__info em{display:block;overflow:hidden}
.pfs__info h3 span,.pfs__info em span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease)}
.pfs__info h3{font-size:clamp(44px,5.6vw,92px);line-height:1}
.pfs__info em{font-style:normal;font-family:var(--serif);font-size:clamp(20px,1.8vw,28px);color:rgba(244,241,236,.75);margin-top:10px}
.pfs__info p{margin:22px 0 30px;font-weight:300;font-size:17px;color:rgba(244,241,236,.8);max-width:46ch;opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.pfs__info .btn{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease),background .4s,color .4s}
.pfs__info.is-on h3 span{transform:none;transition-delay:.35s}
.pfs__info.is-on em span{transform:none;transition-delay:.5s}
.pfs__info.is-on p{opacity:1;transform:none;transition-delay:.65s}
.pfs__info.is-on .btn{opacity:1;transform:none;transition-delay:.8s}
.pfs__count{position:absolute;z-index:4;right:var(--pad);top:clamp(28px,5vh,56px);font-family:var(--serif);display:flex;align-items:baseline;gap:10px;color:var(--bone)}
.pfs__count b{font-weight:400;font-size:clamp(48px,5vw,84px);line-height:1}
.pfs__count span{color:var(--muted-d);font-size:20px}
.pfs__arrows{position:absolute;z-index:4;right:var(--pad);bottom:clamp(40px,7vh,90px);display:flex;gap:10px}
.pfs__arrows button{width:60px;height:60px;border-radius:50%;border:1px solid rgba(244,241,236,.4);background:rgba(7,23,34,.25);backdrop-filter:blur(6px);color:var(--bone);font-size:20px;transition:background .4s,color .4s}
.pfs__arrows button:hover{background:var(--bone);color:var(--ink)}
/* комнаты проекта — миниатюры, по клику меняют кадр */
.pfs__thumbs{position:absolute;z-index:4;right:calc(var(--pad) + 150px);bottom:clamp(40px,7vh,90px);display:flex;gap:8px}
.pfs__thumbs button{width:74px;height:54px;padding:0;border:1px solid rgba(244,241,236,.25);background:center/cover no-repeat;opacity:.6;transition:opacity .3s,transform .4s var(--ease),border-color .3s}
.pfs__thumbs button:hover{opacity:1;transform:translateY(-4px)}
.pfs__thumbs button[aria-pressed="true"]{opacity:1;border-color:var(--rose)}
/* вкладки проектов с полосой автопрокрутки */
.pfs__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 var(--pad);background:var(--ink)}
.pfs__tab{all:unset;cursor:pointer;padding:22px 20px 26px 0;display:flex;flex-direction:column;gap:6px;color:var(--muted-d);font-family:var(--serif);font-size:clamp(17px,1.4vw,22px);transition:color .4s}
.pfs__tab span{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--rose)}
.pfs__tab i{display:block;height:1px;background:var(--line-d);margin-bottom:14px;position:relative;overflow:hidden}
.pfs__tab i b{position:absolute;inset:0;background:var(--rose);transform:scaleX(0);transform-origin:left}
.pfs__tab.is-on{color:var(--bone)}
.pfs__tab.is-on i b{animation:pfsBar var(--dur,7s) linear forwards}
.pfs.paused .pfs__tab.is-on i b{animation-play-state:paused}
.pfs__tab.done i b{transform:scaleX(1)}
.pfs__tab:focus-visible{outline:1px solid var(--rose)}
@keyframes pfsBar{to{transform:scaleX(1)}}
@media (max-width:1000px){ .pfs__thumbs{display:none} }
@media (max-width:700px){
  .pfs__stage{height:82vh;min-height:560px}
  .pfs__panel{width:auto;right:var(--pad);bottom:110px}
  .pfs__arrows{bottom:28px;left:var(--pad);right:auto}
  .pfs__arrows button{width:50px;height:50px}
  .pfs__nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .pfs__tab{font-size:0;padding:16px 0}
  .pfs__tab span{font-size:11px}
  .pfs__info p{display:none}
}
@media (prefers-reduced-motion:reduce){ .pfs__slide,.pfs__img img{transition:none!important;animation:none!important} }
/* заголовок портфолио: крупно, акцентное слово, линия до счётчика проектов */
.pfh{margin-bottom:clamp(40px,5vw,72px)}
.pfh .eyebrow{margin-bottom:18px}
.pfh__row{display:flex;align-items:flex-end;gap:clamp(20px,3vw,48px)}
.pfh__t{font-size:clamp(54px,8.2vw,136px);line-height:.92;letter-spacing:-.03em;white-space:nowrap}
.pfh__t span{color:var(--rose-d)}
.pfh__line{flex:1;height:1px;background:var(--line);margin-bottom:.9em;position:relative;overflow:hidden}
.pfh__line::after{content:"";position:absolute;inset:0;background:var(--rose-d);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .2s}
.pfh.on .pfh__line::after{transform:scaleX(.35)}
.pfh__n{margin:0;display:flex;align-items:flex-end;gap:14px;padding-bottom:.4em}
.pfh__n b{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.6vw,76px);line-height:.85}
.pfh__n span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);line-height:1.7}
@media (max-width:700px){
  .pfh__row{flex-wrap:wrap;row-gap:22px}
  .pfh__t{white-space:normal;width:100%}
  .pfh__line{margin-bottom:.6em}
}

/* ── портфолио v2: карточка проекта с фактами и двумя действиями, вкладки с миниатюрами ── */
.pfs__panel{width:min(620px,52%)}
.pfs__info .pf__tag{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.3em}
.pfs__info .pf__tag::before{content:"";width:40px;height:1px;background:var(--rose)}
.pfs__info h3{font-size:clamp(44px,5vw,84px)}
.pfs__info p{margin:18px 0 26px;font-size:16px;max-width:52ch}
.pfs__spec{margin:0 0 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(244,241,236,.24);border-bottom:1px solid rgba(244,241,236,.24);opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.pfs__spec div{padding:16px 18px 16px 0}
.pfs__spec div + div{padding-left:18px;border-left:1px solid rgba(244,241,236,.18)}
.pfs__spec dt{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,241,236,.6);margin-bottom:8px}
.pfs__spec dd{margin:0;font-family:var(--serif);font-size:clamp(17px,1.35vw,21px);line-height:1.2;color:var(--bone)}
.pfs__spec div:last-child dd{color:var(--rose)}
.pfs__info.is-on .pfs__spec{opacity:1;transform:none;transition-delay:.75s}
.pfs__acts{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.pfs__info .pfs__acts .btn{opacity:1;transform:none}
.pfs__acts{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.pfs__info.is-on .pfs__acts{opacity:1;transform:none;transition-delay:.85s}
.pfs__like{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);padding:6px 0;border-bottom:1px solid rgba(244,241,236,.5);transition:border-color .3s,color .3s}
.pfs__like i{font-style:normal;transition:transform .4s var(--ease)}
.pfs__like:hover{color:var(--rose);border-color:var(--rose)}
.pfs__like:hover i{transform:translateX(5px)}
.pfs__like:focus-visible{outline:1px solid var(--rose);outline-offset:4px}
.pfs__shade{background:linear-gradient(90deg,rgba(7,23,34,.9) 0%,rgba(7,23,34,.6) 36%,rgba(7,23,34,.1) 62%,transparent 75%),linear-gradient(0deg,rgba(7,23,34,.75),transparent 42%)}
/* вкладки проектов: миниатюра + номер, название, стиль */
.pfs__nav{gap:0;padding:0 var(--pad)}
.pfs__tab{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;align-items:center;padding:20px 22px 24px 0;font-size:inherit;color:var(--muted-d);opacity:.7;transition:opacity .4s,color .4s}
.pfs__tab + .pfs__tab{padding-left:22px;border-left:1px solid var(--line-d)}
.pfs__tab i{grid-column:1/-1;margin-bottom:16px}
.pfs__tn{display:block;width:92px;height:62px;overflow:hidden;background:#0b1e2a}
.pfs__tn img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:filter .4s,transform .8s var(--ease)}
.pfs__tt{display:flex;flex-direction:column;gap:4px;min-width:0}
.pfs__tt span{font-family:var(--sans);font-size:11px;letter-spacing:.22em;color:var(--rose)}
.pfs__tt b{font-family:var(--serif);font-weight:400;font-size:clamp(16px,1.25vw,20px);color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pfs__tt small{font-size:12.5px;color:rgba(244,241,236,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pfs__tab:hover{opacity:1}
.pfs__tab:hover .pfs__tn img{transform:scale(1.06)}
.pfs__tab.is-on{opacity:1}
.pfs__tab.is-on .pfs__tn img{filter:none}
@media (max-width:1000px){
  .pfs__panel{width:auto;right:var(--pad)}
  .pfs__tab{grid-template-columns:minmax(0,1fr);row-gap:10px}
  .pfs__tn{width:100%;height:64px}
}
@media (max-width:700px){

  .pfs__info h3{font-size:40px}
  .pfs__spec{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pfs__spec div:last-child{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid rgba(244,241,236,.18)}
  .pfs__acts{gap:20px}
  .pfs__nav{gap:8px}
  .pfs__tab,.pfs__tab + .pfs__tab{padding:14px 0 16px;border-left:0}
  .pfs__tab i{margin-bottom:10px}
  .pfs__tn{height:48px}
  .pfs__tt b,.pfs__tt small{display:none}
}
.pfs__spec dt{letter-spacing:.16em;white-space:nowrap}
.pfs__tt b{white-space:normal;font-size:clamp(15px,1.15vw,19px);line-height:1.2}
.pfs__tab{grid-template-columns:84px minmax(0,1fr)}
.pfs__tn{width:84px;height:58px}
/* заголовок портфолио компактнее: одна строка, меньше отступы */
.pf.sec{padding-top:clamp(56px,6vw,96px)}
.pfh{margin-bottom:clamp(24px,2.6vw,40px)}
.pfh .eyebrow{margin-bottom:10px}
.pfh__t{font-size:clamp(34px,3.4vw,56px);line-height:1.05;letter-spacing:-.015em}
/* полноэкранный режим на невысоком экране: карточка проекта компактнее */
@media (max-height:860px){
  .fp-on .pfs__info p{display:none}
  .fp-on .pfs__info h3{font-size:clamp(36px,6vh,64px)}
  .fp-on .pfs__info em{margin-top:6px}
  .fp-on .pfs__spec{margin:18px 0 20px}
  .fp-on .pfs__spec div{padding:11px 16px 11px 0}
  .fp-on .pfs__panel{bottom:clamp(24px,4vh,50px)}
  .fp-on .pfs__arrows,.fp-on .pfs__thumbs{bottom:clamp(24px,4vh,50px)}
  .fp-on .pfs__tab{padding-top:14px;padding-bottom:16px}
  .fp-on .pfs__tab i{margin-bottom:12px}
}
