/* ===========================================================
   Индиго Терем — авторская таблица стилей.
   Ритм 4/8, одна акцентная краска, две гарнитуры.
   =========================================================== */

:root{
  --ink:#16181d;
  --ink-2:#565c6b;
  --ink-3:#8b909c;
  --paper:#faf8f4;
  --paper-2:#f1ede5;
  --line:#e0dbd1;
  --line-2:#cdc6b8;
  --indigo:#232d63;
  --indigo-2:#37439a;
  --indigo-ink:#151b3d;
  --brass:#a8763f;
  --r:2px;
  --pad:20px;
  --maxw:1280px;
  --f-display:"Cormorant Infant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-text:"Golos Text","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--f-text);font-size:16px;line-height:1.6;
  font-feature-settings:"liga" 1;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.08;letter-spacing:-.01em}
p{margin:0}
ul,ol{margin:0;padding:0}
button{font:inherit}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:760px}
@media(min-width:768px){:root{--pad:32px}}
@media(min-width:1100px){:root{--pad:48px}}

/* ── типографика ───────────────────────────────────────── */
.display{font-family:var(--f-display);font-weight:300;letter-spacing:-.02em}
.h-xxl{font-size:clamp(40px,8.2vw,84px);line-height:1.02}
.h-xl {font-size:clamp(32px,5.2vw,58px);line-height:1.06}
.h-l  {font-size:clamp(26px,3.4vw,40px);line-height:1.1}
.h-m  {font-size:clamp(21px,2.2vw,27px);line-height:1.2}
.ital{font-style:italic;color:var(--indigo)}
.eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-3);font-weight:600;
}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.62;color:var(--ink-2);max-width:62ch}
.body p+p{margin-top:1em}
.body{color:var(--ink-2);max-width:68ch}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ── «рейка»: фирменный графический мотив ──────────────── */
.reika{
  background-image:repeating-linear-gradient(90deg,
    var(--line-2) 0 1px, transparent 1px 9px);
}

/* ── шапка ─────────────────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:60;background:rgba(250,248,244,.94);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:16px;height:68px}
@media(min-width:900px){.hdr__in{height:84px}}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo__mark{width:26px;height:26px;flex:none}
.logo__txt{display:flex;flex-direction:column;line-height:1}
.logo__n{font-family:var(--f-display);font-size:21px;letter-spacing:.01em}
.logo__s{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
.nav{display:none;margin-left:auto;gap:26px}
@media(min-width:1000px){.nav{display:flex}}
.nav a{text-decoration:none;font-size:14.5px;color:var(--ink-2);padding:6px 0;position:relative}
.nav a:hover{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--indigo);transition:right .25s}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.nav a[aria-current]{color:var(--ink)}
.hdr__side{margin-left:auto;display:flex;align-items:center;gap:14px}
@media(min-width:1000px){.hdr__side{margin-left:26px}}
.tel{text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap;display:none}
@media(min-width:640px){.tel{display:block}}
.burger{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);
  background:none;cursor:pointer;border-radius:var(--r)}
@media(min-width:1000px){.burger{display:none}}
.burger span{display:block;width:17px;height:1px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;height:1px;background:var(--ink)}
.burger span::before{top:-5px}.burger span::after{top:5px}

.mob[hidden]{display:none}
.mob{position:fixed;inset:0;z-index:70;background:var(--paper);padding:24px var(--pad) 40px;
  overflow:auto;display:flex;flex-direction:column}
.mob__top{display:flex;justify-content:space-between;align-items:center;height:44px;margin-bottom:24px}
.mob__x{width:40px;height:40px;border:1px solid var(--line);background:none;font-size:20px;cursor:pointer;border-radius:var(--r)}
.mob a{text-decoration:none;display:block;padding:13px 0;border-bottom:1px solid var(--line);
  font-family:var(--f-display);font-size:25px}
.mob .sub a{font-family:var(--f-text);font-size:15px;padding:9px 0 9px 18px;color:var(--ink-2)}

/* ── кнопки ────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;text-decoration:none;font-size:14.5px;font-weight:600;
  border:1px solid var(--indigo);border-radius:var(--r);cursor:pointer;
  transition:background .2s,color .2s,transform .12s}
.btn--fill{background:var(--indigo);color:#fff}
.btn--fill:hover{background:var(--indigo-2)}
.btn--ghost{background:none;color:var(--indigo)}
.btn--ghost:hover{background:var(--indigo);color:#fff}
.btn:active{transform:translateY(1px)}
.btn--wide{width:100%}

/* ── герой ─────────────────────────────────────────────── */
.hero{padding:44px 0 0;position:relative;overflow:hidden}
@media(min-width:900px){.hero{padding:72px 0 0}}
.hero__grid{display:grid;gap:32px}
@media(min-width:900px){.hero__grid{grid-template-columns:1fr 1fr;gap:56px;align-items:end}}
@media(min-width:1200px){.hero__grid{grid-template-columns:1.06fr 1fr;gap:72px}}
.hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.hero__eyebrow::after{content:"";flex:1;height:1px;background:var(--line-2)}
.hero h1{margin-bottom:24px}
.hero__lead{margin-bottom:32px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
@media(max-width:520px){.hero__cta{display:grid;grid-template-columns:1fr;gap:10px}}
.hero__img{position:relative;margin:0 calc(var(--pad)*-1);}
@media(min-width:900px){.hero__img{margin:0}}
.hero__img img{width:100%;height:clamp(320px,52vw,600px);object-fit:cover}
.hero__tag{position:absolute;left:0;bottom:0;background:var(--paper);padding:14px 20px 0 0;
  font-size:12px;color:var(--ink-3);max-width:70%}
@media(min-width:900px){.hero__tag{left:-1px}}

.facts{border-top:1px solid var(--line);margin-top:48px}
@media(min-width:900px){.facts{margin-top:72px}}
.facts__row{display:grid}
@media(min-width:640px){.facts__row{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.facts__row{grid-template-columns:repeat(4,1fr)}}
.fact{padding:22px 0;border-bottom:1px solid var(--line)}
@media(min-width:640px){.fact{padding:26px 24px 26px 0;border-right:1px solid var(--line)}
  .fact:last-child{border-right:0}}
@media(min-width:640px){.fact:nth-child(2n){padding-left:24px}
  .fact:nth-child(2n){border-right:0}}
@media(min-width:1000px){.fact{padding-left:24px;border-right:1px solid var(--line)}
  .fact:first-child{padding-left:0}
  .fact:nth-child(2n){border-right:1px solid var(--line)}
  .fact:last-child{border-right:0}}
.fact__k{font-family:var(--f-display);font-size:22px;color:var(--indigo);margin-bottom:6px}
.fact__v{font-size:14px;color:var(--ink-2);line-height:1.45}

/* ── секции ────────────────────────────────────────────── */
.sec{padding:64px 0}
@media(min-width:900px){.sec{padding:104px 0}}
.sec--tint{background:var(--paper-2)}
.sec--ink{background:var(--indigo-ink);color:#e9e7e2}
.sec--ink .eyebrow{color:#8d93b4}
.sec--ink .body,.sec--ink .lead{color:#b9bcca}
.sechead{display:grid;gap:16px;margin-bottom:40px}
@media(min-width:900px){.sechead{grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:56px}}
.sechead__t{max-width:18ch}
.num{font-family:var(--f-display);font-size:13px;color:var(--ink-3);letter-spacing:.1em}

/* ── асимметричная сетка направлений ───────────────────── */
.cards{display:grid;gap:2px;background:var(--line)}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.cards{grid-template-columns:repeat(6,1fr)}}
.card{position:relative;display:block;text-decoration:none;background:var(--paper);
  overflow:hidden;min-height:280px}
@media(min-width:1050px){
  .card{grid-column:span 2;min-height:340px}
  .card--big{grid-column:span 4;min-height:420px}
  .card--tall{grid-column:span 2;min-height:420px}
}
.card__img{position:absolute;inset:0;display:block}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.card:hover .card__img img{transform:scale(1.05)}
.card__veil{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(12,14,24,.86) 0%,rgba(12,14,24,.42) 42%,rgba(12,14,24,.06) 100%)}
.card__body{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;color:#fff;min-height:inherit}
@media(min-width:900px){.card__body{padding:30px}}
.card__num{font-family:var(--f-display);font-size:12px;letter-spacing:.14em;opacity:.72;margin-bottom:auto}
.card__t{font-family:var(--f-display);font-size:clamp(24px,2.6vw,34px);margin-bottom:8px}
.card__d{font-size:14px;line-height:1.5;color:rgba(255,255,255,.82);max-width:44ch}
.card__go{margin-top:16px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px}
.card__go::after{content:"";width:22px;height:1px;background:currentColor;transition:width .25s}
.card:hover .card__go::after{width:36px}

/* ── материалы: лента ──────────────────────────────────── */
.mats{display:grid;gap:24px}
@media(min-width:640px){.mats{grid-template-columns:repeat(2,1fr);gap:28px}}
@media(min-width:1050px){.mats{grid-template-columns:repeat(4,1fr);gap:24px}}
.mat{text-decoration:none;display:block}
.mat__img{display:block;overflow:hidden;margin-bottom:16px;background:var(--paper-2)}
.mat__img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.mat:hover .mat__img img{transform:scale(1.04)}
.mat__t{display:block;font-family:var(--f-display);font-size:24px;margin-bottom:6px}
.mat__d{display:block;font-size:14px;color:var(--ink-2);line-height:1.5}

/* ── процесс ───────────────────────────────────────────── */
.steps{border-top:1px solid var(--line)}
.sec--ink .steps{border-color:rgba(255,255,255,.16)}
.step{display:grid;gap:8px;padding:26px 0;border-bottom:1px solid var(--line)}
.sec--ink .step{border-color:rgba(255,255,255,.16)}
@media(min-width:800px){.step{grid-template-columns:80px 300px 1fr;gap:32px;align-items:start;padding:30px 0}}
.step__n{font-family:var(--f-display);font-size:34px;color:var(--brass);line-height:1}
.step__t{font-family:var(--f-display);font-size:26px}
.step__d{font-size:15px;color:var(--ink-2);line-height:1.6;max-width:62ch}
.sec--ink .step__d{color:#b9bcca}

/* ── портфолио ─────────────────────────────────────────── */
.works{display:grid;gap:36px}
@media(min-width:800px){.works{grid-template-columns:repeat(2,1fr);gap:40px 32px}}
.work{text-decoration:none;display:block}
.work__img{display:block;overflow:hidden;background:var(--paper-2);margin-bottom:18px}
.work__img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.work:hover .work__img img{transform:scale(1.04)}
.work__type{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.work__t{display:block;font-family:var(--f-display);font-size:clamp(22px,2.4vw,30px);margin-bottom:10px}
.work__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-3)}
.work__meta b{font-weight:500;color:var(--ink-2)}

/* ── страница-посадочная ───────────────────────────────── */
.crumbs{font-size:13px;color:var(--ink-3);padding:18px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.crumbs li::after{content:"/";margin-left:8px;color:var(--line-2)}
.crumbs li:last-child::after{content:""}
.crumbs a{text-decoration:none;color:var(--ink-3)}
.crumbs a:hover{color:var(--indigo)}

.phead{padding:28px 0 44px}
@media(min-width:900px){.phead{padding:40px 0 64px}}
.phead__grid{display:grid;gap:26px}
@media(min-width:960px){.phead__grid{grid-template-columns:1.15fr 1fr;gap:56px;align-items:end}}
.phead h1{margin-bottom:20px}
.pimg{margin:0 calc(var(--pad)*-1) 0}
@media(min-width:960px){.pimg{margin:0}}
.pimg img{width:100%;height:clamp(240px,38vw,440px);object-fit:cover}

.prose{display:grid;gap:44px}
@media(min-width:960px){.prose{grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}}
.block{margin-bottom:40px;max-width:68ch}
.block:last-child{margin-bottom:0}
.block h2{font-family:var(--f-display);font-size:clamp(23px,2.5vw,32px);margin-bottom:16px;max-width:22ch}
.block p{color:var(--ink-2);font-size:16.5px;line-height:1.68;max-width:66ch}
.block p+p{margin-top:1.05em}

.aside{position:sticky;top:104px;display:grid;gap:28px}
.spec{border-top:1px solid var(--ink)}
.spec__row{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;padding:12px 0;
  border-bottom:1px solid var(--line);font-size:14px}
.spec__k{color:var(--ink-3)}
.spec__v{color:var(--ink)}
.callout{background:var(--paper-2);padding:26px;border-left:2px solid var(--indigo)}
.callout .h-m{margin-bottom:10px}
.callout p{font-size:14.5px;color:var(--ink-2);margin-bottom:18px}

/* ── FAQ ───────────────────────────────────────────────── */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;
  font-family:var(--f-display);font-size:clamp(19px,2vw,24px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:calc(50% - 1px);width:15px;height:1px;background:var(--ink)}
.faq summary::before{content:"";position:absolute;right:13px;top:calc(50% - 7px);width:1px;height:15px;
  background:var(--ink);transition:transform .25s}
.faq details[open] summary::before{transform:rotate(90deg);opacity:0}
.faq__a{padding:0 0 22px;color:var(--ink-2);max-width:72ch;font-size:15.5px;line-height:1.65}

/* ── объект портфолио ──────────────────────────────────── */
.obj__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin:0 0 36px}
@media(min-width:760px){.obj__meta{grid-template-columns:repeat(4,1fr)}}
.obj__cell{background:var(--paper);padding:18px 20px}
.obj__k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.obj__v{font-family:var(--f-display);font-size:21px}
.solution{list-style:none;display:grid;gap:14px;margin-top:18px}
.solution li{position:relative;padding-left:30px;color:var(--ink-2);line-height:1.62}
.solution li::before{content:"";position:absolute;left:0;top:11px;width:16px;height:1px;background:var(--brass)}

/* ── форма ─────────────────────────────────────────────── */
.form{display:grid;gap:18px}
.field{position:relative}
.field input,.field textarea{
  width:100%;border:0;border-bottom:1px solid var(--line-2);background:none;
  padding:12px 0;font:inherit;font-size:16px;color:var(--ink);border-radius:0}
.field textarea{resize:vertical;min-height:74px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--indigo)}
.field label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:2px}
.sec--ink .field input,.sec--ink .field textarea{color:#fff;border-color:rgba(255,255,255,.3)}
.sec--ink .field label{color:#8d93b4}
.sec--ink .field input:focus,.sec--ink .field textarea:focus{border-color:#fff}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.sec--ink .consent{color:#8d93b4}
.consent input{margin-top:3px;flex:none;accent-color:var(--indigo)}
.consent a{color:inherit}
.formnote{font-size:13px;margin-top:6px}
.sec--ink .btn--fill{background:#fff;color:var(--indigo-ink);border-color:#fff}
.sec--ink .btn--fill:hover{background:var(--paper-2)}

.cta__grid{display:grid;gap:36px}
@media(min-width:900px){.cta__grid{grid-template-columns:1fr 1fr;gap:72px;align-items:start}}

/* ── подвал ────────────────────────────────────────────── */
.ftr{background:var(--indigo-ink);color:#a7abbd;padding:56px 0 28px;font-size:14px}
.ftr a{color:#d8dae4;text-decoration:none}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr__grid{display:grid;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.13)}
@media(min-width:700px){.ftr__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.ftr__grid{grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px}}
.ftr h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6e738d;margin-bottom:16px}
.ftr ul{list-style:none;display:grid;gap:10px}
.ftr__logo .logo__n{color:#fff}
.ftr__logo .logo__s{color:#6e738d}
.ftr__bot{padding-top:22px;display:grid;gap:10px;font-size:12.5px;color:#6e738d}
@media(min-width:800px){.ftr__bot{grid-template-columns:1fr auto;align-items:center}}
.ftr__tel{font-family:var(--f-display);font-size:26px;color:#fff!important;text-decoration:none!important}

/* ── карта сайта / политика ────────────────────────────── */
.doc{max-width:760px;padding:8px 0 0}
.doc h2{font-family:var(--f-display);font-size:26px;margin:34px 0 12px}
.doc p,.doc li{color:var(--ink-2);line-height:1.65}
.doc ul{padding-left:20px;margin:10px 0;display:grid;gap:6px}
.smap{display:grid;gap:28px}
@media(min-width:700px){.smap{grid-template-columns:repeat(2,1fr)}}
.smap ul{list-style:none;display:grid;gap:9px;padding:0}
.smap a{color:var(--indigo);text-decoration:none}
.smap a:hover{text-decoration:underline}

.rel{display:grid;gap:2px;background:var(--line)}
@media(min-width:700px){.rel{grid-template-columns:repeat(2,1fr)}}
.rel a{background:var(--paper);padding:26px;text-decoration:none;display:flex;
  justify-content:space-between;align-items:center;gap:20px;transition:background .2s}
.rel a:hover{background:var(--paper-2)}
.rel__t{font-family:var(--f-display);font-size:24px}
.rel__ar{color:var(--ink-3)}

.notfound{padding:80px 0 100px;text-align:center}
.notfound .h-xxl{margin-bottom:16px}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ── портфолио: фильтр, пагинация, галерея, переходы ───── */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.chip{display:inline-flex;align-items:baseline;gap:7px;padding:9px 16px;text-decoration:none;
  border:1px solid var(--line-2);border-radius:100px;font-size:14px;color:var(--ink-2);
  transition:border-color .2s,color .2s,background .2s}
.chip:hover{border-color:var(--indigo);color:var(--indigo)}
.chip--on{background:var(--indigo);border-color:var(--indigo);color:#fff}
.chip__n{font-size:11.5px;opacity:.65;font-variant-numeric:tabular-nums}

.work__img{position:relative}
.work__count{position:absolute;right:12px;bottom:12px;background:rgba(12,14,24,.72);color:#fff;
  font-size:11.5px;letter-spacing:.05em;padding:5px 10px;border-radius:100px}

.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:48px;
  padding-top:26px;border-top:1px solid var(--line)}
.pager__a{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 13px;text-decoration:none;font-size:14px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:var(--r)}
.pager__a:hover{border-color:var(--indigo);color:var(--indigo)}
.pager__a--on{background:var(--indigo);border-color:var(--indigo);color:#fff}
.pager__gap{padding:0 4px;color:var(--ink-3)}

.gallery{display:grid;gap:12px}
@media(min-width:600px){.gallery{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(min-width:1000px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery__i{display:block;overflow:hidden;background:var(--paper-2)}
.gallery__i img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.gallery__i:hover img{transform:scale(1.04)}

.objnav{display:grid;gap:2px;background:var(--line)}
@media(min-width:700px){.objnav{grid-template-columns:1fr 1fr}}
.objnav a{background:var(--paper-2);padding:24px;text-decoration:none;display:block;transition:background .2s}
.objnav a:hover{background:var(--paper)}
.objnav__r{text-align:right}
.objnav__k{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:8px}
.objnav__t{display:block;font-family:var(--f-display);font-size:22px;line-height:1.15}

/* ловушка для ботов: человек этого поля не видит */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
