/* voennyy-portret-podrobno-guide.css — from preview (13) + 10 WEBP */
/* 2026-09-09.02: .vp-page; 4 photo + 4 styles 3:4 + gallery 2 */

.vp-page{

  --vp-white:#fff;

  --vp-soft:#f8f6fa;
  --vp-purple-soft:#f2edf7;
  --vp-warm:#faf7f1;
  --vp-blue:#f1f5f7;
  --vp-green-soft:#f2f7f4;
  --vp-sepia:#f5f0e8;

  --vp-text:#211a24;
  --vp-heading:#291630;
  --vp-muted:#5d5561;

  --vp-purple:#57287e;
  --vp-purple-hover:#431e62;

  --vp-dark:#17122f;
  --vp-dark-soft:#211941;

  --vp-green:#315f49;
  --vp-green-bg:#e3efe8;

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

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

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

  --vp-wrap:1440px;

  color:var(--vp-text);
  background:#fff;

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

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


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


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


.vp-page a{
  color:inherit;
}


.vp-page section[id]{
  scroll-margin-top:120px;
}


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

  margin-inline:auto;
}


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


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


.vp-section--purple{
  background:
    radial-gradient(
      760px 380px at 100% 0%,
      rgba(107,63,145,.09),
      transparent 66%
    ),
    var(--vp-purple-soft);
}


.vp-section--warm{
  background:var(--vp-warm);
}


.vp-section--blue{
  background:var(--vp-blue);
}


.vp-section--sepia{
  background:var(--vp-sepia);
}


/* TYPE */

.vp-kicker{
  display:block;

  margin:0 0 10px;

  color:#694978;

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


.vp-h2{
  max-width:1000px;

  margin:0 0 16px;

  color:var(--vp-heading);

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


.vp-lead{
  max-width:900px;

  margin:0;

  color:var(--vp-muted);

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


.vp-copy{
  max-width:880px;

  color:var(--vp-muted);

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


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


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


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

  color:#4f4753;

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


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

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

  text-decoration:none;
}


/* BUTTONS */

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

  gap:12px;

  margin-top:29px;
}


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


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


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

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


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


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

  border-color:#b8a6c1;
}


/* PHOTO */

.vp-photo{
  min-height:510px;

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

  overflow:hidden;

  padding:38px;

  border:1px dashed #bba9c6;
  border-radius:28px;

  background:
    radial-gradient(
      430px 260px at 72% 18%,
      rgba(87,40,126,.10),
      transparent 65%
    ),
    linear-gradient(
      145deg,
      #f8f5f9,
      #ebe5ef
    );

  box-shadow:var(--vp-shadow);

  text-align:center;
}


.vp-photo__inner{
  max-width:520px;
}


.vp-photo strong{
  display:block;

  margin-bottom:10px;

  color:#38263f;

  font-size:22px;
  line-height:1.25;
}


.vp-photo span{
  color:#6b6170;

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


/* BREADCRUMBS */

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

  gap:8px;

  margin:0 0 29px;

  color:#716974;

  font-size:14px;
}


.vp-breadcrumbs a{
  text-decoration:none;
}


/* HERO */

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

  background:
    radial-gradient(
      930px 490px at 100% -8%,
      rgba(111,65,150,.13),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #faf8fb,
      #fff
    );
}


.vp-hero__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.05fr)
    minmax(450px,.95fr);

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


.vp-hero__label{
  display:block;

  margin-bottom:12px;

  color:#684775;

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


.vp-hero h1{
  max-width:1000px;

  margin:0;

  color:var(--vp-heading);

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


.vp-hero__lead{
  max-width:880px;

  margin:23px 0 0;

  color:#4f4752;

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


.vp-hero__hint{
  max-width:790px;

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

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

  background:#f0eaf4;

  color:#403344;

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


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

  color:#685f6c;

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


/* TRUST */

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

  background:#fff;
}


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


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

  display:flex;
  align-items:center;

  padding:18px 24px;

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

  color:#443c47;

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


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


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

  display:grid;
  place-items:center;

  flex:0 0 23px;

  margin-right:11px;

  border-radius:50%;

  color:var(--vp-green);
  background:var(--vp-green-bg);

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


/* NAV */

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

  background:#fff;
}


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

  display:flex;
  align-items:center;

  gap:28px;

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


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


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

  padding:18px 0;

  color:#493f4c;

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

  text-decoration:none;
}


/* AUDIENCE */

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

  gap:14px;

  margin-top:32px;
}


.vp-audience-card{
  min-height:215px;

  padding:22px;

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

  background:#fff;
}


.vp-audience-card__tag{
  display:inline-flex;

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

  border-radius:999px;

  background:#f0eaf4;
  color:#56376a;

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


.vp-audience-card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:17px;
}


.vp-audience-card p{
  margin:0;

  color:var(--vp-muted);

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


/* SPLIT */

.vp-split{
  display:grid;

  grid-template-columns:
    minmax(0,.94fr)
    minmax(430px,1.06fr);

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


/* SOURCE */

.vp-source-grid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:11px;

  margin-top:25px;
}


.vp-source{
  padding:16px;

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

  background:#fff;
}


.vp-source strong{
  display:block;

  margin-bottom:4px;

  color:#35243d;

  font-size:14px;
}


.vp-source span{
  color:var(--vp-muted);

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


/* VETERANS */

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

  gap:14px;

  margin-top:31px;
}


.vp-veteran{
  padding:22px;

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

  background:#fff;
}


.vp-veteran:nth-child(2n){
  background:#faf6ef;
}


.vp-veteran h3{
  margin:0 0 7px;

  color:#322039;

  font-size:16px;
}


.vp-veteran p{
  margin:0;

  color:var(--vp-muted);

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


/* ARCHIVE */

.vp-archive-grid{
  display:grid;

  grid-template-columns:
    1.08fr .92fr .92fr;

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

  gap:15px;

  margin-top:32px;
}


.vp-archive{
  padding:25px;

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

  background:#fff;
}


.vp-archive--large{
  grid-row:span 2;
}


.vp-archive--sepia{
  background:#f7f1e8;
}


.vp-archive--dark{
  color:#fff;

  border-color:var(--vp-dark);

  background:
    radial-gradient(
      360px 190px at 100% 0%,
      rgba(149,107,187,.23),
      transparent 65%
    ),
    var(--vp-dark);
}


.vp-archive__n{
  display:block;

  margin-bottom:14px;

  color:#775884;

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


.vp-archive--dark .vp-archive__n{
  color:#d9cde3;
}


.vp-archive h3{
  margin:0 0 8px;

  color:#322039;

  font-size:20px;
}


.vp-archive--dark h3{
  color:#fff;
}


.vp-archive p{
  margin:0;

  color:var(--vp-muted);

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


.vp-archive--dark p{
  color:#ece8f2;
}


/* IMMORTAL REGIMENT */

.vp-memory{
  padding:82px 0;

  color:#fff;

  background:
    radial-gradient(
      740px 400px at 100% 0%,
      rgba(149,107,187,.24),
      transparent 65%
    ),
    var(--vp-dark);
}


.vp-memory .vp-kicker{
  color:#d9cde3;
}


.vp-memory .vp-h2{
  color:#fff;
}


.vp-memory .vp-lead,
.vp-memory p{
  color:#ece8f2;
}


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

  gap:12px;

  margin-top:31px;
}


.vp-memory-card{
  min-height:190px;

  padding:20px;

  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;

  background:rgba(255,255,255,.07);
}


.vp-memory-card strong{
  display:block;

  margin-bottom:6px;

  color:#fff;

  font-size:15px;
}


.vp-memory-card span{
  color:#ddd6e6;

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


/* UNIFORM */

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

  gap:13px;

  margin-top:31px;
}


.vp-uniform{
  padding:21px;

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

  background:#fff;
}


.vp-uniform h3{
  margin:0 0 7px;

  color:#322039;

  font-size:16px;
}


.vp-uniform p{
  margin:0;

  color:var(--vp-muted);

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


/* COMPLIANCE */

.vp-compliance{
  padding:82px 0;

  color:#fff;

  background:
    radial-gradient(
      720px 390px at 100% 0%,
      rgba(149,107,187,.24),
      transparent 65%
    ),
    var(--vp-dark);
}


.vp-compliance .vp-kicker{
  color:#d9cde3;
}


.vp-compliance .vp-h2{
  color:#fff;
}


.vp-compliance .vp-lead,
.vp-compliance p{
  color:#ece8f2;
}


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

  gap:12px;

  margin-top:31px;
}


.vp-compliance-card{
  padding:20px;

  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;

  background:rgba(255,255,255,.07);
}


.vp-compliance-card strong{
  display:block;

  margin-bottom:6px;

  color:#fff;

  font-size:15px;
}


.vp-compliance-card span{
  color:#ddd6e6;

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


/* BACKGROUND */

.vp-background-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);

  gap:13px;

  margin-top:31px;
}


.vp-background{
  min-height:235px;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  padding:20px;

  border-radius:19px;

  color:#fff;
}


.vp-background:nth-child(1){
  background:linear-gradient(145deg,#8b8192,#443a4b);
}

.vp-background:nth-child(2){
  background:linear-gradient(145deg,#ddd9da,#817d83);
}

.vp-background:nth-child(3){
  background:linear-gradient(145deg,#292338,#12101d);
}

.vp-background:nth-child(4){
  background:linear-gradient(145deg,#829a7b,#455846);
}

.vp-background:nth-child(5){
  background:linear-gradient(145deg,#9d846d,#433749);
}


.vp-background__tag{
  display:block;

  margin-bottom:9px;

  color:rgba(255,255,255,.75);

  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}


.vp-background h3{
  margin:0 0 7px;

  color:#fff;

  font-size:17px;
}


.vp-background p{
  margin:0;

  color:rgba(255,255,255,.90);

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


/* STYLE */

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

  gap:14px;

  margin-top:31px;
}


.vp-style{
  padding:24px;

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

  background:#fff;
}


.vp-style:nth-child(2){
  background:#f5f5f5;
}


.vp-style:nth-child(3){
  background:#f3eff7;
}


.vp-style:nth-child(4){
  background:#faf5ef;
}


.vp-style__visual{
  height:120px;

  display:grid;
  place-items:center;

  margin-bottom:16px;

  border-radius:14px;

  background:#f0ebf3;
}


.vp-style__visual::before{
  content:"";

  width:72px;
  height:92px;

  border:2px solid #795c87;

  background:
    linear-gradient(
      145deg,
      #c8b59e,
      #5f5965
    );
}


.vp-style:nth-child(2) .vp-style__visual::before{
  filter:grayscale(1);
}


.vp-style:nth-child(3) .vp-style__visual::before{
  background:
    repeating-linear-gradient(
      145deg,
      #777 0 2px,
      #eee 2px 5px
    );
}


.vp-style:nth-child(4) .vp-style__visual::before{
  background:
    linear-gradient(
      145deg,
      #b89a72,
      #61464c
    );
}


.vp-style h3{
  margin:0 0 8px;

  color:#322039;

  font-size:17px;
}


.vp-style p{
  margin:0;

  color:var(--vp-muted);

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


/* OCCASIONS */

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

  gap:13px;

  margin-top:31px;
}


.vp-event{
  padding:21px;

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

  background:#fff;
}


.vp-event:nth-child(2n){
  background:#faf5ef;
}


.vp-event:nth-child(3n){
  background:#f3eff7;
}


.vp-event__tag{
  display:block;

  margin-bottom:10px;

  color:#795c85;

  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}


.vp-event h3{
  margin:0 0 7px;

  color:#322039;

  font-size:17px;
}


.vp-event p{
  margin:0;

  color:var(--vp-muted);

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


/* SOURCE QUALITY */

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

  gap:13px;

  margin-top:31px;
}


.vp-quality{
  padding:21px;

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

  background:#fff;
}


.vp-quality h3{
  margin:0 0 7px;

  color:#322039;

  font-size:16px;
}


.vp-quality p{
  margin:0;

  color:var(--vp-muted);

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


/* MOCKUP */

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

  gap:12px;

  margin-top:25px;
}


.vp-mockup{
  padding:17px;

  border:1px solid var(--vp-border);
  border-radius:16px;

  background:#fff;
}


.vp-mockup strong{
  display:block;

  margin-bottom:5px;

  color:#35243d;

  font-size:14px;
}


.vp-mockup span{
  color:var(--vp-muted);

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


/* PRINT */

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

  gap:15px;

  margin-top:31px;
}


.vp-print-card{
  padding:26px;

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

  background:#fff;
}


.vp-print-card:nth-child(2){
  background:#f3eff7;
}


.vp-print-card:nth-child(3){
  background:#f1f5f7;
}


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

  color:#322039;

  font-size:18px;
}


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

  color:var(--vp-muted);

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


/* PROCESS */

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

  gap:13px;

  margin-top:32px;
}


.vp-process__item{
  padding:22px;

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

  background:#fff;
}


.vp-process__step{
  display:block;

  margin-bottom:15px;

  color:#765983;

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


.vp-process h3{
  margin:0 0 7px;

  color:#322039;

  font-size:16px;
}


.vp-process p{
  margin:0;

  color:var(--vp-muted);

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


/* PRICE */

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

  gap:16px;

  margin-top:31px;
}


.vp-info{
  padding:28px;

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

  background:#fff;
}


.vp-info h3{
  margin:0 0 9px;

  color:#322039;

  font-size:20px;
}


.vp-info p{
  margin:0;

  color:var(--vp-muted);

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


/* RELATED */

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

  gap:14px;

  margin-top:31px;
}


.vp-link{
  min-height:195px;

  display:flex;
  flex-direction:column;

  padding:22px;

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

  background:#fff;

  text-decoration:none;
}


.vp-link strong{
  display:block;

  margin-bottom:7px;

  color:#322039;

  font-size:16px;
}


.vp-link span{
  color:var(--vp-muted);

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


.vp-link em{
  margin-top:auto;
  padding-top:16px;

  color:var(--vp-purple);

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


/* FAQ */

.vp-faq{
  max-width:1050px;

  margin-top:30px;

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


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


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


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


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

  position:absolute;

  right:5px;
  top:50%;

  transform:translateY(-50%);

  color:#755d82;

  font-size:28px;
}


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


.vp-faq__answer{
  max-width:910px;

  padding:0 0 22px;

  color:#59515d;

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


/* FINAL */

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


.vp-final__box{
  padding:56px;

  overflow:hidden;

  border-radius:30px;

  background:
    radial-gradient(
      520px 270px at 95% 0%,
      rgba(149,107,187,.24),
      transparent 65%
    ),
    var(--vp-dark);

  box-shadow:
    0 22px 60px rgba(25,18,48,.18);
}


.vp-final__box .vp-kicker{
  color:#d9cce3;
}


.vp-final__box h2{
  max-width:920px;

  margin:0;

  color:#fff;

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


.vp-final__box p{
  max-width:830px;

  margin:15px 0 0;

  color:#eee8f2;

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


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


.vp-final__box .vp-btn--primary{
  color:var(--vp-dark);
  background:#fff;

  box-shadow:none;
}


.vp-final__box .vp-btn--secondary{
  color:#fff;
  background:#30264d;

  border-color:#8d7da3;
}


/* TABLET */

@media(max-width:1100px){

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


  .vp-hero__grid,
  .vp-split{
    grid-template-columns:1fr;
  }


  .vp-audience,
  .vp-veteran-grid,
  .vp-uniform-grid,
  .vp-compliance-grid,
  .vp-style-grid,
  .vp-events,
  .vp-quality-grid,
  .vp-mockup-grid{
    grid-template-columns:1fr 1fr;
  }


  .vp-archive-grid{
    grid-template-columns:1fr 1fr;
  }


  .vp-archive--large{
    grid-row:auto;
  }


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


  .vp-memory-grid,
  .vp-process{
    grid-template-columns:1fr 1fr;
  }


  .vp-print,
  .vp-info-grid,
  .vp-links{
    grid-template-columns:1fr 1fr;
  }


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


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


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

}


/* MOBILE */

@media(max-width:760px){

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


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


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


  .vp-breadcrumbs{
    margin-bottom:21px;
    font-size:13px;
  }


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


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


  .vp-photo{
    min-height:410px;
  }


  .vp-audience,
  .vp-veteran-grid,
  .vp-uniform-grid,
  .vp-compliance-grid,
  .vp-memory-grid,
  .vp-quality-grid,
  .vp-mockup-grid,
  .vp-process,
  .vp-print,
  .vp-info-grid,
  .vp-links,
  .vp-archive-grid{
    grid-template-columns:1fr;
  }


  .vp-background-grid,
  .vp-style-grid,
  .vp-events{
    display:flex;

    gap:12px;

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

    margin-inline:-16px;

    padding:
      0 16px 10px;

    scrollbar-width:none;
  }


  .vp-background-grid::-webkit-scrollbar,
  .vp-style-grid::-webkit-scrollbar,
  .vp-events::-webkit-scrollbar{
    display:none;
  }


  .vp-background,
  .vp-style,
  .vp-event{
    min-width:min(78vw,285px);
    scroll-snap-align:start;
  }


  .vp-source-grid{
    grid-template-columns:1fr;
  }


  .vp-memory,
  .vp-compliance{
    padding:56px 0;
  }


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


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

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


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


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


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

}


@media(max-width:480px){

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


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


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


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


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


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


  .vp-btn{
    width:100%;
  }


  .vp-photo{
    min-height:350px;

    padding:25px;
  }


  .vp-photo strong{
    font-size:19px;
  }


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

}

/* site collisions / pack images */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
main.vp-page {
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
}
main.vp-page .vp-hero {
  padding-top: 20px;
}
main.vp-page .vp-btn[data-zp-contacts-open] {
  cursor: pointer;
}
main.vp-page a.vp-btn--primary,
main.vp-page .vp-btn--primary {
  color: #fff !important;
}
main.vp-page a.vp-btn--primary:hover,
main.vp-page .vp-btn--primary:hover {
  color: #fff !important;
}
main.vp-page a.vp-btn--secondary,
main.vp-page .vp-btn--secondary {
  color: #432151 !important;
  background: #fff !important;
  border-color: #b8a6c1 !important;
}
main.vp-page a.vp-btn--secondary:hover,
main.vp-page .vp-btn--secondary:hover {
  color: #321940 !important;
  background: #f2edf5 !important;
}
main.vp-page .vp-final a.vp-btn--primary,
main.vp-page .vp-final .vp-btn--primary,
main.vp-page .vp-final__box a.vp-btn--primary,
main.vp-page .vp-final__box .vp-btn--primary {
  color: #17122f !important;
  background: #fff !important;
}
main.vp-page .vp-final a.vp-btn--secondary,
main.vp-page .vp-final .vp-btn--secondary,
main.vp-page .vp-final__box a.vp-btn--secondary,
main.vp-page .vp-final__box .vp-btn--secondary {
  color: #fff !important;
  background: #30264d !important;
  border-color: #8d7da3 !important;
}
main.vp-page .vp-photo--filled {
  padding: 0;
  border-style: solid;
  border-color: var(--vp-border, #e7dde9);
  background: #1a1220;
  overflow: hidden;
}
main.vp-page .vp-photo--filled img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center top;
  display: block;
}
main.vp-page .vp-style__visual--filled {
  height: auto;
  aspect-ratio: 3 / 4;
  width: 100%;
  padding: 0;
  overflow: hidden;
  background: #1a1220;
}
main.vp-page .vp-style__visual--filled::before {
  display: none !important;
  content: none !important;
}
main.vp-page .vp-style__visual--filled img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center top;
  display: block;
}
main.vp-page .vp-style:nth-child(2) .vp-style__visual--filled img {
  filter: grayscale(1);
}
main.vp-page .vp-extra-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}
main.vp-page .vp-extra-gallery .vp-photo {
  min-height: 360px;
}
@media (max-width: 760px) {
  main.vp-page .vp-extra-gallery {
    grid-template-columns: 1fr;
  }
}
