/* detskaya-obrabotka-podrobno-guide.css — FAITHFUL from ГОТОВЫЙ-HTML-С-ФОТО */
/* 2026-09-08.05: hero dual tilted photos; newborn photo; source aside bottom */

/* =========================================================
   ZERKALO PROART
   CHILD / NEWBORN DETAIL PAGE

   HEADER / MENU / FOOTER НЕ ДОБАВЛЕНЫ
   MAX WIDTH: 1440px
   MOBILE: 360px+
   ========================================================= */

.dk-page{

  --dk-white:#ffffff;

  --dk-bg:#ffffff;
  --dk-soft:#faf8fb;
  --dk-purple-soft:#f3eef7;
  --dk-rose-soft:#fbf2f4;
  --dk-blue-soft:#f1f6f8;
  --dk-warm-soft:#fbf7f0;
  --dk-mint-soft:#f1f7f3;

  --dk-text:#211a24;
  --dk-heading:#291630;
  --dk-muted:#5d5561;
  --dk-muted-2:#756d79;

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

  --dk-rose:#b66d82;
  --dk-blue:#60809a;
  --dk-mint:#668872;
  --dk-gold:#a77d4d;

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

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

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

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

  --dk-wrap:1440px;

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

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

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


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


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


.dk-page a{
  color:inherit;
}


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


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

  margin-inline:auto;
}


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


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


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


.dk-section--rose{
  background:
    radial-gradient(
      700px 360px at 0 100%,
      rgba(182,109,130,.08),
      transparent 65%
    ),
    var(--dk-rose-soft);
}


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


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


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.dk-kicker{
  display:block;

  margin:0 0 10px;

  color:#6b4a79;

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


.dk-h2{
  max-width:970px;

  margin:0 0 16px;

  color:var(--dk-heading);

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


.dk-lead{
  max-width:880px;

  margin:0;

  color:var(--dk-muted);

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


.dk-copy{
  max-width:860px;

  color:var(--dk-muted);

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


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


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


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

  color:#4f4753;

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


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

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

  text-decoration:none;
}


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


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

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

  gap:12px;

  margin-top:29px;
}


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


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

  text-decoration:none;
}


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

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


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


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

  border-color:#b8a6c1;
}


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


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

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

  gap:8px;

  margin:0 0 29px;

  color:#716974;

  font-size:14px;
}


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

  text-decoration:none;
}


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

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

  background:
    radial-gradient(
      920px 480px at 100% -8%,
      rgba(110,64,149,.13),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #faf8fb,
      #fff
    );
}


.dk-hero__grid{
  display:grid;

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

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


.dk-hero__label{
  display:block;

  margin:0 0 12px;

  color:#684775;

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


.dk-hero h1{
  max-width:980px;

  margin:0;

  color:var(--dk-heading);

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


.dk-hero__lead{
  max-width:860px;

  margin:23px 0 0;

  color:#4f4752;

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


.dk-hero__hint{
  max-width:770px;

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

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

  background:#f0eaf4;

  color:#403344;

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


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


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

  color:#685f6c;

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


/* =========================================================
   HERO VISUAL
   Before / after photo cards (tilted pair).
   ========================================================= */

.dk-hero-visual{
  position:relative;

  min-height:570px;

  overflow:hidden;

  border-radius:30px;

  background:
    radial-gradient(
      circle at 20% 22%,
      rgba(255,255,255,.72) 0 4%,
      transparent 5%
    ),
    radial-gradient(
      circle at 78% 18%,
      rgba(255,226,178,.65) 0 5%,
      transparent 6%
    ),
    linear-gradient(
      145deg,
      #dfcbdc,
      #b99cca 46%,
      #78638b
    );

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


.dk-hero-visual__stack{
  position:absolute;

  left:5%;
  right:5%;
  top:7%;
  bottom:16%;
}


.dk-hero-visual__shot{
  position:absolute;

  width:62%;
  height:90%;

  margin:0;

  overflow:hidden;

  border:9px solid #fff;
  border-radius:14px;

  background:#1a1220;

  box-shadow:
    0 22px 42px rgba(46,30,50,.28);
}


.dk-hero-visual__shot img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center top;
}


.dk-hero-visual__shot--before{
  left:0;
  top:8%;

  z-index:1;

  transform:rotate(-7deg);
}


.dk-hero-visual__shot--after{
  right:0;
  top:0;

  z-index:2;

  transform:rotate(6.5deg);
}


.dk-hero-visual__badge{
  position:absolute;

  z-index:4;

  padding:9px 12px;

  border-radius:10px;

  background:#291c2e;
  color:#fff;

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


.dk-hero-visual__badge--1{
  left:6%;
  bottom:8%;
}


.dk-hero-visual__badge--2{
  right:6%;
  bottom:8%;
}


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

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

  background:#fff;
}


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


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

  display:flex;
  align-items:center;

  padding:18px 24px;

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

  color:#443c47;

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


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


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

  display:grid;
  place-items:center;

  flex:0 0 23px;

  margin-right:11px;

  border-radius:50%;

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

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


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

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

  background:#fff;
}


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

  display:flex;
  align-items:center;

  gap:29px;

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


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


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

  padding:18px 0;

  color:#493f4c;

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

  text-decoration:none;
}


/* =========================================================
   SCENARIO SELECTOR
   ========================================================= */

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

  gap:14px;

  margin-top:34px;
}


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

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

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

  background:#fff;

  text-decoration:none;

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


.dk-scenario:hover{
  transform:translateY(-2px);

  border-color:#c6b8ce;

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


.dk-scenario__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;
}


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

  color:#322039;

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


.dk-scenario p{
  margin:0 0 17px;

  color:var(--dk-muted);

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


.dk-scenario__more{
  margin-top:auto;

  color:var(--dk-purple);

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


/* =========================================================
   NEWBORN
   ========================================================= */

.dk-newborn{
  display:grid;

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

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


.dk-newborn-visual{
  position:relative;

  min-height:470px;

  overflow:hidden;

  border-radius:26px;

  background:#ead9e2;

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


.dk-newborn-visual__photo{
  display:block;

  width:100%;
  height:100%;
  min-height:470px;

  object-fit:cover;
  object-position:center 28%;
}


.dk-newborn-visual__blanket,
.dk-newborn-visual__baby{
  display:none;
}


/* =========================================================
   NEWBORN POINTS
   ========================================================= */

.dk-soft-points{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:11px;

  margin-top:26px;
}


.dk-soft-point{
  padding:16px;

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

  background:#fff;
}


.dk-soft-point strong{
  display:block;

  margin-bottom:4px;

  color:#35243d;

  font-size:14px;
}


.dk-soft-point span{
  color:var(--dk-muted);

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


/* =========================================================
   MONTHS
   ========================================================= */

.dk-months{
  display:grid;
  grid-template-columns:repeat(12,1fr);

  margin-top:33px;

  overflow:hidden;

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

  background:#fff;
}


.dk-month{
  min-height:150px;

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

  padding:18px 12px;

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


.dk-month:last-child{
  border-right:0;
}


.dk-month__n{
  display:block;

  color:#6d4e7c;

  font-size:25px;
  line-height:1;
  font-weight:900;
}


.dk-month__label{
  color:var(--dk-muted);

  font-size:11px;
  line-height:1.35;
}


.dk-month:nth-child(3n+1){
  background:#fbf4f6;
}


.dk-month:nth-child(3n+2){
  background:#f3f0f8;
}


.dk-month:nth-child(3n){
  background:#f4f8f6;
}


/* =========================================================
   FIRST YEAR
   ========================================================= */

.dk-first-year{
  display:grid;

  grid-template-columns:
    1.05fr .95fr .95fr;

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

  gap:15px;

  margin-top:34px;
}


.dk-first-year__card{
  padding:26px;

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

  background:#fff;
}


.dk-first-year__card--large{
  grid-row:span 2;

  background:
    radial-gradient(
      450px 220px at 100% 0%,
      rgba(183,108,132,.08),
      transparent 65%
    ),
    #fbf3f5;
}


.dk-first-year__card--purple{
  color:#fff;

  border-color:#321940;

  background:
    radial-gradient(
      360px 190px at 100% 0%,
      rgba(192,145,217,.18),
      transparent 65%
    ),
    #321940;
}


.dk-first-year__tag{
  display:inline-flex;

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

  border-radius:999px;

  background:#f0eaf4;
  color:#52365d;

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


.dk-first-year__card--purple .dk-first-year__tag{
  background:rgba(255,255,255,.12);
  color:#fff;
}


.dk-first-year__card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:20px;
}


.dk-first-year__card--purple h3{
  color:#fff;
}


.dk-first-year__card p{
  margin:0;

  color:var(--dk-muted);

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


.dk-first-year__card--purple p{
  color:#eee6f0;
}


/* =========================================================
   EVENTS
   ========================================================= */

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

  gap:13px;

  margin-top:32px;
}


.dk-event{
  padding:21px;

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

  background:#fff;
}


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


.dk-event:nth-child(3n){
  background:#f2eef7;
}


.dk-event__tag{
  display:block;

  margin-bottom:11px;

  color:#785d84;

  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}


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

  color:#332039;

  font-size:17px;
}


.dk-event p{
  margin:0;

  color:var(--dk-muted);

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


/* =========================================================
   FAMILY
   ========================================================= */

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

  gap:15px;

  margin-top:32px;
}


.dk-family__card{
  padding:25px;

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

  background:#fff;
}


.dk-family__card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:18px;
}


.dk-family__card p{
  margin:0;

  color:var(--dk-muted);

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


/* =========================================================
   SCHOOL
   ========================================================= */

.dk-school{
  display:grid;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(430px,1.1fr);

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


.dk-school-grid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:12px;
}


.dk-school-card{
  min-height:180px;

  padding:20px;

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

  background:#fff;
}


.dk-school-card:nth-child(2){
  background:#faf5ef;
}


.dk-school-card:nth-child(3){
  background:#f2eef7;
}


.dk-school-card:nth-child(4){
  background:#eff6f2;
}


.dk-school-card strong{
  display:block;

  margin-bottom:6px;

  color:#332039;

  font-size:17px;
}


.dk-school-card span{
  color:var(--dk-muted);

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


/* =========================================================
   FAIRY ART
   ========================================================= */

.dk-art{
  padding:82px 0;

  color:#fff;

  background:
    radial-gradient(
      740px 410px at 100% 0%,
      rgba(203,151,228,.23),
      transparent 65%
    ),
    radial-gradient(
      550px 330px at 0 100%,
      rgba(111,151,193,.17),
      transparent 65%
    ),
    #321940;
}


.dk-art .dk-kicker{
  color:#decfe7;
}


.dk-art .dk-h2{
  color:#fff;
}


.dk-art .dk-lead,
.dk-art p{
  color:#eee6f0;
}


.dk-art strong{
  color:#fff;
}


.dk-art__grid{
  display:grid;

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

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


.dk-art-styles{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:10px;
}


.dk-art-style{
  min-height:115px;

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

  padding:16px;

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

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


.dk-art-style strong{
  display:block;

  margin-bottom:4px;

  color:#fff;

  font-size:15px;
}


.dk-art-style span{
  color:#e4dae8;

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


/* =========================================================
   REALISTIC EDITING
   ========================================================= */

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

  gap:14px;

  margin-top:32px;
}


.dk-edit{
  padding:22px;

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

  background:#fff;
}


.dk-edit__icon{
  width:41px;
  height:41px;

  display:grid;
  place-items:center;

  margin-bottom:14px;

  border-radius:13px;

  background:#f1ebf4;
  color:#5a376d;

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


.dk-edit h3{
  margin:0 0 7px;

  color:#322039;

  font-size:17px;
}


.dk-edit p{
  margin:0;

  color:var(--dk-muted);

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


/* =========================================================
   BACKGROUND + CLOTHES
   ========================================================= */

.dk-transform{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:18px;

  margin-top:31px;
}


.dk-transform__card{
  padding:29px;

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

  background:#fff;
}


.dk-transform__card--rose{
  background:#fbf3f5;
}


.dk-transform__card h3{
  margin:0 0 9px;

  color:#322039;

  font-size:22px;
}


.dk-transform__card p{
  margin:0;

  color:var(--dk-muted);

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


.dk-transform__chips{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  margin-top:18px;
}


.dk-transform__chip{
  padding:8px 11px;

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

  background:#fff;

  color:#504554;

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


/* =========================================================
   ADD DETAILS
   ========================================================= */

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

  gap:13px;

  margin-top:31px;
}


.dk-detail{
  min-height:170px;

  padding:21px;

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

  background:#fff;
}


.dk-detail:nth-child(2){
  background:#faf4f6;
}


.dk-detail:nth-child(3){
  background:#f3eff7;
}


.dk-detail:nth-child(4){
  background:#f2f7f4;
}


.dk-detail strong{
  display:block;

  margin-bottom:7px;

  color:#332039;

  font-size:16px;
}


.dk-detail span{
  color:var(--dk-muted);

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


/* =========================================================
   SOURCE PHOTO
   ========================================================= */

.dk-source{
  display:grid;

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

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


.dk-source__aside{
  align-self:end;

  padding:31px;

  border-radius:23px;

  background:#321940;

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


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

  gap:11px;

  margin-top:25px;
}


.dk-source__item{
  padding:16px;

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

  background:#fff;
}


.dk-source__item strong{
  display:block;

  margin-bottom:4px;

  color:#35243d;

  font-size:14px;
}


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

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


.dk-source__aside small{
  display:block;

  margin-bottom:14px;

  color:#d8c9df;

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


.dk-source__aside strong{
  display:block;

  color:#fff;

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


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

  color:#eee6f0;

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


/* =========================================================
   OUTPUT / PRINT
   ========================================================= */

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

  gap:14px;

  margin-top:32px;
}


.dk-output__card{
  padding:23px;

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

  background:#fff;
}


.dk-output__card h3{
  margin:0 0 8px;

  color:#322039;

  font-size:17px;
}


.dk-output__card p{
  margin:0;

  color:var(--dk-muted);

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


.dk-output__card a{
  display:inline-block;

  margin-top:14px;
}


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

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

  gap:13px;

  margin-top:32px;
}


.dk-process__item{
  padding:22px;

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

  background:#fff;
}


.dk-process__step{
  display:block;

  margin-bottom:15px;

  color:#765983;

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


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

  color:#322039;

  font-size:16px;
}


.dk-process__item p{
  margin:0;

  color:var(--dk-muted);

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


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

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

  gap:16px;

  margin-top:31px;
}


.dk-info{
  padding:28px;

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

  background:#fff;
}


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

  color:#322039;

  font-size:20px;
}


.dk-info p{
  margin:0;

  color:var(--dk-muted);

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


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

.dk-trust-dark{
  padding:82px 0;

  color:#fff;

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


.dk-trust-dark .dk-kicker{
  color:#decfe7;
}


.dk-trust-dark .dk-h2{
  color:#fff;
}


.dk-trust-dark .dk-lead,
.dk-trust-dark p{
  color:#eee6f0;
}


.dk-trust-dark strong{
  color:#fff;
}


.dk-trust-dark__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:11px;

  margin-top:31px;
}


.dk-trust-dark__item{
  padding:18px;

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

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


.dk-trust-dark__item strong{
  display:block;

  margin-bottom:5px;

  color:#fff;

  font-size:15px;
}


.dk-trust-dark__item span{
  color:#e5dce9;

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


/* =========================================================
   CASES
   Hidden until real files exist
   ========================================================= */

.dk-cases{
  padding:84px 0;

  background:#fff;
}


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

  gap:18px;

  margin-top:32px;
}


.dk-case{
  overflow:hidden;

  margin:0;

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

  background:#fff;

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


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


.dk-case__image{
  position:relative;

  min-height:290px;

  overflow:hidden;

  background:#eee9ef;
}


.dk-case__image img{
  display:block;

  width:100%;
  height:290px;

  object-fit:cover;
}


.dk-case__badge{
  position:absolute;

  left:10px;
  bottom:10px;

  padding:7px 9px;

  border-radius:8px;

  background:#291c2e;
  color:#fff;

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


.dk-case figcaption{
  padding:18px;

  color:#4c434f;

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


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

.dk-faq{
  max-width:1040px;

  margin-top:30px;

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


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


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


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


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

  position:absolute;

  right:5px;
  top:50%;

  transform:translateY(-50%);

  color:#755d82;

  font-size:28px;
}


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


.dk-faq__answer{
  max-width:900px;

  padding:0 0 22px;

  color:#59515d;

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


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

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


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


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


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

  margin:0;

  color:#fff;

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


.dk-final__box p{
  max-width:800px;

  margin:15px 0 0;

  color:#f0e9f2;

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


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


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

  box-shadow:none;
}


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

  border-color:#a58caf;
}


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

  font-size:13px !important;
}


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

@media(max-width:1100px){

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


  .dk-hero__grid,
  .dk-newborn,
  .dk-school,
  .dk-art__grid,
  .dk-source{
    grid-template-columns:1fr;
  }


  .dk-hero-visual{
    min-height:500px;
  }


  .dk-hero-visual__shot{
    width:62%;
    height:84%;
  }


  .dk-scenarios,
  .dk-events,
  .dk-edit-grid,
  .dk-details-grid,
  .dk-output{
    grid-template-columns:1fr 1fr;
  }


  .dk-months{
    grid-template-columns:repeat(6,1fr);
  }


  .dk-month{
    border-bottom:1px solid var(--dk-border);
  }


  .dk-first-year{
    grid-template-columns:1fr 1fr;
  }


  .dk-first-year__card--large{
    grid-row:auto;
  }


  .dk-family,
  .dk-info-grid,
  .dk-case-grid{
    grid-template-columns:1fr 1fr;
  }


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


  .dk-trust-dark__grid{
    grid-template-columns:1fr 1fr;
  }


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


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


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

}


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

@media(max-width:760px){

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


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


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


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

    font-size:13px;
  }


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


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


  .dk-hero-visual{
    min-height:410px;

    border-radius:22px;
  }


  /*
    Основные сценарии на мобильном —
    горизонтальная лента.
  */

  .dk-scenarios{
    display:flex;

    gap:12px;

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

    margin-inline:-16px;

    padding:
      0 16px 10px;

    scrollbar-width:none;
  }


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


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

    scroll-snap-align:start;
  }


  /*
    1–12 месяцев тоже не превращаем
    в длинную вертикальную стену.
  */

  .dk-months{
    display:flex;

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

    scrollbar-width:none;
  }


  .dk-months::-webkit-scrollbar{
    display:none;
  }


  .dk-month{
    min-width:120px;
    min-height:135px;

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

    scroll-snap-align:start;
  }


  .dk-first-year,
  .dk-events,
  .dk-family,
  .dk-school-grid,
  .dk-edit-grid,
  .dk-transform,
  .dk-details-grid,
  .dk-output,
  .dk-process,
  .dk-info-grid,
  .dk-trust-dark__grid,
  .dk-case-grid{
    grid-template-columns:1fr;
  }


  /*
    Праздничные сценарии —
    горизонтальная лента.
  */

  .dk-events{
    display:flex;

    gap:11px;

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

    margin-inline:-16px;

    padding:
      0 16px 9px;

    scrollbar-width:none;
  }


  .dk-events::-webkit-scrollbar{
    display:none;
  }


  .dk-event{
    min-width:min(76vw,285px);

    scroll-snap-align:start;
  }


  .dk-soft-points,
  .dk-source__list{
    grid-template-columns:1fr;
  }


  .dk-art{
    padding:56px 0;
  }


  .dk-art-styles{
    grid-template-columns:1fr 1fr;
  }


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


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

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


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


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


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

}


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

@media(max-width:480px){

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


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


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


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


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


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


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


  .dk-hero-visual{
    min-height:350px;
  }


  .dk-art-styles{
    grid-template-columns:1fr;
  }


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

}

/* site collisions / pack images */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
main.dk-page {
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
}
main.dk-page .dk-hero {
  padding-top: 20px;
}
main.dk-page .dk-btn[data-zp-contacts-open] {
  cursor: pointer;
}
main.dk-page a.dk-btn--primary,
main.dk-page .dk-btn--primary {
  color: #fff !important;
}
main.dk-page a.dk-btn--primary:hover,
main.dk-page .dk-btn--primary:hover {
  color: #fff !important;
}
main.dk-page .dk-final a.dk-btn--primary,
main.dk-page .dk-final .dk-btn--primary,
main.dk-page .dk-final__box a.dk-btn--primary,
main.dk-page .dk-final__box .dk-btn--primary {
  color: #321940 !important;
  background: #fff !important;
}
/* белые кнопки на тёмных блоках — фиолетовый текст */
main.dk-page .dk-art a.dk-btn--primary,
main.dk-page .dk-art .dk-btn--primary,
main.dk-page .dk-art a.dk-btn--primary:hover,
main.dk-page .dk-art .dk-btn--primary:hover {
  color: #321940 !important;
  background: #fff !important;
  box-shadow: none !important;
}
main.dk-page .dk-trust-dark a.dk-btn--secondary,
main.dk-page .dk-trust-dark .dk-btn--secondary {
  color: #321940 !important;
  background: #fff !important;
}
main.dk-page .dk-trust-dark a.dk-btn--secondary:hover,
main.dk-page .dk-trust-dark .dk-btn--secondary:hover {
  color: #321940 !important;
  background: #f2edf5 !important;
}
/* hero: dual before/after photo cards */
main.dk-page .dk-hero-visual__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
main.dk-page .dk-newborn-visual__photo {
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}
main.dk-page .dk-case__image img,
main.dk-page .dk-cases img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
main.dk-page .dk-case__image {
  overflow: hidden;
  position: relative;
}
