/* Лендинг De Costa Ukraine на системі Ferro. Тільки var(--fe-*), без хексів.
   Блоки адаптовано з компонентів 21st.dev (React + Tailwind) у чистий HTML/CSS/JS. */

/* ---------- Шапка ---------- */
.hd{position:fixed;inset:0 0 auto;z-index:50;background:var(--fe-ink-a72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--fe-line);color:var(--fe-text)}
.hd__row{display:flex;align-items:center;gap:var(--fe-s-6);height:68px}
.brand{display:inline-flex;align-items:center;gap:var(--fe-s-3);text-decoration:none;color:var(--fe-text)}
.brand__mark{display:grid;place-items:center;width:34px;height:34px;background:var(--fe-accent);color:var(--fe-on-accent);font:700 14px/1 var(--fe-font-mono);letter-spacing:.02em;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}
.brand__name{font:700 19px/1 var(--fe-font-display);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.brand__name b{color:var(--fe-accent-text);font-weight:700}
.hd__nav{display:flex;gap:var(--fe-s-5);margin-left:auto}
.hd__nav a{font:500 13px/1 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;color:var(--fe-text-2);padding:var(--fe-s-2) 0;transition:color var(--fe-fast) ease}
.hd__nav a span{color:var(--fe-accent);margin-right:var(--fe-s-2)}
.hd__nav a:hover{color:var(--fe-text)}
.hd__cta{min-height:42px;padding:0 var(--fe-s-5);font-size:12px}
@media (max-width:1020px){.hd__nav{display:none}.hd__cta{margin-left:auto}}
@media (max-width:520px){.brand__name{font-size:16px}.hd__cta{padding:0 var(--fe-s-4);font-size:11px;letter-spacing:.06em}.hd__row{gap:var(--fe-s-3)}}
@media (max-width:400px){.hd__cta{padding:0 var(--fe-s-3)}}

/* ---------- Hero: scroll-expansion ---------- */
.hero{--p:1;position:relative;background-color:var(--fe-bg-2);color:var(--fe-text)}
.hero__stage{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:calc(68px + var(--fe-s-6)) 0 var(--fe-s-5)}
.js .hero.is-anim{height:170vh}
.js .hero.is-anim .hero__stage{position:sticky;top:0;height:100vh;height:100svh}
.hero__media{position:absolute;inset:0;--i:calc(1 - var(--p));
  clip-path:inset(calc(var(--i) * 14%) calc(var(--i) * 4%) calc(var(--i) * 24%) calc(var(--i) * 60%) round calc(var(--i) * 4px))}
.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.12 - var(--p) * .12));transform-origin:70% 50%}
.hero__shade{position:absolute;inset:0;pointer-events:none;opacity:var(--p);
  background:linear-gradient(90deg,var(--fe-ink-a92) 0%,var(--fe-ink-a70) 42%,var(--fe-ink-a10) 75%),linear-gradient(0deg,var(--fe-ink-a85) 0%,transparent 40%)}
.hero__content{position:relative;width:100%}
.hero h1{font-size:clamp(40px,min(6.4vw,11vh),100px);max-width:12ch;margin:var(--fe-s-4) 0}
.hero__lead{max-width:44ch;font-size:var(--fe-fs-lead);color:var(--fe-text-2)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--fe-s-3);margin-top:var(--fe-s-5)}
@media (max-width:760px){
  .hero__media{clip-path:none}
  .hero__media img{transform:none}
  .hero__shade{opacity:1}
  .hero__shade{opacity:1;background:linear-gradient(0deg,var(--fe-ink-a95) 0%,var(--fe-ink-a75) 55%,var(--fe-ink-a35) 100%)}
  .hero__actions .fe-btn{width:100%}
}

/* ---------- Напрямки: feature-section-with-hover-effects ---------- */
.dirs__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fe-line-strong);border-left:1px solid var(--fe-line-strong)}
.dir{position:relative;padding:var(--fe-s-7) var(--fe-s-6) var(--fe-s-6);border-right:1px solid var(--fe-line-strong);border-bottom:1px solid var(--fe-line-strong);overflow:hidden;isolation:isolate}
.dir::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--fe-surface),transparent);opacity:0;transition:opacity .25s ease}
.dir::after{content:"";position:absolute;left:0;top:calc(var(--fe-s-7) + 52px);width:3px;height:34px;background:var(--fe-line-strong);transform:scaleY(.6);transform-origin:50% 50%;transition:transform .25s var(--fe-ease),background .25s ease}
.dir:hover::before{opacity:1}
.dir:hover::after{transform:none;background:var(--fe-accent)}
.dir__icon{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;color:var(--fe-text-2);margin-bottom:var(--fe-s-5);transition:color .25s ease}
.dir:hover .dir__icon{color:var(--fe-accent-text)}
.dir__code{position:absolute;top:var(--fe-s-5);right:var(--fe-s-5);font:500 11px/1 var(--fe-font-mono);letter-spacing:.14em;color:var(--fe-text-3)}
.dir h3{font-size:var(--fe-fs-h3);margin-bottom:var(--fe-s-3);transition:transform .25s var(--fe-ease)}
.dir:hover h3{transform:translateX(8px)}
.dir p{color:var(--fe-text-2);max-width:34ch}
.dirs__grid .dir:nth-child(2){transition-delay:.06s}.dirs__grid .dir:nth-child(3){transition-delay:.12s}
@media (max-width:960px){.dirs__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.dirs__grid{grid-template-columns:1fr}.dir{padding:var(--fe-s-6) var(--fe-s-5) var(--fe-s-5)}}

/* ---------- Маніфест: text-reveal ---------- */
.manifest{background-color:var(--fe-bg-2)}
.manifest__text{margin-top:var(--fe-s-5);font:700 clamp(30px,4.4vw,62px)/1.05 var(--fe-font-display);text-transform:uppercase;max-width:22ch}
.manifest__text .w{opacity:.16;transition:opacity .3s ease}
.manifest__text .w.on{opacity:1}
.manifest__text .w.hl.on{color:var(--fe-accent)}

/* ---------- Портфель: display-cards ---------- */
.folio__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--fe-s-8);align-items:center}
.folio h2{font-size:var(--fe-fs-h2);margin:var(--fe-s-5) 0}
.folio__lead{color:var(--fe-text-2);font-size:var(--fe-fs-lead);max-width:46ch}
.folio__form{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:var(--fe-s-3);margin-top:var(--fe-s-7)}
.folio__form .fe-field{width:100%;max-width:520px}
.folio__form .fe-check{max-width:520px}
.docs{list-style:none;margin:0;padding:0 0 270px;display:grid;grid-template-areas:"stack";justify-content:center}
.doc{grid-area:stack;align-self:start;width:min(400px,80vw);min-height:200px;display:flex;flex-direction:column;gap:var(--fe-s-2);padding:var(--fe-s-5);
  background:var(--fe-graphite-800);color:var(--fe-paper);border:1px solid var(--fe-steel-a14);border-radius:var(--fe-r-lg);
  transform:translate(calc(var(--i) * 40px - 60px),calc(var(--i) * 74px)) skewY(-6deg);
  box-shadow:0 18px 40px var(--fe-ink-a28);transition:transform .45s var(--fe-ease),filter .45s ease,border-color .2s ease;filter:grayscale(1) brightness(.78)}
.doc:last-child{filter:none}
.doc:hover{filter:none;border-color:var(--fe-signal);transform:translate(calc(var(--i) * 40px - 60px),calc(var(--i) * 74px - 28px)) skewY(-6deg)}
.doc__lvl{font:600 11px/1 var(--fe-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fe-signal)}
.doc h3{font-size:22px;color:var(--fe-paper)}
.doc p{color:var(--fe-steel-300);font-size:15px}
.doc ul{list-style:none;margin:var(--fe-s-2) 0 0;padding:0;display:grid;gap:var(--fe-s-1)}
.doc li{position:relative;padding-left:var(--fe-s-4);color:var(--fe-steel-300);font-size:14px}
.doc li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:2px;background:var(--fe-signal)}
.doc__gate{margin-top:auto;padding-top:var(--fe-s-3);border-top:1px dashed var(--fe-steel-a20);font:500 11px/1 var(--fe-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fe-steel-400)}
@media (max-width:960px){
  .folio__grid{grid-template-columns:1fr}
  .docs{grid-template-areas:none;gap:var(--fe-s-3);padding:0;justify-content:stretch}
  .doc,.doc:hover{grid-area:auto;width:auto;min-height:0;transform:none;filter:none}
}
@media (max-width:520px){.folio__form{grid-template-columns:1fr}}

/* ---------- Етапи: build-pipeline ---------- */
.pipe-band{background-color:var(--fe-bg)}
.pipe{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--fe-s-3);margin-bottom:var(--fe-s-6)}
.pipe::before{content:"";position:absolute;left:10%;right:10%;top:36px;height:2px;background:repeating-linear-gradient(90deg,var(--fe-line-strong) 0 8px,transparent 8px 14px);background-size:14px 2px;animation:flow 1.2s linear infinite}
@keyframes flow{to{background-position:14px 0}}
.pipe__node{position:relative;display:grid;justify-items:center;gap:var(--fe-s-3);padding:0;border:0;background:none;color:var(--fe-text-2);cursor:pointer;font:inherit}
.pipe__box{display:grid;place-items:center;width:72px;height:72px;background:var(--fe-surface);border:1px solid var(--fe-line-strong);border-radius:var(--fe-r-lg);font:600 18px/1 var(--fe-font-mono);color:var(--fe-text-2);
  box-shadow:6px 6px 0 var(--fe-bg-2);transition:transform var(--fe-fast) var(--fe-ease),background var(--fe-fast) ease,color var(--fe-fast) ease,border-color var(--fe-fast) ease}
.pipe__name{font:500 12px/1.3 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.1em;text-align:center}
.pipe__node:hover .pipe__box{border-color:var(--fe-accent);transform:translate(-2px,-2px)}
.pipe__node[aria-selected="true"]{color:var(--fe-text)}
.pipe__node[aria-selected="true"] .pipe__box{background:var(--fe-accent);border-color:var(--fe-accent);color:var(--fe-on-accent);transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--fe-signal-a22)}
.pipe__node.is-done .pipe__box{color:var(--fe-accent);border-color:var(--fe-accent)}
.console{background:var(--fe-graphite-950);border:1px solid var(--fe-line-strong);border-radius:var(--fe-r-lg);overflow:hidden;font:400 15px/1.7 var(--fe-font-mono)}
.console__bar{display:flex;align-items:center;gap:var(--fe-s-2);padding:var(--fe-s-3) var(--fe-s-4);border-bottom:1px solid var(--fe-line)}
.console__bar span{width:10px;height:10px;border-radius:50%;background:var(--fe-graphite-600)}
.console__bar span:first-child{background:var(--fe-signal)}
.console__bar b{margin-left:var(--fe-s-3);font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--fe-text-3)}
.console__panel{padding:var(--fe-s-5) var(--fe-s-6) var(--fe-s-6);color:var(--fe-text-2)}
.js .console__panel[hidden]{display:none}
.no-js .console__panel+.console__panel{border-top:1px dashed var(--fe-line)}
.console__panel i{font-style:normal;color:var(--fe-accent);margin-right:var(--fe-s-2)}
.console__ttl{color:var(--fe-text);text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:var(--fe-s-3)}
.console__out{color:var(--fe-ok)}
.console__out i{color:var(--fe-ok)}
.js .console__panel:not([hidden]) p{animation:type .4s var(--fe-ease) both}
.js .console__panel:not([hidden]) p:nth-child(2){animation-delay:.12s}
.js .console__panel:not([hidden]) p:nth-child(3){animation-delay:.28s}
@keyframes type{from{opacity:0;transform:translateX(-8px)}}
@media (max-width:760px){
  .pipe{grid-template-columns:1fr;gap:var(--fe-s-2)}
  .pipe::before{left:35px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:repeating-linear-gradient(0deg,var(--fe-line-strong) 0 8px,transparent 8px 14px)}
  .pipe__node{grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:var(--fe-s-4)}
  .pipe__box{width:56px;height:56px;font-size:15px;margin-left:7px}
  .pipe__name{text-align:left}
  .console__panel{padding:var(--fe-s-4)}
}

/* ---------- FAQ: accordion ---------- */
.faq{background-color:var(--fe-bg-2)}
.faq h2,.quiz-band h2{font-size:var(--fe-fs-h2);margin-top:var(--fe-s-5)}
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--fe-s-8)}
.faq__list{border-top:1px solid var(--fe-line-strong)}
.qa{border-bottom:1px solid var(--fe-line-strong)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--fe-s-4);padding:var(--fe-s-5) 0;cursor:pointer;font:600 clamp(17px,1.5vw,20px)/1.35 var(--fe-font-body);transition:color var(--fe-fast) ease}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--fe-accent-text)}
.qa summary i{position:relative;flex:none;width:28px;height:28px;border:1px solid var(--fe-line-strong);border-radius:var(--fe-r)}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;transition:transform .25s var(--fe-ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i{background:var(--fe-accent);border-color:var(--fe-accent);color:var(--fe-on-accent)}
.qa[open] summary i::after{transform:rotate(0)}
.qa__a{padding:0 var(--fe-s-8) var(--fe-s-5) 0;color:var(--fe-text-2)}
.qa[open] .qa__a{animation:qa .35s var(--fe-ease)}
@keyframes qa{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:860px){.faq__grid{grid-template-columns:1fr;gap:var(--fe-s-6)}.qa__a{padding-right:0}}

/* ---------- Анкета: partition-bar ---------- */
.quiz__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--fe-s-8);align-items:start}
.quiz__lead{margin-top:var(--fe-s-5);color:var(--fe-text-2);font-size:var(--fe-fs-lead);max-width:40ch}
.quiz{padding:var(--fe-s-6)}
.q-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--fe-s-3)}
.q-bar{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;margin-bottom:var(--fe-s-6)}
.q-bar span{height:8px;background:var(--fe-line);border-radius:1px;transition:background .3s ease}
.q-bar span.on{background:var(--fe-accent)}
.quiz h3{font-size:clamp(26px,2.6vw,36px);margin-bottom:var(--fe-s-2);outline:none}
.q-hint{color:var(--fe-text-3);font:400 14px/1.5 var(--fe-font-mono)}
.q-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fe-s-3);margin:var(--fe-s-6) 0 var(--fe-s-4)}
.q-opt{display:flex;align-items:center;gap:var(--fe-s-3);min-height:60px;padding:var(--fe-s-3) var(--fe-s-4);text-align:left;cursor:pointer;
  background:var(--fe-surface-2);color:var(--fe-text);border:1px solid var(--fe-line-strong);border-radius:var(--fe-r);font:500 16px/1.3 var(--fe-font-body);transition:border-color var(--fe-fast) ease,transform var(--fe-fast) ease,background var(--fe-fast) ease}
.q-opt kbd{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--fe-line-strong);border-radius:var(--fe-r);font:600 12px/1 var(--fe-font-mono);color:var(--fe-text-3)}
.q-opt:hover{border-color:var(--fe-accent);transform:translateY(-2px)}
.q-opt[aria-pressed="true"]{background:var(--fe-accent);border-color:var(--fe-accent);color:var(--fe-on-accent)}
.q-opt[aria-pressed="true"] kbd{border-color:currentColor;color:inherit}
.q-form{display:grid;gap:var(--fe-s-3);margin-top:var(--fe-s-6)}
.q-actions{display:flex;justify-content:space-between;gap:var(--fe-s-3);margin-top:var(--fe-s-3)}
@media (max-width:860px){.quiz__grid{grid-template-columns:1fr;gap:var(--fe-s-6)}}
@media (max-width:560px){.q-options{grid-template-columns:1fr}.quiz{padding:var(--fe-s-5)}}

/* ---------- Футер ---------- */
.ft{background:var(--fe-bg-2);color:var(--fe-text);overflow:hidden}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--fe-s-7);padding-top:var(--fe-s-9);padding-bottom:var(--fe-s-7)}
.ft__desc{margin-top:var(--fe-s-4);color:var(--fe-text-2);max-width:36ch}
.ft__nav{display:grid;gap:var(--fe-s-2);align-content:start}
.ft__nav a{text-decoration:none;color:var(--fe-text-2);transition:color var(--fe-fast) ease}
.ft__nav a:hover{color:var(--fe-accent)}
.ft__contacts{display:grid;gap:var(--fe-s-2);align-content:start;color:var(--fe-text-2)}
.ft__todo{font:400 13px/1.5 var(--fe-font-mono);color:var(--fe-text-3)}
.ft__base{display:flex;justify-content:space-between;gap:var(--fe-s-4);flex-wrap:wrap;padding-top:var(--fe-s-4);padding-bottom:var(--fe-s-4);border-top:1px solid var(--fe-line);font:500 12px/1.4 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--fe-text-3)}
.ft__mega{font:700 clamp(80px,21vw,320px)/.78 var(--fe-font-display);letter-spacing:-.02em;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--fe-line-strong);margin-bottom:-.12em;user-select:none}
@media (max-width:860px){.ft__grid{grid-template-columns:1fr;gap:var(--fe-s-6)}}

/* ---------- Сторінка «Заявку прийнято» ---------- */
.thanks{min-height:72vh;padding-top:calc(68px + var(--fe-s-9))}
.thanks h1{font-size:var(--fe-fs-h2);margin:var(--fe-s-5) 0}
.thanks__lead{color:var(--fe-text-2);font-size:var(--fe-fs-lead);max-width:52ch}
.thanks__h{margin:var(--fe-s-8) 0 var(--fe-s-4);font-size:var(--fe-fs-h3)}
.thanks__obj{margin-top:var(--fe-s-4);font:500 14px/1.5 var(--fe-font-mono);color:var(--fe-text-2)}
.thanks__now{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fe-s-4)}
.thanks__now li{border:1px solid var(--fe-line-strong);border-radius:var(--fe-r-lg);background:var(--fe-surface)}
.thanks__now li>*{display:grid;gap:var(--fe-s-2);padding:var(--fe-s-5);height:100%;text-decoration:none;color:var(--fe-text)}
.thanks__now b{font:700 20px/1.1 var(--fe-font-display);text-transform:uppercase}
.thanks__now span{color:var(--fe-text-2);font-size:15px}
.thanks__now a:hover b{color:var(--fe-accent)}
.thanks__steps{list-style:none;margin:0 0 var(--fe-s-7);padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fe-s-4);counter-reset:s}
.thanks__steps li{counter-increment:s;padding:var(--fe-s-5);border:1px solid var(--fe-line-strong);border-radius:var(--fe-r-lg);color:var(--fe-text-2)}
.thanks__steps li::before{content:"0" counter(s);display:block;margin-bottom:var(--fe-s-3);font:600 13px/1 var(--fe-font-mono);color:var(--fe-accent)}
.thanks__steps b{display:block;margin-bottom:var(--fe-s-2);font:700 20px/1.1 var(--fe-font-display);text-transform:uppercase;color:var(--fe-text)}
.ft__contacts--row{display:flex;flex-wrap:wrap;gap:var(--fe-s-5);padding-top:var(--fe-s-7);padding-bottom:var(--fe-s-6)}
.ft__contacts--row .fe-label{width:100%}
@media (max-width:960px){.thanks__now,.thanks__steps{grid-template-columns:1fr}}



section[id]{scroll-margin-top:68px}

/* ---------- Hero: цифри портфеля (з каталогу) ---------- */
.hero__stats{position:relative;width:100%;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--fe-s-6)}
.hero__stats li{display:grid;gap:var(--fe-s-1);padding:var(--fe-s-4) var(--fe-s-4) 0 0;border-top:1px solid var(--fe-line-strong)}
.hero__stats li+li{padding-left:var(--fe-s-4);border-left:1px solid var(--fe-line)}
.hero__stats b{font:700 clamp(22px,2.2vw,32px)/1 var(--fe-font-display);color:var(--fe-text)}
.hero__stats li:first-child b{color:var(--fe-accent)}
.hero__stats span{font:500 11px/1.4 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fe-text-2)}
@media (max-width:760px){.hero__stats{grid-template-columns:repeat(2,1fr);row-gap:var(--fe-s-4)}.hero__stats li:nth-child(3){padding-left:0;border-left:0}}

/* ---------- Об'єкти ---------- */
.filters{display:grid;gap:var(--fe-s-3);margin-bottom:var(--fe-s-7);padding:var(--fe-s-5);background:var(--fe-surface);border:1px solid var(--fe-line);border-radius:var(--fe-r-lg)}
.filters__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fe-s-2)}
.filters__row .fe-label{min-width:80px}
.filters__empty{font:400 14px/1.5 var(--fe-font-mono);color:var(--fe-text-2)}
.chip{display:inline-flex;align-items:center;gap:var(--fe-s-2);min-height:38px;padding:0 var(--fe-s-4);border:1px solid var(--fe-line-strong);border-radius:var(--fe-r);background:transparent;color:var(--fe-text);cursor:pointer;font:500 13px/1 var(--fe-font-mono);letter-spacing:.04em;transition:border-color var(--fe-fast) ease,background var(--fe-fast) ease}
.chip span{color:var(--fe-text-3)}
.chip:hover{border-color:var(--fe-accent)}
.chip[aria-pressed="true"]{background:var(--fe-graphite-900);border-color:var(--fe-graphite-900);color:var(--fe-paper)}
.chip[aria-pressed="true"] span{color:var(--fe-signal)}

.pill{display:inline-flex;align-items:center;min-height:26px;padding:0 var(--fe-s-3);border-radius:var(--fe-r);background:var(--fe-graphite-900);color:var(--fe-paper);font:600 11px/1 var(--fe-font-mono);letter-spacing:.1em;text-transform:uppercase}
.pill--lock{background:var(--fe-signal);color:var(--fe-graphite-950)}
.obj__pills{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fe-s-2)}
.obj__code{margin-left:auto;font:500 11px/1 var(--fe-font-mono);letter-spacing:.12em;color:var(--fe-text-3)}
.obj__where{font:500 12px/1.4 var(--fe-font-mono);letter-spacing:.06em;color:var(--fe-text-3);text-transform:uppercase}
.obj__price{font:700 clamp(26px,2.4vw,34px)/1 var(--fe-font-display);color:var(--fe-text);white-space:nowrap}

.obj-list{display:grid;gap:var(--fe-s-6)}
.obj{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--fe-surface-2);border:1px solid var(--fe-line);border-radius:var(--fe-r-lg);overflow:hidden}
.obj:nth-child(even) .obj__gallery{order:2}
.obj__gallery{display:grid;grid-template-rows:1fr auto;background:var(--fe-graphite-950);min-width:0}
.obj__main{position:relative;margin:0;min-height:360px}
.obj__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.obj__main figcaption{position:absolute;left:var(--fe-s-4);bottom:var(--fe-s-4);padding:var(--fe-s-1) var(--fe-s-3);background:var(--fe-ink-a72);color:var(--fe-paper);font:500 12px/1.4 var(--fe-font-mono);border-radius:var(--fe-r)}
.obj__main figcaption:empty{display:none}
.obj__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px}
.obj__thumb{position:relative;aspect-ratio:4/3;padding:0;border:0;cursor:pointer;background:none;opacity:.55;transition:opacity var(--fe-fast) ease;overflow:hidden}
.obj__thumb img{width:100%;height:100%;object-fit:cover}
.obj__thumb:hover{opacity:.85}
.obj__thumb[aria-pressed="true"]{opacity:1;box-shadow:inset 0 0 0 2px var(--fe-signal)}
.obj__thumb[aria-pressed="true"]::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px var(--fe-signal)}
.obj__body{display:flex;flex-direction:column;gap:var(--fe-s-4);padding:var(--fe-s-6)}
.obj__body h3{font-size:clamp(26px,2.4vw,36px)}
.obj__head{font:600 18px/1.4 var(--fe-font-body);color:var(--fe-text)}
.obj__specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0;border-top:1px solid var(--fe-line-strong);border-left:1px solid var(--fe-line-strong)}
.obj__specs div{padding:var(--fe-s-3);border-right:1px solid var(--fe-line-strong);border-bottom:1px solid var(--fe-line-strong)}
.obj__specs dt,.card__specs dt{font:500 11px/1.3 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fe-text-3)}
.obj__specs dd{margin:var(--fe-s-1) 0 0;font:700 22px/1.1 var(--fe-font-display);color:var(--fe-text)}
.obj__dist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--fe-s-2)}
.obj__dist li{padding:var(--fe-s-2) var(--fe-s-3);border:1px dashed var(--fe-line-strong);border-radius:var(--fe-r);font:400 13px/1.3 var(--fe-font-body);color:var(--fe-text-2)}
.obj__dist b{font:600 13px/1 var(--fe-font-mono);color:var(--fe-accent-text)}
.obj__fit ul{list-style:none;margin:var(--fe-s-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fe-s-2) var(--fe-s-4)}
.obj__fit li{position:relative;padding-left:var(--fe-s-5);color:var(--fe-text-2);font-size:15px}
.obj__fit li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--fe-accent)}
.obj__deal{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--fe-s-4);margin-top:auto;padding-top:var(--fe-s-4);border-top:1px dashed var(--fe-line-strong)}
.obj__deal .fe-label{display:block;margin-bottom:var(--fe-s-2)}
.obj__ctas{display:flex;flex-wrap:wrap;gap:var(--fe-s-2)}
@media (max-width:1020px){.obj{grid-template-columns:1fr}.obj:nth-child(even) .obj__gallery{order:0}.obj__main{min-height:0;aspect-ratio:16/10}}
@media (max-width:560px){.obj__body{padding:var(--fe-s-5)}.obj__fit ul{grid-template-columns:1fr}.obj__ctas,.obj__ctas .fe-btn{width:100%}.obj__thumbs{grid-template-columns:repeat(5,1fr)}}

.more-head{margin:var(--fe-s-8) 0 var(--fe-s-5);font-size:var(--fe-fs-h3)}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--fe-s-4)}
.card{display:flex;flex-direction:column;background:var(--fe-surface-2);border:1px solid var(--fe-line);border-radius:var(--fe-r-lg);overflow:hidden;transition:border-color var(--fe-fast) ease,transform var(--fe-fast) ease}
.card:hover{border-color:var(--fe-accent)}
.card__img{position:relative;aspect-ratio:4/3;background:var(--fe-graphite-950)}
.card__img img{width:100%;height:100%;object-fit:cover}
.card__img .obj__pills{position:absolute;left:var(--fe-s-3);top:var(--fe-s-3)}
.card__body{display:flex;flex-direction:column;gap:var(--fe-s-3);padding:var(--fe-s-5);flex:1}
.card h3{font-size:20px;line-height:1.05}
.card__specs{display:grid;gap:var(--fe-s-1);margin:0}
.card__specs div{display:flex;justify-content:space-between;gap:var(--fe-s-3);padding:var(--fe-s-1) 0;border-bottom:1px dashed var(--fe-line)}
.card__specs dd{margin:0;font:600 14px/1.3 var(--fe-font-mono);color:var(--fe-text)}
.card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--fe-s-3);margin-top:auto;padding-top:var(--fe-s-2)}
.card .obj__price{font-size:22px}
.card__link{display:inline-flex;align-items:center;gap:var(--fe-s-1);font:600 12px/1 var(--fe-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fe-accent-text);text-decoration:none}
.card__link svg{width:14px;height:14px}
.card .fe-btn{min-height:44px;font-size:12px}
.is-hidden{display:none!important}
.obj-note{margin-top:var(--fe-s-6);font:400 13px/1.6 var(--fe-font-mono);color:var(--fe-text-3);max-width:90ch}
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* ---------- Обраний об'єкт у формі портфеля ---------- */
.folio__picked{grid-column:1/-1;display:flex;align-items:center;gap:var(--fe-s-3);padding:var(--fe-s-3) var(--fe-s-4);border:1px dashed var(--fe-line-strong);border-radius:var(--fe-r);font:500 14px/1.4 var(--fe-font-mono);color:var(--fe-text-2)}
.folio__picked::before{content:"";flex:none;width:8px;height:8px;background:var(--fe-accent)}

@media (prefers-reduced-motion:reduce){.pipe::before{animation:none}.dir h3,.doc{transition:none}}

/* ---------- Телефон у шапці, контакти у футері ---------- */
.hd__phone{display:inline-flex;align-items:center;gap:var(--fe-s-2);margin-left:var(--fe-s-2);color:var(--fe-text);text-decoration:none;font:500 13px/1 var(--fe-font-mono);letter-spacing:.04em;white-space:nowrap}
.hd__phone svg{width:18px;height:18px;color:var(--fe-accent)}
.hd__phone:hover{color:var(--fe-accent)}
@media (max-width:1180px){.hd__phone span{display:none}.hd__phone{width:42px;height:42px;justify-content:center;border:1px solid var(--fe-line-strong);border-radius:var(--fe-r)}}
@media (max-width:1020px){.hd__phone{margin-left:auto}.hd__cta{margin-left:0}}
.ft__contacts a{color:var(--fe-text-2);text-decoration:none}
.ft__contacts a:hover{color:var(--fe-accent)}
.ft__phone{font:700 22px/1.2 var(--fe-font-display);color:var(--fe-text)!important}

/* ---------- Анкета: підходящі об'єкти ---------- */
.q-match{margin:var(--fe-s-5) 0 0;padding:var(--fe-s-4);border:1px dashed var(--fe-line-strong);border-radius:var(--fe-r)}
.q-match ul{list-style:none;margin:var(--fe-s-3) 0 0;padding:0;display:grid;gap:var(--fe-s-2)}
.q-match li a{display:flex;justify-content:space-between;gap:var(--fe-s-3);color:var(--fe-text);text-decoration:none;font-weight:500}
.q-match li a b{font:600 14px/1.4 var(--fe-font-mono);color:var(--fe-accent-text);white-space:nowrap}
.q-match li a:hover{color:var(--fe-accent-text)}

.folio__picked[hidden]{display:none}

/* ---------- Анкета клієнта ---------- */
.anketa{max-width:960px}
.anketa__form{display:grid;gap:var(--fe-s-5);padding:var(--fe-s-7)}
.anketa__h{margin:var(--fe-s-3) 0 0;font-size:var(--fe-fs-h3)}
.anketa__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fe-s-4)}
.anketa__grid[hidden]{display:none}
.a-hint{font:400 13px/1.4 var(--fe-font-mono);color:var(--fe-text-3)}
.anketa__form .fe-btn{justify-self:start}
.anketa__done{display:grid;gap:var(--fe-s-4);justify-items:start;padding:var(--fe-s-7);outline:none}
.anketa__done[hidden]{display:none}
.anketa__form[hidden]{display:none}
@media (max-width:760px){.anketa__grid{grid-template-columns:1fr}.anketa__form,.anketa__done{padding:var(--fe-s-5)}}

.thanks__steps--four{grid-template-columns:repeat(4,1fr)}
.thanks__tg{display:grid;gap:var(--fe-s-3);justify-items:start;margin-bottom:var(--fe-s-7);color:var(--fe-text-2);max-width:60ch}
@media (max-width:1100px){.thanks__steps--four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.thanks__steps--four{grid-template-columns:1fr}}

.thanks--short{min-height:0;padding-bottom:var(--fe-s-8)}
