.dk-hero .e404-num{ font-size:clamp(3.4rem,15vw,12rem); }
.dk-hero .e404-title{ font-size:var(--step-h1); font-weight:800; line-height:1; letter-spacing:-.035em; }
.dk-hero .e404-title em{ white-space:nowrap; }
.dk-hero .e404-sub{ max-width:52ch; }
.dk-found{ display:none; margin:1.6rem auto 0; padding:.55rem .6rem .55rem 1.1rem; border:1px solid rgba(184,230,115,.35); border-radius:100px; background:rgba(184,230,115,.07); color:var(--bone); font-size:.92rem; align-items:center; gap:.8rem; max-width:100%; }
.dk-found.on{ display:inline-flex; }
.dk-found b{ color:var(--lime); font-weight:700; }
.dk-found span{ text-align:left; line-height:1.4; }
@media(max-width:600px){ .dk-found{ border-radius:18px; padding:.8rem .8rem .8rem 1rem; } }
.dk-found a{ flex:0 0 auto; background:var(--lime); color:var(--void); font-weight:700; font-size:.8rem; padding:.45rem .9rem; border-radius:100px; }
.dk-marquee{ display:block; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.dk-mq-track{ display:flex; width:max-content; animation:dkmq 45s linear infinite; }
.dk-mq-group{ display:flex; flex:0 0 auto; }
.dk-mq-group span{ font-size:clamp(1.1rem,1.9vw,1.5rem); color:var(--sage); white-space:nowrap; padding:0 clamp(1.3rem,2.6vw,2.4rem); }
@keyframes dkmq{ to{ transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){ .dk-mq-track{ animation:none; } }

.dk-feat{ padding:clamp(4.5rem,11vw,8rem) 0; }
.dk-h2{ font-size:var(--step-h2); font-weight:700; line-height:1.06; letter-spacing:-.025em; }
.dk-h2 em{ font-style:normal; color:var(--emerald-deep); white-space:nowrap; }
.bg-pine .dk-h2 em{ color:var(--lime); }
.dk-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:clamp(1.4rem,2.4vw,2rem); margin-top:clamp(2.4rem,5vw,3.6rem); }
.dk-card{ display:flex; flex-direction:column; border-radius:22px; transition:transform .5s var(--ease), box-shadow .5s var(--ease); cursor:pointer; position:relative; }
.dk-card canvas{ width:100%; aspect-ratio:4/3; background:var(--pine); border-radius:18px; display:block; }
.dk-media{ position:relative; }
.dk-num{ position:absolute; right:1rem; bottom:.8rem; font-size:clamp(1rem,1.6vw,1.2rem); font-weight:400; letter-spacing:.02em; color:var(--brass); pointer-events:none; font-variant-numeric:tabular-nums; }
.dk-card h3{ font-size:1.12rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; margin:1.1rem .2rem 0; }
.dk-card p{ font-size:.93rem; line-height:1.55; color:var(--ink-soft); margin:.5rem .2rem 0; }
.dk-card .dk-go{ margin:.9rem .2rem 0; display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.9rem; color:var(--emerald-deep); }
.dk-card .dk-go svg{ width:16px; height:16px; transition:transform .4s var(--ease); }
@media(hover:hover){ .dk-card:hover .dk-go svg{ transform:translateX(5px); } .dk-card:hover canvas{ box-shadow:0 0 0 2px var(--emerald); } }
.dk-card.is-target canvas{ box-shadow:0 0 0 3px var(--lime), 0 18px 50px -18px rgba(63,181,106,.6); }
.dk-card.is-target::before{ content:"Вы искали"; position:absolute; top:.8rem; left:.8rem; z-index:2; background:var(--lime); color:var(--void); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:.35rem .7rem; border-radius:100px; }
@media(max-width:759px){
  .dk-grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:1rem; margin-left:calc(-1 * clamp(1.25rem,5vw,4.5rem)); margin-right:calc(-1 * clamp(1.25rem,5vw,4.5rem)); padding:0 clamp(1.25rem,5vw,4.5rem) .6rem; scrollbar-width:none; }
  .dk-grid::-webkit-scrollbar{ display:none; }
  .dk-card{ flex:0 0 84%; scroll-snap-align:center; }
  .dk-swipe{ display:flex; }
}
.dk-swipe{ display:none; align-items:center; gap:.6rem; margin-top:1.2rem; font-size:.82rem; color:var(--ink-soft); }
.dk-swipe svg{ width:16px; height:16px; color:var(--emerald-deep); }

.dk-all{ padding:clamp(4.5rem,11vw,8rem) 0; }
.dk-tools{ margin-top:clamp(2rem,4vw,2.8rem); display:flex; flex-direction:column; gap:1.1rem; }
.dk-search{ position:relative; max-width:640px; }
.dk-search input{ width:100%; font-family:var(--font); font-size:1.05rem; color:var(--ink); background:var(--bone); border:1px solid var(--bone-3); border-radius:100px; padding:1rem 1.2rem 1rem 3.1rem; outline:none; transition:border-color .3s var(--ease); }
.dk-search input:focus{ border-color:var(--emerald); }
.dk-search svg{ position:absolute; left:1.15rem; top:50%; width:20px; height:20px; transform:translateY(-50%); color:var(--ink-soft); }
.dk-chips{ display:flex; gap:.5rem; flex-wrap:wrap; }
.dk-chip{ font-family:var(--font); font-size:.85rem; font-weight:600; color:var(--ink); background:transparent; border:1px solid var(--bone-3); border-radius:100px; padding:.5rem .95rem; cursor:pointer; transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease); }
.dk-chip.on{ background:var(--void); border-color:var(--void); color:var(--bone); }
@media(hover:hover){ .dk-chip:not(.on):hover{ border-color:var(--ink); } }
@media(max-width:759px){ .dk-chips{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-right:calc(-1 * clamp(1.25rem,5vw,4.5rem)); padding-right:1rem; } .dk-chips::-webkit-scrollbar{ display:none; } .dk-chip{ flex:0 0 auto; } }
.dk-count{ font-size:.85rem; color:var(--ink-soft); }
.dk-list{ list-style:none; margin-top:1.6rem; columns:3 300px; column-gap:2.4rem; }
.dk-list li{ break-inside:avoid; }
.dk-list button,.dk-list a.dk-read{ width:100%; text-align:left; font-family:var(--font); font-size:.95rem; line-height:1.4; color:var(--ink); background:none; border:0; border-bottom:1px solid var(--bone-3); padding:.75rem 1.8rem .75rem 0; cursor:pointer; position:relative; transition:color .3s var(--ease); }
.dk-list button::after,.dk-list a.dk-read::after{ content:"→"; position:absolute; right:.2rem; top:.72rem; color:var(--emerald-deep); opacity:0; transform:translateX(-6px); transition:.35s var(--ease); }
@media(hover:hover){ .dk-list button:hover,.dk-list a.dk-read:hover{ color:var(--emerald-deep); } .dk-list button:hover::after,.dk-list a.dk-read:hover::after{ opacity:1; transform:none; } }
.dk-list li.is-target button,.dk-list li.is-target a.dk-read{ color:var(--void); background:rgba(184,230,115,.45); padding-left:.6rem; border-radius:8px; font-weight:700; }
.dk-list li.is-target button::after,.dk-list li.is-target a.dk-read::after{ opacity:1; transform:none; }
.dk-list li[hidden]{ display:none; }
.dk-list a.dk-read{ display:block; text-decoration:none; }
.dk-list a.dk-read .dk-tag{ display:inline-block; margin-left:.5rem; padding:.1rem .5rem; border-radius:100px; background:var(--lime); color:var(--void); font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; vertical-align:.12em; }
a.dk-card{ color:inherit; text-decoration:none; }
.dk-more{ margin-top:2rem; }
.dk-more[hidden]{ display:none; }
.dk-empty{ display:none; margin-top:1.6rem; color:var(--ink-soft); }
.dk-empty.on{ display:block; }
.dk-empty a{ color:var(--emerald-deep); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.dk-order{ padding:clamp(4.5rem,11vw,8rem) 0; }
.dk-order-grid{ display:grid; grid-template-columns:1fr; gap:clamp(2.4rem,6vw,5rem); align-items:start; }
@media(min-width:960px){ .dk-order-grid{ grid-template-columns:1fr 1fr; } }
.dk-lead{ text-wrap:balance; }
.dk-steps{ list-style:none; margin-top:2.4rem; display:grid; gap:1.3rem; counter-reset:s; }
.dk-steps li{ display:grid; grid-template-columns:2.6rem 1fr; gap:1rem; align-items:baseline; color:var(--paper); }
.dk-steps li::before{ counter-increment:s; content:"0" counter(s); font-weight:800; color:var(--lime); font-size:.95rem; letter-spacing:.04em; }
.dk-steps b{ color:var(--bone); font-weight:700; display:block; margin-bottom:.15rem; }
.dk-price{ margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid rgba(243,239,230,.12); display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; align-items:baseline; color:var(--paper); font-size:.95rem; }
.dk-price strong{ color:var(--bone); font-size:1.5rem; font-weight:800; letter-spacing:-.02em; }
.dk-price a{ color:var(--bone); text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(243,239,230,.4); }
.dk-form .field textarea{ min-height:7.5rem; resize:vertical; line-height:1.5; }
.dk-form .field textarea:focus{ border-color:var(--lime); background:rgba(255,255,255,.07); }
.dk-form .field textarea:focus+label,.dk-form .field textarea:not(:placeholder-shown)+label{ top:.5rem; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--lime); }
.dk-form .field .opt{ opacity:.6; }
.dk-form .field.flash input{ border-color:var(--lime); background:rgba(184,230,115,.1); }
.dk-consent{ display:flex; gap:.8rem; align-items:flex-start; margin:1.2rem 0 .4rem; font-size:.82rem; line-height:1.5; color:var(--paper); cursor:pointer; }
.dk-consent input{ appearance:none; -webkit-appearance:none; flex:0 0 auto; width:20px; height:20px; margin-top:.1rem; border:1.5px solid rgba(243,239,230,.45); border-radius:6px; display:grid; place-content:center; cursor:pointer; transition:.25s var(--ease); }
.dk-consent input::after{ content:""; width:10px; height:6px; border:2px solid var(--void); border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px) scale(0); transition:transform .25s var(--ease); }
.dk-consent input:checked{ background:var(--lime); border-color:var(--lime); }
.dk-consent input:checked::after{ transform:rotate(-45deg) translate(1px,-1px) scale(1); }
.dk-consent a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media(prefers-reduced-motion:reduce){ .dk-card,.dk-list button,.dk-chip{ transition:none; } }
