/* restavraciya-podrobno-guide.css — FAITHFUL from ГОТОВЫЙ-HTML-С-ФОТО */
/* 2026-09-08.06: diagonal hero; color 1:1; camera; face btn */

/* =========================================================
   RESTORATION DETAIL PAGE
   Header/menu/footer intentionally NOT included.
   Max width: 1440px
   Mobile: 360px+
   ========================================================= */

.rs-page{

  --rs-white:#fff;

  --rs-bg:#fff;
  --rs-soft:#f8f6fa;
  --rs-purple-soft:#f2edf7;
  --rs-sepia-soft:#f7f2ea;
  --rs-warm:#eee5da;

  --rs-text:#211a24;
  --rs-heading:#291630;
  --rs-muted:#5d5561;
  --rs-muted-2:#746d78;

  --rs-purple:#57287e;
  --rs-purple-hover:#431e62;
  --rs-dark:#321940;
  --rs-deep:#24122e;

  --rs-sepia:#8e6948;
  --rs-sepia-dark:#5a402e;

  --rs-border:#ded7e2;
  --rs-border-strong:#c7bad0;

  --rs-green:#315f49;
  --rs-green-soft:#e3efe8;

  --rs-shadow:
    0 17px 46px rgba(47,28,56,.08);

  --rs-shadow-big:
    0 28px 70px rgba(47,28,56,.14);

  --rs-wrap:1440px;

  color:var(--rs-text);
  background:var(--rs-bg);

  font-family:
    Manrope,
    Nunito,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;

  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}


.rs-page *,
.rs-page *::before,
.rs-page *::after{
  box-sizing:border-box;
}


.rs-page img{
  max-width:100%;
}


.rs-page a{
  color:inherit;
}


.rs-wrap{
  width:min(
    var(--rs-wrap),
    calc(100% - 64px)
  );

  margin-inline:auto;
}


.rs-section{
  padding:84px 0;
}


.rs-section--soft{
  background:var(--rs-soft);
}


.rs-section--purple{
  background:
    radial-gradient(
      760px 380px at 100% 0%,
      rgba(106,64,144,.09),
      transparent 66%
    ),
    var(--rs-purple-soft);
}


.rs-section--sepia{
  background:
    radial-gradient(
      700px 350px at 0 100%,
      rgba(142,105,72,.09),
      transparent 67%
    ),
    var(--rs-sepia-soft);
}


/* =========================================================
   TYPE
   ========================================================= */

.rs-kicker{
  display:block;

  margin:0 0 10px;

  color:#6b4c78;

  font-size:14px;
  line-height:1.3;
  font-weight:800;
}


.rs-h2{
  max-width:960px;

  margin:0 0 16px;

  color:var(--rs-heading);

  font-size:clamp(32px,3.3vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
}


.rs-lead{
  max-width:860px;

  margin:0;

  color:var(--rs-muted);

  font-size:17px;
  line-height:1.7;
}


.rs-copy{
  max-width:850px;

  color:var(--rs-muted);

  font-size:16px;
  line-height:1.72;
}


.rs-copy p{
  margin:0 0 15px;
}


.rs-copy strong{
  color:#39253f;
}


.rs-note{
  margin:20px 0 0;

  color:#4f4753;

  font-size:15px;
  line-height:1.62;
}


.rs-text-link{
  color:var(--rs-purple);

  font-size:14px;
  font-weight:800;

  text-decoration:none;
}


.rs-text-link:hover{
  text-decoration:underline;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.rs-actions{
  display:flex;
  flex-wrap:wrap;

  gap:12px;

  margin-top:29px;
}


.rs-btn{
  min-height:52px;
  padding:0 23px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:1.5px solid transparent;
  border-radius:14px;

  font-size:16px;
  line-height:1.2;
  font-weight:800;

  text-decoration:none;

  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease;
}


.rs-btn:hover{
  transform:translateY(-1px);

  text-decoration:none;
}


.rs-btn--primary{
  color:#fff;
  background:var(--rs-purple);

  box-shadow:
    0 12px 27px rgba(87,40,126,.18);
}


.rs-btn--primary:hover{
  color:#fff;
  background:var(--rs-purple-hover);
}


.rs-btn--secondary{
  color:#432151;
  background:#fff;

  border-color:#b8a6c1;
}


.rs-btn--secondary:hover{
  background:#f2edf5;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.rs-breadcrumbs{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  margin:0 0 29px;

  color:#716974;

  font-size:14px;
}


.rs-breadcrumbs a{
  color:#514a55;

  text-decoration:none;
}


/* =========================================================
   HERO
   ========================================================= */

.rs-hero{
  padding:48px 0 68px;

  background:
    radial-gradient(
      920px 480px at 100% -8%,
      rgba(112,67,150,.12),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #faf8fb,
      #fff
    );
}


.rs-hero__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.04fr)
    minmax(450px,.96fr);

  gap:68px;
  align-items:center;
}


.rs-hero__label{
  display:block;

  margin:0 0 12px;

  color:#684775;

  font-size:14px;
  font-weight:800;
}


.rs-hero h1{
  max-width:960px;

  margin:0;

  color:var(--rs-heading);

  font-size:clamp(40px,4.5vw,63px);
  line-height:1.035;
  letter-spacing:-.055em;
}


.rs-hero__lead{
  max-width:850px;

  margin:23px 0 0;

  color:#4f4752;

  font-size:18px;
  line-height:1.66;
}


.rs-hero__hint{
  max-width:760px;

  margin-top:21px;
  padding:16px 18px;

  border:1px solid #ddcfe4;
  border-radius:14px;

  background:#f0eaf4;

  color:#403344;

  font-size:15px;
  line-height:1.58;
}


.rs-hero__hint strong{
  color:#302037;
}


.rs-hero__micro{
  margin:14px 0 0;

  color:#685f6c;

  font-size:13px;
  line-height:1.5;
}


/* =========================================================
   HERO VISUAL — no fake customer photo
   ========================================================= */

.rs-restoration-visual{
  position:relative;

  min-height:570px;

  overflow:hidden;

  border-radius:30px;

  background:
    linear-gradient(
      145deg,
      #d5c0a5,
      #a88b70 48%,
      #5f465e
    );

  box-shadow:var(--rs-shadow-big);
}


.rs-old-photo,
.rs-new-photo{
  position:absolute;

  top:11%;

  width:56%;
  height:76%;

  border:10px solid #f5f0e6;

  border-radius:7px;

  box-shadow:
    0 25px 45px rgba(45,29,39,.25);
}


.rs-old-photo{
  left:8%;

  transform:rotate(-6deg);

  background:
    radial-gradient(
      ellipse at 50% 38%,
      #765f4f 0 10%,
      transparent 11%
    ),
    radial-gradient(
      ellipse at 50% 61%,
      #7c6555 0 20%,
      transparent 21%
    ),
    linear-gradient(
      150deg,
      #bca68a,
      #7d6856
    );

  filter:sepia(.8) contrast(.83);
}


.rs-old-photo::before{
  content:"";

  position:absolute;

  left:15%;
  top:-4%;

  width:2px;
  height:108%;

  transform:rotate(13deg);

  background:
    rgba(255,255,255,.55);

  box-shadow:
    88px 40px 0 rgba(67,48,39,.28),
    180px -12px 0 rgba(255,255,255,.35);
}


.rs-old-photo::after{
  content:"";

  position:absolute;

  right:12%;
  bottom:18%;

  width:65px;
  height:44px;

  border-radius:50%;

  background:
    rgba(83,55,39,.18);

  filter:blur(2px);
}


.rs-new-photo{
  right:7%;
  top:15%;

  transform:rotate(4deg);

  background:
    radial-gradient(
      ellipse at 50% 38%,
      #8e796c 0 10%,
      transparent 11%
    ),
    radial-gradient(
      ellipse at 50% 61%,
      #958072 0 20%,
      transparent 21%
    ),
    linear-gradient(
      150deg,
      #ddd2c4,
      #9b8878
    );
}


.rs-visual-label{
  position:absolute;
  z-index:4;

  padding:8px 11px;

  border-radius:9px;

  background:#291c2e;
  color:#fff;

  font-size:12px;
  font-weight:850;
}


.rs-visual-label--before{
  left:6%;
  bottom:6%;
}


.rs-visual-label--after{
  right:6%;
  bottom:6%;
}


/* =========================================================
   TRUST STRIP
   ========================================================= */

.rs-trust{
  border-top:1px solid var(--rs-border);
  border-bottom:1px solid var(--rs-border);

  background:#fff;
}


.rs-trust__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}


.rs-trust__item{
  min-height:82px;

  display:flex;
  align-items:center;

  padding:18px 24px;

  border-right:1px solid var(--rs-border);

  color:#443c47;

  font-size:14px;
  line-height:1.45;
  font-weight:750;
}


.rs-trust__item:last-child{
  border-right:0;
}


.rs-trust__check{
  width:23px;
  height:23px;

  display:grid;
  place-items:center;

  flex:0 0 23px;

  margin-right:11px;

  border-radius:50%;

  color:var(--rs-green);
  background:var(--rs-green-soft);

  font-size:11px;
  font-weight:900;
}


/* =========================================================
   PAGE NAV
   ========================================================= */

.rs-nav{
  border-bottom:1px solid var(--rs-border);

  background:#fff;
}


.rs-nav__inner{
  min-height:60px;

  display:flex;
  align-items:center;

  gap:29px;

  overflow-x:auto;
  scrollbar-width:none;
}


.rs-nav__inner::-webkit-scrollbar{
  display:none;
}


.rs-nav a{
  flex:0 0 auto;

  padding:18px 0;

  color:#493f4c;

  font-size:14px;
  font-weight:800;

  text-decoration:none;
}


/* =========================================================
   SCENARIOS
   ========================================================= */

.rs-scenarios{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:14px;

  margin-top:34px;
}


.rs-scenario{
  display:flex;
  flex-direction:column;

  min-height:220px;
  padding:22px;

  border:1px solid var(--rs-border);
  border-radius:19px;

  background:#fff;
}


.rs-scenario__year{
  display:inline-flex;

  align-self:flex-start;

  margin-bottom:17px;
  padding:7px 10px;

  border-radius:999px;

  background:#f2ece5;
  color:#765a42;

  font-size:12px;
  font-weight:850;
}


.rs-scenario h3{
  margin:0 0 8px;

  color:#322039;

  font-size:17px;
  line-height:1.3;
}


.rs-scenario p{
  margin:0;

  color:var(--rs-muted);

  font-size:13px;
  line-height:1.55;
}


/* =========================================================
   ERA TIMELINE
   ========================================================= */

.rs-era{
  display:grid;
  grid-template-columns:repeat(6,1fr);

  margin-top:34px;

  border:1px solid var(--rs-border);
  border-radius:20px;

  overflow:hidden;

  background:#fff;
}


.rs-era__item{
  position:relative;

  min-height:150px;
  padding:23px 18px;

  border-right:1px solid var(--rs-border);
}


.rs-era__item:last-child{
  border-right:0;
}


.rs-era__year{
  display:block;

  margin-bottom:9px;

  color:#765943;

  font-size:23px;
  font-weight:900;
}


.rs-era__item span:last-child{
  color:var(--rs-muted);

  font-size:13px;
  line-height:1.5;
}


/* =========================================================
   DAMAGE BENTO
   ========================================================= */

.rs-damage{
  display:grid;

  grid-template-columns:
    1.1fr .9fr .9fr;

  grid-auto-rows:minmax(200px,auto);

  gap:15px;

  margin-top:34px;
}


.rs-damage__card{
  padding:26px;

  border:1px solid var(--rs-border);
  border-radius:21px;

  background:#fff;
}


.rs-damage__card--large{
  grid-row:span 2;
}


.rs-damage__card--sepia{
  background:#f8f2ea;
}


.rs-damage__card--purple{
  color:#fff;

  border-color:#321940;

  background:
    radial-gradient(
      360px 180px at 100% 0%,
      rgba(195,146,218,.18),
      transparent 65%
    ),
    #321940;
}


.rs-damage__number{
  display:block;

  margin-bottom:15px;

  color:#775b82;

  font-size:12px;
  font-weight:900;
}


.rs-damage__card--purple .rs-damage__number{
  color:#d7c6df;
}


.rs-damage__card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:20px;
}


.rs-damage__card--purple h3{
  color:#fff;
}


.rs-damage__card p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.62;
}


.rs-damage__card--purple p{
  color:#eee6f0;
}


/* =========================================================
   SPLIT
   ========================================================= */

.rs-split{
  display:grid;

  grid-template-columns:
    minmax(0,.93fr)
    minmax(420px,.77fr);

  gap:58px;
  align-items:center;
}


/* =========================================================
   BW / COLOR
   ========================================================= */

.rs-color-options{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:16px;
}


.rs-color-card{
  overflow:hidden;

  border:1px solid var(--rs-border);
  border-radius:22px;

  background:#fff;
}


.rs-color-card__visual{
  position:relative;

  height:260px;

  background:
    radial-gradient(
      ellipse at 50% 36%,
      #696969 0 11%,
      transparent 12%
    ),
    radial-gradient(
      ellipse at 50% 62%,
      #797979 0 22%,
      transparent 23%
    ),
    linear-gradient(
      145deg,
      #c5c5c5,
      #777
    );
}


.rs-color-card--color .rs-color-card__visual{
  background:
    radial-gradient(
      ellipse at 50% 36%,
      #d1a58d 0 11%,
      transparent 12%
    ),
    radial-gradient(
      ellipse at 50% 62%,
      #8d6d5c 0 22%,
      transparent 23%
    ),
    linear-gradient(
      145deg,
      #d8c3aa,
      #7f667b
    );
}


.rs-color-card__body{
  padding:21px;
}


.rs-color-card h3{
  margin:0 0 7px;

  color:#322039;

  font-size:18px;
}


.rs-color-card p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.58;
}


/* =========================================================
   FACE TRUST
   ========================================================= */

.rs-face{
  padding:82px 0;

  color:#fff;

  background:
    radial-gradient(
      720px 390px at 100% 0%,
      rgba(194,145,218,.20),
      transparent 65%
    ),
    #321940;
}


.rs-face .rs-kicker{
  color:#decfe7;
}


.rs-face .rs-h2{
  color:#fff;
}


.rs-face .rs-lead,
.rs-face p{
  color:#eee6f0;
}


.rs-face strong{
  color:#fff;
}


.rs-face__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(370px,.68fr);

  gap:58px;
  align-items:center;
}


.rs-face__references{
  display:grid;

  gap:10px;
}


.rs-face__reference{
  padding:16px 18px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;

  background:rgba(255,255,255,.08);

  color:#f4eef6;

  font-size:14px;
  line-height:1.5;
}


/* =========================================================
   ARCHIVE CASES
   ========================================================= */

.rs-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:15px;

  margin-top:32px;
}


.rs-archive-card{
  padding:24px;

  border:1px solid var(--rs-border);
  border-radius:19px;

  background:#fff;
}


.rs-archive-card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:18px;
}


.rs-archive-card p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.6;
}


/* =========================================================
   MILITARY
   ========================================================= */

.rs-military{
  display:grid;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(400px,.75fr);

  gap:55px;
  align-items:center;
}


.rs-military__visual{
  position:relative;

  min-height:410px;

  overflow:hidden;

  border-radius:24px;

  background:
    radial-gradient(
      ellipse at 50% 33%,
      #766452 0 10%,
      transparent 11%
    ),
    radial-gradient(
      ellipse at 50% 61%,
      #75624f 0 22%,
      transparent 23%
    ),
    linear-gradient(
      145deg,
      #b7a184,
      #67594c
    );

  filter:sepia(.65);

  box-shadow:var(--rs-shadow);
}


.rs-military__visual::after{
  content:"Бережное восстановление";

  position:absolute;

  left:18px;
  bottom:18px;

  padding:9px 12px;

  border-radius:9px;

  background:#302624;
  color:#fff;

  font-size:13px;
  font-weight:800;
}


/* =========================================================
   DIGITIZE
   ========================================================= */

.rs-digitize{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:15px;

  margin-top:32px;
}


.rs-digitize__item{
  padding:24px;

  border:1px solid var(--rs-border);
  border-radius:19px;

  background:#fff;
}


.rs-digitize__icon{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  margin-bottom:15px;

  border-radius:14px;

  background:#f1ebf4;
  color:#56336b;

  font-size:17px;
  font-weight:900;
}


.rs-digitize__item h3{
  margin:0 0 7px;

  color:#322039;

  font-size:17px;
}


.rs-digitize__item p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.58;
}


/* =========================================================
   CAMERA CHECKLIST
   ========================================================= */

.rs-camera{
  display:grid;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(390px,.70fr);

  gap:55px;
  align-items:center;
}


.rs-camera__checklist{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:10px;

  margin-top:25px;
}


.rs-camera__item{
  padding:15px;

  border:1px solid var(--rs-border);
  border-radius:14px;

  background:#fff;
}


.rs-camera__item strong{
  display:block;

  margin-bottom:4px;

  color:#35243d;

  font-size:14px;
}


.rs-camera__item span{
  color:var(--rs-muted);

  font-size:13px;
  line-height:1.45;
}


.rs-camera__visual{
  position:relative;

  min-height:390px;

  overflow:hidden;

  border-radius:24px;

  background:#eee7dd;

  box-shadow:var(--rs-shadow);
}


.rs-camera__photo{
  position:absolute;

  left:18%;
  right:18%;
  top:16%;

  height:64%;

  transform:rotate(-2deg);

  border:9px solid #fff8eb;

  background:
    radial-gradient(
      ellipse at 50% 38%,
      #786556 0 10%,
      transparent 11%
    ),
    radial-gradient(
      ellipse at 50% 62%,
      #836d5a 0 20%,
      transparent 21%
    ),
    #ac967d;

  box-shadow:
    0 18px 32px rgba(50,34,43,.18);
}


.rs-camera__phone{
  position:absolute;

  right:8%;
  top:7%;

  width:105px;
  height:190px;

  border:8px solid #2c2530;
  border-radius:24px;

  background:#51455a;

  transform:rotate(5deg);

  box-shadow:
    0 15px 25px rgba(43,30,42,.22);
}


.rs-camera__phone::before{
  content:"";

  position:absolute;

  left:50%;
  top:8px;

  width:28px;
  height:8px;

  transform:translateX(-50%);

  border-radius:6px;

  background:#211b24;
}


/* =========================================================
   RESTORATION VS RECONSTRUCTION
   ========================================================= */

.rs-compare{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:18px;

  margin-top:32px;
}


.rs-compare__card{
  padding:30px;

  border:1px solid var(--rs-border);
  border-radius:23px;

  background:#fff;
}


.rs-compare__card--reconstruct{
  background:#faf5ef;
}


.rs-compare__tag{
  display:inline-flex;

  margin-bottom:13px;
  padding:7px 10px;

  border-radius:999px;

  background:#f0eaf4;
  color:#543762;

  font-size:12px;
  font-weight:850;
}


.rs-compare__card--reconstruct .rs-compare__tag{
  background:#f0e1d2;
  color:#78583d;
}


.rs-compare__card h3{
  margin:0 0 10px;

  color:#322039;

  font-size:23px;
}


.rs-compare__card p{
  margin:0;

  color:var(--rs-muted);

  font-size:15px;
  line-height:1.65;
}


/* =========================================================
   AI NOTE
   ========================================================= */

.rs-ai{
  display:grid;

  grid-template-columns:auto 1fr;

  gap:22px;
  align-items:start;

  margin-top:28px;
  padding:26px;

  border:1px solid #d5c8dc;
  border-radius:20px;

  background:#f3eef6;
}


.rs-ai__mark{
  width:52px;
  height:52px;

  display:grid;
  place-items:center;

  border-radius:16px;

  background:#57287e;
  color:#fff;

  font-size:13px;
  font-weight:900;
}


.rs-ai h3{
  margin:0 0 7px;

  color:#332039;

  font-size:19px;
}


.rs-ai p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.63;
}


/* =========================================================
   PRESERVE STYLE
   ========================================================= */

.rs-style-options{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:18px;

  margin-top:31px;
}


.rs-style-card{
  padding:28px;

  border:1px solid var(--rs-border);
  border-radius:22px;

  background:#fff;
}


.rs-style-card--historic{
  background:#faf5ee;
}


.rs-style-card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:21px;
}


.rs-style-card p{
  margin:0;

  color:var(--rs-muted);

  font-size:15px;
  line-height:1.64;
}


/* =========================================================
   PRINT / GIFT
   ========================================================= */

.rs-print-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:15px;

  margin-top:32px;
}


.rs-print-card{
  padding:25px;

  border:1px solid var(--rs-border);
  border-radius:20px;

  background:#fff;
}


.rs-print-card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:18px;
}


.rs-print-card p{
  margin:0;

  color:var(--rs-muted);

  font-size:14px;
  line-height:1.6;
}


.rs-print-card .rs-text-link{
  display:inline-block;

  margin-top:15px;
}


/* =========================================================
   MEMORIAL
   ========================================================= */

.rs-memorial{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(380px,.68fr);

  gap:58px;
  align-items:center;
}


.rs-memorial__card{
  padding:31px;

  border-radius:23px;

  background:#321940;

  box-shadow:var(--rs-shadow);
}


.rs-memorial__card small{
  display:block;

  margin-bottom:13px;

  color:#d8c9df;

  font-size:12px;
  font-weight:850;
}


.rs-memorial__card strong{
  display:block;

  color:#fff;

  font-size:26px;
  line-height:1.2;
}


.rs-memorial__card p{
  margin:13px 0 0;

  color:#eee6f0;

  font-size:14px;
  line-height:1.61;
}


/* =========================================================
   PROCESS
   ========================================================= */

.rs-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:13px;

  margin-top:32px;
}


.rs-process__item{
  padding:22px;

  border:1px solid var(--rs-border);
  border-radius:17px;

  background:#fff;
}


.rs-process__step{
  display:block;

  margin-bottom:15px;

  color:#765983;

  font-size:12px;
  font-weight:900;
}


.rs-process__item h3{
  margin:0 0 7px;

  color:#322039;

  font-size:16px;
}


.rs-process__item p{
  margin:0;

  color:var(--rs-muted);

  font-size:13px;
  line-height:1.55;
}


/* =========================================================
   PRICE + RESULT
   ========================================================= */

.rs-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:16px;

  margin-top:31px;
}


.rs-info-card{
  padding:28px;

  border:1px solid var(--rs-border);
  border-radius:21px;

  background:#fff;
}


.rs-info-card h3{
  margin:0 0 9px;

  color:#322039;

  font-size:21px;
}


.rs-info-card p{
  margin:0;

  color:var(--rs-muted);

  font-size:15px;
  line-height:1.64;
}


/* =========================================================
   STRONG CTA
   ========================================================= */

.rs-rescue{
  padding:82px 0;

  color:#fff;

  background:
    radial-gradient(
      720px 390px at 100% 0%,
      rgba(194,145,218,.20),
      transparent 65%
    ),
    #321940;
}


.rs-rescue .rs-kicker{
  color:#decfe7;
}


.rs-rescue .rs-h2{
  color:#fff;
}


.rs-rescue .rs-lead,
.rs-rescue p{
  color:#eee6f0;
}


.rs-rescue strong{
  color:#fff;
}


.rs-rescue__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(340px,.58fr);

  gap:58px;
  align-items:center;
}


.rs-rescue__conditions{
  display:grid;

  gap:9px;
}


.rs-rescue__condition{
  padding:14px 16px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;

  background:rgba(255,255,255,.08);

  color:#f5eff7;

  font-size:14px;
}


/* =========================================================
   REAL CASE GALLERY
   Section is hidden automatically until real files exist.
   ========================================================= */

.rs-cases{
  padding:84px 0;

  background:#fff;
}


.rs-case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:18px;

  margin-top:32px;
}


.rs-case{
  overflow:hidden;

  margin:0;

  border:1px solid var(--rs-border);
  border-radius:20px;

  background:#fff;

  box-shadow:var(--rs-shadow);
}


.rs-case__visual{
  display:grid;
  grid-template-columns:1fr 1fr;
}


.rs-case__image{
  position:relative;

  min-height:300px;

  overflow:hidden;

  background:#eee8e2;
}


.rs-case__image img{
  display:block;

  width:100%;
  height:300px;

  object-fit:cover;
}


.rs-case__badge{
  position:absolute;

  left:10px;
  bottom:10px;

  padding:7px 9px;

  border-radius:8px;

  background:#291c2e;
  color:#fff;

  font-size:11px;
  font-weight:850;
}


.rs-case figcaption{
  padding:18px;

  color:#4c434f;

  font-size:14px;
  line-height:1.5;
  font-weight:750;
}


/* =========================================================
   TRUST
   ========================================================= */

.rs-risks{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:13px;

  margin-top:31px;
}


.rs-risk{
  padding:21px;

  border:1px solid var(--rs-border);
  border-radius:17px;

  background:#fff;
}


.rs-risk__check{
  width:25px;
  height:25px;

  display:grid;
  place-items:center;

  margin-bottom:13px;

  border-radius:50%;

  background:var(--rs-green-soft);
  color:var(--rs-green);

  font-size:11px;
  font-weight:900;
}


.rs-risk h3{
  margin:0 0 7px;

  color:#33203b;

  font-size:16px;
}


.rs-risk p{
  margin:0;

  color:var(--rs-muted);

  font-size:13px;
  line-height:1.55;
}


/* =========================================================
   FAQ
   ========================================================= */

.rs-faq{
  max-width:1020px;

  margin-top:30px;

  border-top:1px solid var(--rs-border);
}


.rs-faq details{
  border-bottom:1px solid var(--rs-border);
}


.rs-faq summary{
  position:relative;

  padding:22px 50px 22px 0;

  cursor:pointer;
  list-style:none;

  color:#322039;

  font-size:17px;
  line-height:1.4;
  font-weight:800;
}


.rs-faq summary::-webkit-details-marker{
  display:none;
}


.rs-faq summary::after{
  content:"+";

  position:absolute;

  right:5px;
  top:50%;

  transform:translateY(-50%);

  color:#755d82;

  font-size:28px;
}


.rs-faq details[open] summary::after{
  content:"−";
}


.rs-faq__answer{
  max-width:890px;

  padding:0 0 22px;

  color:#59515d;

  font-size:16px;
  line-height:1.68;
}


/* =========================================================
   FINAL
   ========================================================= */

.rs-final{
  padding:76px 0 86px;
}


.rs-final__box{
  padding:56px;

  overflow:hidden;

  border-radius:30px;

  background:
    radial-gradient(
      520px 270px at 95% 0%,
      rgba(194,146,218,.20),
      transparent 65%
    ),
    #321940;

  box-shadow:
    0 22px 60px rgba(42,19,51,.16);
}


.rs-final__box .rs-kicker{
  color:#decfe7;
}


.rs-final__box h2{
  max-width:880px;

  margin:0;

  color:#fff;

  font-size:clamp(34px,4vw,50px);
  line-height:1.07;
  letter-spacing:-.045em;
}


.rs-final__box p{
  max-width:790px;

  margin:15px 0 0;

  color:#f0e9f2;

  font-size:16px;
  line-height:1.65;
}


.rs-final__box strong{
  color:#fff;
}


.rs-final__box .rs-btn--primary{
  color:#321940;
  background:#fff;

  box-shadow:none;
}


.rs-final__box .rs-btn--secondary{
  color:#fff;
  background:#513260;

  border-color:#a58caf;
}


.rs-final__micro{
  color:#dacdde !important;

  font-size:13px !important;
}




/* REAL IMAGES INSERTED */
.rs-old-photo img,
.rs-new-photo img,
.rs-color-card__visual img,
.rs-military__visual img,
.rs-camera__visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rs-old-photo::before,
.rs-old-photo::after{
  display:none;
}
.rs-camera__visual > img{
  position:absolute;
  inset:0;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1100px){

  .rs-wrap{
    width:calc(100% - 40px);
  }


  .rs-hero__grid,
  .rs-split,
  .rs-face__grid,
  .rs-military,
  .rs-camera,
  .rs-memorial,
  .rs-rescue__grid{
    grid-template-columns:1fr;
  }


  .rs-restoration-visual{
    min-height:510px;
  }


  .rs-scenarios{
    grid-template-columns:1fr 1fr;
  }


  .rs-era{
    grid-template-columns:repeat(3,1fr);
  }


  .rs-era__item{
    border-bottom:1px solid var(--rs-border);
  }


  .rs-damage{
    grid-template-columns:1fr 1fr;
  }


  .rs-damage__card--large{
    grid-row:auto;
  }


  .rs-archive-grid,
  .rs-digitize,
  .rs-print-grid,
  .rs-info-grid,
  .rs-case-grid,
  .rs-risks{
    grid-template-columns:1fr 1fr;
  }


  .rs-process{
    grid-template-columns:1fr 1fr;
  }


  .rs-trust__grid{
    grid-template-columns:1fr 1fr;
  }


  .rs-trust__item:nth-child(2){
    border-right:0;
  }


  .rs-trust__item:nth-child(-n+2){
    border-bottom:1px solid var(--rs-border);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

  .rs-wrap{
    width:calc(100% - 32px);
  }


  .rs-section{
    padding:54px 0;
  }


  .rs-hero{
    padding:28px 0 48px;
  }


  .rs-breadcrumbs{
    margin-bottom:21px;

    font-size:13px;
  }


  .rs-hero h1{
    font-size:36px;
    line-height:1.06;
  }


  .rs-hero__lead{
    font-size:16px;
  }


  .rs-restoration-visual{
    min-height:390px;

    border-radius:22px;
  }


  .rs-old-photo,
  .rs-new-photo{
    border-width:7px;
  }


  /*
    Main scenarios become a horizontal visual rail.
    This prevents the mobile version becoming
    eight identical text cards one under another.
  */

  .rs-scenarios{
    display:flex;

    gap:12px;

    overflow-x:auto;
    scroll-snap-type:x mandatory;

    margin-inline:-16px;

    padding:
      0 16px 10px;

    scrollbar-width:none;
  }


  .rs-scenarios::-webkit-scrollbar{
    display:none;
  }


  .rs-scenario{
    min-width:min(82vw,310px);

    scroll-snap-align:start;
  }


  .rs-era{
    display:flex;

    overflow-x:auto;
    scroll-snap-type:x mandatory;

    scrollbar-width:none;
  }


  .rs-era::-webkit-scrollbar{
    display:none;
  }


  .rs-era__item{
    min-width:180px;

    border-right:1px solid var(--rs-border);

    scroll-snap-align:start;
  }


  .rs-damage,
  .rs-color-options,
  .rs-archive-grid,
  .rs-digitize,
  .rs-compare,
  .rs-style-options,
  .rs-print-grid,
  .rs-info-grid,
  .rs-case-grid,
  .rs-risks,
  .rs-process{
    grid-template-columns:1fr;
  }


  .rs-camera__checklist{
    grid-template-columns:1fr;
  }


  .rs-face,
  .rs-rescue{
    padding:56px 0;
  }


  .rs-trust__grid{
    grid-template-columns:1fr;
  }


  .rs-trust__item{
    min-height:62px;

    border-right:0;
    border-bottom:1px solid var(--rs-border);
  }


  .rs-trust__item:last-child{
    border-bottom:0;
  }


  .rs-final{
    padding:50px 0 60px;
  }


  .rs-final__box{
    padding:35px 24px;
  }

}


/* =========================================================
   360PX+
   ========================================================= */

@media(max-width:480px){

  .rs-wrap{
    width:calc(100% - 32px);
  }


  .rs-section{
    padding:46px 0;
  }


  .rs-h2{
    font-size:29px;
    line-height:1.12;
  }


  .rs-lead{
    font-size:16px;
  }


  .rs-hero h1{
    font-size:33px;
  }


  .rs-actions{
    flex-direction:column;
  }


  .rs-btn{
    width:100%;
    min-height:52px;
  }


  .rs-restoration-visual{
    min-height:340px;
  }


  .rs-old-photo,
  .rs-new-photo{
    width:60%;
    height:74%;
  }


  .rs-ai{
    grid-template-columns:1fr;
  }


  .rs-final__box h2{
    font-size:30px;
  }

}

/* site collisions / pack images */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
main.rs-page {
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
}
main.rs-page .rs-hero {
  padding-top: 20px;
}
main.rs-page .rs-btn[data-zp-contacts-open] {
  cursor: pointer;
}
main.rs-page a.rs-btn--primary,
main.rs-page .rs-btn--primary {
  color: #fff !important;
}
main.rs-page a.rs-btn--primary:hover,
main.rs-page .rs-btn--primary:hover {
  color: #fff !important;
}
main.rs-page .rs-final a.rs-btn--primary,
main.rs-page .rs-final .rs-btn--primary,
main.rs-page .rs-final__box a.rs-btn--primary,
main.rs-page .rs-final__box .rs-btn--primary {
  color: #321940 !important;
  background: #fff !important;
}
main.rs-page .rs-old-photo img,
main.rs-page .rs-new-photo img,
main.rs-page .rs-color-card__visual img,
main.rs-page .rs-military__visual img,
main.rs-page .rs-camera__visual img,
main.rs-page .rs-case__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
main.rs-page .rs-old-photo,
main.rs-page .rs-new-photo,
main.rs-page .rs-color-card__visual,
main.rs-page .rs-military__visual,
main.rs-page .rs-camera__visual,
main.rs-page .rs-case__image {
  overflow: hidden;
  position: relative;
}

/* 2026-09-08.05 polish — diagonal hero: до ↓слева, после ↑справа */
main.rs-page .rs-restoration-visual {
  min-height: 720px;
}
main.rs-page .rs-old-photo,
main.rs-page .rs-new-photo {
  position: absolute !important;
  width: 48% !important;
  height: 62% !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
}
main.rs-page .rs-old-photo {
  filter: none !important;
  /* повреждённый — левый нижний угол */
  left: 2% !important;
  bottom: 3% !important;
  transform: rotate(-4deg) !important;
  z-index: 2;
}
main.rs-page .rs-new-photo {
  /* после — правый верхний угол */
  right: 2% !important;
  top: 3% !important;
  transform: rotate(4deg) !important;
  z-index: 3;
}
main.rs-page .rs-old-photo .rs-visual-label {
  position: absolute;
  left: 10px;
  right: auto;
  bottom: 10px;
  z-index: 5;
  margin: 0;
}
main.rs-page .rs-new-photo .rs-visual-label {
  position: absolute;
  left: auto;
  right: 10px;
  bottom: 10px;
  z-index: 5;
  margin: 0;
}
main.rs-page .rs-face a.rs-btn--primary,
main.rs-page .rs-face .rs-btn--primary {
  color: #321940 !important;
  background: #fff !important;
}
main.rs-page .rs-color-card__visual {
  height: auto !important;
  aspect-ratio: 1 / 1;
  background: #ebe6e0 !important;
}
main.rs-page .rs-color-card__visual img {
  object-fit: cover;
  object-position: center center;
}
main.rs-page .rs-camera__visual {
  min-height: 0 !important;
  aspect-ratio: 1 / 1;
}
main.rs-page .rs-camera__visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

