/* Дворец культуры — АТЕЛЬЕ / единая графическая история, v22.
   Scope: public pages only. Visual artwork is original local SVG; no screenshots/CDN.
   No change to admin forms, mobile navigation, event data or poster fitting. */
.dk-public-shell {
 --atelier-paper:#fffcf8;
 --atelier-ink:#20213d;
 --atelier-sub:#655e77;
 --atelier-line:rgba(130,96,160,.19);
 --atelier-violet:#6552ca;
 --atelier-rose:#d77f9e;
 --atelier-honey:#e0a774;
 --atelier-panel:rgba(255,255,255,.88);
 --atelier-shadow:0 22px 64px rgba(65,44,87,.085),0 2px 10px rgba(65,44,87,.032);
}
.dk-public-shell.dk-theme-dark {
 --atelier-paper:#171729;
 --atelier-ink:#f5edff;
 --atelier-sub:#c7bfd8;
 --atelier-line:rgba(195,167,232,.2);
 --atelier-violet:#b9a1ff;
 --atelier-rose:#f3b1bd;
 --atelier-honey:#f3bf8c;
 --atelier-panel:rgba(35,31,55,.91);
 --atelier-shadow:0 23px 62px rgba(6,4,18,.25),0 3px 12px rgba(4,3,17,.11);
}
.dk-public-shell .dk-route-home {position:relative;isolation:isolate;overflow:hidden;color:var(--atelier-ink)}
/* A single painted canvas and one line weaving through the journey. */
.dk-public-shell.dk-theme-light .dk-route-home {
 background:
  radial-gradient(ellipse 42% 17% at 11% 17%,rgba(249,208,190,.36),transparent 80%),
  radial-gradient(ellipse 34% 20% at 89% 45%,rgba(213,193,245,.33),transparent 82%),
  radial-gradient(ellipse 40% 19% at 15% 76%,rgba(242,204,218,.29),transparent 83%),
  linear-gradient(175deg,#fffaf5 0%,#fffdfa 32%,#fbf8ff 62%,#fffaf5 100%)!important;
}
.dk-public-shell.dk-theme-dark .dk-route-home {
 background:
  radial-gradient(ellipse 45% 19% at 10% 15%,rgba(152,75,105,.17),transparent 80%),
  radial-gradient(ellipse 39% 23% at 85% 52%,rgba(113,82,174,.20),transparent 84%),
  linear-gradient(175deg,#18182d 0%,#1f1a30 42%,#1c1934 76%,#17182c 100%)!important;
}
.dk-public-shell .dk-route-home::before {
 content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
 background-image:url('/assets/dk-journey-lines-v22.svg');
 background-repeat:no-repeat;background-position:center top;background-size:100% 100%;
 opacity:.83;
}
.dk-public-shell.dk-theme-dark .dk-route-home::before {opacity:.28;filter:brightness(1.55) saturate(.6)}
.dk-public-shell .dk-route-home > section {position:relative;isolation:isolate;z-index:1;}
.dk-public-shell .dk-route-home > section:not(:first-child) {background:transparent!important;border-color:transparent!important}
/* Cover old tiny ghost silhouettes with visible, intentionally positioned drawing. */
.dk-public-shell .dk-route-home .dk-culture-news::after,
.dk-public-shell .dk-route-home .dk-culture-collectives::after {
 -webkit-mask:none!important;mask:none!important;
 content:"";position:absolute;z-index:0;pointer-events:none;
 background:url('/assets/dk-stage-ornament-v22.svg') center / contain no-repeat!important;
 opacity:.43!important;transform:none!important;
 width:clamp(390px,45vw,790px)!important;height:370px!important;
}
.dk-public-shell .dk-route-home .dk-culture-news::after {left:auto!important;right:-8%!important;top:15px!important;bottom:auto!important}
.dk-public-shell .dk-route-home .dk-culture-collectives::after {right:auto!important;left:-7%!important;top:22px!important;bottom:auto!important;transform:scaleX(-1)!important}
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-news::after,
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-collectives::after {opacity:.28!important;filter:brightness(1.3)}
.dk-public-shell .dk-route-home .dk-culture-about::after {
 -webkit-mask:none!important;mask:none!important;
 content:"";position:absolute;right:-4%!important;left:auto!important;top:1%!important;
 z-index:0;pointer-events:none;width:min(59vw,880px)!important;height:430px!important;
 background:url('/assets/dk-palace-drawing-v22.svg') center / contain no-repeat!important;
 opacity:.35!important;transform:none!important;
}
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-about::after {opacity:.27!important;filter:brightness(1.4)}
.dk-public-shell .dk-route-home .dk-culture-news::before,
.dk-public-shell .dk-route-home .dk-culture-collectives::before,
.dk-public-shell .dk-route-home .dk-culture-about::before,
.dk-public-shell .dk-route-home .dk-culture-partners::before,
.dk-public-shell .dk-route-home .dk-culture-voting::before {
 top:0!important;height:1px!important;width:min(88%,1250px)!important;
 background:linear-gradient(90deg,transparent 0%,rgba(192,148,208,.42) 18%,rgba(214,174,145,.44) 53%,rgba(173,155,221,.35) 85%,transparent 100%)!important;
}
/* Every title is typeset as one cultural editorial series, not 5 separate headings. */
.dk-public-shell .dk-route-home :is(.dk-culture-news,.dk-culture-collectives,.dk-culture-about,.dk-culture-partners,.dk-culture-voting) h2 {
 color:var(--atelier-ink)!important;letter-spacing:-.046em!important;line-height:1.08!important;
 font-weight:850;
}
.dk-public-shell .dk-culture-news h2::before,
.dk-public-shell .dk-culture-collectives h2::before {
 display:block!important;width:auto!important;height:auto!important;margin:0 0 13px!important;
 background:none!important;border:none!important;border-radius:0!important;
 font-size:12px!important;letter-spacing:.25em!important;text-transform:uppercase!important;
 font-weight:800!important;line-height:1.3!important;color:var(--atelier-violet)!important;
}
.dk-public-shell .dk-culture-news h2::before {content:"02  /  ХРОНИКА ДВОРЦА"!important}
.dk-public-shell .dk-culture-collectives h2::before {content:"03  /  ЛЮДИ И ИСКУССТВО"!important}
.dk-public-shell .dk-culture-about h2 {max-width:670px}
.dk-public-shell .dk-culture-about h2::before {
 content:"04  /  НАШ ДВОРЕЦ";display:block;margin-bottom:15px;font-weight:800;
 font-size:12px;letter-spacing:.24em;color:var(--atelier-violet);
}
.dk-public-shell .dk-culture-partners h2::before {
 content:"05  /  СООБЩЕСТВО";display:block;margin-bottom:14px;font-size:12px;
 font-weight:800;letter-spacing:.2em;color:var(--atelier-violet);
}
.dk-public-shell .dk-route-home :is(.dk-culture-news,.dk-culture-collectives,.dk-culture-about,.dk-culture-partners) p {
 color:var(--atelier-sub);line-height:1.68;
}
/* Stage spotlight: a definite visual frame around existing event cards, not an extra banner. */
@media(min-width:1024px) {
 .dk-public-shell .dk-route-home .dk-home-afisha--adaptive.dk-afisha-editorial {
   border-top:0!important;border-bottom:1px solid var(--atelier-line)!important;
   box-shadow:inset 0 -20px 70px rgba(201,161,203,.052);
 }
 .dk-public-shell .dk-route-home .dk-home-afisha--adaptive.dk-afisha-editorial::after {
   content:"";position:absolute;top:20px;left:-60px;width:540px;height:250px;z-index:0;pointer-events:none;
   background:url('/assets/dk-stage-ornament-v22.svg') center / contain no-repeat;opacity:.18;
 }
 .dk-public-shell .dk-route-home .dk-home-afisha--adaptive.dk-afisha-editorial .dk-home-afisha-container {position:relative;z-index:1}
 .dk-public-shell .dk-route-home .dk-home-afisha--adaptive.dk-afisha-editorial .dk-home-afisha-copy h2 {
   font-weight:850!important;letter-spacing:-.05em!important;
 }
}
/* Card design: museum catalogue paper and luminous accent, never rainbow section fills. */
.dk-public-shell .dk-route-home .dk-culture-news article > div,
.dk-public-shell .dk-route-home .dk-culture-collectives .home-collectives-card,
.dk-public-shell .dk-route-home .dk-culture-about .grid.grid-cols-2 > div {
 background:var(--atelier-panel)!important;
 border:1px solid var(--atelier-line)!important;
 box-shadow:var(--atelier-shadow)!important;
 border-radius:24px!important;
}
.dk-public-shell .dk-culture-news article:nth-child(n) > div {border-top:1px solid var(--atelier-line)!important}
.dk-public-shell .dk-culture-news article > div {position:relative}
.dk-public-shell .dk-culture-news article > div::after {
 content:"";position:absolute;inset:0 0 auto;height:5px;z-index:2;
 background:linear-gradient(90deg,#7562d1,#d5a1bd,#efbb83);
 opacity:.88;pointer-events:none;
}
.dk-public-shell .dk-culture-news article img,
.dk-public-shell .dk-culture-collectives .home-collectives-card img {transition:transform .55s ease,filter .55s ease!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .dk-public-shell .dk-culture-news article:hover img,
 .dk-public-shell .dk-culture-collectives .home-collectives-card:hover img {transform:scale(1.045)!important}
}
.dk-public-shell .dk-culture-news article .p-6 {padding:clamp(18px,1.9vw,27px)!important}
.dk-public-shell .dk-culture-news article :is(h3,button) {letter-spacing:-.012em}
.dk-public-shell .dk-culture-news article button {color:var(--atelier-violet)!important}
.dk-public-shell .dk-culture-collectives .home-collectives-card {outline:1px solid transparent;outline-offset:4px}
.dk-public-shell .dk-culture-news .container > div:first-of-type button,
.dk-public-shell .dk-culture-collectives button,
.dk-public-shell .dk-culture-about button {
 border-radius:14px!important;transition:transform .2s ease,box-shadow .2s ease;
}
.dk-public-shell .dk-route-home .dk-culture-news .container > div:first-of-type button {
 background:linear-gradient(120deg,#6754c9,#8064de)!important;color:#fff!important;
 box-shadow:0 12px 28px rgba(101,82,201,.2)!important;
}
/* Dedicated architectural bridge: an illustration, not an arbitrary new content module. */
.dk-public-shell .dk-route-home > .dk-architecture-interlude {
 position:relative;z-index:1;isolation:isolate;overflow:hidden;
 height:clamp(205px,19vw,285px);margin:0 auto;
 width:min(94%,1450px);border-radius:30px;
 background:
  radial-gradient(ellipse 42% 125% at 8% 50%,rgba(221,166,193,.26),transparent 82%),
  radial-gradient(ellipse 38% 105% at 91% 50%,rgba(169,150,220,.22),transparent 82%),
  linear-gradient(105deg,rgba(255,248,238,.93),rgba(246,238,253,.86));
 border:1px solid rgba(170,138,204,.3);
 box-shadow:0 25px 70px rgba(93,71,137,.09);
}
.dk-public-shell.dk-theme-dark .dk-architecture-interlude {
 background:radial-gradient(ellipse 50% 110% at 8% 50%,rgba(156,95,134,.19),transparent 82%),
 linear-gradient(110deg,rgba(43,37,66,.96),rgba(42,38,70,.94));
 border-color:rgba(178,150,220,.24);
}
.dk-architecture-interlude-art {
 position:absolute;inset:-20% 3% -25% 20%;pointer-events:none;
 background:url('/assets/dk-palace-drawing-v22.svg') center / contain no-repeat;
 opacity:.87;filter:drop-shadow(0 6px 18px rgba(127,91,151,.1));
}
.dk-public-shell.dk-theme-dark .dk-architecture-interlude-art {opacity:.57;filter:brightness(1.25)}
.dk-architecture-interlude-label {
 position:absolute;z-index:1;left:clamp(22px,4vw,60px);top:50%;transform:translateY(-50%);
 max-width:270px;font-size:clamp(21px,2.4vw,39px);font-weight:850;
 line-height:1.09;letter-spacing:-.05em;color:var(--atelier-ink);
 text-shadow:0 1px 1px rgba(255,255,255,.3);
}
.dk-architecture-interlude-label::before {
 content:"ДВОРЕЦ КУЛЬТУРЫ";display:block;margin:0 0 14px;
 font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--atelier-violet);
}
/* About has editorial spacing; its photo should look like part of an art folio. */
.dk-public-shell .dk-route-home .dk-culture-about .container {position:relative;z-index:1}
.dk-public-shell .dk-route-home .dk-culture-about img {
 border-radius:26px!important;box-shadow:var(--atelier-shadow);
 border:7px solid var(--atelier-panel);
}
.dk-public-shell .dk-route-home .dk-culture-about .grid.grid-cols-2 > div {
 border-top:1px solid var(--atelier-line)!important;
 backdrop-filter:blur(10px);
}
/* Partners: gallery-like row and softer framing. */
.dk-public-shell .dk-route-home .dk-culture-partners .grid > button {
 background:var(--atelier-panel)!important;border:1px solid var(--atelier-line)!important;
 border-radius:18px!important;box-shadow:0 9px 30px rgba(64,45,91,.06);
}
.dk-public-shell .dk-route-home .dk-culture-partners .grid > button:hover {transform:translateY(-3px)}
/* Vote blocks join the same material system. */
.dk-public-shell .dk-route-home .dk-culture-voting .rounded-2xl,
.dk-public-shell .dk-route-home .dk-culture-voting .bg-gray-800 {
 background:var(--atelier-panel)!important;border-color:var(--atelier-line)!important;
 box-shadow:var(--atelier-shadow)!important;
}
/* Small section flourishes that do not compete with content. */
.dk-public-shell .dk-route-home :is(.dk-culture-news,.dk-culture-collectives,.dk-culture-about) {padding-block:clamp(64px,6vw,96px)!important}
.dk-public-shell .dk-route-home .dk-culture-partners {padding-block:clamp(46px,4.4vw,68px)!important}
.dk-public-shell .dk-route-home .dk-culture-voting {padding-block:clamp(48px,5vw,72px)!important}
/* Footer concludes the same architecture ink motif. */
.dk-public-shell > footer {
 background:linear-gradient(150deg,#19172f 0%,#25203c 55%,#201a34 100%)!important;
 border-top:3px solid #8469c6!important;
}
.dk-public-shell > footer::before {
 -webkit-mask:none!important;mask:none!important;
 width:min(62vw,900px)!important;height:400px!important;
 right:-4%!important;bottom:-28%!important;left:auto!important;
 background:url('/assets/dk-palace-drawing-v22.svg') center / contain no-repeat!important;
 opacity:.23!important;
}
/* Interior pages: match the same art-paper palette without interfering with editors. */
.dk-public-shell.dk-theme-light .dk-public-main:not(.dk-route-home) {
 background:linear-gradient(160deg,#fffaf6,#fcf7ff 58%,#fffaf7)!important;
}
.dk-public-shell.dk-theme-dark .dk-public-main:not(.dk-route-home) {
 background:linear-gradient(160deg,#18172c,#241f38 60%,#1b1830)!important;
}
.dk-public-shell .dk-public-main:not(.dk-route-home)::before {
 -webkit-mask:none!important;mask:none!important;
 width:min(63vw,870px)!important;height:min(31vw,400px)!important;
 right:0!important;background:url('/assets/dk-palace-drawing-v22.svg') right top / contain no-repeat!important;
 opacity:.17!important;
}
.dk-public-shell.dk-theme-dark .dk-public-main:not(.dk-route-home)::before {opacity:.11!important}
/* Avoid washed-out text in dark mode despite older class utilities. */
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-news article h3,
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-collectives .home-collectives-card :is(h3,p),
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-about h2 {color:var(--atelier-ink)!important}
.dk-public-shell.dk-theme-dark .dk-route-home :is(.dk-culture-news,.dk-culture-collectives,.dk-culture-about) p,
.dk-public-shell.dk-theme-dark .dk-route-home .dk-culture-news article time {color:var(--atelier-sub)!important}
@media(max-width:1023px){
 .dk-public-shell .dk-route-home::before {background-size:150% 100%;background-position:30% top;opacity:.43}
 .dk-public-shell .dk-route-home .dk-culture-news::after,
 .dk-public-shell .dk-route-home .dk-culture-collectives::after {width:76vw!important;height:235px!important;opacity:.23!important}
 .dk-public-shell .dk-route-home .dk-culture-about::after {width:82vw!important;opacity:.16!important}
 .dk-architecture-interlude-art {inset:-10% -11% -12% 26%}
}
@media(max-width:767px){
 .dk-public-shell .dk-route-home::before {background-size:260% 100%;background-position:42% top;opacity:.2}
 .dk-public-shell .dk-route-home :is(.dk-culture-news,.dk-culture-collectives,.dk-culture-about) {padding-block:51px!important}
 .dk-public-shell .dk-route-home .dk-culture-news h2::before,
 .dk-public-shell .dk-route-home .dk-culture-collectives h2::before {font-size:10px!important;letter-spacing:.17em!important}
 .dk-public-shell .dk-route-home .dk-culture-news::after,
 .dk-public-shell .dk-route-home .dk-culture-collectives::after {opacity:.17!important;width:95vw!important}
 .dk-public-shell .dk-route-home > .dk-architecture-interlude {height:162px;width:calc(100% - 28px);border-radius:22px}
 .dk-architecture-interlude-art {inset:-9% -45% -5% 8%;opacity:.65}
 .dk-architecture-interlude-label {font-size:21px;left:18px;max-width:145px}
 .dk-architecture-interlude-label::before {font-size:9px;line-height:1.5;letter-spacing:.12em}
 .dk-public-shell .dk-route-home .dk-culture-about::after {height:225px!important;width:95vw!important;opacity:.14!important}
 .dk-public-shell .dk-route-home .dk-culture-news article > div,
 .dk-public-shell .dk-route-home .dk-culture-collectives .home-collectives-card {border-radius:19px!important}
 .dk-public-shell .dk-route-home .dk-culture-about img {border-width:4px}
}
@media(prefers-reduced-motion:reduce){
 .dk-public-shell .dk-route-home :is(article img,.home-collectives-card img) {transform:none!important;transition:none!important}
}
