/* ═══════════════════════════════════════════════════════════
   Прототип B — «Редакторский атлье»
   Оцифровка лекал · Iminera
   ═══════════════════════════════════════════════════════════ */

:root{
  --cream:   #EDEAE3;
  --paper:   #F6F4EF;
  --ink:     #16150F;
  --grey:    #8A867D;
  --line:    rgba(22,21,15,.22);
  --bronze:  #8A6F4E;
}

*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--ink);color:var(--cream)}
html{scroll-behavior:smooth}

body{
  background:var(--cream);
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{display:block;max-width:100%}

.caps{
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  text-transform:uppercase;
  letter-spacing:.3em;
  font-weight:400;
  font-size:10px;
}

.visually-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

:focus-visible{outline:1px solid var(--ink);outline-offset:4px}

/* ─── шапка ─── */
header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;justify-content:space-between;align-items:center;
  gap:24px;padding:22px 46px;
  mix-blend-mode:difference;
}
.logo img{height:22px;width:auto;filter:invert(1) brightness(2)}
header nav{display:flex;gap:30px}
header nav a,.header-tel{
  color:#fff;text-decoration:none;
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  opacity:.72;transition:opacity .3s;
}
header nav a:hover,.header-tel:hover{opacity:1}
.header-tel{letter-spacing:.18em;white-space:nowrap}

/* ─── первый экран ─── */
.hero{
  min-height:100vh;position:relative;
  display:grid;place-items:center;
  padding:120px 46px 80px;overflow:hidden;
}
.hero-word{
  position:absolute;top:46%;left:50%;
  transform:translate(-50%,-50%);
  font-size:clamp(180px,34vw,600px);
  font-weight:400;line-height:1;letter-spacing:.02em;
  color:var(--ink);opacity:.07;
  user-select:none;white-space:nowrap;z-index:0;
}
.hero-photo{
  position:relative;z-index:2;
  width:min(330px,54vw);
  box-shadow:0 50px 120px rgba(22,21,15,.28);
  overflow:hidden;
}
.hero-photo img{filter:grayscale(1) contrast(1.06)}
.hero-photo::after{
  content:'';position:absolute;inset:0;
  box-shadow:inset 0 0 0 1px rgba(237,234,227,.3);
}
.hero-title{
  position:absolute;z-index:3;left:46px;top:20vh;
  font-size:clamp(44px,7.4vw,116px);
  font-weight:400;line-height:.98;letter-spacing:-.01em;
  max-width:9ch;
}
.hero-title em{font-style:italic}
.hero-sub{
  position:absolute;z-index:3;right:46px;bottom:22vh;
  max-width:34ch;font-size:16px;line-height:1.65;
  text-align:right;color:#3A382E;
}
.hero-cta{position:absolute;z-index:3;right:46px;bottom:14vh}
.hero-meta-l{
  position:absolute;z-index:3;left:46px;bottom:44px;
  line-height:2.4;color:var(--grey);
}
.hero-scroll{
  position:absolute;z-index:3;right:46px;top:22vh;
  writing-mode:vertical-rl;opacity:.5;
}

/* ─── кнопки ─── */
.btn-line{
  display:inline-block;text-decoration:none;color:var(--ink);
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  padding:15px 30px;border:1px solid var(--ink);
  background:transparent;cursor:pointer;
  transition:background .45s cubic-bezier(.2,.6,.2,1),color .45s;
}
.btn-line:hover,.btn-line:focus-visible{background:var(--ink);color:var(--cream)}

.btn-solid{
  display:inline-block;border:1px solid var(--ink);background:var(--ink);color:var(--cream);
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  padding:17px 40px;cursor:pointer;
  transition:background .4s,color .4s;
}
.btn-solid:hover,.btn-solid:focus-visible{background:transparent;color:var(--ink)}

/* ─── строчка-шов с бегущим текстом ─── */
.seam{width:100%;overflow:hidden;background:var(--cream);padding:20px 0 10px}
.seam svg{width:100%;height:clamp(120px,16vw,210px);display:block}
.seam-stitch{
  fill:none;stroke:var(--ink);stroke-width:1;
  stroke-dasharray:9 7;opacity:.4;
}
.seam-text{
  fill:var(--ink);
  font-family:Georgia,serif;font-style:italic;
  font-size:34px;letter-spacing:.01em;
}

/* ─── интро ─── */
.intro{padding:120px 46px 100px;text-align:center}
.intro p{
  font-size:clamp(24px,3.4vw,48px);line-height:1.42;
  max-width:22ch;margin:0 auto;font-weight:400;
}
.intro em{font-style:italic}
.intro .sp{
  display:inline-block;
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  text-transform:uppercase;letter-spacing:.34em;
  font-size:.42em;vertical-align:middle;color:var(--grey);
}
.rule{width:1px;height:76px;background:var(--ink);margin:56px auto 0;opacity:.3}

/* ─── общий заголовок секции ─── */
.col-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:30px;padding:0 46px 46px;
}
.col-title{
  font-size:clamp(36px,5.6vw,82px);font-weight:400;
  line-height:1.02;letter-spacing:-.01em;
}
.col-title em{font-style:italic}
.col-no{color:var(--grey);white-space:nowrap;padding-bottom:8px}

/* ─── галерея решений ─── */
.gallery{
  display:grid;grid-template-columns:1.05fr .9fr 1.05fr;
  gap:26px;padding:0 46px 40px;align-items:start;
}
.look{position:relative;background:#DCD8CF}
.look .veil{
  position:absolute;inset:0;background:var(--cream);z-index:3;
  transition:transform 1.05s cubic-bezier(.77,0,.18,1);
}
.look.on .veil{transform:translateY(-101%)}
.look>img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  filter:grayscale(1) contrast(1.05);
  transform:scale(1.05);
  transition:transform 1.3s cubic-bezier(.2,.6,.2,1),filter .8s;
}
.look:hover>img{transform:scale(1);filter:grayscale(.5) contrast(1.05)}
.look:nth-child(2){margin-top:76px}
.look:nth-child(3){margin-top:38px}
.look-cap{
  display:flex;justify-content:space-between;gap:12px;
  padding:14px 2px 10px;color:var(--grey);
}
.look-text{font-size:15px;line-height:1.6;color:#3A382E;padding-right:10%}

/* ─── цитата ─── */
.quote{padding:140px 46px;text-align:center}
.quote blockquote{
  font-size:clamp(26px,4.1vw,58px);font-style:italic;
  line-height:1.34;max-width:19ch;margin:0 auto;font-weight:400;
}
.quote blockquote em{font-style:normal}
.quote .mark{font-style:normal;font-size:1.4em;vertical-align:-.22em;color:var(--bronze)}
.quote cite{display:block;margin-top:40px;font-style:normal;color:var(--grey)}

/* ─── услуги ─── */
.service{
  display:grid;grid-template-columns:1fr 1fr;gap:70px;
  align-items:center;padding:80px 46px;max-width:1400px;margin:0 auto;
}
.service--rev .service-media{order:2}
.service-media img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  filter:grayscale(1) contrast(1.04);
}
.service-no{display:block;color:var(--bronze);margin-bottom:22px}
.service-body h3{
  font-size:clamp(30px,4vw,58px);font-weight:400;
  line-height:1.05;margin-bottom:24px;
}
.service-body p{font-size:17px;line-height:1.68;color:#3A382E;max-width:46ch}
.ticks{list-style:none;margin:28px 0 0}
.ticks li{
  position:relative;padding:11px 0 11px 30px;
  border-top:1px solid var(--line);
  font-size:15px;line-height:1.5;
}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks li::before{
  content:'';position:absolute;left:2px;top:19px;
  width:12px;height:1px;background:var(--bronze);
}
.formats{
  margin-top:26px;color:var(--grey);
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
}

/* ─── почему iminera ─── */
.why{padding:90px 0 120px;max-width:1400px;margin:0 auto}
.at-row{
  display:grid;grid-template-columns:70px 1fr auto;
  align-items:baseline;gap:26px;
  padding:30px 46px;border-top:1px solid var(--line);
  transition:padding-left .5s cubic-bezier(.2,.6,.2,1),background .5s;
}
.at-row:last-child{border-bottom:1px solid var(--line)}
.at-row:hover{padding-left:70px;background:var(--paper)}
.at-row:hover .at-name{font-style:italic}
.at-num{color:var(--grey)}
.at-name{font-size:clamp(22px,3.2vw,46px);font-weight:400;transition:font-style .2s}
.at-note{color:var(--grey);text-align:right}

/* ─── прайс ─── */
.pricing{padding:90px 0 110px;max-width:1400px;margin:0 auto}
.price-row{
  display:grid;grid-template-columns:1fr auto 150px;
  align-items:baseline;gap:26px;
  padding:26px 46px;border-top:1px solid var(--line);
  transition:padding-left .5s cubic-bezier(.2,.6,.2,1),background .5s;
}
.price-row:last-child{border-bottom:1px solid var(--line)}
.price-row:hover{padding-left:70px;background:var(--paper)}
.p-name{font-size:clamp(18px,2.3vw,30px)}
.p-fmt{
  color:var(--grey);
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.26em;text-transform:uppercase;
}
.p-sum{
  font-size:clamp(24px,3vw,40px);text-align:right;
  font-variant-numeric:tabular-nums;
}
.p-sum i{font-style:normal;font-size:.5em;color:var(--grey);margin-left:4px}
.price-note{
  padding:28px 46px 0;color:var(--grey);
  font-size:14px;line-height:1.6;max-width:60ch;
}

/* ─── требования ─── */
.req{
  display:grid;grid-template-columns:.85fr 1fr;gap:70px;
  align-items:center;padding:90px 46px 110px;max-width:1400px;margin:0 auto;
}
.req-media img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  filter:grayscale(1) contrast(1.04);
}
.req-body h3{
  font-size:clamp(30px,4.4vw,64px);font-weight:400;
  line-height:1.03;margin-bottom:24px;
}
.req-body>p{font-size:17px;line-height:1.68;color:#3A382E;max-width:46ch}
.req-body .btn-line{margin-top:36px}

/* ─── процесс ─── */
.process{padding:70px 0 110px;max-width:1400px;margin:0 auto}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 46px}
.steps li{padding:34px 26px 34px 0;border-top:1px solid var(--ink)}
.step-no{display:block;color:var(--bronze);margin-bottom:20px}
.steps h4{font-size:22px;font-weight:400;line-height:1.2;margin-bottom:12px}
.steps p{font-size:14px;line-height:1.6;color:#3A382E}

/* ─── форма ─── */
.order{
  padding:110px 46px 130px;max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;
}
.order-head p{margin-top:24px;font-size:17px;line-height:1.68;color:#3A382E;max-width:40ch}
.order-form{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.field{display:flex;flex-direction:column;gap:9px}
.field--wide{grid-column:1 / -1}
.field label{
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--grey);
}
.field input,.field textarea{
  border:none;border-bottom:1px solid var(--line);
  background:transparent;padding:11px 0;
  font-family:Georgia,serif;font-size:17px;color:var(--ink);
  transition:border-color .35s;
}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ink)}
.field textarea{resize:vertical;font-size:16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.order-form .btn-solid{grid-column:1 / -1;justify-self:start;margin-top:10px}
.form-msg{
  grid-column:1 / -1;font-size:15px;line-height:1.6;min-height:1.2em;
}
.form-msg.err{color:#9A3412}
.form-msg.ok{color:var(--bronze)}

/* ─── футер ─── */
footer{
  position:relative;padding:70px 46px 26px;overflow:hidden;
  background:var(--ink);color:var(--cream);
}
.f-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:34px;margin-bottom:70px}
.f-block{line-height:2.5;opacity:.82}
.f-block a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(237,234,227,.3)}
.f-block a:hover{border-color:var(--cream)}
.f-word{
  font-size:clamp(78px,19vw,300px);line-height:.82;
  text-align:center;transform:translateY(20%);
  user-select:none;opacity:.9;letter-spacing:.01em;
}

/* ─── reveal ─── */
.rv{
  opacity:0;transform:translateY(28px);
  transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1);
}
.rv.on{opacity:1;transform:none}

/* ─── адаптив ─── */
@media(max-width:1100px){
  .gallery{grid-template-columns:1fr}
  .look:nth-child(2),.look:nth-child(3){margin-top:0}
  .service,.req,.order{grid-template-columns:1fr;gap:44px}
  .service--rev .service-media{order:0}
  .steps{grid-template-columns:repeat(2,1fr)}
  header nav{display:none}
  .hero-title{position:static;max-width:none;margin-bottom:30px;text-align:center}
  .hero{grid-template-rows:auto auto;gap:34px;padding-top:110px}
  .hero-sub,.hero-cta,.hero-meta-l,.hero-scroll{position:static;text-align:center;max-width:none;margin:0 auto}
  .hero-sub{margin-top:26px}
  .hero-cta{margin-top:26px}
  .hero-meta-l{margin-top:34px}
  .hero-scroll{display:none}
  .hero-word{top:38%}
}
@media(max-width:640px){
  header,.hero,.intro,.col-head,.gallery,.quote,.service,.req,.order,footer{
    padding-left:22px;padding-right:22px;
  }
  .at-row,.price-row{padding-left:22px;padding-right:22px;grid-template-columns:52px 1fr}
  .at-note,.p-fmt{grid-column:2;text-align:left;padding-top:6px}
  .price-row{grid-template-columns:1fr auto}
  .at-row:hover,.price-row:hover{padding-left:30px}
  .steps{grid-template-columns:1fr;padding-left:22px;padding-right:22px}
  .order-form{grid-template-columns:1fr}
  .price-note{padding-left:22px;padding-right:22px}
  .seam-text{font-size:26px}
}

/* ─── уважение к prefers-reduced-motion ─── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .rv{opacity:1;transform:none}
  .look .veil{display:none}
  .look>img{transform:none}
}
