/* individualnaya-obrabotka-podrobno-guide.css — FAITHFUL from preview (5).html */
/* 2026-09-08.04: .io-page; BA range slider fixed clip */

/* =========================================================
   ZERKALO PROART
   INDIVIDUAL PHOTO EDITING — DETAIL PAGE

   HEADER / MENU / FOOTER НЕ ВКЛЮЧЕНЫ.
   MAX WIDTH: 1440px
   MOBILE: 360px+
   ========================================================= */

.io-page{

  --io-white:#ffffff;

  --io-bg:#ffffff;
  --io-soft:#f8f6fa;
  --io-soft-purple:#f2edf7;
  --io-soft-warm:#faf8f4;

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

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

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

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

  --io-warm:#a7784a;
  --io-warm-soft:#f4eadf;

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

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

  --io-wrap:1440px;

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

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

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


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


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


.io-page a{
  color:inherit;
}


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

  margin-inline:auto;
}


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


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


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


.io-section--warm{
  background:
    radial-gradient(
      700px 360px at 0 100%,
      rgba(166,120,74,.08),
      transparent 65%
    ),
    var(--io-soft-warm);
}


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

.io-kicker{
  display:block;

  margin:0 0 10px;

  color:#694978;

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


.io-h2{
  max-width:940px;

  margin:0 0 16px;

  color:var(--io-heading);

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


.io-lead{
  max-width:850px;

  margin:0;

  color:var(--io-muted);

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


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

  color:#4f4753;

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


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

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

  text-decoration:none;
}


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


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

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

  gap:12px;

  margin-top:29px;
}


.io-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;
}


.io-btn:hover{
  transform:translateY(-1px);
  text-decoration:none;
}


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

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


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


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

  border-color:#b8a6c1;
}


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


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

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

  gap:8px;

  margin:0 0 29px;

  color:#716974;

  font-size:14px;
}


.io-breadcrumbs a{
  color:#514a55;
  text-decoration:none;
}


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

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

  background:
    radial-gradient(
      900px 470px at 100% -8%,
      rgba(111,65,150,.14),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #faf8fb 0%,
      #fff 100%
    );
}


.io-hero__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.03fr)
    minmax(450px,.97fr);

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


.io-hero__label{
  display:block;

  margin:0 0 12px;

  color:#684775;

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


.io-hero h1{
  max-width:940px;

  margin:0;

  color:var(--io-heading);

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


.io-hero__lead{
  max-width:830px;

  margin:23px 0 0;

  color:#4f4752;

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


.io-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;
}


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


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

  color:#685f6c;

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


/* =========================================================
   BEFORE / AFTER
   ========================================================= */

.io-ba{
  position:relative;

  min-height:555px;

  overflow:hidden;

  border-radius:29px;

  background:#ebe7ed;

  box-shadow:var(--io-shadow-big);

  --io-ba-pos:50%;
}


.io-ba__before,
.io-ba__after{
  position:absolute;
  inset:0;

  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}


.io-ba__before{
  background-image:
    url("/images/zerkalo-proart/individualnaya-obrabotka/01-индивидуальная-обработка-фото-до-мужчина-в-заброшке.webp?v=2026-09-08.01");
}


.io-ba__after{
  background-image:
    url("/images/zerkalo-proart/individualnaya-obrabotka/02-индивидуальная-обработка-фото-после-неоновая-обложка-трека.webp?v=2026-09-08.01");

  /* Справа от ползунка — «После»; слева — «До» (граница = --io-ba-pos) */
  clip-path:
    inset(
      0
      0
      0
      var(--io-ba-pos)
    );
}


.io-ba__line{
  position:absolute;

  top:0;
  bottom:0;
  left:var(--io-ba-pos);

  width:2px;

  transform:translateX(-1px);

  background:#fff;

  box-shadow:
    0 0 0 1px rgba(0,0,0,.09);

  pointer-events:none;
}


.io-ba__handle{
  position:absolute;

  top:50%;
  left:var(--io-ba-pos);

  width:50px;
  height:50px;

  display:grid;
  place-items:center;

  transform:
    translate(-50%,-50%);

  border-radius:50%;

  background:#fff;
  color:#50305f;

  box-shadow:
    0 8px 25px rgba(33,20,39,.22);

  font-size:20px;
  font-weight:900;

  pointer-events:none;
}


.io-ba__range{
  position:absolute;
  z-index:4;
  inset:0;

  width:100%;
  height:100%;

  margin:0;
  opacity:0;

  cursor:ew-resize;
  touch-action:none;
}


.io-ba__labels{
  position:absolute;
  z-index:3;

  left:15px;
  right:15px;
  bottom:15px;

  display:flex;
  justify-content:space-between;

  pointer-events:none;
}


.io-ba__labels span{
  padding:8px 11px;

  border-radius:9px;

  background:#291c2e;
  color:#fff;

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



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

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

  background:#fff;
}


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


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

  display:flex;
  align-items:center;

  padding:18px 24px;

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

  color:#443c47;

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


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


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

  display:grid;
  place-items:center;

  flex:0 0 23px;

  margin-right:11px;

  border-radius:50%;

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

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


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

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

  background:#fff;
}


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

  display:flex;
  align-items:center;

  gap:29px;

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


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


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

  padding:18px 0;

  color:#493f4c;

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

  text-decoration:none;
}


/* =========================================================
   TASK SELECTOR
   ========================================================= */

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

  gap:14px;

  margin-top:34px;
}


.io-task{
  display:flex;
  flex-direction:column;

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

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

  background:#fff;

  text-decoration:none;

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


.io-task:hover{
  transform:translateY(-2px);

  border-color:#c5b7cd;

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


.io-task__icon{
  width:43px;
  height:43px;

  display:grid;
  place-items:center;

  margin-bottom:17px;

  border-radius:13px;

  background:#f0eaf4;
  color:#5b3670;

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


.io-task h3{
  margin:0 0 8px;

  color:#322039;

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


.io-task p{
  margin:0 0 17px;

  color:var(--io-muted);

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


.io-task__more{
  margin-top:auto;

  color:var(--io-purple);

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


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

.io-bento{
  display:grid;

  grid-template-columns:
    1.16fr .84fr .84fr;

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

  gap:15px;

  margin-top:34px;
}


.io-bento__card{
  position:relative;

  overflow:hidden;

  padding:27px;

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

  background:#fff;
}


.io-bento__card--large{
  grid-row:span 2;
}


.io-bento__card--dark{
  border-color:#321940;

  background:
    radial-gradient(
      400px 220px at 100% 0%,
      rgba(189,141,214,.19),
      transparent 65%
    ),
    #321940;

  color:#fff;
}


.io-bento__card--warm{
  background:#faf5ef;
}


.io-bento__number{
  display:block;

  margin-bottom:16px;

  color:#765782;

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


.io-bento__card--dark .io-bento__number{
  color:#d8c7e1;
}


.io-bento__card h3{
  max-width:430px;

  margin:0 0 9px;

  color:#322039;

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


.io-bento__card--dark h3{
  color:#fff;
}


.io-bento__card p{
  max-width:520px;

  margin:0;

  color:var(--io-muted);

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


.io-bento__card--dark p{
  color:#eee6f0;
}


.io-bento__card .io-text-link{
  display:inline-block;

  margin-top:16px;
}


.io-bento__card--dark .io-text-link{
  color:#fff;
}


/* =========================================================
   VISUAL INTERIOR
   ========================================================= */

.io-interior{
  display:grid;

  grid-template-columns:
    minmax(0,.91fr)
    minmax(430px,1.09fr);

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


.io-room{
  position:relative;

  min-height:470px;

  overflow:hidden;

  border-radius:27px;

  background:
    linear-gradient(
      180deg,
      #e9e0d6 0 64%,
      #a98568 64% 100%
    );

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


.io-room__wall{
  position:absolute;

  left:9%;
  right:9%;
  top:12%;

  height:45%;

  border-radius:6px;

  background:#d7ccc2;

  transition:background .3s ease;
}


.io-room__sofa{
  position:absolute;

  left:19%;
  right:19%;
  bottom:14%;

  height:28%;

  border-radius:26px 26px 12px 12px;

  background:#725e73;

  box-shadow:
    0 16px 25px rgba(49,34,48,.18);
}


.io-room__art{
  position:absolute;

  left:37%;
  top:19%;

  width:26%;
  height:27%;

  border:7px solid #f8f7f4;

  background:
    linear-gradient(
      145deg,
      #5c4472,
      #c48c69
    );

  box-shadow:
    0 10px 20px rgba(46,31,45,.15);
}


.io-room__lamp{
  position:absolute;

  right:14%;
  bottom:16%;

  width:8px;
  height:33%;

  background:#493b43;
}


.io-room__lamp::before{
  content:"";

  position:absolute;

  left:50%;
  top:-12px;

  width:70px;
  height:42px;

  transform:translateX(-50%);

  border-radius:50% 50% 10px 10px;

  background:#e9d9bb;
}


/* =========================================================
   APPEARANCE
   ========================================================= */

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

  gap:14px;

  margin-top:31px;
}


.io-appearance__item{
  padding:22px;

  border:1px solid var(--io-border);
  border-radius:18px;

  background:#fff;
}


.io-appearance__tag{
  display:inline-flex;

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

  border-radius:999px;

  background:#f1ebf4;
  color:#52365c;

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


.io-appearance__item h3{
  margin:0 0 7px;

  color:#332039;

  font-size:17px;
}


.io-appearance__item p{
  margin:0;

  color:var(--io-muted);

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


/* =========================================================
   FORMATS
   ========================================================= */

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

  gap:15px;

  margin-top:31px;
}


.io-format{
  padding:24px;

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

  background:#fff;
}


.io-format__shape{
  height:115px;

  display:grid;
  place-items:center;

  margin-bottom:18px;

  border-radius:13px;

  background:#f1ecf4;
}


.io-format__shape::before{
  content:"";

  display:block;

  border:2px solid #795c87;

  background:#fff;

  box-shadow:
    0 7px 16px rgba(58,37,65,.08);
}


.io-format:nth-child(1) .io-format__shape::before{
  width:52px;
  height:78px;
}


.io-format:nth-child(2) .io-format__shape::before{
  width:92px;
  height:58px;
}


.io-format:nth-child(3) .io-format__shape::before{
  width:110px;
  height:38px;
}


.io-format h3{
  margin:0 0 7px;

  color:#332039;

  font-size:17px;
}


.io-format p{
  margin:0;

  color:var(--io-muted);

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


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

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

  gap:15px;

  margin-top:32px;
}


.io-commercial__card{
  position:relative;

  overflow:hidden;

  min-height:250px;
  padding:25px;

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

  background:#fff;
}


.io-commercial__card:nth-child(2){
  background:#f8f1ec;
}


.io-commercial__card:nth-child(3){
  background:#eef3f5;
}


.io-commercial__card:nth-child(5){
  background:#f1ecf5;
}


.io-commercial__card h3{
  max-width:350px;

  margin:0 0 8px;

  color:#322039;

  font-size:19px;
}


.io-commercial__card p{
  max-width:390px;

  margin:0;

  color:var(--io-muted);

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


.io-commercial__deco{
  position:absolute;

  right:-28px;
  bottom:-32px;

  width:145px;
  height:145px;

  border-radius:36px;

  transform:rotate(18deg);

  background:
    linear-gradient(
      145deg,
      rgba(87,40,126,.12),
      rgba(166,120,74,.17)
    );
}


/* =========================================================
   MINI ROUTES
   ========================================================= */

.io-routes{
  display:flex;
  flex-wrap:wrap;

  gap:10px;

  margin-top:23px;
}


.io-route{
  padding:10px 13px;

  border:1px solid #cdbfd4;
  border-radius:999px;

  background:#fff;
  color:#493a50;

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

  text-decoration:none;
}


/* =========================================================
   EXPLAIN TASK
   ========================================================= */

.io-explain{
  padding:82px 0;

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

  color:#fff;
}


.io-explain .io-kicker{
  color:#decfe7;
}


.io-explain .io-h2{
  color:#fff;
}


.io-explain .io-lead{
  color:#eee6f0;
}


.io-explain p{
  color:#eee6f0;
}


.io-explain strong{
  color:#fff;
}


.io-explain__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(360px,.65fr);

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


.io-explain__ways{
  display:grid;

  gap:9px;
}


.io-explain__way{
  padding:15px 17px;

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

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

  color:#f5eff7;

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


/* =========================================================
   SOURCE FILE
   ========================================================= */

.io-source{
  display:grid;

  grid-template-columns:
    minmax(0,.92fr)
    minmax(380px,.70fr);

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


.io-source__list{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:11px;

  margin-top:25px;
}


.io-source__item{
  padding:16px;

  border:1px solid var(--io-border);
  border-radius:15px;

  background:#fff;
}


.io-source__item strong{
  display:block;

  margin-bottom:4px;

  color:#35243d;

  font-size:14px;
}


.io-source__item span{
  color:var(--io-muted);

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


.io-source__aside{
  padding:30px;

  border-radius:23px;

  background:#321940;

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


.io-source__aside small{
  display:block;

  margin-bottom:14px;

  color:#d8c9df;

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


.io-source__aside strong{
  display:block;

  color:#fff;

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


.io-source__aside p{
  margin:13px 0 0;

  color:#eee6f0;

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


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

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

  gap:13px;

  margin-top:32px;
}


.io-process__item{
  padding:22px;

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

  background:#fff;
}


.io-process__step{
  display:block;

  margin-bottom:15px;

  color:#765983;

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


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

  color:#322039;

  font-size:16px;
}


.io-process__item p{
  margin:0;

  color:var(--io-muted);

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


/* =========================================================
   PRICE / LIMITS
   ========================================================= */

.io-price-grid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:18px;

  margin-top:31px;
}


.io-price{
  padding:30px;

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

  background:#fff;
}


.io-price--risk{
  background:#faf4f2;
}


.io-price h3{
  margin:0 0 9px;

  color:#322039;

  font-size:22px;
}


.io-price p{
  margin:0;

  color:var(--io-muted);

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


.io-price-list{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:8px;

  margin:20px 0 0;
}


.io-price-list span{
  padding:11px 12px;

  border-radius:11px;

  background:#f3eff5;

  color:#574e5a;

  font-size:13px;
}


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

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

  gap:13px;

  margin-top:31px;
}


.io-risk{
  padding:21px;

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

  background:#fff;
}


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

  display:grid;
  place-items:center;

  margin-bottom:13px;

  border-radius:50%;

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

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


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

  color:#33203b;

  font-size:16px;
}


.io-risk p{
  margin:0;

  color:var(--io-muted);

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


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

.io-faq{
  max-width:1000px;

  margin-top:30px;

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


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


.io-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;
}


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


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

  position:absolute;

  right:5px;
  top:50%;

  transform:translateY(-50%);

  color:#755d82;

  font-size:28px;
}


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


.io-faq__answer{
  max-width:870px;

  padding:0 0 22px;

  color:#59515d;

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


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

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


.io-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);
}


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


.io-final__box h2{
  max-width:850px;

  margin:0;

  color:#fff;

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


.io-final__box p{
  max-width:780px;

  margin:15px 0 0;

  color:#f0e9f2;

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


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


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

  box-shadow:none;
}


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

  border-color:#a58caf;
}


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

  font-size:13px !important;
}


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

@media(max-width:1100px){

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


  .io-hero__grid,
  .io-interior,
  .io-explain__grid,
  .io-source{
    grid-template-columns:1fr;
  }


  .io-ba{
    min-height:500px;
  }


  .io-task-grid,
  .io-appearance{
    grid-template-columns:1fr 1fr;
  }


  .io-bento{
    grid-template-columns:1fr 1fr;
  }


  .io-bento__card--large{
    grid-row:auto;
  }


  .io-commercial{
    grid-template-columns:1fr 1fr;
  }


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


  .io-risks{
    grid-template-columns:1fr 1fr;
  }


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


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


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

}


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

@media(max-width:760px){

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


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


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


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

    font-size:13px;
  }


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


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


  .io-ba{
    min-height:430px;

    border-radius:22px;
  }


  /* mobile: visual horizontal selector */

  .io-task-grid{
    display:flex;

    gap:12px;

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

    margin-inline:-16px;
    padding:
      0 16px 10px;

    scrollbar-width:none;
  }


  .io-task-grid::-webkit-scrollbar{
    display:none;
  }


  .io-task{
    min-width:min(82vw,310px);
    min-height:215px;

    scroll-snap-align:start;
  }


  .io-bento,
  .io-appearance,
  .io-formats,
  .io-commercial,
  .io-process,
  .io-risks,
  .io-price-grid{
    grid-template-columns:1fr;
  }


  .io-room{
    min-height:360px;
  }


  .io-source__list,
  .io-price-list{
    grid-template-columns:1fr;
  }


  .io-explain{
    padding:56px 0;
  }


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


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

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


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


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


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

}


/* =========================================================
   360px+
   ========================================================= */

@media(max-width:480px){

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


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


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


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


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


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


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


  .io-ba{
    min-height:365px;
  }


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

}

/* site collisions / pack images */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
main.io-page {
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
}
main.io-page .io-hero {
  padding-top: 20px;
}
main.io-page .io-btn[data-zp-contacts-open] {
  cursor: pointer;
}
main.io-page a.io-btn--primary,
main.io-page .io-btn--primary {
  color: #fff !important;
}
main.io-page a.io-btn--primary:hover,
main.io-page .io-btn--primary:hover {
  color: #fff !important;
}
main.io-page .io-final__box a.io-btn--primary,
main.io-page .io-final__box .io-btn--primary,
main.io-page .io-explain a.io-btn--primary,
main.io-page .io-explain .io-btn--primary,
main.io-page .io-source__aside a.io-btn--primary,
main.io-page .io-source__aside .io-btn--primary {
  color: #321940 !important;
  background: #fff !important;
}
main.io-page .io-final__box a.io-btn--secondary,
main.io-page .io-final__box .io-btn--secondary {
  color: #fff !important;
}

/* photo slots from pack */
main.io-page .io-media {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  margin: 18px 0 4px;
}
main.io-page .io-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
main.io-page .io-bento__card .io-media {
  margin-top: 18px;
  aspect-ratio: 4 / 3;
}
main.io-page .io-bento__card--dark .io-media {
  aspect-ratio: 4 / 3;
}
main.io-page .io-bento__card--dark .io-media img {
  object-position: center 22%;
}
main.io-page .io-media--hero-look,
main.io-page .io-media--commercial {
  margin: 0 0 28px;
  border-radius: 22px;
  box-shadow: var(--io-shadow);
}
main.io-page .io-media--hero-look {
  aspect-ratio: 1 / 1;
  max-width: 520px;
}
main.io-page .io-media--commercial {
  aspect-ratio: 4 / 3;
  max-width: 720px;
}
main.io-page .io-room {
  background: transparent !important;
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0;
}
main.io-page .io-room__wall,
main.io-page .io-room__sofa,
main.io-page .io-room__art,
main.io-page .io-room__lamp {
  display: none !important;
}
main.io-page .io-room img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  border-radius: 27px;
}
