:root {
  --ce-night: #0e1716;
  --ce-night-soft: #172321;
  --ce-paper: #f2efe7;
  --ce-paper-deep: #e5e0d4;
  --ce-ink: #17201f;
  --ce-muted: #68706d;
  --ce-accent: #d2a35a;
  --ce-accent-light: #efc982;
  --ce-line: rgba(23, 32, 31, .16);
  --ce-serif: Georgia, "Times New Roman", serif;
  --ce-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }

.ceicag-active,
.ce-standalone {
  background: var(--ce-paper);
  color: var(--ce-ink);
  font-family: var(--ce-sans);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  overflow-x: hidden;
}

.ceicag-active *,
.ce-standalone * { box-sizing: border-box; }

.ceicag-active a,
.ce-standalone a { color: inherit; }

.ceicag-active img,
.ce-standalone img { display: block; max-width: 100%; }

.ceicag-active .site-content,
.ceicag-active .content-area,
.ceicag-active .site-main {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.ceicag-active .widget-area { display: none !important; }

.ceicag-active .site,
.ceicag-active .grid-container,
.ceicag-active .inside-article { max-width: none; }

.ceicag-active .site-header {
  background: var(--ce-night);
  color: var(--ce-paper);
  margin: 0;
  padding: 0;
}

.ceicag-active .inside-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: auto;
  max-width: 1600px;
  min-height: 104px;
  padding: 22px 4vw;
}

.ceicag-active .site-branding { margin: 0; }

.ceicag-active .main-title,
.ceicag-active .main-title a {
  color: var(--ce-paper);
  font-family: var(--ce-sans);
  font-size: clamp(20px, 1.8vw, 30px);
  font-weight: 620;
  letter-spacing: -.045em;
  margin: 0;
  max-width: 720px;
  text-decoration: none;
}

.ceicag-active .main-title a::after {
  color: var(--ce-accent);
  content: " ·";
}

.ceicag-active .site-description {
  color: rgba(242, 239, 231, .56);
  font-size: 10px;
  letter-spacing: .15em;
  margin: 7px 0 0;
  text-transform: uppercase;
}

.ceicag-active .site-footer,
.ceicag-active .site-info {
  background: var(--ce-night);
  color: var(--ce-paper);
}

.ceicag-active .inside-site-info { max-width: none; padding: 24px 4vw; }

.ce-publication {
  color: var(--ce-ink);
  font-family: var(--ce-sans);
  line-height: 1.65;
}

.ceicag-active .ce-publication {
  margin-left: 0;
  position: relative;
  width: 100%;
}

.ce-publication h1,
.ce-publication h2,
.ce-publication h3,
.ce-publication p { margin-top: 0; }

.ce-publication h1,
.ce-publication h2 {
  font-family: var(--ce-serif);
  font-weight: 400;
  letter-spacing: -.048em;
  line-height: .98;
}

.ce-kicker,
.ce-eyebrow,
.ce-post-label {
  color: var(--ce-accent);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .2em;
  line-height: 1.35;
  text-transform: uppercase;
}

.ce-button {
  align-items: center;
  background: var(--ce-accent);
  color: var(--ce-night) !important;
  display: inline-flex;
  font-size: 10px;
  font-weight: 820;
  justify-content: center;
  letter-spacing: .16em;
  min-height: 54px;
  padding: 0 28px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .2s ease, transform .2s ease;
}

.ce-button:hover,
.ce-button:focus-visible {
  background: var(--ce-accent-light);
  transform: translateY(-2px);
}

.ce-button-light { background: var(--ce-paper); }

.ce-quiet-link,
.ce-text-link {
  align-items: center;
  border-bottom: 1px solid currentColor;
  display: inline-flex;
  font-size: 11px;
  font-weight: 760;
  gap: 8px;
  padding-bottom: 4px;
  text-decoration: none;
}

.ce-quiet-link span,
.ce-text-link span { transition: transform .2s ease; }
.ce-quiet-link:hover span,
.ce-text-link:hover span { transform: translate(3px, 2px); }

.ce-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.ce-hero {
  background: var(--ce-night);
  color: var(--ce-paper);
  isolation: isolate;
  min-height: calc(100svh - 104px);
  overflow: hidden;
  position: relative;
}

.ce-hero-image {
  height: 112%;
  inset: -6% 0 auto;
  object-fit: cover;
  object-position: 58% center;
  position: absolute;
  width: 100%;
  z-index: -3;
  animation: ce-image-in 1.1s cubic-bezier(.2,.7,.2,1) both;
  will-change: transform;
}

.ce-hero-shade {
  background:
    linear-gradient(90deg, rgba(14,23,22,.98) 0%, rgba(14,23,22,.9) 34%, rgba(14,23,22,.5) 57%, rgba(14,23,22,.14) 100%),
    linear-gradient(0deg, rgba(14,23,22,.75), transparent 52%);
  inset: 0;
  position: absolute;
  z-index: -2;
}

.ce-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  min-height: calc(100svh - 104px);
  max-width: 1600px;
  padding: 44px 51% 64px 4vw;
  width: 100%;
  animation: ce-copy-in .8s .12s cubic-bezier(.2,.7,.2,1) both;
}

.ce-hero-brand {
  display: flex;
  font-family: var(--ce-sans);
  font-size: clamp(76px, 10vw, 156px);
  font-weight: 250;
  letter-spacing: -.085em;
  line-height: .78;
  margin-bottom: 46px;
}

.ce-hero-brand b {
  color: var(--ce-accent-light);
  font-weight: 720;
}

.ce-hero .ce-eyebrow {
  color: var(--ce-accent-light);
  margin-bottom: 20px;
}

.ce-hero h1 {
  color: var(--ce-paper);
  font-size: clamp(46px, 5.4vw, 88px);
  margin: 0 0 24px;
  max-width: 760px;
}

.ce-lede {
  color: rgba(242,239,231,.78);
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 1.55;
  margin-bottom: 34px;
  max-width: 650px;
}

.ce-hero-axis {
  align-items: center;
  bottom: 30px;
  color: rgba(242,239,231,.48);
  display: flex;
  font-size: 9px;
  gap: 12px;
  letter-spacing: .18em;
  position: absolute;
  right: 4vw;
  text-transform: uppercase;
}

.ce-hero-axis i {
  background: rgba(242,239,231,.34);
  height: 1px;
  width: 28px;
}

.ce-intro,
.ce-section-head {
  display: grid;
  gap: 7vw;
  grid-template-columns: minmax(170px, 1fr) minmax(0, 2.2fr);
  margin: auto;
  max-width: 1500px;
  padding: 130px 5vw 112px;
}

.ce-intro h2,
.ce-section-head h2 {
  font-size: clamp(48px, 6vw, 94px);
  margin-bottom: 28px;
}

.ce-intro > div > p,
.ce-section-head > div > p {
  color: var(--ce-muted);
  font-size: clamp(17px, 1.55vw, 22px);
  max-width: 760px;
}

.ce-directions {
  margin: auto;
  max-width: 1500px;
  padding: 0 5vw 130px;
}

.ce-directions > header {
  display: grid;
  gap: 7vw;
  grid-template-columns: minmax(170px, 1fr) minmax(0, 2.2fr);
  padding-bottom: 72px;
}

.ce-directions > header h2 {
  font-size: clamp(48px, 6vw, 92px);
  margin: 0;
}

.ce-direction { 
  border-top: 1px solid var(--ce-line);
  display: grid;
  gap: 4vw;
  grid-template-columns: minmax(70px, .55fr) minmax(0, 2fr);
  padding: 52px 0;
  text-decoration: none;
  transition: color .2s ease, padding-left .25s ease;
}

.ce-direction:last-child { border-bottom: 1px solid var(--ce-line); }
.ce-direction:hover { color: #654923; padding-left: 14px; }
.ce-direction > span { color: var(--ce-accent); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.ce-direction h3 { font-family: var(--ce-serif); font-size: clamp(36px, 4.3vw, 66px); font-weight: 400; letter-spacing: -.04em; margin: 0 0 12px; }
.ce-direction p { color: var(--ce-muted); font-size: 17px; max-width: 760px; }
.ce-direction b { color: #98703a; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }

.ce-method {
  background: var(--ce-night);
  color: var(--ce-paper);
  display: grid;
  gap: 8vw;
  grid-template-columns: minmax(270px, .9fr) minmax(0, 1.45fr);
  padding: 130px 5vw;
}

.ce-method-sticky { align-self: start; position: sticky; top: 40px; }
.ce-method-sticky h2 { font-size: clamp(48px, 5.2vw, 80px); margin: 0 0 26px; max-width: 690px; }
.ce-method-sticky > p:last-child { color: rgba(242,239,231,.62); font-size: 17px; max-width: 520px; }
.ce-method-steps { list-style: none; margin: 0; padding: 0; }
.ce-method-steps li { border-top: 1px solid rgba(242,239,231,.15); display: grid; gap: 32px; grid-template-columns: 44px 1fr; padding: 44px 0; }
.ce-method-steps li:last-child { border-bottom: 1px solid rgba(242,239,231,.15); }
.ce-method-steps li > span { color: var(--ce-accent-light); font-size: 10px; font-weight: 760; letter-spacing: .18em; }
.ce-method-steps h3 { font-size: 22px; margin-bottom: 8px; }
.ce-method-steps p { color: rgba(242,239,231,.64); margin: 0; }

.ce-posts { margin: auto; max-width: 1500px; padding: 0 5vw 130px; }
.ce-posts .ce-section-head { padding-left: 0; padding-right: 0; }
.ce-post-list { border-top: 1px solid var(--ce-line); }
.ce-post { border-bottom: 1px solid var(--ce-line); display: grid; gap: 7vw; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.55fr); opacity: 1; padding: 58px 0; visibility: visible; }
.ce-post-no-media { grid-template-columns: minmax(110px, .4fr) minmax(0, 1.55fr); }
.ce-post-no-media::before { color: #98703a; content: "НАБЛЮДЕНИЕ"; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.ce-post-media { align-self: start; aspect-ratio: 4 / 3; overflow: hidden; }
.ce-post-thumbnail { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.ce-post-media:hover .ce-post-thumbnail { transform: scale(1.025); }
.ce-post-body h3 { font-family: var(--ce-serif); font-size: clamp(34px, 4vw, 58px); font-weight: 400; letter-spacing: -.04em; line-height: 1.02; margin: 10px 0 22px; }
.ce-post-body h3 a { text-decoration: none; }
.ce-post-preview { color: #444d4a; font-size: 16px; }
.ce-post-preview a { text-decoration-color: var(--ce-accent); text-underline-offset: 3px; }
.ce-post-preview > *:last-child { margin-bottom: 24px; }

.ce-final { background: var(--ce-accent); color: var(--ce-night); padding: 120px 5vw 130px; }
.ce-final h2 { font-size: clamp(50px, 7vw, 108px); margin: 0 0 30px; max-width: 1250px; }
.ce-final > p:not(.ce-kicker) { font-size: 19px; margin-bottom: 34px; max-width: 700px; }
.ce-final .ce-kicker { color: var(--ce-night); }

.ce-site-header {
  align-items: center;
  background: var(--ce-night);
  border-bottom: 1px solid rgba(242,239,231,.12);
  color: var(--ce-paper);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 74px;
  padding: 0 4vw;
}

.ce-site-mark,
.ce-footer-mark { align-items: baseline; display: inline-flex; font-size: 20px; letter-spacing: -.055em; text-decoration: none; }
.ce-site-mark b,
.ce-footer-mark b { color: var(--ce-accent-light); }
.ce-site-mark i { background: var(--ce-accent-light); border-radius: 50%; height: 6px; margin-left: 8px; width: 6px; }
.ce-nav { display: flex; gap: clamp(22px, 3vw, 48px); }
.ce-nav a,
.ce-header-action { color: var(--ce-paper); font-size: 9px; font-weight: 760; letter-spacing: .15em; text-decoration: none; text-transform: uppercase; }
.ce-nav a { color: rgba(242,239,231,.72); }
.ce-nav a:hover { color: var(--ce-paper); }
.ce-header-action { justify-self: end; }
.ce-skip { background: var(--ce-paper); color: var(--ce-night); left: 12px; padding: 10px 14px; position: fixed; top: -80px; z-index: 100; }
.ce-skip:focus { top: 12px; }

.ce-route-hero {
  background: var(--ce-night);
  color: var(--ce-paper);
  min-height: 600px;
  overflow: hidden;
  padding: 68px 5vw 88px;
  position: relative;
}

.ce-route-lines {
  background-image: linear-gradient(rgba(242,239,231,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(242,239,231,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  inset: 0;
  mask-image: linear-gradient(to right, black, transparent 82%);
  position: absolute;
}

.ce-route-inner { max-width: 1250px; position: relative; z-index: 1; }
.ce-breadcrumbs { align-items: center; color: rgba(242,239,231,.48); display: flex; font-size: 9px; font-weight: 760; gap: 10px; letter-spacing: .13em; margin-bottom: 72px; text-transform: uppercase; }
.ce-breadcrumbs a { color: var(--ce-accent-light); text-decoration: none; }
.ce-route-hero .ce-eyebrow { color: var(--ce-accent-light); margin-bottom: 24px; }
.ce-route-hero h1 { color: var(--ce-paper); font-size: clamp(50px, 6.8vw, 108px); margin: 0 0 28px; max-width: 1180px; overflow-wrap: anywhere; }
.ce-route-intro { color: rgba(242,239,231,.7); font-size: clamp(17px, 1.55vw, 22px); max-width: 860px; }
.ce-route-orbit { align-items: center; border: 1px solid rgba(242,239,231,.15); border-radius: 50%; bottom: 84px; display: flex; height: 180px; justify-content: center; position: absolute; right: 5vw; width: 180px; }
.ce-route-orbit::before { border: 1px dashed rgba(210,163,90,.5); border-radius: 50%; content: ""; inset: 26px; position: absolute; }
.ce-route-orbit i { background: var(--ce-accent-light); height: 1px; position: absolute; right: 12px; top: 38px; transform: rotate(-48deg); width: 46px; }
.ce-route-orbit span { color: rgba(242,239,231,.48); font-family: var(--ce-serif); font-size: 42px; }

.ce-article-layout {
  display: grid;
  gap: 8vw;
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1.6fr);
  margin: auto;
  max-width: 1500px;
  padding: 120px 5vw;
}

.ce-article-aside { align-self: start; position: sticky; top: 34px; }
.ce-article-aside dl { margin: 22px 0 36px; }
.ce-article-aside dl > div { border-top: 1px solid var(--ce-line); padding: 15px 0; }
.ce-article-aside dl > div:last-child { border-bottom: 1px solid var(--ce-line); }
.ce-article-aside dt { color: var(--ce-muted); font-size: 9px; font-weight: 760; letter-spacing: .18em; text-transform: uppercase; }
.ce-article-aside dd { font-size: 14px; margin: 4px 0 0; }
.ce-article-aside > p:last-child { border-left: 2px solid var(--ce-accent); color: var(--ce-muted); font-size: 13px; padding-left: 16px; }
.ce-article-copy h2 { font-size: clamp(46px, 5.2vw, 78px); margin: 0 0 26px; }
.ce-article-copy > section > p:not(.ce-kicker) { color: var(--ce-muted); font-size: clamp(17px, 1.5vw, 21px); max-width: 860px; }
.ce-route-steps { list-style: none; margin: 42px 0 0; padding: 0; }
.ce-route-steps li { border-top: 1px solid var(--ce-line); display: grid; gap: 28px; grid-template-columns: 48px 1fr; padding: 30px 0; }
.ce-route-steps li:last-child { border-bottom: 1px solid var(--ce-line); }
.ce-route-steps li > span { color: #98703a; font-size: 10px; font-weight: 760; letter-spacing: .18em; }
.ce-route-steps h3 { font-size: 20px; margin-bottom: 5px; }
.ce-route-steps p { color: var(--ce-muted); margin: 0; }

.ce-question-frame { background: var(--ce-paper-deep); margin-top: 92px; padding: 58px; }
.ce-question-frame h2 { font-size: clamp(42px, 4.7vw, 72px); max-width: 720px; }
.ce-question-frame ul { list-style: none; margin: 34px 0 0; padding: 0; }
.ce-question-frame li { border-top: 1px solid var(--ce-line); font-family: var(--ce-serif); font-size: clamp(23px, 2.4vw, 34px); line-height: 1.18; padding: 22px 0; }
.ce-question-frame li:last-child { border-bottom: 1px solid var(--ce-line); }

.ce-related { background: var(--ce-night-soft); color: var(--ce-paper); padding: 92px 5vw 110px; }
.ce-related > div { border-top: 1px solid rgba(242,239,231,.15); margin-top: 34px; }
.ce-related a { align-items: center; border-bottom: 1px solid rgba(242,239,231,.15); display: grid; gap: 28px; grid-template-columns: minmax(180px,.55fr) minmax(0,1.5fr) 30px; padding: 30px 0; text-decoration: none; }
.ce-related a span { color: var(--ce-accent-light); font-size: 9px; font-weight: 760; letter-spacing: .16em; text-transform: uppercase; }
.ce-related a b { font-family: var(--ce-serif); font-size: clamp(25px, 2.8vw, 42px); font-weight: 400; line-height: 1.12; }
.ce-related a i { color: var(--ce-accent-light); font-style: normal; transition: transform .2s ease; }
.ce-related a:hover i { transform: translate(3px,-3px); }

.ce-status-page { align-items: center; background: var(--ce-paper); display: flex; min-height: calc(100svh - 74px); padding: 80px 8vw; }
.ce-status-page > section { max-width: 900px; }
.ce-status-page h1 { font-size: clamp(62px, 9vw, 140px); margin-bottom: 28px; }
.ce-status-page p:not(.ce-kicker) { color: var(--ce-muted); font-size: 20px; margin-bottom: 34px; max-width: 680px; }

.ce-site-footer { background: var(--ce-night); color: var(--ce-paper); display: grid; gap: 6vw; grid-template-columns: 1.2fr .8fr 1fr; padding: 82px 4vw; }
.ce-site-footer p { margin: 12px 0 0; }
.ce-site-footer > div > p { color: rgba(242,239,231,.55); font-size: 13px; }
.ce-site-footer nav { display: grid; gap: 8px; }
.ce-site-footer nav a { color: rgba(242,239,231,.72); font-size: 10px; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.ce-footer-note { color: rgba(242,239,231,.52); font-size: 13px; max-width: 420px; }

.ce-reveal { opacity: 1; transform: none; visibility: visible; }
.ce-motion .ce-reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.ce-motion .ce-reveal.is-visible { opacity: 1; transform: none; }

@keyframes ce-copy-in {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}

@keyframes ce-image-in {
  from { opacity: .72; transform: scale(1.045); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 980px) {
  .ceicag-active .inside-header { min-height: 88px; }
  .ce-hero { min-height: calc(100svh - 88px); }
  .ce-hero-copy { min-height: calc(100svh - 88px); padding-right: 35%; }
  .ce-hero-shade { background: linear-gradient(90deg, rgba(14,23,22,.97), rgba(14,23,22,.72) 65%, rgba(14,23,22,.28)); }
  .ce-method { gap: 60px; grid-template-columns: 1fr; }
  .ce-method-sticky { position: static; }
  .ce-article-layout { gap: 60px; grid-template-columns: 1fr; }
  .ce-article-aside { position: static; }
  .ce-route-orbit { opacity: .35; }
  .ce-site-footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .ceicag-active .inside-header { align-items: flex-start; min-height: 84px; padding: 18px 20px; }
  .ceicag-active .main-title,
  .ceicag-active .main-title a { font-size: 17px; line-height: 1.1; max-width: 330px; }
  .ceicag-active .site-description { font-size: 8px; }
  .ce-hero { min-height: calc(100svh - 84px); }
  .ce-hero-image { object-position: 66% center; }
  .ce-hero-shade { background: linear-gradient(0deg, rgba(14,23,22,.98), rgba(14,23,22,.7) 75%, rgba(14,23,22,.45)); }
  .ce-hero-copy { justify-content: flex-end; min-height: calc(100svh - 84px); padding: 90px 20px 70px; }
  .ce-hero-brand { font-size: clamp(68px, 24vw, 104px); margin-bottom: 30px; }
  .ce-hero h1 { font-size: clamp(44px, 13vw, 66px); }
  .ce-hero-axis { display: none; }
  .ce-actions { align-items: flex-start; flex-direction: column; }
  .ce-intro,
  .ce-section-head,
  .ce-directions > header { gap: 24px; grid-template-columns: 1fr; padding: 86px 22px 72px; }
  .ce-directions { padding: 0 22px 88px; }
  .ce-directions > header { padding-left: 0; padding-right: 0; }
  .ce-direction { gap: 18px; grid-template-columns: 36px 1fr; padding: 38px 0; }
  .ce-direction p { font-size: 15px; }
  .ce-method { padding: 88px 22px; }
  .ce-posts { padding: 0 22px 88px; }
  .ce-posts .ce-section-head { padding-left: 0; padding-right: 0; }
  .ce-post,
  .ce-post-no-media { gap: 26px; grid-template-columns: 1fr; padding: 42px 0; }
  .ce-post-no-media::before { margin-bottom: 4px; }
  .ce-final { padding: 86px 22px 94px; }
  .ce-site-header { grid-template-columns: 1fr auto; min-height: 68px; padding: 0 20px; }
  .ce-nav { display: none; }
  .ce-header-action { font-size: 8px; }
  .ce-route-hero { min-height: 560px; padding: 54px 22px 72px; }
  .ce-breadcrumbs { margin-bottom: 56px; }
  .ce-route-hero h1 { font-size: clamp(46px, 13vw, 70px); }
  .ce-route-orbit { display: none; }
  .ce-article-layout { padding: 82px 22px; }
  .ce-question-frame { margin-left: -22px; margin-right: -22px; padding: 48px 22px; }
  .ce-related { padding: 76px 22px 88px; }
  .ce-related a { gap: 10px; grid-template-columns: 1fr 24px; }
  .ce-related a span { grid-column: 1 / -1; }
  .ce-site-footer { grid-template-columns: 1fr; padding: 66px 22px; }
  .ce-status-page { padding: 68px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ce-hero-copy,
  .ce-hero-image { animation: none; }
  .ce-motion .ce-reveal { opacity: 1; transform: none; transition: none; }
  * { scroll-behavior: auto !important; }
}
