/* ХРАМ ТРОИЦЫ В КОНЬКОВЕ - v3.2 Warm Terracotta Theme (Church wall background) */
:root{
  /* CHURCH WALL BACKGROUND - rich warm terracotta */
  --bg-deep:#A0624E;--bg-surface:#B57260;--bg-card:rgba(140,80,60,.45);
  --bg-glass:rgba(255,245,230,.08);--border-glass:rgba(255,240,220,.15);
  /* PRIMARY ACCENT: Deep gold (for contrast on terracotta bg) */
  --accent:#2C1A0E;--accent-light:#3D2B1E;--accent-glow:rgba(44,26,14,.18);--accent-dim:rgba(44,26,14,.08);
  /* SECONDARY: Gold (for cross, icons, highlights) */
  --gold:#D4A843;--gold-light:#E4C068;--gold-text:#F2DC97;--gold-glow:rgba(212,168,67,.2);--gold-dim:rgba(212,168,67,.12);
  /* Warm earth accents */
  --salmon:#7A3A28;--salmon-dark:#5C2A1C;--salmon-glow:rgba(122,58,40,.14);
  /* Text hierarchy on warm terracotta */
  --text:#FCF6EE;--text2:#FCF6EE;--text3:#F5E6D8;--line:rgba(255,240,220,.15);
  /* Light text for dark overlay areas */
  --text-light:#F5EDE5;--text-light2:#F5EDE5;--text-light3:#E8DBCB;
  /* Church-appropriate warm tones */
  --cream:rgba(255,245,230,.15);--ivory:rgba(255,250,240,.1);--parch:#EDE4D5;--brown:#3D2B1E;--brown-mid:#5C4433;
  /* Typography */
  --hd:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;
  /* Radii & Motion */
  --r:8px;--r-lg:14px;--r-xl:20px;
  --sec-gap:80px;/* single source of truth for vertical space between homepage blocks */
  --content-max:1320px;/* single source of truth for page content width (header, frames, footer) */
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg-deep);color:var(--text);font:400 1.06rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
figure{margin:0}ul{list-style:none}
.w{max-width:var(--content-max);margin:0 auto;padding:0 24px}

/* ═══ ANIMATED BACKGROUND WAVES ═══ */
.bg-waves{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg-deep);contain:strict}
.bg-waves__wave{display:none}
.bg-waves__wave--1{width:600px;height:600px;top:-12%;left:-8%;background:#D4A843;animation:waveFloat 22s ease-in-out infinite alternate}
.bg-waves__wave--2{width:500px;height:500px;bottom:5%;right:-10%;background:#7A3A28;animation:waveFloat 28s ease-in-out infinite alternate-reverse}
.bg-waves__wave--3,.bg-waves__wave--4{display:none}
@keyframes waveFloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(50px,-40px) scale(1.18)}}

/* ═══ SCROLL REVEAL ═══ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
/* Anchor landing: a :target reveal element must sit at its FINAL position when the browser
   computes the scroll, else the 32px pre-reveal shift lands the heading under the fixed header. */
.reveal:target{opacity:1;transform:none}

/* ═══ ACCESSIBILITY ═══ */
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero__bg{animation:none!important;transform:none!important}.bg-waves__wave{animation:none!important;opacity:0!important}.hdr{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
.reveal.revealed{opacity:1;transform:translateY(0)}

/* ═══ SHARED ═══ */
.eyebrow{font:600 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:4px;color:var(--text);margin-bottom:14px}
.section-head{text-align:center;margin-bottom:48px}
.section-head h2{font:400 1.8rem/1.2 var(--hd);color:var(--gold-text);margin-bottom:12px;letter-spacing:0;text-align:center;}
.section-head .sub{font:.95rem/1.5 var(--sans);color:rgba(235,224,211,0.85)}
.divider{width:48px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 16px;border-radius:1px}
/* Homepage 3-block cards: Богослужения / Новости / Духовенство read as framed blocks with a button header */
.block-card{max-width:var(--content-max);margin:0 auto;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px;color:var(--text-light);position:relative;z-index:1;overflow:hidden}
/* Header buttons: subtle rounded bar (all corners) at the top of the frame */
.block-head{display:block;margin:0}
.block-card > .block-head{margin:-28px -28px 0}
.hs > .block-head{margin:-28px -28px 0}
/* Block button: glassy dark (maps style) with gold frame/text at rest; fills gold + glows on hover */
/* Header buttons: barely-there dark tint at rest (just below the frame bg) -> very light wash on hover */
.block-cta{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;border:none;border-radius:0 0 20px 20px;background:transparent;padding:30px 22px;font:500 1.4rem/1.1 var(--hd);letter-spacing:.3px;color:var(--gold-light);cursor:pointer;transition:background .25s var(--ease),color .25s;text-transform:none}
.block-cta:hover{background:rgba(20,12,6,.08)}
.block-cta svg{width:1.5em;height:1.5em;flex-shrink:0;opacity:.92;stroke-width:1.3}
.block-cta .cta-arr{width:.92em;height:.92em;opacity:.55;margin-left:-2px}
.block-cta:hover .cta-arr{opacity:.8}
.block-cta:hover svg{transform:none}
/* Staggered hover timing per block */
#schedule .block-cta{transition-duration:.3s}
.news .block-cta{transition-duration:.5s}
#clergy .block-cta{transition-duration:.7s}
#shrine .block-cta{transition-duration:.9s}

/* ═══ HEADER - Floating Glass Pill (dark on terracotta bg) ═══ */
.hdr{position:fixed;top:12px;left:50%;transform:translateX(-50%);width:calc(100vw - 48px);max-width:1152px;z-index:200;background:rgba(44,26,14,.6);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border:1px solid rgba(255,240,220,.14);border-radius:var(--r-xl);transition:background .3s,border-color .3s}
.hdr{max-width:var(--content-max)}
.hdr__row{display:grid;grid-template-columns:1fr auto;align-items:center;height:48px;padding:0 24px}
.hdr__logo{display:flex;align-items:center;gap:10px;flex-shrink:0;transition:opacity .3s;cursor:pointer;justify-self:center}
.hdr__logo:hover .hdr__name{color:var(--gold)}
/* Footer logo (main-page link): the inline color:#fff blocks the gold hover, so force it */
.foot .hdr__logo:hover .hdr__name{color:var(--gold)!important}
.hdr__logo:hover .hdr__name::after{transform:scaleX(1)}
.hdr__cross{display:inline-block;width:1.3em;height:1.3em;font-size:1.35rem;color:var(--gold);background:currentColor;-webkit-mask:url(img/chrism-mask.png?v=1) center/contain no-repeat;mask:url(img/chrism-mask.png?v=1) center/contain no-repeat;vertical-align:-0.28em;filter:drop-shadow(0 0 6px rgba(212,168,67,.45))}
.hdr__cross svg{display:none!important}
/* Seasonal opening hours: both seasons listed, active highlighted, inactive greyed (toggled in nav.js by month) */
.hours2 span{display:block;line-height:1.55}
.hours2 [data-season]{transition:opacity .25s}
.hours2 [data-inactive]{opacity:.4}
.hours2 [data-active]{font-weight:600}
.hdr__name{font:600 1rem/1 var(--hd);color:var(--parch);letter-spacing:2.5px;text-transform:uppercase;position:relative;transition:color .25s}
.hdr__name::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}
.hdr__nav{display:flex;gap:18px;align-items:center;flex-wrap:nowrap}
.hdr__nav a{font:.78rem/1 var(--sans);font-weight:600;color:rgba(237,228,213,.78);text-transform:uppercase;letter-spacing:.4px;transition:color .25s;position:relative;white-space:nowrap}
.hdr__nav a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}
.hdr__nav a:hover{color:var(--gold)}
.hdr__nav a:hover::after{transform:scaleX(1)}
.hdr__nav a.active{color:var(--gold)}
.hdr__nav a.active::after{transform:scaleX(1)}
.hdr__burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:6px;min-width:44px;min-height:44px}
.hdr__burger span{display:block;width:22px;height:2px;background:var(--parch);transition:.3s}

/* ═══ HERO - Cinematic + Ken Burns ═══ */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:34% 20%;animation:kenBurns 30s ease-in-out infinite alternate;will-change:transform;mask-image:linear-gradient(0deg,transparent 0%,transparent 4%,black 22%,black 100%);-webkit-mask-image:linear-gradient(0deg,transparent 0%,transparent 4%,black 22%,black 100%)}
@keyframes kenBurns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.08) translate(-1%,1%)}}
.hero__fade{position:absolute;inset:0;z-index:1;display:block;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(160,98,78,.35) 66%,rgba(160,98,78,.6) 84%,rgba(160,98,78,.2) 96%,rgba(160,98,78,0) 100%)}
.hero__inner{position:relative;z-index:2;padding-bottom:24px;padding-top:0;width:100%;display:flex;flex-direction:column;gap:34px;align-items:center}
.hero__text{color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:920px}
.hero__tag{font:600 .92rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:5.5px;color:var(--gold);margin-bottom:28px;opacity:1;animation:fadeUp .9s ease .2s both;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.55),0 0 22px rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:center;gap:9px}
.hero__tag-sub{text-transform:none;font:400 1.18rem/1.5 var(--sans);letter-spacing:.4px;color:var(--text-light2);opacity:.92}
.hero__title{font:400 clamp(3.6rem,6.4vw,6.2rem)/1.04 var(--hd);margin-bottom:24px;text-shadow:0 2px 6px rgba(0,0,0,.55),0 4px 24px rgba(0,0,0,.45),0 0 70px rgba(0,0,0,.3);animation:fadeUp .9s ease .35s both;letter-spacing:.5px}
.hero__addr{font:1.12rem/1.5 var(--sans);color:#fff;font-weight:500;animation:fadeUp .9s ease .5s both;letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 12px rgba(0,0,0,.6),0 0 22px rgba(0,0,0,.45)}
.hero__cta{display:flex;gap:12px;margin-top:30px;animation:fadeUp .9s ease .6s both}
/* Short desktop (laptops): don't cram the hero into 100vh - let it clear the header and flow */
@media(min-width:1121px) and (max-height:900px){.hero{align-items:flex-start;padding-top:82px}.hero__inner{padding-top:0;padding-bottom:20px;gap:20px}.hero__title{font:400 clamp(3rem,4.6vw,4rem)/1.02 var(--hd);margin-bottom:14px}.hero__tag{font-size:.86rem;letter-spacing:5px;margin-bottom:26px}.hero__tag-sub{font-size:1.06rem}.hero__addr{font-size:1.05rem}.hero__official{margin-bottom:14px;gap:3px}.hero__official-lead{font-size:.82rem;letter-spacing:3.5px}.hero__official-name{font-size:.92rem;line-height:1.35}.hero__official-jur{font-size:.72rem;line-height:1.4}}
/* Tablet / burger-mode: top-align the hero so the eyebrow tag clears the fixed header */
@media(min-width:641px) and (max-width:1120px){.hero{align-items:flex-start;padding-top:84px}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ═══ SCHEDULE (glass card in hero - dark overlay) ═══ */
.hs{background:linear-gradient(rgba(156,92,70,.60),rgba(146,82,60,.70));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:28px;border:1px solid var(--border-glass);border-radius:var(--r-xl);animation:fadeUp .9s ease .8s both;width:100%;max-width:var(--content-max);color:var(--text-light);overflow:hidden}

/* Map buttons: Yandex style, square-ish, blend with page */
.hero__map, .foot__route {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;
  background:rgba(30, 22, 16, 0.5);border:1px solid rgba(212, 168, 67, 0.3);
  color:rgba(255,255,255,0.95);font:500 .95rem/1 var(--sans);letter-spacing:0.5px;
  border-radius:8px;transition:all .3s var(--ease);box-sizing:border-box;white-space:nowrap;
  text-transform:none;
}
.hero__map:hover, .foot__route:hover {
  background:rgba(40,28,18,.7);border-color:var(--gold);color:var(--gold-light);
}
.hero__map svg, .foot__route svg {width:18px;height:18px;flex-shrink:0;transition:transform .3s var(--ease)}
.hero__map:hover svg, .foot__route:hover svg {transform:none}
/* Footer route button: more compact so it sits inside the footer column, not as a heavy CTA */
.foot__route{padding:10px 16px;font-size:.86rem;border-radius:6px}
.foot a.foot__route:hover{background:rgba(40,28,18,.7);border-color:var(--gold);color:var(--gold-light)}
/* Compact square map button (footer balance): replaces the wide "Маршрут" pill next to the лавка heading */
.foot__lavka{display:inline-flex;align-items:center;gap:9px;justify-content:center;flex-wrap:wrap}
.foot__map{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(255,240,220,.06);border:1px solid rgba(255,240,220,.12);transition:all .25s var(--ease);flex:0 0 auto}
.foot__map:hover{border-color:var(--gold);background:rgba(40,28,18,.7)}
.foot__map svg{transition:transform .3s var(--ease)}
.foot__map:hover svg{transform:translateY(-2px)}
/* Inline content links (cross-links inside sacrament/article copy) - themed, not default blue */
.tab-pane a{color:var(--gold-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease}
.tab-pane a:hover{color:var(--gold-light)}
.tab-pane .need-list{list-style:decimal;padding-left:1.55em;margin:8px 0 4px}
.tab-pane .need-list li{margin-bottom:7px;padding-left:5px}
.tab-pane .need-list li::marker{color:var(--gold-text);font-weight:600}
/* Long bank account numbers wrap inside the card on narrow phones */
.rekv-card .detail p{overflow-wrap:anywhere;word-break:break-word}

.hs__grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px;align-items:stretch;min-height:120px}
.hs__day{padding:24px 16px 12px;display:flex;flex-direction:column;position:relative;align-items:center;text-align:center;text-decoration:none;color:inherit;cursor:pointer;border-radius:var(--r-lg);transition:background .25s}
.hs__day:hover{background:rgba(255,240,220,.1)}
.hs__day:nth-child(2),.hs__day:nth-child(3){border:1px solid rgba(228,192,104,.16)}
.cel--focus{position:relative;z-index:3;outline:2px solid var(--gold);outline-offset:-1px;box-shadow:0 0 0 4px rgba(212,168,67,.18),0 0 26px rgba(212,168,67,.35)}
.hs__day--today{background:rgba(255,240,220,.06);border:1px solid rgba(212,168,67,.42)}
.hs__day:first-child{background:rgba(212,168,67,.13);border:1px solid rgba(228,192,104,.6);box-shadow:0 6px 22px rgba(0,0,0,.2)}
.hs__day:first-child .hs__date{color:var(--gold-light)}
.hs__day:first-child .hs__badge{background:var(--gold);color:var(--brown)}
.hs__day:first-child:hover{background:rgba(212,168,67,.22)}
.hs__day--today .hs__badge{top:0;left:50%;transform:translateX(-50%);border-radius:0 0 var(--r-lg) var(--r-lg)}
.hs__day--today .hs__priest{color:rgba(255,255,255,.7)}
.hs__day--today .hs__priest strong{color:#fff}
.hs__badge{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--brown);color:var(--parch);font:.55rem/1 var(--sans);text-transform:uppercase;letter-spacing:2px;padding:4px 12px;font-weight:600;border-radius:0 0 var(--r-lg) var(--r-lg);white-space:nowrap}
.hs__date{font:600 1.3rem/1.2 var(--hd);color:var(--text-light2);margin-bottom:4px;margin-top:0;text-shadow:0 1px 2px rgba(28,12,4,.8),0 2px 7px rgba(28,12,4,.45)}
.hs__date .hs__day-name{display:block;font:.65rem/1 var(--sans);text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.7);margin-top:4px;font-weight:600}
.hs__day ul{margin:6px auto 0;width:100%;max-width:310px}
.hs__day ul li{display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:left;font:.84rem/1.4 var(--sans);color:var(--text-light2);text-shadow:0 1px 3px rgba(28,12,4,.72);margin-bottom:3px;align-items:baseline}
.hs__day ul li:last-child{margin-bottom:0}
.hs__day ul b{color:var(--gold-light);text-shadow:0 1px 2px rgba(28,12,4,.85);font-weight:600;min-width:38px;font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}
/* Priest on duty label */
.hs__priest{display:block;font:.68rem/1.3 var(--sans);color:var(--text-light3);margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,240,220,.06);font-style:italic}
.hs__priest strong{color:var(--gold-light);font-weight:600;font-style:normal}
.hs__feast{font:italic 500 .98rem/1.32 var(--hd);color:var(--gold-light);text-shadow:0 1px 2px rgba(28,12,4,.72),0 2px 6px rgba(28,12,4,.4);margin:8px 0 6px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6rem}
.hs__priest-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,240,220,.08)}
/* Homepage services now mirror the rasp page: the priest(s) on duty sit ON TOP of each service
   (morning/evening split), not one tag pinned to the card bottom. */
.hs__svc{margin:8px auto 0;width:100%;max-width:310px;display:flex;flex-direction:column;gap:3px}
.hs__svc-priest{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:5px 0 2px}
.hs__svc-priest:first-child{margin-top:0}
.hs__svc-line{display:block;text-align:center;font:.84rem/1.4 var(--sans);color:var(--text-light2);text-shadow:0 1px 3px rgba(28,12,4,.72)}
.hs__svc-line b{color:var(--gold-light);text-shadow:0 1px 2px rgba(28,12,4,.85);font-weight:600;font-variant-numeric:tabular-nums;margin-right:5px}

/* ═══ SHRINE (on terracotta bg - dark card) ═══ */
.shrine{padding:var(--sec-gap) 0 0;background:transparent;position:relative;isolation:isolate}
.shrine::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(212,168,67,.08),transparent 70%);pointer-events:none}
.shrine__row{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:center;position:relative;z-index:1}
.shrine__text h2,.word__content h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:24px;letter-spacing:0}
.shrine__text p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:18px}
.shrine__text p:last-child{margin-bottom:0}
.shrine__text{max-width:520px}
.shrine__fig{overflow:hidden;border-radius:var(--r-xl);box-shadow:0 16px 48px rgba(0,0,0,.2),0 0 60px rgba(212,168,67,.06);border:1px solid rgba(255,240,220,.12)}
.shrine__fig img{width:100%;height:410px;object-fit:cover;transition:transform .7s var(--ease)}
.about-card[id]{scroll-margin-top:96px}
/* Deep-link targets from the main page (#clergy-vladimir / #clergy-efrem) sit on the INNER
   cards, not the .clergy-frame; give them the same offset so the fixed header never covers them. */
.clergy-featured[id],.clergy-card[id]{scroll-margin-top:96px}
.shrine__fig:hover img{transform:scale(1.04)}

/* ═══ NEWS ═══ */
.life{background:transparent;position:relative}

/* ═══ PATRIARCH QUOTE (dark overlay section) ═══ */
.word{background:transparent;padding:var(--sec-gap) 0 16px;position:relative;overflow:hidden;border:none}
.word::before{content:'«';position:absolute;top:-20px;left:50%;transform:translateX(-50%);font:300 18rem/1 var(--hd);color:rgba(212,168,67,.05);pointer-events:none}
.word__inner{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.word__photo{border-radius:var(--r-xl);overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.2),0 0 60px rgba(212,168,67,.06);border:1px solid rgba(255,240,220,.12)}
.word__photo img{width:100%;height:410px;object-fit:cover;object-position:center 18%}
.word__content{text-align:left;max-width:520px}
.word__q{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:24px;quotes:"\00ab" "\00bb"}
.word__q::before{content:open-quote}.word__q::after{content:close-quote}
.word__cite{font:.88rem/1 var(--sans);color:var(--text);font-weight:600;font-style:normal;display:block;letter-spacing:.5px}

/* ═══ CLERGY ═══ */
.clergy{padding:var(--sec-gap) 0 0;background:transparent;position:relative}
.clergy::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(212,168,67,.06),transparent 60%);pointer-events:none}
.clergy__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;max-width:800px;margin:0 auto;position:relative;z-index:1}
.clergy__person{text-align:center}
.clergy__person img{width:100%;height:420px;object-fit:cover;margin-bottom:24px;border-radius:var(--r-xl);box-shadow:0 12px 40px rgba(0,0,0,.2);border:1px solid rgba(255,240,220,.12);transition:transform .5s var(--ease),box-shadow .5s}
/* Vladimir (nastoyatel): show face & shoulders from top */
.clergy__person:first-child img{object-position:center 20%}
/* Efrem (new photo - outdoor portrait, shoulders visible) */
.clergy__person:last-child img{object-position:center 25%}
.clergy__person:hover img{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.25),0 0 30px rgba(212,168,67,.08)}
.clergy__person .eyebrow{margin-bottom:8px;color:var(--text)}
.clergy__person h3{font:400 1.6rem/1.2 var(--hd);color:var(--text)}

/* ═══ FOOTER (dark) ═══ */
.foot{background:#1F1009;color:var(--text-light2);padding:64px 0 20px;border-top:1px solid rgba(255,240,220,.1);position:relative}
.foot::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;justify-items:center;text-align:center;gap:48px;margin-bottom:48px}
.foot__sub{margin-top:16px;font:.84rem/1.65 var(--sans);color:#AD9E90}
.foot h3,.foot h4{color:var(--gold);font:400 1.25rem/1 var(--hd);margin-bottom:16px;letter-spacing:.5px}
/* Footer brand head matches the other two column titles (scoped to .foot; the sticky header keeps its logotype treatment) */
.foot .hdr__name{font:400 1.25rem/1 var(--hd);color:var(--gold);letter-spacing:.5px;text-transform:none}
.foot .hdr__cross{font-size:1.15rem}
.foot .hdr__logo{margin-bottom:16px}
.foot p{font:.88rem/1.55 var(--sans);opacity:.82;margin-bottom:7px}
.foot a{color:var(--text-light2);transition:color .25s}
.foot a:hover{color:var(--gold)}
.foot__route{margin-top:4px}
.foot__copy{border-top:1px solid rgba(255,240,220,.08);padding-top:20px;text-align:center;font:.75rem/1.6 var(--sans);color:#AD9E90}
/* Author credit: folded into the copyright line, inherits its size/colour; contact popover on a subtle click trigger (pure CSS <details>, no JS) */
.dev-credit{position:relative;display:inline;margin:0}
.dev-credit>summary{list-style:none;cursor:pointer;display:inline;color:inherit;font-size:inherit;letter-spacing:inherit;border-bottom:1px dotted transparent;transition:color .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.dev-credit>summary::-webkit-details-marker{display:none}
.dev-credit>summary::marker{content:""}
.dev-credit>summary:hover,.dev-credit[open]>summary{color:var(--gold);border-bottom-color:rgba(173,158,144,.55)}
.dev-credit__card{position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%);display:flex;flex-direction:column;gap:.5rem;min-width:224px;max-width:min(280px,84vw);padding:.85rem 1.05rem;text-align:left;background:rgba(46,32,22,.62);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(228,192,104,.30);border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.5);z-index:40;animation:devpop .18s ease-out}
.dev-credit__card::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:rgba(228,192,104,.30)}
.dev-credit__card a{color:rgba(255,255,255,.86);text-decoration:none;font-size:.82rem;line-height:1.2;display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.dev-credit__card a:hover{color:var(--gold)}
.dev-credit__card a svg{width:15px;height:15px;flex:0 0 auto;opacity:.85}
@keyframes devpop{from{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media (prefers-reduced-motion:reduce){.dev-credit__card{animation:none}}
.foot__social{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.foot__social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,240,220,.06);color:var(--text-light2);border:1px solid rgba(255,240,220,.1);transition:all .25s var(--ease)}
.foot__social a:hover{background:rgba(255,240,220,.14);color:var(--parch);border-color:rgba(255,240,220,.3);transform:translateY(-2px)}
.foot__social svg{width:18px;height:18px}

/* ═══ TELEGRAM FAB ═══ */
.tg-fab{position:fixed;bottom:24px;right:24px;z-index:300;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#0088cc,#0077b5);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,136,204,.3);transition:all .3s var(--ease);border:1px solid rgba(0,136,204,.3)}
.tg-fab:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 36px rgba(0,136,204,.45)}
.tg-fab svg{width:26px;height:26px}
/* VK floating button - same design as the Telegram FAB, stacked just above it, VK blue. */
.vk-fab{position:fixed;bottom:86px;right:24px;z-index:300;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#0a7cff,#0062d6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(10,124,255,.3);transition:all .3s var(--ease);border:1px solid rgba(10,124,255,.3)}
.vk-fab:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 36px rgba(10,124,255,.45)}
.vk-fab svg{width:30px;height:30px}

/* ═══ PAGE HERO (compact - novosti, tainstva, etc.) ═══ */
.page-hero{padding:104px 0 28px;background:transparent;text-align:center;position:relative;overflow:hidden}
.page-hero .w{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.page-hero__tag{font-family:var(--sans);font-size:.82rem;line-height:1.5;letter-spacing:.3px;color:var(--text-light2);display:block;text-align:center;text-wrap:balance;margin-bottom:14px}
.page-hero__tag-lead{font-weight:600;color:var(--text);text-transform:none}
.page-hero__tag-sep{color:var(--gold);opacity:.45;padding:0 .45em;font-weight:400;white-space:nowrap}
.page-hero__tag-status{font-weight:400;color:var(--text3);text-transform:none}
/* Full official name block in the hero (canonical name + РПЦ hierarchy) */
.page-hero__official{line-height:1.5}
.page-hero__official-lead{display:block;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:.92em}
.page-hero__official-name{display:block;color:var(--text-light2);margin-top:3px}
.page-hero__official-jur{display:block;font-size:.86em;color:var(--text3);opacity:.82;margin-top:7px;line-height:1.55}
.hero__official{display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:26px;text-align:center;animation:fadeUp .9s ease .2s both;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.55),0 0 22px rgba(0,0,0,.4)}
.hero__official-lead{font:700 .95rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:4px;color:var(--gold)}
.hero__official-name{font:500 1.02rem/1.45 var(--sans);letter-spacing:.3px;color:var(--text-light2);opacity:.95}
.hero__official-jur{font:400 .8rem/1.55 var(--sans);letter-spacing:.2px;color:var(--text-light3);opacity:.82;margin-top:3px}
@media(max-width:700px){.hero__official-lead{font-size:.72rem;letter-spacing:3px}.hero__official-name{font-size:.9rem}.hero__official-jur{font-size:.7rem}.hero__official{gap:4px;margin-bottom:16px}}
.page-hero__title{font:400 clamp(2.4rem,5vw,3.8rem)/1.05 var(--hd);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);margin-bottom:0;letter-spacing:0.5px}
.page-hero__sub{font:.9rem/1.5 var(--sans);color:#FFE1A8;text-shadow:0 2px 10px rgba(0,0,0,.5);margin-bottom:0}
.page-hero__back{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--gold);text-shadow:0 2px 10px rgba(0,0,0,.5);font:.8rem/1 var(--sans);font-weight:600;letter-spacing:.3px;transition:color .25s}
.page-hero__back:hover{color:#fff}
.page-hero__back svg{width:16px;height:16px;margin-top:-1px;transition:transform .25s}
.page-hero__back:hover svg{transform:translateX(-3px)}

/* ═══ NOVOSTI - News Grid ═══ */
.news{padding:var(--sec-gap) 0 0;position:relative}
.news-section{padding:0 0 88px;background:transparent}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;min-height:300px;direction:rtl}
.news-grid>*{direction:ltr}
.news-grid .card{box-shadow:0 4px 18px rgba(0,0,0,.16)}
.card{display:flex;flex-direction:column;color:var(--text);border-radius:var(--r-xl);overflow:hidden;background:var(--bg-card);border:1px solid var(--border-glass);transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;cursor:pointer}
.card:hover{transform:translateY(-6px);border-color:rgba(224,168,50,.15);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px var(--gold-glow)}
.card__fig{overflow:hidden;aspect-ratio:16/10;background:var(--bg-surface)}
.card__fig img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card__fig img{transform:scale(1.06)}
.card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.5rem;color:var(--gold);opacity:.3}
.card__body{padding:22px 24px 28px;flex:1;display:flex;flex-direction:column}
.card__date{font:.65rem/1 var(--sans);text-transform:uppercase;letter-spacing:2px;color:var(--text);font-weight:600;margin-bottom:10px;display:block}
.card__title{font:400 1.25rem/1.3 var(--hd);color:var(--text);flex:1}
.card__excerpt{font:.85rem/1.6 var(--sans);color:rgba(235,224,211,0.85);margin-top:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ═══ NOVOSTI - Article View ═══ */
.article-section{padding:0 0 88px;background:transparent;display:none}
.article-wrap{max-width:800px;margin:0 auto}
.article-back{display:inline-flex;align-items:center;gap:8px;color:var(--salmon);font:.95rem/1 var(--sans);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:32px;transition:color .25s}
.article-back:hover{color:var(--gold)}
.article-back svg{width:16px;height:16px;transition:transform .25s}
.article-back:hover svg{transform:translateX(-3px)}
.article-meta{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.article-meta time{font:.7rem/1 var(--sans);text-transform:uppercase;letter-spacing:2.5px;color:var(--salmon);font-weight:600;display:block;margin-bottom:14px}
.article-meta h1,.article-meta h2{font:400 clamp(1.8rem,3.5vw,2.6rem)/1.18 var(--hd);color:var(--text)}
.article-hero{position:relative;display:block;margin-bottom:36px;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);border:1px solid var(--border-glass);cursor:zoom-in}
/* cap the inline main photo so tall shots don't fill the screen and the text is one scroll away; the full image is one click away in the lightbox */
.article-hero img{width:100%;height:auto;max-height:min(64vh,640px);object-fit:cover;object-position:center 22%;display:block}
.article-hero__zoom{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(20,10,4,.5);color:#f4e6b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:.85;transition:opacity .25s,transform .25s;pointer-events:none}
.article-hero:hover .article-hero__zoom{opacity:1;transform:scale(1.08)}
.article-hero__zoom svg{width:19px;height:19px}
.article-body{font:1.06rem/1.8 var(--sans);color:var(--text2)}
.article-body p{margin-bottom:1.3em}
.article-body p:last-child{margin-bottom:0}
.article-body img{border-radius:var(--r-lg);margin:1.5em auto;box-shadow:0 4px 20px rgba(0,0,0,.2);max-width:100%;height:auto}
.article-body a{color:var(--gold-text);text-decoration:underline;text-decoration-color:rgba(242,220,151,.35);text-underline-offset:3px;transition:text-decoration-color .25s}
.article-body a:hover{text-decoration-color:var(--gold-text)}
.article-body strong,.article-body b{color:var(--text);font-weight:600}
.article-body h2,.article-body h3,.article-body h4{font-family:var(--hd);color:var(--text);margin:1.8em 0 .8em;line-height:1.25;font-weight:700}
.article-body h2{font-size:1.8rem}
.article-body h3{font-size:1.4rem}
.article-body h4{font-size:1.2rem}
.article-body blockquote{border-left:3px solid var(--gold);padding:16px 24px;margin:1.5em 0;background:rgba(224,168,50,.05);border-radius:var(--r);font-style:italic;color:var(--text2)}
.article-body ul,.article-body ol{margin:1em 0;padding-left:1.5em}
.article-body li{margin-bottom:.5em}
.article-body figure{margin:1.5em 0}
.article-body figcaption{font:.8rem/1.4 var(--sans);color:rgba(235,224,211,0.85);text-align:center;margin-top:8px}
.article-body .wp-block-gallery,.article-body .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:1.5em 0}
.article-body .wp-block-gallery img,.article-body .gallery img{border-radius:var(--r);width:100%;height:200px;object-fit:cover}
.article-body .wp-caption{max-width:100%;margin:1.5em auto}
.article-body .wp-caption img{border-radius:var(--r-lg);margin:0 auto}
.article-body .wp-caption-text{font:.8rem/1.4 var(--sans);color:rgba(235,224,211,0.85);text-align:center;margin-top:8px}
.article-body iframe{max-width:100%;margin:1.5em 0;border-radius:var(--r-lg)}
.article-nav{margin-top:48px;display:flex;align-items:stretch;border:1px solid var(--border-glass);border-radius:var(--r-xl);background:rgba(20,12,6,.045);overflow:hidden}
.article-nav a,.article-nav span{flex:1;display:flex;align-items:center;gap:10px;padding:18px 26px;font:500 .92rem/1.25 var(--sans);letter-spacing:.3px;min-height:26px}
.article-nav a{color:var(--gold-light);transition:background .25s var(--ease)}
.article-nav a:hover{background:rgba(255,240,220,.07)}
.article-nav .nav-prev{justify-content:center}
.article-nav .nav-next{justify-content:center;text-align:center}
a.nav-prev+a.nav-next{border-left:1px solid var(--border-glass)}
.article-nav svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s var(--ease)}
.nav-prev:hover svg{transform:translateX(-3px)}
.nav-next:hover svg{transform:translateX(3px)}

/* Load-more + all-news share the .article-nav bar language: full-width bars */
.load-more, .btn-allnews{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;
  padding:18px 26px;min-height:26px;
  border:1px solid var(--border-glass);border-radius:var(--r-xl);background:rgba(20,12,6,.045);
  font:500 .92rem/1.25 var(--sans);letter-spacing:.3px;color:var(--gold-light);text-decoration:none;
  cursor:pointer;transition:background .25s var(--ease)}
.load-more:hover, .btn-allnews:hover{background:rgba(255,240,220,.07)}
.btn-allnews svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s var(--ease)}
.btn-allnews:hover svg{transform:translateX(-3px)}

/* ═══ NOVOSTI - Loading Spinner ═══ */
.loading{text-align:center;padding:120px 0;color:rgba(235,224,211,0.85);font:.9rem/1 var(--sans)}
.loading::after{content:'';display:block;width:32px;height:32px;margin:20px auto 0;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.news-grid .card{animation:fadeIn .5s var(--ease) both}
.news-grid .card:nth-child(3n+1){animation-delay:.0s}
.news-grid .card:nth-child(3n+2){animation-delay:.06s}
.news-grid .card:nth-child(3n){animation-delay:.12s}

/* ═══ RASPISANIE - Month Header ═══ */
.month-hdr{background:transparent;padding:0 0 0;text-align:center;position:relative;z-index:10}
.month-back{display:inline-flex;align-items:center;gap:8px;color:var(--salmon);font:.95rem/1 var(--sans);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:24px;transition:color .25s}
.month-back:hover{color:var(--gold)}
.month-top{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:24px}
.month-nav{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:0}
.month-nav button{background:rgba(212,168,67,.18);border:1px solid rgba(255,240,220,.4);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.1rem;transition:all .25s;display:flex;align-items:center;justify-content:center}
.month-nav button svg{width:16px;height:16px;display:block}
.month-nav button:hover{background:rgba(255,255,255,.1);border-color:#fff}
.month-nav button:disabled{opacity:.2;cursor:default}
.month-nav__title{font:400 clamp(1.6rem,3vw,2.4rem)/1 var(--hd);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);min-width:220px;letter-spacing:.5px;text-align:center}
.month-sub{font:.78rem/1 var(--sans);color:var(--parch);letter-spacing:.3px}

/* ═══ RASPISANIE - Legend ═══ */
.legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:0}
.legend__i{display:flex;align-items:center;gap:5px;font:.65rem/1 var(--sans);color:rgba(255,255,255,.85)}
.legend__dot{width:10px;height:10px;border-radius:3px}
.legend__dot--sun{background:#D65A3C}
.legend__dot--feast{background:#6E7A24}
.legend__dot--holy{background:#A83829}
.legend__dot--today{background:var(--gold)}

/* ═══ RASPISANIE - Calendar Grid ═══ */
.cal{padding:24px 0 48px}
.cal__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:1px}
.cal__wd{text-align:center;font:.6rem/1 var(--sans);text-transform:uppercase;letter-spacing:2px;color:var(--brown);font-weight:600;padding:10px 4px}
.cal__wd:last-child{color:#8B3A2A}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);gap:2px;background:rgba(212,168,67,.3);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 4px 24px rgba(44,26,14,.25);border:2px solid rgba(212,168,67,.4)}
.cel{--bg-today:linear-gradient(transparent,transparent);--bg-pascha:linear-gradient(transparent,transparent);--bg-feast:linear-gradient(transparent,transparent);--bg-holy:linear-gradient(transparent,transparent);--bg-sun:linear-gradient(transparent,transparent);background:var(--bg-today),var(--bg-pascha),var(--bg-holy),var(--bg-feast),var(--bg-sun),#F5EDE0;padding:8px 10px 10px;min-height:110px;height:100%;display:flex;flex-direction:column;transition:background .2s;scroll-margin-top:150px}
/* .cel:hover removed per user request */
.cel--empty{background:rgba(180,130,110,.3);min-height:0;pointer-events:none}
.cel--sun{--bg-sun:radial-gradient(circle at top left, rgba(224,107,86,.6) 0%, transparent 78%)}
.cel--sun .cel__num{color:#8B3A2A}
.cel--feast{--bg-feast:radial-gradient(circle at top right, rgba(110,122,36,.45) 0%, transparent 68%)}
.cel--holy{--bg-holy:radial-gradient(circle at bottom left, rgba(160,64,48,.42) 0%, transparent 66%)}
.cel--pascha{--bg-pascha:radial-gradient(circle at center, rgba(212,168,67,.46) 0%, transparent 70%)}
.cel--pascha .cel__num{color:#8B6A20;font-size:1.3rem}
.cel--today{--bg-today:radial-gradient(circle at bottom right, rgba(212,168,67,.55) 0%, transparent 66%);box-shadow:inset 0 0 0 2px var(--gold);z-index:1}
.cel--past{opacity:.5}
.cel__head{display:flex;align-items:center;gap:6px;margin-bottom:4px;min-width:0}
.cel__num{font:700 1.05rem/1 var(--hd);color:var(--brown);margin-bottom:0;flex:0 0 auto;font-variant-numeric:lining-nums}
.cel__feast{font:italic 500 .8rem/1.28 var(--hd);color:#5C3A28;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.cel__badge{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font:.45rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:1.1px;padding:2px 5px;border-radius:3px;font-weight:700;margin-bottom:0;min-width:0;flex:1 1 auto;text-align:center}
.cel__badge--holy{background:#A04030;color:#fff}
.cel__badge--pascha{background:var(--gold);color:#2C1A0E}
.cel__badge--feast{background:#6E7A24;color:#F7F1E4}
.cel__badge--victory{background:rgba(74,120,74,.15);color:#3A6A3A}
.cel__svc{display:flex;flex-direction:column;gap:10px}
.cel__svc-group{display:flex;flex-direction:column;gap:1px}
.cel__svc-group > span{font:.62rem/1.3 var(--sans);color:#5C3A28;display:block}
.cel__svc b{color:#8B3A2A;font-weight:600;font-variant-numeric:tabular-nums;display:inline-block;min-width:30px;margin-right:3px}
.cel__priest-tags{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.priest-tag{display:inline-block;padding:3px 6px;font:500 .5rem/1 var(--sans);text-transform:uppercase;letter-spacing:.8px;border-radius:4px;color:#fff}
.priest-tag--efrem{background:rgba(160,64,48,.85)}
.priest-tag--viktor{background:rgba(74,120,74,.85)}
.priest-tag--nikolay{background:rgba(74,96,120,.85)}
.priest-tag--vladimir{background:rgba(138,100,16,.98);color:#fff;font-weight:700}
.priest-tag--duhovenstvo{background:rgba(104,92,82,.9)}
/* Priest shown inline on its own service line (morning=1st, evening=2nd) - original gold tag size */
.cel__svc-group > span{flex-wrap:wrap}
.cel__svc-priest{display:flex;justify-content:center;margin:0 0 1px}
/* Per-day background image (data-driven; a translucent cream veil keeps the text legible) */
.cel--has-bg{position:relative}
.cel--has-bg::before{content:"";position:absolute;inset:0;z-index:0;background:var(--bg-today),var(--bg-pascha),var(--bg-holy),var(--bg-feast),var(--bg-sun),linear-gradient(rgba(245,237,224,.52),rgba(245,237,224,.78)),var(--cel-bg) center/cover no-repeat}
.cel--has-bg>*{position:relative;z-index:1}
.cel__dow{display:none}

/* ═══ RASPISANIE - Info Box ═══ */
.info{background:rgba(245,237,224,.85);border:1px solid rgba(212,168,67,.3);border-radius:var(--r-lg);padding:24px 28px;margin-top:8px;backdrop-filter:blur(12px)}
.info h3{font:600 1.1rem/1.2 var(--hd);color:var(--brown);margin-bottom:10px}
.info p{font:.82rem/1.55 var(--sans);color:#5C3A28;margin-bottom:5px}
.info p:last-child{margin-bottom:0}
.info a{color:#8B3A2A;font-weight:600}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1120px){
.hdr__row{justify-content:center;position:relative}
.hdr__row{display:flex;justify-content:space-between}
.hdr__logo{justify-self:auto}
.hdr__nav{display:none;position:fixed;top:64px;left:12px;right:12px;bottom:auto;background:rgba(44,26,14,.95);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;padding:12px 16px;gap:2px;border:1px solid rgba(255,240,220,.12);border-radius:var(--r-xl);z-index:250;animation:navSlide .25s ease-out}
@keyframes navSlide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.hdr__nav.open{display:flex}
/* body.nav-open{overflow:hidden} removed to fix width jump */
.hdr__nav a{font-size:.9rem;opacity:.8;padding:12px 8px;width:100%;text-align:center}
.hdr__burger{display:flex;position:absolute;right:24px}
/* TABLET HAMBURGER STATE ALIGNMENTS (PROJECT BASE RULE: Tablet UI shifts at 1120px) */
.foot{text-align:center}
.foot__grid .hdr__logo, .foot__social{justify-content:center}
.legend{text-align:center}
.month-top{flex-direction:column;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}
/* Visually perfectly center 'На главную' by offsetting the SVG arrow */
.page-hero__back{transform:translateX(-8px)}
}
@media(max-width:768px){
.hs{max-width:100%}
.hs__grid{grid-template-columns:1fr;row-gap:16px}
.hs__day{padding:14px}
}
@media(max-width:960px){
.shrine__row{grid-template-columns:1fr;gap:36px}
.clergy__grid{grid-template-columns:1fr;max-width:400px}
.clergy__person:last-child{padding-top:0}
.foot__grid{grid-template-columns:1fr;gap:36px}
.word__inner{grid-template-columns:1fr;max-width:680px;text-align:center}
.word__photo{max-width:280px;margin:0 auto}
.shrine__fig{max-width:280px;margin:0 auto}
.word__content{text-align:center}
.news-grid{grid-template-columns:repeat(2,1fr)}
.article-body .wp-block-gallery,.article-body .gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.cel{min-height:90px;padding:6px 8px 8px}
.cel__feast{font-size:.72rem}
.cel__svc-group > span{font-size:.55rem}
.cel__num{font-size:.95rem}
}
/* Tablet + mobile hero: no Ken Burns zoom (show the widest view), cap the image to the viewport so the
   landscape shot is not stretched into a sliver over the tall content, and lock focus to the lit right side (bell tower). */
@media(max-width:1120px){
.hero{min-height:auto}
.hero__bg{animation:none!important;transform:none!important;top:0;bottom:0;height:100%;object-position:80% 42%}
}
@media(max-width:640px){
.w{padding:0 16px}
.hero{min-height:auto;flex-direction:column;justify-content:flex-start;align-items:center}
.hero__bg{object-position:84% 40%}
.hero__title{font-size:clamp(1.8rem,7.2vw,2.35rem);line-height:1.07;margin-bottom:16px}
.hero__inner{padding-bottom:24px;padding-top:80px;gap:20px}
.hero__tag{font-size:.66rem;letter-spacing:3.5px;margin-bottom:14px}
.hero__tag-sub{font-size:.92rem;letter-spacing:.3px}
.hero__addr{font-size:.95rem}
.hs{padding:20px}
.hs > .block-head{margin:-20px -20px 0}
.block-card{padding:20px}
.block-card > .block-head{margin:-20px -20px 0}
.block-cta{padding:25px 22px}
.hero__map {width:100%; background:rgba(30,22,16,.4); border:1px solid rgba(212,168,67,.2); border-radius:8px;}
.section-head h2{font-size:1.9rem}
:root{--sec-gap:52px}
.life{padding:64px 0}
.word__q{font-size:1.06rem}
.word__inner{grid-template-columns:1fr;gap:24px}
.word__photo{max-width:280px;margin:0 auto}
.word__photo img{height:330px}
.shrine__fig{max-width:280px;margin:0 auto}
.word__content{text-align:center}
.clergy__person img{height:300px}
.shrine__fig img{height:330px}
.news-grid{grid-template-columns:1fr}
.page-hero{padding:100px 0 28px}
.page-hero__title{font-size:1.8rem}
.news-section{padding:0 0 64px}
.article-section{padding:32px 0 64px}
.article-meta h1,.article-meta h2{font-size:1.6rem}
/* .article-nav column-reverse stacking removed per user request so links stay on one line */
.photo-gallery.gallery-plain{grid-template-columns:repeat(2,1fr)}
.info{padding:16px}
.foot{text-align:center}
.foot__grid{gap:28px}
}
/* ═══ CALENDAR MOBILE AGENDA VIEW ═══
   Switches at <=960px: the 7-column grid stays on landscape tablets + desktop,
   and only portrait tablets + phones get the full-width agenda rows.
   Only the raspisanie calendar is affected. */
@media(max-width:960px){
.cal__weekdays,.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal__weekdays{display:none!important}
.cal__grid{display:flex!important;flex-direction:column;gap:6px;background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible;max-width:700px;margin-left:auto;margin-right:auto}
.cel--empty{display:none!important}
.cel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:auto;padding:14px 16px;border-radius:12px;border:1px solid rgba(212,168,67,.2);-webkit-tap-highlight-color:transparent}
.cel__dow{display:block;order:-2;font:.6rem/1 var(--sans);text-transform:uppercase;letter-spacing:1.5px;color:rgba(92,58,40,.5);width:100%;margin-bottom:2px}
.cel__num{font:700 1.5rem/1 var(--hd);color:var(--brown);width:34px;height:34px;display:flex;align-items:center;justify-content:center;order:-1;font-variant-numeric:lining-nums}
.cel__head{align-self:stretch!important;min-width:0}
.cel__badge{order:0;font-size:.55rem;flex:1 1 auto;white-space:normal;overflow:visible;text-align:center;max-width:none}
.cel__feast{display:block!important;font:italic 500 .82rem/1.3 var(--hd);color:#5C3A28;flex:1 1 100%;order:1;max-height:none;overflow:visible}
.cel__svc{order:2;width:100%;margin-top:6px;padding-top:8px;border-top:1px solid rgba(212,168,67,.15);display:flex;flex-direction:column;gap:12px}
.cel__svc-group > span{display:flex;align-items:flex-start;gap:8px;padding:3px 0;font-size:.82rem!important;color:#5C3A28;min-height:auto}
.cel__svc b{font-size:.82rem!important;color:#8B3A2A;min-width:44px;flex-shrink:0}
.cel__priest-tags{order:3;width:100%;margin-top:8px;border-top:1px solid rgba(212,168,67,.15);padding-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.cel--no-svc{display:none!important}
.cel--sun .cel__num{color:#8B3A2A}
.cel--past{opacity:.45}
.month-hdr{position:sticky;top:70px;z-index:100;padding:24px 0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.month-hdr .w{padding:0 16px}
.month-top{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}
.month-nav{margin-bottom:0;gap:16px}
.month-nav button{width:44px;height:44px;font-size:1rem;color:#fff!important;background:rgba(212,168,67,.25)!important;box-shadow:0 2px 8px rgba(44,26,14,.2)!important;border:1px solid rgba(255,240,220,.2)!important}
.month-nav button svg{width:15px;height:15px;display:block}
.month-nav__title{min-width:0}
.month-sub{display:none}
.legend{display:none}
}
@media(max-width:380px){
.hero__tag{font-size:.58rem;letter-spacing:3px}
}
/* HEADER LOGO: shrink name on small phones so it never overlaps the burger */
@media(max-width:400px){.hdr__name{font-size:.64rem;letter-spacing:.2px}}
@media(max-width:345px){.hdr__name{font-size:.54rem;letter-spacing:0}}

/* ═══ SKIP TO CONTENT (a11y) ═══ */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:999;background:var(--brown);color:var(--parch);padding:12px 24px;border-radius:0 0 var(--r) var(--r);font:.85rem/1 var(--sans);font-weight:600;letter-spacing:.5px;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ═══ PRINT ═══ */
@media print{
  .hdr,.bg-waves,.tg-fab,.vk-fab,.foot__social,.foot__route,.hdr__burger,.skip-link{display:none!important}
  body{background:#fff!important;color:#000!important;font-size:11pt}
  .w{max-width:100%;padding:0}
  .foot{background:#fff!important;color:#333!important;border-top:1px solid #ccc}
  .foot p,.foot a{color:#333!important;opacity:1!important}
  a{color:#333!important}
  .hero{min-height:auto!important;padding:20px 0}
  .hero__bg{display:none}
  .hero__fade{display:none}
  .hero__text{color:#000!important}
  .hero__title,.hero__tag,.hero__addr{color:#000!important;text-shadow:none!important}
  .page-hero{background:#fff!important;padding:20px 0!important}
  .page-hero__title{color:#000!important}
  .cal__grid{box-shadow:none!important;border:1px solid #999}
  .cel{border:1px solid #ddd}
  .cel--today{box-shadow:inset 0 0 0 2px #000!important}
  .card{break-inside:avoid;border:1px solid #ccc;box-shadow:none!important;backdrop-filter:none!important;background:#fff!important}
  .news-grid{gap:12px}
  img{max-width:100%!important}
}

/* ═══ PAGE-SPECIFIC STYLES (consolidated) ═══ */

/* --- dukhovenstvo --- */

.clergy-featured{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:0;overflow:hidden;margin-bottom:32px;display:grid;grid-template-columns:320px 1fr;gap:0}
@media(max-width:768px){.clergy-featured{grid-template-columns:1fr}}
.clergy-featured__photo{width:100%;height:100%;min-height:400px;object-fit:cover}
@media(max-width:768px){.clergy-featured__photo{min-height:300px}}
.clergy-featured__info{padding:40px 44px}
.clergy-featured__role{font:600 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:4px;color:var(--text);margin-bottom:12px}
.clergy-featured__name{font:400 1.5rem/1.2 var(--hd);color:var(--text);margin-bottom:8px}
.clergy-featured__title{font:500 .85rem/1.4 var(--sans);color:var(--text3);margin-bottom:20px}
.clergy-featured__bio{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2)}
.clergy-featured__bio p{margin-bottom:12px}

.bio-toggle{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;padding:16px 26px;margin-top:20px;background:rgba(20,12,6,.045);border:1px solid var(--border-glass);border-radius:var(--r-xl);font:500 .92rem/1.25 var(--sans);color:var(--gold-light);cursor:pointer;transition:background .25s var(--ease);letter-spacing:.3px}
.bio-toggle:hover{background:rgba(255,240,220,.1);border-color:var(--gold);color:var(--gold-light)}
.bio-full{display:none;margin-top:16px}
.bio-full.show{display:block}

.clergy-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:0;overflow:hidden;display:grid;grid-template-columns:320px 1fr;gap:0}
@media(max-width:768px){.clergy-card{grid-template-columns:1fr}}
.clergy-card__photo{width:100%;height:100%;min-height:300px;object-fit:cover;object-position:top}
@media(max-width:768px){.clergy-card__photo{min-height:250px}}
.clergy-card__info{padding:32px 36px}
.clergy-card__role{font:600 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:4px;color:var(--text);margin-bottom:10px}
.clergy-card__name{font:400 1.5rem/1.2 var(--hd);color:var(--text);margin-bottom:16px}
.clergy-card__text{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2)}

/* Духовенство - one outer section frame holding two individual clergy frames */
.clergy-frame{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px;margin-bottom:32px;scroll-margin-top:96px}
.clergy-frame__head{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin:0 0 24px}
.clergy-frame .clergy-featured,.clergy-frame .clergy-card{background:var(--gold-dim);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--gold-glow);border-radius:var(--r-lg);margin:0}
.clergy-frame .clergy-card{margin-top:24px}
@media(max-width:768px){.clergy-frame{padding:20px}.clergy-frame__head{margin-bottom:18px;font-size:1.9rem}.clergy-frame .clergy-card{margin-top:18px}}

/* --- kontakty --- */
.contacts{padding:0 0 60px}
.contacts__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}
@media(max-width:768px){.contacts__grid{grid-template-columns:1fr}}

.contact-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px}
.contact-card h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.contact-card h2 span{font-size:1.3rem}
.info-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;font:400 1.06rem/1.7 var(--sans);color:var(--text-light2)}
.info-row__icon{width:20px;height:20px;flex-shrink:0;color:var(--gold);margin-top:2px}
.info-row__time{font-weight:600;color:var(--gold-light)}
.info-row a{color:var(--text);text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}
.info-row a:hover{opacity:.8}

.social-row{display:flex;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--gold-dim)}
.social-row a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,240,220,.06);border:1px solid rgba(255,240,220,.1);color:var(--text-light2);transition:all .25s var(--ease)}
.social-row a:hover{background:rgba(255,240,220,.14);border-color:rgba(255,240,220,.3);color:var(--parch);transform:translateY(-2px)}
.social-row svg{width:22px;height:22px}

.map-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column}
.map-card h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);padding:28px 28px 16px;display:flex;align-items:center;gap:10px}
.map-card h2 span{font-size:1.3rem}
.map-card p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);padding:0 28px 16px;margin:0}
.map-card iframe{flex:1;min-height:320px;border:none}
/* Map facade: no third-party Yandex request/cookies until the visitor opts in (privacy + speed).
   Matches the iframe's flex:1/min-height:320px so swapping it in causes zero layout shift. */
.map-embed{flex:1;min-height:320px;display:flex}
.map-embed__btn{flex:1;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;border:none;color:var(--gold-light);font:inherit;
  background:linear-gradient(135deg,rgba(58,36,20,.45),rgba(38,26,17,.72)),repeating-linear-gradient(0deg,transparent,transparent 25px,rgba(255,240,220,.05) 26px),repeating-linear-gradient(90deg,transparent,transparent 25px,rgba(255,240,220,.05) 26px);
  transition:filter .2s}
.map-embed__btn:hover,.map-embed__btn:focus-visible{filter:brightness(1.14)}
.map-embed__label{font:600 1.06rem/1.2 var(--sans);letter-spacing:.3px}
.map-embed__hint{font:400 .82rem/1.3 var(--sans);color:var(--text-light2);opacity:.85}

.rekv-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px}
.rekv-card h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.rekv-card h2 span{font-size:1.3rem}
.rekv-card p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:8px}
.rekv-card .detail{font-family:var(--sans);font-variant-numeric:tabular-nums;background:var(--gold-dim);padding:20px 24px;border-radius:var(--r-lg);border:1px solid var(--gold-dim);margin-top:16px}
.rekv-card .detail p{margin-bottom:4px;font-size:.95rem}

.hours-badge{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-glass);border-radius:var(--r);padding:8px 16px;font:.82rem/1 var(--sans);color:var(--text3);margin-top:8px}

/* --- o-khrame --- */
.about-section{padding:0 0 48px}
.about-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px;margin-bottom:32px}
.about-card h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.about-card h2 span{font-size:1.3rem}
.about-card h3{font:400 1.5rem/1.3 var(--hd);color:var(--text);margin:24px 0 12px}
.about-card p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:14px}
.about-card blockquote{border-left:3px solid var(--gold);padding:16px 24px;margin:20px 0;background:var(--gold-dim);border-radius:var(--r);font-style:italic;color:var(--text-light2)}

.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
@media(max-width:640px){.photo-gallery{grid-template-columns:repeat(2,1fr)}}
.photo-gallery a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:1;position:relative}
.photo-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.2,0.8,0.2,1)}
.photo-gallery a:hover img{transform:scale(1.05)}
.photo-gallery.gallery-plain{align-items:start}
.photo-gallery.gallery-plain img{width:100%;height:auto;object-fit:contain;border-radius:12px;display:block;transition:none}
/* Lightbox side-strip nav (scoped via mainClass 'pswp--sidenav'): prev/next arrows become
   full-height side strips so the whole left/right vertical area (+ a bit over the image edge)
   navigates; centre of the image closes. Used on novosti's lightbox. */
.pswp--sidenav .pswp__button--arrow{width:22%!important;height:100%!important;top:0!important;bottom:0!important;margin:0!important;transform:none!important}
.pswp--sidenav .pswp__top-bar{z-index:20!important}
.pswp--sidenav .pswp__button--arrow--prev{left:0!important;right:auto!important}
.pswp--sidenav .pswp__button--arrow--next{right:0!important;left:auto!important}
.pswp--sidenav .pswp__button--arrow .pswp__icn{top:50%!important;margin-top:-15px!important}
.pswp--sidenav .pswp__button--arrow--prev .pswp__icn{left:max(16px,3vw)!important;right:auto!important}
.pswp--sidenav .pswp__button--arrow--next .pswp__icn{right:max(16px,3vw)!important;left:auto!important}

/* PhotoSwipe dynamic dimension fix */
.pswp__img {
  object-fit: contain;
}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:768px){.about-grid{grid-template-columns:1fr}}

.timeline{position:relative;padding-left:28px;margin:20px 0}
.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),var(--gold-dim))}
.timeline__item{margin-bottom:20px;position:relative}
.timeline__item::before{content:'';position:absolute;left:-24px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-deep)}
.timeline__year{font:600 .85rem/1 var(--sans);color:var(--text);margin-bottom:4px;letter-spacing:.5px}
.timeline__text{font:.85rem/1.6 var(--sans);color:var(--text-light2)}

/* --- tainstva --- */
.tainstva{padding:0 0 60px}
.tabs{display:flex;gap:4px;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:14px 28px;font:500 .85rem/1 var(--sans);letter-spacing:.5px;color:var(--text3);background:rgba(30,22,16,.6);border:1px solid var(--gold-dim);border-radius:var(--r) var(--r) 0 0;cursor:pointer;transition:all .25s;white-space:nowrap;flex-shrink:0}
.tab:hover{color:var(--text-light2);background:rgba(30,22,16,.8)}
.tab.active{color:var(--gold);background:rgba(0,0,0,.02);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,243,228,.2);border-bottom-color:transparent;position:relative;z-index:2;margin-bottom:-1px}
.tab.active::after{content:'';position:absolute;bottom:-2px;left:-1px;right:-1px;height:4px;background:rgba(0,0,0,.02);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:3}

.tab-content{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:0 0 var(--r-xl) var(--r-xl);padding:28px;position:relative;z-index:1}
.tab-pane{display:none}
.tab-pane.active{display:block}
.tab-pane h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:20px}
.tab-pane h3{font:400 1.5rem/1.3 var(--hd);color:var(--text);margin:28px 0 12px}
.tab-pane p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:14px}
.tab-pane blockquote{border-left:3px solid var(--gold);padding:16px 24px;margin:20px 0;background:var(--gold-dim);border-radius:var(--r)}
.tab-pane blockquote p{font-style:italic;color:var(--text-light2);margin-bottom:0}
.tab-pane blockquote cite{display:block;margin-top:8px;font:400 .85rem/1 var(--sans);color:var(--gold-text);font-style:normal}
.tab-pane ol,.tab-pane ul{margin:12px 0 16px 20px;font:1.06rem/1.7 var(--sans);color:var(--text-light2)}
.tab-pane li{margin-bottom:8px}

.info-box{background:var(--gold-dim);border:1px solid var(--gold-glow);border-radius:var(--r-lg);padding:20px 24px;margin:20px 0}
.info-box__title{font:600 .68rem/1 var(--sans);color:var(--text);text-transform:uppercase;letter-spacing:4px;margin-bottom:10px}
.info-box p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:4px}

/* --- zhizn --- */
.life{padding:0 0 60px}
.life-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--r-xl);padding:28px;margin-bottom:32px}
.life-card h2{font:400 2.2rem/1.2 var(--hd);color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.life-card h2 span{font-size:1.4rem}
.life-card h3{font:400 1.5rem/1.3 var(--hd);color:var(--text);margin:20px 0 10px}
.life-card p{font:400 1.06rem/1.7 var(--sans);color:var(--text-light2);margin-bottom:12px}
.life-card ul{margin:12px 0 16px 20px;font:400 1.06rem/1.7 var(--sans);color:var(--text-light2)}
.life-card li{margin-bottom:6px}

/* Youth card: landscape group photo as a full-width band below the text (no crop) */
.youth-photo{margin:20px auto 0;max-width:960px}
.youth-photo img{display:block;width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--border-glass)}

.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:768px){.life-grid{grid-template-columns:1fr}}

.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
@media(max-width:768px){.links-grid{grid-template-columns:repeat(2,1fr)}}
.link-item{background:transparent;border:1px solid var(--border-glass);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .25s var(--ease);gap:10px}
.link-item:hover{background:rgba(255,240,220,.06);border-color:var(--gold-glow)}
.link-item img{max-width:60px;max-height:60px;object-fit:contain;border-radius:8px;display:block;margin:0 auto}
.link-item a{font:.82rem/1.4 var(--sans);color:var(--text-light2);text-decoration:none;display:block;font-weight:500}
.link-item a:hover{color:var(--gold)}
.link-item a small{color:var(--text3);font-weight:400;font-size:.72rem;display:block;margin-top:3px}

.feature-badge{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-glass);border-radius:var(--r);padding:6px 14px;font:600 .68rem/1 var(--sans);letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-right:8px;margin-bottom:8px}

/* ═══ CATEGORY FILTER TABS ═══ */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:32px;padding:4px}
.cat-tabs::-webkit-scrollbar{display:none}
.cat-tab{padding:8px 18px;font:.7rem/1 var(--sans);font-weight:600;color:rgba(255,255,255,.8);cursor:pointer;white-space:nowrap;flex-shrink:0;border:1px solid rgba(255,255,255,.15);border-radius:40px;position:relative;transition:all .3s var(--ease);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 16px rgba(44,26,14,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cat-tab:hover{color:#fff;border-color:rgba(255,255,255,.3);transform:translateY(-2px);box-shadow:0 6px 20px rgba(44,26,14,.12)}
.cat-tab.active{color:#fff;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 6px 24px rgba(44,26,14,.25);background-blend-mode:screen}

.cat-tab[data-cat=""]{background:rgba(212,168,67,.25)}
.cat-tab[data-cat="news"]{background:rgba(90,40,30,.35)}
.cat-tab[data-cat="voskresnaya-shkola"]{background:rgba(74,120,74,.3)}
.cat-tab[data-cat="opk"]{background:rgba(100,80,140,.3)}
.cat-tab[data-cat="social"]{background:rgba(80,130,180,.3)}
.cat-tab[data-cat="youth"]{background:rgba(180,120,60,.3)}
.cat-tab[data-cat="missionary"]{background:rgba(140,60,80,.3)}

/* ═══ CATEGORY BADGE (on cards) ═══ */
.card__fig{position:relative;width:100%;margin:0}
.cat-badge{position:absolute;top:12px;left:12px;z-index:2;font:.55rem/1 var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:6px 14px;border-radius:var(--r);color:#fff;pointer-events:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 16px rgba(0,0,0,.25);text-shadow:0 1px 4px rgba(0,0,0,.6)}
.cat-badge--news{background:rgba(90,40,30,.35)}
.cat-badge--voskresnaya-shkola{background:rgba(74,120,74,.3)}
.cat-badge--opk{background:rgba(100,80,140,.3)}
.cat-badge--social{background:rgba(80,130,180,.3)}
.cat-badge--youth{background:rgba(180,120,60,.3)}
.cat-badge--missionary{background:rgba(140,60,80,.3)}
.cat-badge--default{background:rgba(212,168,67,.25)}

/* ═══ LOAD MORE BUTTON ═══ */
.load-more-wrap{padding:36px 0 0}

@media(max-width: 768px) {
  body:not(.home) #newsGrid { min-height: 800px; }
  #schedule-grid { min-height: 220px; }
}

/* ==========================================================================
   PhotoSwipe End Screen
   ========================================================================== */

.pswp-end-screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.pswp-end-screen__bg {
  position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  filter: blur(20px) brightness(0.72);
  transform: scale(1.1);
  z-index: 1;
  pointer-events: none;
}

.pswp-end-screen__content {
  position: relative;
  z-index: 2;
  text-align: center;
  animation: pswpFadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.7), 0 1px 3px rgba(0, 0, 0, 0.5);
}

.pswp-end-screen__btn {
  appearance: none;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 100px;
  padding: 16px 36px;
  color: #fff;
  font-family: var(--font-main, 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.pswp-end-screen__btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.4s ease;
}

.pswp-end-screen__btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.pswp-end-screen__btn:hover svg {
  transform: rotate(-45deg);
}

.pswp-end-screen__label {
  font: 600 .72rem/1 var(--sans, 'Inter', sans-serif);
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, .72);
  margin-bottom: 22px;
}

/* "Все новости" link sits on its own centered row above "Начать сначала". */
.pswp-end-screen__allnews-row {
  margin-bottom: 20px;
}
.pswp-end-screen__allnews-row .pswp-end-screen__news svg {
  transition: transform .25s;
}
.pswp-end-screen__allnews-row .pswp-end-screen__news:hover svg {
  transform: translateX(-3px);
}

.pswp-end-screen__newsrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 26px;
  margin-top: 28px;
}

.pswp-end-screen__news {
  appearance: none;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, .68);
  font: 500 .92rem/1 var(--sans, 'Inter', sans-serif);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 4px;
  transition: color .25s;
}

.pswp-end-screen__news svg { width: 16px; height: 16px; flex-shrink: 0; }
.pswp-end-screen__news:hover { color: #fff; }

.pswp-end-screen__hint {
  position: absolute;
  left: 0; right: 0; bottom: max(24px, 5vh);
  z-index: 2;
  text-align: center;
  font: 400 .78rem/1 var(--sans, 'Inter', sans-serif);
  color: rgba(255, 255, 255, .38);
  pointer-events: none;
}

@keyframes pswpFadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media(max-width:768px){.foot__social{justify-content:center} .foot__grid .hdr__logo{justify-content:center;margin-bottom:12px}}

/* ═══ BUTTON BLUEPRINT ═══ */

@media(max-width:768px){
}

.hs ul{color:#fff;font-weight:400}
.hs__priest{color:rgba(255,255,255,0.85)}
.hs__day--today .hs__day-name{color:#fff}

/* ═══════════ V3 (on ORIGINAL live terracotta base #A0624E) - rev C ═══════════ */

/* L2 frames: keep live dark card, a hair more intense + glass top-edge */
.about-card,.contact-card,.map-card,.rekv-card,.life-card,.tab-content,.clergy-frame,.block-card,.card{
  background:rgba(0,0,0,.02);
  border:1px solid rgba(255,243,228,.2);
}
/* L3 nested: a hair more intense + brighter glass edge */
.clergy-frame .clergy-featured,.clergy-frame .clergy-card,.info-box,.rekv-card .detail,
.about-card blockquote,.tab-pane blockquote,.article-body blockquote{
  background:rgba(0,0,0,.035);
  border:1px solid rgba(255,243,228,.26);
}

/* Schedule 1st box: KEEP LIVE gold version; only change = darker-gold top badge */
.hs__day:first-child .hs__badge{background:#8A6410;color:#fff}

/* Main buttons (.block-cta): static half-a-hair darker than the background; the gradient
   INVERTS on hover (static<->hover), no element colour change */
.block-cta{background:transparent;transition:background .3s var(--ease)}
.block-cta:hover{background:rgba(0,0,0,.04);color:var(--gold-light)}

/* Maps button: KEEP background colour/transparency; restore the frame + text colour change
   on hover (border->gold, text->gold-light), but no bg darkening ("hollow") */
.hero__map,.foot a.foot__route{background:rgba(30,22,16,.2);border:1px solid rgba(212,168,67,.3)}
.foot a.foot__route{padding:14px 28px;font:500 .95rem/1 var(--sans);border-radius:8px}
.hero__map:hover,.foot a.foot__route:hover{background:rgba(30,22,16,.5);border-color:var(--gold);color:#FCF4DA}

/* Remove italics everywhere - hard to read */
.hs__feast,.hs__priest,.cel__feast,.about-card blockquote,.tab-pane blockquote,
.tab-pane blockquote p,.article-body blockquote,.tab-pane blockquote cite,em,i,cite{font-style:normal}

/* Homepage: logo text gold = active "main" state, inline with nav active items */
body.home .hdr__name{color:var(--gold)}

/* ============================================================
   FLOATING FRAMES (body.framed - now on ALL 7 pages incl. main + news):
   white contour + drop shadow over the v3 fill + restored side gutters +
   centered footer. Card grids (.card) use a lighter float.
   ============================================================ */
body.framed .about-card,body.framed .clergy-frame,body.framed .contact-card,body.framed .map-card,body.framed .rekv-card,body.framed .life-card,body.framed .tab-content,body.framed .block-card,body.framed .hs{
  border:1px solid rgba(255,248,240,.42);border-top-color:rgba(255,251,245,.66);
  box-shadow:0 1px 0 rgba(255,251,245,.28) inset,0 16px 38px rgba(0,0,0,.34);
}
/* Sacrament tabs cap the panel's top edge: drop the floating frame's bright white top
   border + inset highlight on .tab-content so no white coating runs behind the active tab.
   Keep the lift (drop shadow) and the left/right/bottom contour. */
body.framed .tab-content{border-top-color:transparent;box-shadow:0 16px 38px rgba(0,0,0,.34)}
body.framed .card,body.framed .news-grid .card{
  border:1px solid rgba(255,248,240,.40);border-top-color:rgba(255,251,245,.58);
  box-shadow:0 1px 0 rgba(255,251,245,.22) inset,0 10px 26px rgba(0,0,0,.26);
}
body.framed .clergy-frame .clergy-featured,body.framed .clergy-frame .clergy-card,body.framed .info-box,body.framed .rekv-card .detail,body.framed .about-card blockquote,body.framed .tab-pane blockquote{
  border:1px solid rgba(255,248,240,.46);border-top-color:rgba(255,251,245,.76);
  box-shadow:0 1px 0 rgba(255,251,245,.38) inset,0 8px 24px rgba(0,0,0,.28);
}
/* Raspisanie: the calendar grid + the Информация panel carried a gold frame, not the
   white-contour float. Give them the same floating treatment as every other framed page. */
body.framed .cal__grid,body.framed .info{
  border:1px solid rgba(255,248,240,.42);border-top-color:rgba(255,251,245,.66);
  box-shadow:0 1px 0 rgba(255,251,245,.28) inset,0 16px 38px rgba(0,0,0,.34);
}
body.framed .about-section,body.framed .contacts,body.framed .tainstva,body.framed .life,body.framed .news-section{padding-left:24px;padding-right:24px}
body.framed .foot{text-align:center}
body.framed .foot__grid{justify-items:center}
body.framed .foot__social,body.framed .foot__grid .hdr__logo{justify-content:center}
@media(max-width:768px){
  body.framed .about-section,body.framed .contacts,body.framed .tainstva,body.framed .life,body.framed .news-section{padding-left:16px;padding-right:16px}
  body.framed .hdr{width:calc(100vw - 32px);max-width:none}
}

/* Header on mobile/tablet (<=1120px, burger shown): dead-center the logo in the header
   (absolute), keep the burger pinned right, and scale the name so it never reaches it. */
@media(max-width:1120px){
  .hdr .hdr__row{position:relative}
  .hdr .hdr__logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);justify-self:auto;white-space:nowrap}
  .hdr .hdr__name{font-size:clamp(.7rem,2.5vw,.95rem);letter-spacing:1px;white-space:nowrap}
}

/* ============================================================
   TAINSTVA - roof-tile sacrament accordion (pure CSS, hidden radios).
   The 4 radios precede .tiles and .tab-content as siblings inside .tainstva,
   so :checked drives both the tile that expands and the text panel shown.
   Крещение (t-kresch) is open by default. Reduced-motion is handled globally.
   ============================================================ */
/* Option A: one outer frame around the whole block; cards float on top (rounded bottoms), text plain inside */
.tainstva-frame{background:var(--bg-card);border:1px solid rgba(255,248,240,.42);border-top-color:rgba(255,251,245,.66);
  border-radius:var(--r-xl);box-shadow:0 1px 0 rgba(255,251,245,.28) inset,0 16px 40px rgba(0,0,0,.34);padding:16px;overflow:hidden}
body.framed .tainstva-frame .tab-content{background:transparent;border:none;box-shadow:none;border-radius:0;padding:4px 4px 0}
.tainstva .tiles{display:flex;height:clamp(300px,42vh,440px);margin:-16px -16px 16px;padding:0}
.tainstva .tile{position:relative;flex:0 0 8%;min-width:0;overflow:hidden;cursor:pointer;background:#5e4034;
  border-radius:var(--r-xl);margin-left:-26px;
  border:1px solid var(--border-glass);border-top-color:rgba(255,251,245,.55);
  box-shadow:-13px 5px 24px rgba(0,0,0,.3),13px 5px 24px rgba(0,0,0,.3);
  transition:flex .7s cubic-bezier(.16,1,.3,1)}
.tainstva .tile:first-child{margin-left:0}
.tainstva .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 45%);
  filter:saturate(.82) brightness(.8);transition:filter .8s ease;transform-origin:center}
@keyframes tileKen{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.tainstva .tile{transition:none}.tainstva .tile img{animation:none!important}}
.tainstva .tile::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(74,60,52,.03) 0%,rgba(74,60,52,.12) 68%,rgba(74,60,52,.22) 100%)}
.tainstva .tile__name{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font:600 .8rem/1 var(--sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-light);white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 12px rgba(0,0,0,.55)}
/* the OPEN tile: grow, on top, full colour; softer scrim; name -> horizontal gold serif, bottom-left */
#t-kresch:checked ~ .tiles .tile:nth-child(1),
#t-prich:checked ~ .tiles .tile:nth-child(2),
#t-vench:checked ~ .tiles .tile:nth-child(3),
#t-sobor:checked ~ .tiles .tile:nth-child(4){flex:1 1 79%;border-radius:var(--r-xl)}
/* Cascade FROM the highlighted card: z-index peaks at the open tile and steps down
   outward on both sides, so every card recedes away from the highlighted one. */
#t-kresch:checked ~ .tiles .tile:nth-child(1){z-index:5}
#t-kresch:checked ~ .tiles .tile:nth-child(2){z-index:4}
#t-kresch:checked ~ .tiles .tile:nth-child(3){z-index:3}
#t-kresch:checked ~ .tiles .tile:nth-child(4){z-index:2}
#t-prich:checked ~ .tiles .tile:nth-child(2){z-index:5}
#t-prich:checked ~ .tiles .tile:nth-child(1){z-index:4}
#t-prich:checked ~ .tiles .tile:nth-child(3){z-index:4}
#t-prich:checked ~ .tiles .tile:nth-child(4){z-index:3}
#t-vench:checked ~ .tiles .tile:nth-child(3){z-index:5}
#t-vench:checked ~ .tiles .tile:nth-child(2){z-index:4}
#t-vench:checked ~ .tiles .tile:nth-child(4){z-index:4}
#t-vench:checked ~ .tiles .tile:nth-child(1){z-index:3}
#t-sobor:checked ~ .tiles .tile:nth-child(4){z-index:5}
#t-sobor:checked ~ .tiles .tile:nth-child(3){z-index:4}
#t-sobor:checked ~ .tiles .tile:nth-child(2){z-index:3}
#t-sobor:checked ~ .tiles .tile:nth-child(1){z-index:2}
#t-kresch:checked ~ .tiles .tile:nth-child(1) img,
#t-prich:checked ~ .tiles .tile:nth-child(2) img,
#t-vench:checked ~ .tiles .tile:nth-child(3) img,
#t-sobor:checked ~ .tiles .tile:nth-child(4) img{filter:none;animation:tileKen 9s ease-in-out infinite alternate}
#t-kresch:checked ~ .tiles .tile:nth-child(1)::after,
#t-prich:checked ~ .tiles .tile:nth-child(2)::after,
#t-vench:checked ~ .tiles .tile:nth-child(3)::after,
#t-sobor:checked ~ .tiles .tile:nth-child(4)::after{background:linear-gradient(180deg,transparent 28%,rgba(38,26,17,.46) 50%,transparent 72%),linear-gradient(180deg,rgba(74,60,52,0) 38%,rgba(74,60,52,.34) 100%)}
#t-kresch:checked ~ .tiles .tile:nth-child(1) .tile__name,
#t-prich:checked ~ .tiles .tile:nth-child(2) .tile__name,
#t-vench:checked ~ .tiles .tile:nth-child(3) .tile__name,
#t-sobor:checked ~ .tiles .tile:nth-child(4) .tile__name{writing-mode:horizontal-tb;transform:none;
  align-items:center;justify-content:center;padding:22px 26px;
  font:600 2.1rem/1 var(--sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-light)}
/* DESKTOP ONLY: centre each collapsed sliver's label in its VISIBLE area. The edge facing the
   open card is hidden under the 26px HORIZONTAL lap, so nudge the label away by half the lap.
   Guarded to min-width so it never applies on mobile (there the lap is vertical -> would shove
   the centred labels off-axis). */
@media(min-width:681px){
#t-kresch:checked ~ .tiles .tile:nth-child(2) .tile__name,
#t-kresch:checked ~ .tiles .tile:nth-child(3) .tile__name,
#t-kresch:checked ~ .tiles .tile:nth-child(4) .tile__name,
#t-prich:checked ~ .tiles .tile:nth-child(3) .tile__name,
#t-prich:checked ~ .tiles .tile:nth-child(4) .tile__name,
#t-vench:checked ~ .tiles .tile:nth-child(4) .tile__name{left:26px}
#t-prich:checked ~ .tiles .tile:nth-child(1) .tile__name,
#t-vench:checked ~ .tiles .tile:nth-child(1) .tile__name,
#t-vench:checked ~ .tiles .tile:nth-child(2) .tile__name,
#t-sobor:checked ~ .tiles .tile:nth-child(1) .tile__name,
#t-sobor:checked ~ .tiles .tile:nth-child(2) .tile__name,
#t-sobor:checked ~ .tiles .tile:nth-child(3) .tile__name{right:26px}
}
/* keyboard focus ring on the tile whose radio is focused (sheet :focus-visible covers only a/button) */
#t-kresch:focus-visible ~ .tiles label[for=t-kresch],
#t-prich:focus-visible ~ .tiles label[for=t-prich],
#t-vench:focus-visible ~ .tiles label[for=t-vench],
#t-sobor:focus-visible ~ .tiles label[for=t-sobor]{outline:2px solid var(--gold);outline-offset:-3px;z-index:4}
/* text panels are radio-driven (no JS, no .active class) */
.tainstva .tab-content > .tab-pane{display:none}
#t-kresch:checked ~ .tab-content #kreshchenie,
#t-prich:checked ~ .tab-content #prichashchenie,
#t-vench:checked ~ .tab-content #venchanie,
#t-sobor:checked ~ .tab-content #soborovanie{display:block}
/* no tab caps this frame now: restore the top contour the earlier tab fix zeroed */
body.framed .tainstva .tab-content{border-top-color:rgba(255,248,240,.42)}
/* mobile: vertical accordion, horizontal labels, roof-lap on the vertical axis */
@media(max-width:680px){
  .tainstva .tiles{flex-direction:column;height:auto}
  .tainstva .tile{flex:0 0 auto;height:58px;margin-left:0;margin-top:-10px;transition:none;border-radius:0}
  .tainstva .tile:first-child{margin-top:0}
  /* rounded OUTER block, square junctions (no clay): frame clips the top corners; the last band
     floats above the text so round its bottom, mirroring the desktop tile's rounded float. */
  .tainstva .tile:last-child{border-bottom-left-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl)}
  .tainstva .tile__name{writing-mode:horizontal-tb;transform:none;justify-content:center;padding:0 22px;
    font-size:.82rem;letter-spacing:2px}
  #t-kresch:checked ~ .tiles .tile:nth-child(1),
  #t-prich:checked ~ .tiles .tile:nth-child(2),
  #t-vench:checked ~ .tiles .tile:nth-child(3),
  #t-sobor:checked ~ .tiles .tile:nth-child(4){flex-basis:auto;height:auto;aspect-ratio:16/10;border-radius:0}
  #t-kresch:checked ~ .tiles .tile:nth-child(1) .tile__name,
  #t-prich:checked ~ .tiles .tile:nth-child(2) .tile__name,
  #t-vench:checked ~ .tiles .tile:nth-child(3) .tile__name,
  #t-sobor:checked ~ .tiles .tile:nth-child(4) .tile__name{align-items:center;padding:16px 22px;font-size:1.2rem}
}

/* ============================================================
   Духовенство: accordion carousel. Copies the Таинства roof-tile
   mechanism (hidden radios drive the tile that expands AND the bio
   panel shown), but with SIX clergy and WIDER inactive slivers so
   every priest stays visible in portrait when not selected.
   ============================================================ */
.dukh-frame{border-radius:var(--r-lg);overflow:hidden}
.dukh-tiles{display:flex;height:clamp(320px,46vh,470px);gap:0}
.dukh-tile{position:relative;flex:0 1 11.6%;min-width:0;overflow:hidden;cursor:pointer;background:#5e4034;
  border-radius:var(--r-lg);margin-left:-16px;
  border:1px solid var(--gold-glow);border-top-color:rgba(255,251,245,.5);
  box-shadow:-10px 5px 20px rgba(0,0,0,.28),10px 5px 20px rgba(0,0,0,.28);
  transition:flex .7s cubic-bezier(.16,1,.3,1)}
.dukh-tile:first-child{margin-left:0}
.dukh-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 22%);
  filter:saturate(.85) brightness(.82);transition:filter .8s ease;display:block}
.dukh-tile::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(74,60,52,.02),rgba(74,60,52,.30) 100%)}
.dukh-tile__label{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:flex-start;pointer-events:none;padding-top:32px;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font:700 .8rem/1 var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-light);white-space:nowrap;
  -webkit-text-stroke:.35px rgba(28,16,7,.85);text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.75),0 2px 14px rgba(0,0,0,.5)}
/* Гербовый знак митрополита - золотом в верхнем правом углу его карточки, только когда она раскрыта */
.dukh-tile__gerb{position:absolute;top:22px;right:22px;width:10rem;height:12.8rem;z-index:3;display:none;pointer-events:none;
  background:var(--gerb,url(img/clergy_gerb_gold.webp)) no-repeat center/contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}
@media(max-width:680px){.dukh-tile__gerb{width:7rem;height:9rem;top:14px;right:14px}}

/* ============================================================
   Святыни: accordion carousel (4 tiles) - same roof-tile pattern
   as Духовенство/Таинства. Radios s-1..s-4 drive tile + text panel.
   ============================================================ */
.svt-frame{border-radius:var(--r-lg);overflow:hidden}
.svt-tiles{display:flex;height:clamp(300px,42vh,440px);gap:0}
.svt-tile{position:relative;flex:0 1 12.5%;min-width:0;overflow:hidden;cursor:pointer;background:#5e4034;border-radius:var(--r-lg);margin-left:-16px;border:1px solid var(--gold-glow);border-top-color:rgba(255,251,245,.5);box-shadow:-10px 5px 20px rgba(0,0,0,.28),10px 5px 20px rgba(0,0,0,.28);transition:flex .7s cubic-bezier(.16,1,.3,1)}
.svt-tile:first-child{margin-left:0}
.svt-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 45%);filter:saturate(.85) brightness(.82);transition:filter .8s ease;display:block}
.svt-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(74,60,52,.02),rgba(74,60,52,.30) 100%)}
.svt-tile__label{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:flex-start;pointer-events:none;padding-top:24px;writing-mode:vertical-rl;transform:rotate(180deg);font:700 .76rem/1.25 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-light);-webkit-text-stroke:.35px rgba(28,16,7,.85);text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.75),0 2px 14px rgba(0,0,0,.5)}
.svt-tile:focus-within{outline:2px solid var(--gold);outline-offset:-3px;z-index:6}
@media(prefers-reduced-motion:reduce){.svt-tile{transition:none}.svt-tile img{animation:none!important}}
/* Active states generated for up to 8 tiles so the admin can add/remove святыни freely. */
#s-1:checked~.svt-tiles .svt-tile:nth-child(1),
#s-2:checked~.svt-tiles .svt-tile:nth-child(2),
#s-3:checked~.svt-tiles .svt-tile:nth-child(3),
#s-4:checked~.svt-tiles .svt-tile:nth-child(4),
#s-5:checked~.svt-tiles .svt-tile:nth-child(5),
#s-6:checked~.svt-tiles .svt-tile:nth-child(6),
#s-7:checked~.svt-tiles .svt-tile:nth-child(7),
#s-8:checked~.svt-tiles .svt-tile:nth-child(8),
#s-9:checked~.svt-tiles .svt-tile:nth-child(9),
#s-10:checked~.svt-tiles .svt-tile:nth-child(10){flex:1 1 0}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1) img,
#s-2:checked~.svt-tiles .svt-tile:nth-child(2) img,
#s-3:checked~.svt-tiles .svt-tile:nth-child(3) img,
#s-4:checked~.svt-tiles .svt-tile:nth-child(4) img,
#s-5:checked~.svt-tiles .svt-tile:nth-child(5) img,
#s-6:checked~.svt-tiles .svt-tile:nth-child(6) img,
#s-7:checked~.svt-tiles .svt-tile:nth-child(7) img,
#s-8:checked~.svt-tiles .svt-tile:nth-child(8) img,
#s-9:checked~.svt-tiles .svt-tile:nth-child(9) img,
#s-10:checked~.svt-tiles .svt-tile:nth-child(10) img{filter:none;animation:dukhKen 10s ease-in-out infinite alternate}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1)::after,
#s-2:checked~.svt-tiles .svt-tile:nth-child(2)::after,
#s-3:checked~.svt-tiles .svt-tile:nth-child(3)::after,
#s-4:checked~.svt-tiles .svt-tile:nth-child(4)::after,
#s-5:checked~.svt-tiles .svt-tile:nth-child(5)::after,
#s-6:checked~.svt-tiles .svt-tile:nth-child(6)::after,
#s-7:checked~.svt-tiles .svt-tile:nth-child(7)::after,
#s-8:checked~.svt-tiles .svt-tile:nth-child(8)::after,
#s-9:checked~.svt-tiles .svt-tile:nth-child(9)::after,
#s-10:checked~.svt-tiles .svt-tile:nth-child(10)::after{background:linear-gradient(180deg,transparent 46%,rgba(38,26,17,.62) 100%)}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1) .svt-tile__label,
#s-2:checked~.svt-tiles .svt-tile:nth-child(2) .svt-tile__label,
#s-3:checked~.svt-tiles .svt-tile:nth-child(3) .svt-tile__label,
#s-4:checked~.svt-tiles .svt-tile:nth-child(4) .svt-tile__label,
#s-5:checked~.svt-tiles .svt-tile:nth-child(5) .svt-tile__label,
#s-6:checked~.svt-tiles .svt-tile:nth-child(6) .svt-tile__label,
#s-7:checked~.svt-tiles .svt-tile:nth-child(7) .svt-tile__label,
#s-8:checked~.svt-tiles .svt-tile:nth-child(8) .svt-tile__label,
#s-9:checked~.svt-tiles .svt-tile:nth-child(9) .svt-tile__label,
#s-10:checked~.svt-tiles .svt-tile:nth-child(10) .svt-tile__label{writing-mode:horizontal-tb;transform:none;align-items:flex-end;justify-content:center;padding:22px 26px 66px;white-space:normal;font:600 1.7rem/1.12 var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);text-align:center;-webkit-text-stroke:0}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1){z-index:10}
#s-1:checked~.svt-tiles .svt-tile:nth-child(2){z-index:9}
#s-1:checked~.svt-tiles .svt-tile:nth-child(3){z-index:8}
#s-1:checked~.svt-tiles .svt-tile:nth-child(4){z-index:7}
#s-1:checked~.svt-tiles .svt-tile:nth-child(5){z-index:6}
#s-1:checked~.svt-tiles .svt-tile:nth-child(6){z-index:5}
#s-1:checked~.svt-tiles .svt-tile:nth-child(7){z-index:4}
#s-1:checked~.svt-tiles .svt-tile:nth-child(8){z-index:3}
#s-1:checked~.svt-tiles .svt-tile:nth-child(9){z-index:2}
#s-1:checked~.svt-tiles .svt-tile:nth-child(10){z-index:1}
#s-2:checked~.svt-tiles .svt-tile:nth-child(1){z-index:9}
#s-2:checked~.svt-tiles .svt-tile:nth-child(2){z-index:10}
#s-2:checked~.svt-tiles .svt-tile:nth-child(3){z-index:9}
#s-2:checked~.svt-tiles .svt-tile:nth-child(4){z-index:8}
#s-2:checked~.svt-tiles .svt-tile:nth-child(5){z-index:7}
#s-2:checked~.svt-tiles .svt-tile:nth-child(6){z-index:6}
#s-2:checked~.svt-tiles .svt-tile:nth-child(7){z-index:5}
#s-2:checked~.svt-tiles .svt-tile:nth-child(8){z-index:4}
#s-2:checked~.svt-tiles .svt-tile:nth-child(9){z-index:3}
#s-2:checked~.svt-tiles .svt-tile:nth-child(10){z-index:2}
#s-3:checked~.svt-tiles .svt-tile:nth-child(1){z-index:8}
#s-3:checked~.svt-tiles .svt-tile:nth-child(2){z-index:9}
#s-3:checked~.svt-tiles .svt-tile:nth-child(3){z-index:10}
#s-3:checked~.svt-tiles .svt-tile:nth-child(4){z-index:9}
#s-3:checked~.svt-tiles .svt-tile:nth-child(5){z-index:8}
#s-3:checked~.svt-tiles .svt-tile:nth-child(6){z-index:7}
#s-3:checked~.svt-tiles .svt-tile:nth-child(7){z-index:6}
#s-3:checked~.svt-tiles .svt-tile:nth-child(8){z-index:5}
#s-3:checked~.svt-tiles .svt-tile:nth-child(9){z-index:4}
#s-3:checked~.svt-tiles .svt-tile:nth-child(10){z-index:3}
#s-4:checked~.svt-tiles .svt-tile:nth-child(1){z-index:7}
#s-4:checked~.svt-tiles .svt-tile:nth-child(2){z-index:8}
#s-4:checked~.svt-tiles .svt-tile:nth-child(3){z-index:9}
#s-4:checked~.svt-tiles .svt-tile:nth-child(4){z-index:10}
#s-4:checked~.svt-tiles .svt-tile:nth-child(5){z-index:9}
#s-4:checked~.svt-tiles .svt-tile:nth-child(6){z-index:8}
#s-4:checked~.svt-tiles .svt-tile:nth-child(7){z-index:7}
#s-4:checked~.svt-tiles .svt-tile:nth-child(8){z-index:6}
#s-4:checked~.svt-tiles .svt-tile:nth-child(9){z-index:5}
#s-4:checked~.svt-tiles .svt-tile:nth-child(10){z-index:4}
#s-5:checked~.svt-tiles .svt-tile:nth-child(1){z-index:6}
#s-5:checked~.svt-tiles .svt-tile:nth-child(2){z-index:7}
#s-5:checked~.svt-tiles .svt-tile:nth-child(3){z-index:8}
#s-5:checked~.svt-tiles .svt-tile:nth-child(4){z-index:9}
#s-5:checked~.svt-tiles .svt-tile:nth-child(5){z-index:10}
#s-5:checked~.svt-tiles .svt-tile:nth-child(6){z-index:9}
#s-5:checked~.svt-tiles .svt-tile:nth-child(7){z-index:8}
#s-5:checked~.svt-tiles .svt-tile:nth-child(8){z-index:7}
#s-5:checked~.svt-tiles .svt-tile:nth-child(9){z-index:6}
#s-5:checked~.svt-tiles .svt-tile:nth-child(10){z-index:5}
#s-6:checked~.svt-tiles .svt-tile:nth-child(1){z-index:5}
#s-6:checked~.svt-tiles .svt-tile:nth-child(2){z-index:6}
#s-6:checked~.svt-tiles .svt-tile:nth-child(3){z-index:7}
#s-6:checked~.svt-tiles .svt-tile:nth-child(4){z-index:8}
#s-6:checked~.svt-tiles .svt-tile:nth-child(5){z-index:9}
#s-6:checked~.svt-tiles .svt-tile:nth-child(6){z-index:10}
#s-6:checked~.svt-tiles .svt-tile:nth-child(7){z-index:9}
#s-6:checked~.svt-tiles .svt-tile:nth-child(8){z-index:8}
#s-6:checked~.svt-tiles .svt-tile:nth-child(9){z-index:7}
#s-6:checked~.svt-tiles .svt-tile:nth-child(10){z-index:6}
#s-7:checked~.svt-tiles .svt-tile:nth-child(1){z-index:4}
#s-7:checked~.svt-tiles .svt-tile:nth-child(2){z-index:5}
#s-7:checked~.svt-tiles .svt-tile:nth-child(3){z-index:6}
#s-7:checked~.svt-tiles .svt-tile:nth-child(4){z-index:7}
#s-7:checked~.svt-tiles .svt-tile:nth-child(5){z-index:8}
#s-7:checked~.svt-tiles .svt-tile:nth-child(6){z-index:9}
#s-7:checked~.svt-tiles .svt-tile:nth-child(7){z-index:10}
#s-7:checked~.svt-tiles .svt-tile:nth-child(8){z-index:9}
#s-7:checked~.svt-tiles .svt-tile:nth-child(9){z-index:8}
#s-7:checked~.svt-tiles .svt-tile:nth-child(10){z-index:7}
#s-8:checked~.svt-tiles .svt-tile:nth-child(1){z-index:3}
#s-8:checked~.svt-tiles .svt-tile:nth-child(2){z-index:4}
#s-8:checked~.svt-tiles .svt-tile:nth-child(3){z-index:5}
#s-8:checked~.svt-tiles .svt-tile:nth-child(4){z-index:6}
#s-8:checked~.svt-tiles .svt-tile:nth-child(5){z-index:7}
#s-8:checked~.svt-tiles .svt-tile:nth-child(6){z-index:8}
#s-8:checked~.svt-tiles .svt-tile:nth-child(7){z-index:9}
#s-8:checked~.svt-tiles .svt-tile:nth-child(8){z-index:10}
#s-8:checked~.svt-tiles .svt-tile:nth-child(9){z-index:9}
#s-8:checked~.svt-tiles .svt-tile:nth-child(10){z-index:8}
#s-9:checked~.svt-tiles .svt-tile:nth-child(1){z-index:2}
#s-9:checked~.svt-tiles .svt-tile:nth-child(2){z-index:3}
#s-9:checked~.svt-tiles .svt-tile:nth-child(3){z-index:4}
#s-9:checked~.svt-tiles .svt-tile:nth-child(4){z-index:5}
#s-9:checked~.svt-tiles .svt-tile:nth-child(5){z-index:6}
#s-9:checked~.svt-tiles .svt-tile:nth-child(6){z-index:7}
#s-9:checked~.svt-tiles .svt-tile:nth-child(7){z-index:8}
#s-9:checked~.svt-tiles .svt-tile:nth-child(8){z-index:9}
#s-9:checked~.svt-tiles .svt-tile:nth-child(9){z-index:10}
#s-9:checked~.svt-tiles .svt-tile:nth-child(10){z-index:9}
#s-10:checked~.svt-tiles .svt-tile:nth-child(1){z-index:1}
#s-10:checked~.svt-tiles .svt-tile:nth-child(2){z-index:2}
#s-10:checked~.svt-tiles .svt-tile:nth-child(3){z-index:3}
#s-10:checked~.svt-tiles .svt-tile:nth-child(4){z-index:4}
#s-10:checked~.svt-tiles .svt-tile:nth-child(5){z-index:5}
#s-10:checked~.svt-tiles .svt-tile:nth-child(6){z-index:6}
#s-10:checked~.svt-tiles .svt-tile:nth-child(7){z-index:7}
#s-10:checked~.svt-tiles .svt-tile:nth-child(8){z-index:8}
#s-10:checked~.svt-tiles .svt-tile:nth-child(9){z-index:9}
#s-10:checked~.svt-tiles .svt-tile:nth-child(10){z-index:10}
.svt-bios{margin-top:20px;min-height:120px}
.svt-bio{display:none}
#s-1:checked~.svt-bios .svt-bio:nth-child(1),
#s-2:checked~.svt-bios .svt-bio:nth-child(2),
#s-3:checked~.svt-bios .svt-bio:nth-child(3),
#s-4:checked~.svt-bios .svt-bio:nth-child(4),
#s-5:checked~.svt-bios .svt-bio:nth-child(5),
#s-6:checked~.svt-bios .svt-bio:nth-child(6),
#s-7:checked~.svt-bios .svt-bio:nth-child(7),
#s-8:checked~.svt-bios .svt-bio:nth-child(8),
#s-9:checked~.svt-bios .svt-bio:nth-child(9),
#s-10:checked~.svt-bios .svt-bio:nth-child(10){display:block;animation:dukhFade .5s ease}
.svt-bio__name{font:400 1.7rem/1.25 var(--hd);color:var(--text);margin:0 0 10px;text-align:center}
.svt-bio__text{font:400 1.02rem/1.7 var(--sans);color:var(--text-light2)}
.svt-bio__text p{margin-bottom:10px}
.svt-bio__note{font-style:italic;color:var(--text3);font-size:.9rem}
@media(max-width:680px){
.svt-tiles{flex-direction:column;height:auto}
.svt-tile{flex:0 0 auto;height:54px;margin-left:0;margin-top:-10px;transition:none;border-radius:var(--r-lg)}
.svt-tile:first-child{margin-top:0}
.svt-tile__label{writing-mode:horizontal-tb;transform:none;justify-content:flex-start;padding:0 22px;font-size:.8rem;padding-top:0}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1),
#s-2:checked~.svt-tiles .svt-tile:nth-child(2),
#s-3:checked~.svt-tiles .svt-tile:nth-child(3),
#s-4:checked~.svt-tiles .svt-tile:nth-child(4),
#s-5:checked~.svt-tiles .svt-tile:nth-child(5),
#s-6:checked~.svt-tiles .svt-tile:nth-child(6),
#s-7:checked~.svt-tiles .svt-tile:nth-child(7),
#s-8:checked~.svt-tiles .svt-tile:nth-child(8),
#s-9:checked~.svt-tiles .svt-tile:nth-child(9),
#s-10:checked~.svt-tiles .svt-tile:nth-child(10){flex-basis:auto;height:auto;aspect-ratio:4/5}
#s-1:checked~.svt-tiles .svt-tile:nth-child(1) .svt-tile__label,
#s-2:checked~.svt-tiles .svt-tile:nth-child(2) .svt-tile__label,
#s-3:checked~.svt-tiles .svt-tile:nth-child(3) .svt-tile__label,
#s-4:checked~.svt-tiles .svt-tile:nth-child(4) .svt-tile__label,
#s-5:checked~.svt-tiles .svt-tile:nth-child(5) .svt-tile__label,
#s-6:checked~.svt-tiles .svt-tile:nth-child(6) .svt-tile__label,
#s-7:checked~.svt-tiles .svt-tile:nth-child(7) .svt-tile__label,
#s-8:checked~.svt-tiles .svt-tile:nth-child(8) .svt-tile__label,
#s-9:checked~.svt-tiles .svt-tile:nth-child(9) .svt-tile__label,
#s-10:checked~.svt-tiles .svt-tile:nth-child(10) .svt-tile__label{font-size:1.15rem;padding:16px 22px 56px}
}
@keyframes dukhKen{from{transform:scale(1)}to{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.dukh-tile{transition:none}.dukh-tile img{animation:none!important}}
.dukh-tile:focus-within{outline:2px solid var(--gold);outline-offset:-3px;z-index:6}
/* keyboard focus ring on the carousel tile whose sr-only radio is focused (mirrors the tainstva pattern) */
#d-1:focus-visible~.dukh-tiles .dukh-tile:nth-child(1),#d-2:focus-visible~.dukh-tiles .dukh-tile:nth-child(2),#d-3:focus-visible~.dukh-tiles .dukh-tile:nth-child(3),#d-4:focus-visible~.dukh-tiles .dukh-tile:nth-child(4),#d-5:focus-visible~.dukh-tiles .dukh-tile:nth-child(5),#d-6:focus-visible~.dukh-tiles .dukh-tile:nth-child(6),#d-7:focus-visible~.dukh-tiles .dukh-tile:nth-child(7),#d-8:focus-visible~.dukh-tiles .dukh-tile:nth-child(8),#s-1:focus-visible~.svt-tiles .svt-tile:nth-child(1),#s-2:focus-visible~.svt-tiles .svt-tile:nth-child(2),#s-3:focus-visible~.svt-tiles .svt-tile:nth-child(3),#s-4:focus-visible~.svt-tiles .svt-tile:nth-child(4),#s-5:focus-visible~.svt-tiles .svt-tile:nth-child(5),#s-6:focus-visible~.svt-tiles .svt-tile:nth-child(6),#s-7:focus-visible~.svt-tiles .svt-tile:nth-child(7),#s-8:focus-visible~.svt-tiles .svt-tile:nth-child(8),#s-9:focus-visible~.svt-tiles .svt-tile:nth-child(9),#s-10:focus-visible~.svt-tiles .svt-tile:nth-child(10){outline:2px solid var(--gold);outline-offset:-3px;z-index:9}
/* the OPEN tile: expand, lift above neighbours, full colour + slow ken-burns */
/* Духовенство active states - generated for up to 10 tiles so the admin can add/remove clergy freely. */
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1),
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2),
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3),
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4),
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5),
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6),
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7),
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8),
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9),
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10){flex:1 1 0}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) img,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) img,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) img,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) img,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) img,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) img,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) img,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) img,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) img,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) img{filter:none;animation:dukhKen 10s ease-in-out infinite alternate}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1)::after,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2)::after,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3)::after,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4)::after,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5)::after,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6)::after,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7)::after,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8)::after,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9)::after,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10)::after{background:linear-gradient(180deg,transparent 46%,rgba(38,26,17,.62) 100%)}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .dukh-tile__label,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .dukh-tile__label,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .dukh-tile__label,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .dukh-tile__label,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .dukh-tile__label,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .dukh-tile__label,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .dukh-tile__label,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .dukh-tile__label,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .dukh-tile__label,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .dukh-tile__label{writing-mode:horizontal-tb;transform:none;align-items:flex-end;justify-content:center;padding:22px 26px 66px;white-space:normal;font:600 2.1rem/1.1 var(--sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-light);text-align:center;-webkit-text-stroke:0}

.dukh-tile__label .tl-f{display:none}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .tl-s,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .tl-s,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .tl-s,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .tl-s,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .tl-s,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .tl-s,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .tl-s,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .tl-s,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .tl-s,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .tl-s{display:none}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .tl-f,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .tl-f,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .tl-f,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .tl-f,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .tl-f,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .tl-f,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .tl-f,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .tl-f,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .tl-f,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .tl-f{display:inline}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .dukh-tile__gerb,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .dukh-tile__gerb,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .dukh-tile__gerb,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .dukh-tile__gerb,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .dukh-tile__gerb,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .dukh-tile__gerb,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .dukh-tile__gerb,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .dukh-tile__gerb,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .dukh-tile__gerb,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .dukh-tile__gerb{display:block}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:10}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:9}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:8}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:7}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:6}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:5}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:4}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:3}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:2}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:1}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:9}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:10}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:9}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:8}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:7}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:6}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:5}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:4}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:3}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:2}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:8}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:9}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:10}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:9}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:8}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:7}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:6}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:5}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:4}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:3}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:7}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:8}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:9}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:10}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:9}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:8}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:7}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:6}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:5}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:4}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:6}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:7}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:8}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:9}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:10}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:9}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:8}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:7}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:6}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:5}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:5}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:6}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:7}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:8}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:9}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:10}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:9}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:8}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:7}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:6}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:4}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:5}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:6}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:7}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:8}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:9}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:10}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:9}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:8}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:7}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:3}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:4}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:5}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:6}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:7}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:8}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:9}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:10}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:9}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:8}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:2}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:3}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:4}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:5}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:6}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:7}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:8}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:9}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:10}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:9}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(1){z-index:1}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(2){z-index:2}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(3){z-index:3}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(4){z-index:4}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(5){z-index:5}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(6){z-index:6}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(7){z-index:7}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(8){z-index:8}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(9){z-index:9}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10){z-index:10}
.dukh-bios{margin-top:20px;min-height:130px}
.dukh-bio{display:none}
#d-1:checked~.dukh-bios .dukh-bio:nth-child(1),
#d-2:checked~.dukh-bios .dukh-bio:nth-child(2),
#d-3:checked~.dukh-bios .dukh-bio:nth-child(3),
#d-4:checked~.dukh-bios .dukh-bio:nth-child(4),
#d-5:checked~.dukh-bios .dukh-bio:nth-child(5),
#d-6:checked~.dukh-bios .dukh-bio:nth-child(6),
#d-7:checked~.dukh-bios .dukh-bio:nth-child(7),
#d-8:checked~.dukh-bios .dukh-bio:nth-child(8),
#d-9:checked~.dukh-bios .dukh-bio:nth-child(9),
#d-10:checked~.dukh-bios .dukh-bio:nth-child(10){display:block;animation:dukhFade .5s ease}
@keyframes dukhFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dukh-bio__role{font:600 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:4px;color:var(--gold);margin-bottom:8px;text-align:center}
.dukh-bio__name{font:400 2.2rem/1.25 var(--hd);color:var(--text);margin:0 0 8px;text-align:center}
.dukh-bio__gerb{height:7.5rem;width:auto;flex:0 0 auto}
.dukh-bio__meta{font:500 .85rem/1.4 var(--sans);color:var(--text3);margin-bottom:14px;text-align:center}
.dukh-bio__text{font:400 1.04rem/1.7 var(--sans);color:var(--text-light2)}
.dukh-bio__text p{margin-bottom:10px}
@media(max-width:680px){
.dukh-tiles{flex-direction:column;height:auto}
.dukh-tile{flex:0 0 auto;height:56px;margin-left:0;margin-top:-10px;transition:none;border-radius:var(--r-lg)}
.dukh-tile:first-child{margin-top:0}
.dukh-tile__label{writing-mode:horizontal-tb;transform:none;justify-content:flex-start;padding:0 22px;font-size:.82rem;letter-spacing:2px}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1),
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2),
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3),
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4),
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5),
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6),
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7),
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8),
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9),
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10){flex-basis:auto;height:auto;aspect-ratio:4/5}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .dukh-tile__label,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .dukh-tile__label,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .dukh-tile__label,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .dukh-tile__label,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .dukh-tile__label,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .dukh-tile__label,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .dukh-tile__label,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .dukh-tile__label,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .dukh-tile__label,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .dukh-tile__label{font-size:1.3rem;padding:16px 22px 56px}
}

/* «Подробнее →» pill: shown ONLY on the expanded/active homepage card (baked homepage-only). Sits centred BELOW the name; a nested <a> inside the <label> deep-links to that exact person/shrine on О храме and does NOT re-toggle the accordion radio. Gold fill, dark ink (inverted).
   CAROUSEL CAPTION RULE (clergy + shrines, and any future overlay-carousel): the pill is bottom-anchored (bottom:20px desktop / 16px mobile) and the name block is bottom-anchored too (align-items:flex-end), with padding-bottom set to clear the pill by a TIGHT ~10px gap - identical on both carousels regardless of font size (desktop 66px, mobile 56px). Names may wrap to 2 lines; they grow UPWARD from this fixed baseline so the name-to-button gap stays constant. Do not re-introduce per-carousel padding drift. */
.dukh-more,.svt-more{display:none;position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:4;pointer-events:auto;align-items:center;gap:6px;
  font:600 .95rem/1 var(--hd);letter-spacing:.3px;color:#2a1b0c;text-decoration:none;padding:9px 18px;border-radius:999px;
  background:var(--gold-light);border:1.5px solid #6b4a1e;
  box-shadow:0 4px 14px rgba(0,0,0,.42),0 1px 0 rgba(255,255,255,.35) inset;transition:background .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.dukh-more:hover,.svt-more:hover,.dukh-more:focus-visible,.svt-more:focus-visible{background:#f3dd93;border-color:#573a15;box-shadow:0 6px 18px rgba(0,0,0,.48),0 1px 0 rgba(255,255,255,.45) inset}
.dukh-more .cta-arr,.svt-more .cta-arr{width:1.05em;height:1.05em;flex:0 0 auto;transition:transform .25s var(--ease)}
.dukh-more:hover .cta-arr,.svt-more:hover .cta-arr{transform:translateX(3px)}
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(1) .dukh-more,
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(2) .dukh-more,
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(3) .dukh-more,
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(4) .dukh-more,
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(5) .dukh-more,
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(6) .dukh-more,
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(7) .dukh-more,
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(8) .dukh-more,
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(9) .dukh-more,
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(10) .dukh-more,
#s-1:checked~.svt-tiles .svt-tile:nth-child(1) .svt-more,
#s-2:checked~.svt-tiles .svt-tile:nth-child(2) .svt-more,
#s-3:checked~.svt-tiles .svt-tile:nth-child(3) .svt-more,
#s-4:checked~.svt-tiles .svt-tile:nth-child(4) .svt-more,
#s-5:checked~.svt-tiles .svt-tile:nth-child(5) .svt-more,
#s-6:checked~.svt-tiles .svt-tile:nth-child(6) .svt-more,
#s-7:checked~.svt-tiles .svt-tile:nth-child(7) .svt-more,
#s-8:checked~.svt-tiles .svt-tile:nth-child(8) .svt-more,
#s-9:checked~.svt-tiles .svt-tile:nth-child(9) .svt-more,
#s-10:checked~.svt-tiles .svt-tile:nth-child(10) .svt-more{display:inline-flex}
@media(max-width:680px){.dukh-more,.svt-more{bottom:16px;font-size:.85rem;padding:8px 15px}}

/* scr2: collapsed accordion labels are ~8px off-centre because tiles overlap 16px on the
   active-facing side (z-cascade). Nudge each back into its visible sliver. Padding direction
   is flipped by writing-mode:vertical-rl + rotate(180deg): before-active=>padding-left,
   after-active=>padding-right (both verified live to land at ~0px offset). Desktop only
   (mobile accordion is a vertical stack, no overlap). */
@media(min-width:681px){
#d-1:checked~.dukh-tiles .dukh-tile:nth-child(n+2) .dukh-tile__label{padding-right:16px}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(-n+1) .dukh-tile__label{padding-left:16px}
#d-2:checked~.dukh-tiles .dukh-tile:nth-child(n+3) .dukh-tile__label{padding-right:16px}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(-n+2) .dukh-tile__label{padding-left:16px}
#d-3:checked~.dukh-tiles .dukh-tile:nth-child(n+4) .dukh-tile__label{padding-right:16px}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(-n+3) .dukh-tile__label{padding-left:16px}
#d-4:checked~.dukh-tiles .dukh-tile:nth-child(n+5) .dukh-tile__label{padding-right:16px}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(-n+4) .dukh-tile__label{padding-left:16px}
#d-5:checked~.dukh-tiles .dukh-tile:nth-child(n+6) .dukh-tile__label{padding-right:16px}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(-n+5) .dukh-tile__label{padding-left:16px}
#d-6:checked~.dukh-tiles .dukh-tile:nth-child(n+7) .dukh-tile__label{padding-right:16px}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(-n+6) .dukh-tile__label{padding-left:16px}
#d-7:checked~.dukh-tiles .dukh-tile:nth-child(n+8) .dukh-tile__label{padding-right:16px}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(-n+7) .dukh-tile__label{padding-left:16px}
#d-8:checked~.dukh-tiles .dukh-tile:nth-child(n+9) .dukh-tile__label{padding-right:16px}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(-n+8) .dukh-tile__label{padding-left:16px}
#d-9:checked~.dukh-tiles .dukh-tile:nth-child(n+10) .dukh-tile__label{padding-right:16px}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(-n+9) .dukh-tile__label{padding-left:16px}
#d-10:checked~.dukh-tiles .dukh-tile:nth-child(n+11) .dukh-tile__label{padding-right:16px}
#s-1:checked~.svt-tiles .svt-tile:nth-child(n+2) .svt-tile__label{padding-right:16px}
#s-2:checked~.svt-tiles .svt-tile:nth-child(-n+1) .svt-tile__label{padding-left:16px}
#s-2:checked~.svt-tiles .svt-tile:nth-child(n+3) .svt-tile__label{padding-right:16px}
#s-3:checked~.svt-tiles .svt-tile:nth-child(-n+2) .svt-tile__label{padding-left:16px}
#s-3:checked~.svt-tiles .svt-tile:nth-child(n+4) .svt-tile__label{padding-right:16px}
#s-4:checked~.svt-tiles .svt-tile:nth-child(-n+3) .svt-tile__label{padding-left:16px}
#s-4:checked~.svt-tiles .svt-tile:nth-child(n+5) .svt-tile__label{padding-right:16px}
#s-5:checked~.svt-tiles .svt-tile:nth-child(-n+4) .svt-tile__label{padding-left:16px}
#s-5:checked~.svt-tiles .svt-tile:nth-child(n+6) .svt-tile__label{padding-right:16px}
#s-6:checked~.svt-tiles .svt-tile:nth-child(-n+5) .svt-tile__label{padding-left:16px}
#s-6:checked~.svt-tiles .svt-tile:nth-child(n+7) .svt-tile__label{padding-right:16px}
#s-7:checked~.svt-tiles .svt-tile:nth-child(-n+6) .svt-tile__label{padding-left:16px}
#s-7:checked~.svt-tiles .svt-tile:nth-child(n+8) .svt-tile__label{padding-right:16px}
#s-8:checked~.svt-tiles .svt-tile:nth-child(-n+7) .svt-tile__label{padding-left:16px}
#s-8:checked~.svt-tiles .svt-tile:nth-child(n+9) .svt-tile__label{padding-right:16px}
#s-9:checked~.svt-tiles .svt-tile:nth-child(-n+8) .svt-tile__label{padding-left:16px}
#s-9:checked~.svt-tiles .svt-tile:nth-child(n+10) .svt-tile__label{padding-right:16px}
#s-10:checked~.svt-tiles .svt-tile:nth-child(-n+9) .svt-tile__label{padding-left:16px}
}

/* ═══ SECONDARY SECTION NAV (.secnav) - per-page section nav, subordinate sibling of .hdr ═══
   Sticky (not a 2nd fixed bar), no logo, shorter/inset/quieter than the header. Lebedev spec 2026-07-14. */
.secnav{position:sticky;top:68px;z-index:150;width:calc(100vw - 96px);max-width:1152px;margin:6px auto 22px;background:rgba(44,26,14,.5);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,240,220,.10);border-radius:var(--r-lg);box-shadow:0 6px 24px rgba(44,26,14,.22)}
.secnav__row{display:flex;justify-content:space-between;align-items:center;gap:8px;height:40px;padding:0 20px}
.secnav a{display:inline-flex;align-items:center;gap:7px;font:600 .76rem/1 var(--sans);color:rgba(237,228,213,.72);letter-spacing:.2px;white-space:nowrap;position:relative;transition:color .25s var(--ease)}
.secnav a svg{width:16px;height:16px;flex:0 0 auto;transition:transform .25s var(--ease)}
.secnav a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.secnav a:hover,.secnav a:focus-visible{color:var(--gold)}
.secnav a:hover svg,.secnav a:focus-visible svg{transform:translateY(-2px)}
.secnav a:hover::after,.secnav a:focus-visible::after{transform:scaleX(1)}
.secnav a[aria-current="location"]{color:var(--gold-text)}
.secnav a[aria-current="location"]::after{transform:scaleX(1)}
.life-card[id],section[id]{scroll-margin-top:120px}
@media(max-width:720px){
  .secnav{width:calc(100vw - 32px);max-width:none;top:64px;border-radius:var(--r);margin-top:18px}
  .secnav__row{justify-content:flex-start;height:38px;padding:0 14px;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .secnav__row::-webkit-scrollbar{display:none}
  .secnav a{scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.secnav a:hover svg,.secnav a:focus-visible svg{transform:none}}
@media print{.secnav{display:none!important}}

/* ═══ Выключка по формату: full-width justified body prose + RU hyphenation ═══
   Prerequisite met: <html lang="ru"> on every content page, so hyphens:auto loads
   the Russian hyphenation dictionary. Scoped to long-form single-column prose only.
   Lebedev-panel recommendation, 2026-07-15. */
.about-card p,
.life-card p,
.tab-pane p,
.rekv-card p,
.svt-bio__text p,
.dukh-bio__text p,
.article-body p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  -webkit-hyphenate-limit-before:3;
  -webkit-hyphenate-limit-after:3;
  hyphenate-limit-chars:6 3 3;
  text-wrap:pretty;
  hanging-punctuation:first;
  text-align-last:left;
  overflow-wrap:break-word;
}
/* Keep ragged: bank/account numbers + display quotes must not stretch or mid-break */
.rekv-card .detail p,
.tab-pane blockquote p,
.about-card blockquote{
  text-align:left;
  text-align-last:left;
  -webkit-hyphens:manual;
  -ms-hyphens:manual;
  hyphens:manual;
}
/* Older-audience calm on phones: ragged-left on the narrowest columns (a11y) */
@media(max-width:640px){
  .about-card p,.life-card p,.tab-pane p,.article-body p{text-align:left;-webkit-hyphens:manual;hyphens:manual}
}
