@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/literata-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/literata-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Literata";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/brygada-1918-400-italic-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Literata";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/brygada-1918-400-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/golos-text-400-900-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/golos-text-400-900-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --browser-chrome: #14233f;
  --canvas: #f3ebdd;
  --canvas-deep: #dfd1bd;
  --graphite: #211e1b;
  --ink-muted: #645f58;
  --blue: #20365f;
  --blue-deep: #14233f;
  --red: #a84632;
  --red-dark: #873525;
  --olive: #707565;
  --workshop-line: rgba(33, 30, 27, 0.2);
  --light-line: rgba(243, 235, 221, 0.24);
  --max-width: 1180px;
  --grid-content: 1124px;
  --grid-columns: 12;
  --grid-gap: 32px;
  --page-gutter: 28px;
  --serif: "Literata", Georgia, "Times New Roman", serif;
  --sans: "Golos Text", Inter, "Helvetica Neue", Arial, sans-serif;
  --fs-page: clamp(2.75rem, 1.138rem + 4.3vw, 4.312rem);
  --fs-section: clamp(1.75rem, 1.256rem + 2.03vw, 2.75rem);
  --fs-poster: clamp(2.188rem, 1.57rem + 2.53vw, 3.438rem);
  --fs-pointer: clamp(1.375rem, .974rem + 1.65vw, 2.188rem);
  --fs-lead: 1.375rem;
  --fs-subheading-lg: 1.75rem;
  --fs-subheading: 1.375rem;
  --fs-body: 1.125rem;
  --fs-secondary: 1rem;
  --fs-service: .875rem;
  --fs-label: .75rem;
  --space-section: clamp(56px, 36px + 5vw, 96px);
  --space-chapter: clamp(64px, 42px + 5.6vw, 112px);
  --space-heading: 48px;
  --space-row: 28px;
  --space-part: 28px;
  --space-grid: 32px;
  --space-columns: 72px;
  --media-cut: 28px;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: auto;
  background-color: var(--browser-chrome);
}
body {
  margin: 0;
  background-color: var(--browser-chrome);
  color: var(--graphite);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  overflow-x: hidden;
  overflow-wrap: normal;
  -webkit-hyphens: none;
  hyphens: none;
}
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 1rem;
  left: 1rem;
  padding: 0.75rem 1rem;
  background: var(--canvas);
  color: var(--graphite);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.topbar {
  --safe-header-bg: var(--browser-chrome);
  position: sticky;
  z-index: 70;
  top: 0;
  width: 100%;
  min-height: 82px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 82px auto;
  align-items: center;
  padding: 0 4vw;
  background:rgba(20,35,63,.94);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  border-bottom:1px solid rgba(243,235,221,.12);
  box-shadow:none;
  color: var(--canvas);
  transition:box-shadow .25s ease;
}
.topbar.stuck { box-shadow:0 8px 24px rgba(5,14,31,.12); }
.workshop-page section[id] { scroll-margin-top:calc(82px + 1rem); }
.topbar .scroll-progress {
  position: absolute;
  z-index: 90;
  top: auto;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--red-dark), #dda08e);
}
@supports (-webkit-touch-callout:none) {
  .topbar.site-safe-header {
    padding-top:env(safe-area-inset-top,0px);
    background:var(--browser-chrome);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  width: max-content;
  text-decoration: none;
}
.brand-logo {
  width: 2.15rem;
  height: 2.15rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("/img/art-contact-workshop/mg-logo-layered.svg") center / contain no-repeat;
  mask: url("/img/art-contact-workshop/mg-logo-layered.svg") center / contain no-repeat;
}
.brand-name {
  font-family: var(--serif);
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.brand-mark {
  width: 1.65rem;
  aspect-ratio: 1;
  border: 1px solid currentColor;
  border-radius: 50%;
  position: relative;
}
.brand-mark::after {
  content: "";
  position: absolute;
  width: 55%;
  height: 1px;
  background: currentColor;
  transform: rotate(-35deg);
  top: 50%; left: 22%;
}
.topbar nav { display: flex; gap: 2.2rem; color: var(--canvas); }
.topbar nav a, .topbar-cta {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  text-decoration: none;
}
.topbar-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .65rem 1.25rem;
  border: 1px solid var(--red);
  background: var(--red);
  color: #fff;
  border-radius: 999px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
  font-size: 1rem;
  font-weight: 500;
}
.topbar-cta:hover { background: #9f3928; border-color: #9f3928; transform: translateY(-1px); }
.topbar .burger { display:none; color:var(--canvas); }
.topbar .burger span { background:currentColor; }
.workshop-drawer {
  position:static;
  grid-column:1 / -1;
  grid-row:2;
  margin-inline:-4vw;
  padding:12px 1.2rem 28px;
  border-top:1px solid var(--light-line);
  background:var(--blue-deep);
  color:var(--canvas);
  box-shadow:none;
}
.workshop-drawer a { border-bottom-color:var(--light-line); }
.workshop-drawer .workshop-drawer-cta { color:#dda08e; border-bottom:0; }
.workshop-drawer a span { margin-left:.35rem; }
.topbar.open .workshop-drawer { display:block; }
.topbar.open .burger span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.topbar.open .burger span:nth-child(2) { opacity:0; }
.topbar.open .burger span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

.hero {
  min-height: calc(100svh - 82px);
  background:
    radial-gradient(800px 640px at 50% 18%, rgba(221,160,142,.16), transparent 70%),
    radial-gradient(660px 540px at 76% 92%, rgba(196,151,70,.12), transparent 72%),
    radial-gradient(720px 560px at 0% 100%, rgba(255,252,244,.15), transparent 70%),
    var(--blue-deep);
  color: var(--canvas);
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  column-gap: var(--grid-gap);
  grid-template-rows: 1fr auto;
  padding: 38px max(var(--page-gutter), calc((100vw - var(--max-width)) / 2 + var(--page-gutter))) 42px;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.15;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(92deg, transparent 0, transparent 6px, rgba(255,255,255,.07) 7px),
    repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(0,0,0,.15) 6px);
  mix-blend-mode: soft-light;
}
.hero-copy {
  grid-column: 1 / 8;
  z-index: 2;
  align-self: center;
  padding-right: 5vw;
}
.eyebrow, .section-index {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  font-size: var(--fs-service);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-family: var(--sans);
  line-height: 1;
}
.eyebrow::before, .section-index::before {
  content: "";
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
  position: relative;
  top: -.5px;
}
.hero .eyebrow { color: var(--canvas); }
.hero h1 > .eyebrow { width: fit-content; }
.section-index { color: var(--red); }
.section-index.light { color: #d38a77; }
.hero h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.75rem, 1.138rem + 4.3vw, 4.312rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.hero h1 em {
  color: #DDA08E;
  font-size: 1.06em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.04em;
}
.hero h1 strong {
  color: #DDA08E;
  font-style: normal;
  font-weight: 400;
}
.hero-intro {
  max-width: 38rem;
  margin: 2.4rem 0 0;
  font-size: 1.375rem;
  line-height: 1.55;
  color: rgba(243, 235, 221, 0.82);
}
.hero-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.4rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0.9rem 1.8rem;
  border: 0;
  border-radius: 999px;
  letter-spacing: 0;
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(20,35,63,.2), inset 0 1px 0 rgba(255,255,255,.2);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.button-primary { background: linear-gradient(180deg, #b9533b, var(--red)); color: white; }
.button-primary:hover { background: linear-gradient(180deg, #c15a41, var(--red-dark)); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(20,35,63,.27), inset 0 1px 0 rgba(255,255,255,.22); }
.button:focus-visible, .topbar-cta:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.text-link {
  font-size: 1rem;
  letter-spacing: 0;
  white-space: nowrap;
  padding-bottom: 3px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(243,235,221,.72);
  text-underline-offset: .35rem;
  transition: text-decoration-color .25s ease;
}
.text-link:hover { text-decoration-color: currentColor; }
.text-link-arrow { display:inline-block; text-decoration:none; }
.hero-art {
  grid-column: 8 / 13;
  position: relative;
  z-index: 1;
  min-height: 0;
  aspect-ratio: 4 / 5;
  align-self: center;
  background: #d7cbb7;
  overflow: hidden;
  clip-path: polygon(5% 0, 100% 0, 100% 94%, 0 100%, 0 6%);
  animation: hero-reveal 1.2s cubic-bezier(.2,.75,.25,1) both;
}
.hero-art::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 7% 6% 8% 11%;
  border: 1px solid rgba(243,235,221,.58);
  pointer-events: none;
}
@keyframes hero-reveal {
  from { clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); transform: scale(1.04); }
}
.paint { position: absolute; filter: saturate(.9); }
.paint-one {
  z-index: 4;
  width: 38%;
  height: 13%;
  top: 10%;
  right: -7%;
  background: var(--red);
  border-radius: 58% 23% 64% 36% / 35% 62% 28% 66%;
  transform: rotate(-9deg);
  box-shadow: 0 0 0 14px rgba(168,70,50,.13);
}
.paint-two {
  z-index: 1;
  width: 76%; height: 47%; right: -16%; bottom: -10%;
  background: var(--blue);
  border-radius: 27% 73% 39% 61% / 67% 26% 74% 33%;
  transform: rotate(9deg);
}
.paint-three {
  z-index: 4;
  width: 36%; height: 11%; left: -6%; bottom: 20%;
  background: #c49746;
  transform: rotate(-22deg) skewX(-19deg);
  border-radius: 100%;
}
.hero-photo {
  position: absolute;
  z-index: 2;
  inset: 7% 6% 8% 11%;
  width: 83%;
  height: 85%;
  object-fit: cover;
  object-position: 53% 48%;
  filter: saturate(.9) contrast(1.02);
}
.hero-photo-caption {
  position: absolute;
  z-index: 4;
  left: 2%;
  bottom: 11%;
  max-width: 15rem;
  padding: .8rem 1rem;
  background: var(--red);
  color: white;
  font-size: var(--fs-label);
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  transform: rotate(-2deg);
}
.photo-note {
  position: absolute;
  z-index: 4;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.2rem;
  padding: 0.9rem 1rem;
  background: rgba(243,235,221,.91);
  color: var(--graphite);
  backdrop-filter: blur(8px);
}
.photo-note span, .photo-note small { display:block; font-size:var(--fs-label); letter-spacing:.14em; text-transform:uppercase; }
.photo-note strong { display: block; margin: .22rem 0; font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }
.photo-note small { color: var(--ink-muted); }
.hero-meta {
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--light-line);
}
.hero-meta div { display:flex; flex-direction:column; gap:.45rem; align-items:flex-start; }
.hero-meta span { font-size:var(--fs-label); text-transform:uppercase; letter-spacing:.14em; color:rgba(243,235,221,.55); }
.hero-meta strong { font-family:var(--serif); font-size:var(--fs-pointer); line-height:1.09; letter-spacing:-.025em; font-weight:400; }
.scroll-cue { position: absolute; right: 1rem; bottom: 2.5rem; color: var(--canvas); text-decoration: none; transform: rotate(90deg); transform-origin: center; }
.scroll-cue span { font-size:var(--fs-label); text-transform:uppercase; letter-spacing:.16em; }
.scroll-cue i { display: inline-block; width: 28px; height: 1px; background: currentColor; margin: 0 0 .2rem .8rem; }

.section {
  padding-block: var(--space-section);
  padding-inline: max(var(--page-gutter), calc((100vw - var(--max-width)) / 2 + var(--page-gutter)));
}
.section > * { max-width: var(--grid-content); margin-left: auto; margin-right: auto; }
.manifesto {
  background:
    radial-gradient(720px 520px at 92% 12%, rgba(221,160,142,.22), transparent 70%),
    radial-gradient(700px 560px at 3% 88%, rgba(32,54,95,.11), transparent 72%),
    radial-gradient(520px 420px at 66% 72%, rgba(196,151,70,.10), transparent 74%),
    var(--canvas);
}
.manifesto h2, .possibilities h2, .hosts h2, .boundaries h2, .contact-sheet h2, .details h2, .faq h2, .signup h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: var(--fs-section);
  font-weight: 400;
  line-height: 1.09;
  letter-spacing: -.026em;
  text-wrap: balance;
}
.manifesto-copy { max-width:35rem; align-self:start; }
.manifesto-copy p { color: var(--ink-muted); }
.manifesto-copy p + p { margin-top:var(--sp-абзац); }
.manifesto-layout { max-width:var(--grid-content); }
.section-heading { row-gap:20px; }
.section-heading > .section-index { grid-column:1 / -1; margin-bottom:0; }
.section-heading > .aside-intro { position:static; top:auto; }
@media (min-width:1001px) {
  .section-heading > .aside-intro,
  .section-heading > .aside-body { grid-row:2; align-self:start; margin-top:0; }
  .hosts-header > .aside-body { padding-left:clamp(.25rem,.65vw,.55rem); }
  .manifesto-layout {
    display:grid;
    grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));
    gap:var(--grid-gap);
    align-items:start;
  }
  .manifesto-layout > .manifesto-grid {
    grid-column:1 / 6;
    display:block;
  }
  .manifesto-layout .section-index { margin-bottom:20px; }
  .manifesto-layout .manifesto-copy { margin-top:clamp(1.75rem,3vw,3rem); }
  .manifesto-layout > .wide-placeholder {
    grid-column:6 / 13;
    min-height:0;
    margin-top:0;
    aspect-ratio:4 / 3;
  }
}
.wide-placeholder {
  position: relative;
  min-height: 48vh;
  margin-top: 64px;
  background:
    linear-gradient(120deg, rgba(32,54,95,.9), rgba(32,54,95,.38)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 13%);
  overflow: hidden;
  clip-path:polygon(var(--media-cut) 0,100% 0,100% calc(100% - var(--media-cut)),calc(100% - var(--media-cut)) 100%,0 100%,0 var(--media-cut));
}
.wide-placeholder::after { content:""; position:absolute; width:42%; height:130%; right:8%; top:-20%; background:var(--red); opacity:.75; transform:rotate(18deg); border-radius:50%; }
.wide-placeholder.has-photo::after { display:none; }
.wide-placeholder.has-photo img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.light-note { background: rgba(20,35,63,.86); color: var(--canvas); }
.light-note small { color: rgba(243,235,221,.65); }

.process {
  background:
    radial-gradient(800px 640px at 50% 12%, rgba(221,160,142,.16), transparent 70%),
    radial-gradient(680px 560px at 82% 92%, rgba(196,151,70,.14), transparent 72%),
    radial-gradient(760px 620px at -4% 92%, rgba(255,252,244,.12), transparent 70%),
    var(--blue-deep);
  color: var(--canvas);
}
.process-heading { margin-bottom:64px; }
.process-heading h2 { margin:0; font-family:var(--serif); font-size:var(--fs-section); line-height:1.09; letter-spacing:-.026em; font-weight:400; text-wrap:balance; }
.process-heading > p:last-child { color: rgba(243,235,221,.67); max-width: 25rem; }
.process-story { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); gap:var(--grid-gap); align-items:start; }
.process-story > .sticky-canvas { grid-column:1 / 6; }
.process-story > .story-steps { grid-column:6 / 13; }
.sticky-canvas { position:sticky; top:8vh; height:auto; aspect-ratio:4 / 5; overflow:hidden; background:#d8c9b5; clip-path:polygon(var(--media-cut) 0,100% 0,100% calc(100% - var(--media-cut)),calc(100% - var(--media-cut)) 100%,0 100%,0 var(--media-cut)); }
.canvas-stage { position:absolute; inset:0; opacity:0; transform:scale(1.04); transition:opacity .7s ease, transform 1.1s ease; background:var(--canvas-deep); }
.canvas-stage.active { opacity:1; transform:scale(1); }
.canvas-stage.has-photo > img,
.mobile-stage.has-photo > img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.mobile-stage { display:none; }
.stage-paint { position:absolute; inset:0; }
.stage-start { background: radial-gradient(circle at 42% 45%, transparent 0 18%, rgba(33,30,27,.22) 18.5% 19%, transparent 19.5%), linear-gradient(22deg, transparent 48%, rgba(32,54,95,.24) 49% 50%, transparent 51%); }
.stage-middle { background: radial-gradient(ellipse at 55% 44%, var(--red) 0 17%, transparent 17.5%), radial-gradient(ellipse at 38% 60%, #c49746 0 19%, transparent 19.5%), linear-gradient(135deg, transparent 35%, rgba(32,54,95,.9) 35.5% 60%, transparent 60.5%); }
.stage-finish { background: radial-gradient(ellipse at 70% 25%, #c49746 0 15%, transparent 15.5%), radial-gradient(ellipse at 30% 65%, var(--red) 0 24%, transparent 24.5%), linear-gradient(145deg, var(--blue) 0 27%, transparent 27.5%), linear-gradient(25deg, transparent 52%, rgba(112,117,101,.9) 52.5% 79%, transparent 79.5%); }
.stage-self { background: radial-gradient(circle at 51% 43%, var(--canvas) 0 13%, transparent 13.5%), radial-gradient(circle at 51% 43%, transparent 0 25%, rgba(196,151,70,.8) 25.5% 35%, transparent 35.5%), radial-gradient(ellipse at 36% 58%, rgba(168,70,50,.86) 0 22%, transparent 22.5%), linear-gradient(135deg, var(--blue) 0 31%, transparent 31.5%), linear-gradient(28deg, transparent 48%, rgba(112,117,101,.84) 48.5% 75%, transparent 75.5%); }
.canvas-note { max-width: 24rem; }
.stage-counter { position:absolute; z-index:5; top:1.5rem; right:1.5rem; padding:.55rem .75rem; background:var(--blue-deep); color:var(--canvas); font-size:var(--fs-label); letter-spacing:.14em; }
.stage-counter span:first-child { color:#dda08e; }
.story-step { position:relative; min-height:clamp(280px,38vh,350px); display:flex; flex-direction:column; justify-content:center; opacity:.35; transition:opacity .35s ease; border-top:1px solid var(--light-line); }
.story-step.active { opacity:1; }
.story-step > span { display:none; }
.story-step h3 { margin:0 0 .85rem; font-family:var(--serif); font-size:var(--fs-pointer); font-weight:400; line-height:1.1; letter-spacing:-.02em; text-wrap:balance; }
.story-step p { max-width:31rem; color:rgba(243,235,221,.72); font-size:var(--fs-body); }

.possibilities { background:radial-gradient(720px 520px at 92% 12%, rgba(221,160,142,.22), transparent 70%), radial-gradient(700px 560px at 3% 88%, rgba(32,54,95,.11), transparent 72%), radial-gradient(520px 420px at 66% 72%, rgba(196,151,70,.10), transparent 74%), var(--canvas); }
.possibilities-heading p { max-width:34rem; color:var(--ink-muted); font-size:var(--fs-body); }
.word-field {
  min-height:560px;
  margin-top:var(--space-heading);
  padding:1.5rem 0;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(5,minmax(72px,1fr));
  align-items:center;
  border-top:1px solid var(--workshop-line);
  border-bottom:1px solid var(--workshop-line);
}
.word { position:static; font-family:var(--serif); line-height:1; letter-spacing:-.055em; white-space:nowrap; }
.word-a { grid-column:1 / 6; grid-row:1; justify-self:start; font-size:clamp(3rem,6.5vw,6.5rem); color:var(--blue); }
.word-b { grid-column:9 / 13; grid-row:1; justify-self:end; font-size:clamp(2rem,3.6vw,4.1rem); color:var(--olive); transform:rotate(3deg); }
.word-c { grid-column:4 / 9; grid-row:2; justify-self:start; font-size:clamp(2.7rem,5vw,5.2rem); color:var(--red); }
.word-d { grid-column:10 / 13; grid-row:2; justify-self:end; font-size:clamp(1.5rem,2.6vw,3rem); }
.word-e { grid-column:1 / 5; grid-row:3; justify-self:start; font-size:clamp(1.8rem,3vw,3.2rem); color:var(--olive); transform:rotate(-4deg); }
.word-f { grid-column:3 / 8; grid-row:5; justify-self:start; font-size:clamp(2rem,3.7vw,3.8rem); color:var(--blue); }
.word-g { grid-column:8 / 13; grid-row:3; justify-self:end; font-size:clamp(2.3rem,4vw,4.5rem); color:var(--red); }
.word-h { grid-column:10 / 13; grid-row:5; justify-self:end; font-size:clamp(1.6rem,2.4vw,2.7rem); }
.word-i { grid-column:4 / 7; grid-row:4; justify-self:start; font-size:clamp(1.45rem,2.4vw,2.65rem); color:var(--graphite); transform:rotate(2deg); }
.word-j { grid-column:8 / 12; grid-row:4; justify-self:end; font-size:clamp(1.65rem,2.8vw,3rem); color:var(--blue); transform:rotate(-2deg); }
.fine-print { max-width:48rem !important; margin-top:2.5rem !important; margin-left:4vw !important; font-size:var(--fs-service); color:var(--ink-muted); }

.hosts {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(800px 640px at 50% 18%, rgba(221,160,142,.16), transparent 70%),
    radial-gradient(660px 540px at 76% 92%, rgba(196,151,70,.12), transparent 72%),
    radial-gradient(720px 560px at 0% 100%, rgba(255,252,244,.15), transparent 70%),
    var(--blue);
  color:var(--canvas);
}
.hosts::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.15;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(92deg, transparent 0, transparent 6px, rgba(255,255,255,.07) 7px),
    repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(0,0,0,.15) 6px);
  mix-blend-mode:soft-light;
}
.hosts > * { position:relative; z-index:1; }
.hosts-header { margin-bottom:64px; }
.hosts-header h2 { margin:0; font-family:var(--serif); font-size:var(--fs-section); line-height:1.09; letter-spacing:-.026em; font-weight:400; text-wrap:balance; }
.hosts-header > p:last-child { max-width:25rem; color:rgba(243,235,221,.67); }
.host-grid { display:grid; gap:var(--space-heading); background:transparent; }
.host-card { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); column-gap:var(--grid-gap); row-gap:2rem; align-items:start; padding:clamp(1rem,2vw,1.5rem); background:var(--blue-deep); }
.host-media-frame { grid-column:1 / 6; }
.host-copy { grid-column:6 / 13; color:var(--canvas); }
.therapist-card .host-copy { grid-column:1 / 8; grid-row:1; }
.therapist-card .host-media-frame { grid-column:8 / 13; grid-row:1; }
.host-media-frame { position:relative; aspect-ratio:4 / 5; overflow:hidden; background:var(--canvas); }
.host-photo { position:absolute; inset:-1px; width:calc(100% + 2px); height:calc(100% + 2px); overflow:hidden; background:linear-gradient(145deg, #9b493a, #c99372 45%, #263f6d 45.5%, #172944); clip-path:polygon(var(--media-cut) 0,100% 0,100% calc(100% - var(--media-cut)),calc(100% - var(--media-cut)) 100%,0 100%,0 var(--media-cut)); }
.therapist-card .host-photo { background:linear-gradient(20deg, #1b2e52, #4c6685 50%, #777d6a 50.5%, #b2b19a); }
.host-photo::after { content:""; position:absolute; width:55%; aspect-ratio:1/1.35; top:12%; left:23%; border:1px solid rgba(243,235,221,.5); border-radius:48% 48% 42% 42%; }
.host-photo.has-photo::after { display:none; }
.host-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.host-copy { align-self:stretch; display:flex; flex-direction:column; padding:0; }
.host-copy h3 { margin:.4rem 0 1rem; font-family:var(--serif); font-size:var(--fs-subheading-lg); line-height:1.2; letter-spacing:-.012em; font-weight:400; }
.host-copy p { max-width:34rem; color:rgba(243,235,221,.72); }
.host-number { font-size:var(--fs-label); letter-spacing:.16em; }
.host-quote { position:relative; width:100%; max-width:none; margin:auto 0 0; padding:1.35rem 2.4rem; background:var(--canvas); color:var(--graphite); font-family:var(--serif); font-size:var(--fs-body); font-style:italic; line-height:1.6; letter-spacing:0; }
.hosts .host-quote { border-left:0; }
.host-quote::before { content:""; position:absolute; left:clamp(1rem,1.5vw,1.5rem); top:1.1rem; bottom:1.1rem; width:3px; background:var(--red); }
.draft-data { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--light-line); color:#dda08e !important; text-transform:uppercase; letter-spacing:.14em; font-size:var(--fs-label); }
.host-site-link { display:inline-flex; align-items:center; min-height:44px; margin-top:1rem; color:var(--canvas); font-size:var(--fs-secondary); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.28em; }
.artist-card { background:var(--canvas); }
.artist-card .host-copy { color:var(--graphite); }
.artist-card .host-copy p { color:var(--ink-muted); }
.artist-card .draft-data { border-top-color:var(--workshop-line); color:var(--red) !important; }
.artist-card .host-site-link { color:var(--blue-deep); }
.artist-card .host-quote { background:var(--blue-deep); color:var(--canvas); }

.boundaries {
  background:
    radial-gradient(720px 520px at 92% 12%, rgba(221,160,142,.22), transparent 70%),
    radial-gradient(700px 560px at 3% 88%, rgba(32,54,95,.11), transparent 72%),
    radial-gradient(520px 420px at 66% 72%, rgba(196,151,70,.10), transparent 74%),
    var(--canvas);
}
.boundaries-intro {
  position:sticky;
  top:100px;
  align-self:start;
}
.boundaries-action {
  margin-top:clamp(2rem,4vw,3.5rem);
}
.boundaries-action .form-note {
  max-width:29ch;
  margin:0 0 1rem;
}
.boundary-list { border-top:1px solid var(--workshop-line); }
.boundary-list article { display:grid; grid-template-columns:72px 1fr; column-gap:24px; padding:28px 0; border-bottom:1px solid var(--workshop-line); }
.boundary-list span { grid-row:1/3; color:var(--red); font-family:var(--serif); font-size:var(--fs-pointer); line-height:1; letter-spacing:-.025em; }
.boundary-list h3 { margin:0 0 12px; font-family:var(--serif); font-size:var(--fs-subheading); line-height:1.2; letter-spacing:-.012em; font-weight:400; }
.boundary-list p { margin:0; color:var(--ink-muted); }

.contact-sheet {
  background:
    radial-gradient(800px 640px at 50% 12%, rgba(221,160,142,.24), transparent 70%),
    radial-gradient(680px 560px at 82% 92%, rgba(196,151,70,.14), transparent 72%),
    radial-gradient(760px 620px at -4% 92%, rgba(255,252,244,.32), transparent 70%),
    #e8dece;
}
.contact-sheet-heading h2 { font-size:var(--fs-section); }
.contact-sheet-heading > p:last-child { color:var(--ink-muted); }
.photo-strip { display:flex; gap:var(--space-grid); overflow-x:auto; margin-top:var(--space-heading); padding-bottom:1rem; scrollbar-width:thin; scroll-snap-type:x proximity; }
.strip-photo { position:relative; flex:0 0 clamp(240px,28vw,410px); height:auto; aspect-ratio:4 / 5; display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:1.2rem; background:var(--canvas-deep); border:1px solid var(--workshop-line); scroll-snap-align:start; overflow:hidden; clip-path:polygon(var(--media-cut) 0,100% 0,100% calc(100% - var(--media-cut)),calc(100% - var(--media-cut)) 100%,0 100%,0 var(--media-cut)); }
.strip-photo::before { content:""; position:absolute; inset:20% -10%; background:var(--red); opacity:.65; transform:rotate(-18deg); border-radius:50%; }
.strip-photo > * { position:relative; z-index:1; }
.strip-photo span { font-size:var(--fs-label); letter-spacing:.14em; }
.strip-photo figcaption { font-family:var(--serif); font-size:var(--fs-subheading); line-height:1.2; font-weight:400; }
.strip-photo.has-photo { color:white; border:0; text-shadow:none; }
.strip-photo.has-photo::before { inset:auto 0 0; height:68%; opacity:1; transform:none; border-radius:0; background:linear-gradient(to top,rgba(17,20,23,.82),rgba(17,20,23,.32) 58%,rgba(17,20,23,0)); }
.strip-photo.has-photo img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.strip-photo.has-photo span,
.strip-photo.has-photo figcaption { align-self:flex-start; padding:.5rem .65rem; background:rgba(17,20,23,.76); box-shadow:0 0 0 1px rgba(255,255,255,.12); }
.strip-photo.has-photo figcaption { max-width:calc(100% - .5rem); }
.strip-photo.wide { flex-basis:clamp(330px,40vw,580px); aspect-ratio:3 / 2; background:var(--olive); color:white; }
.strip-photo.square { aspect-ratio:1; background:#bd9a61; }
.strip-photo.alt { background:#c9bbae; }
.strip-photo.dark { background:var(--blue-deep); color:var(--canvas); }

.details {
  background:
    radial-gradient(800px 640px at 50% 12%, rgba(221,160,142,.16), transparent 70%),
    radial-gradient(680px 560px at 82% 92%, rgba(196,151,70,.14), transparent 72%),
    radial-gradient(760px 620px at -4% 92%, rgba(255,252,244,.12), transparent 70%),
    var(--blue-deep);
  color:var(--canvas);
}
.details-intro { max-width:34rem; margin-top:2.5rem; color:rgba(243,235,221,.67); }
.details-list { margin:0; }
.details-list div { display:grid; grid-template-columns:.7fr 1.3fr; gap:1rem; padding:1.4rem 0; border-top:1px solid var(--light-line); }
.details-list div:last-child { border-bottom:1px solid var(--light-line); }
.details-list dt { color:rgba(243,235,221,.5); font-size:var(--fs-label); text-transform:uppercase; letter-spacing:.14em; }
.details-list dd { margin:0; font-family:var(--serif); font-size:var(--fs-subheading); line-height:1.2; }
.details-map-link { display:table; margin-top:.75rem; color:var(--accent-warm); font-family:var(--sans); font-size:var(--fs-secondary); line-height:var(--lh-текст); text-decoration-color:rgba(232,165,133,.75); }
.details-button { margin-top:2rem; border-color:var(--red); background:var(--red); color:#fff; }
.details-button:hover { background:#9f3928; border-color:#9f3928; color:#fff; }

.faq {
  background:
    radial-gradient(720px 520px at 92% 12%, rgba(221,160,142,.22), transparent 70%),
    radial-gradient(700px 560px at 3% 88%, rgba(32,54,95,.11), transparent 72%),
    radial-gradient(520px 420px at 66% 72%, rgba(196,151,70,.10), transparent 74%),
    var(--canvas);
}
.faq h2 { max-width:13ch; font-size:var(--fs-section); }
.accordion details { border-top:1px solid var(--workshop-line); padding:28px 0; border-radius:12px; transition:background-color .25s ease; }
.accordion details:last-child { border-bottom:1px solid var(--workshop-line); }
.accordion details.is-open { background:rgba(255,255,255,.22); padding-left:20px; padding-right:20px; }
.accordion summary { list-style:none; cursor:pointer; min-height:44px; display:flex; justify-content:space-between; align-items:baseline; gap:1rem; font-family:var(--serif); font-size:var(--fs-subheading); line-height:1.2; letter-spacing:-.012em; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary::after { content:"+"; flex:none; color:var(--red); font-family:var(--sans); font-size:var(--fs-subheading); line-height:1; transition:transform .25s ease; }
.accordion details.is-open summary::after { transform:rotate(45deg); }
.accordion details p { max-width:52ch; margin:16px 3rem 0 0; color:var(--graphite); }

.signup { position:relative; min-height:0; display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); column-gap:var(--grid-gap); align-items:center; background:radial-gradient(760px 620px at 12% 46%, rgba(196,151,70,.18), transparent 68%), radial-gradient(620px 520px at 92% 18%, rgba(221,160,142,.22), transparent 72%), var(--canvas-deep); padding:clamp(5rem,8vw,8rem) max(var(--page-gutter), calc((100vw - var(--max-width))/2 + var(--page-gutter))); overflow:hidden; }
.signup > .signup-intro { grid-column:1 / 6; }
.signup > .signup-visual { grid-column:7 / 13; }
.signup-intro { position:relative; z-index:2; }
.signup-intro h2 { margin:0; font-size:var(--fs-section); }
.signup-intro > p { max-width:29rem; margin-top:1.35rem; color:var(--ink-muted); }
.signup-booking-button { min-width:15rem; margin-top:2rem; }
.form-note { color:var(--ink-muted); font-size:var(--fs-service); margin-top:.85rem; }
.workshop-page .booking-help > span { display:none; }
.workshop-page .booking-help { justify-content:flex-end; }
.signup-visual { position:relative; z-index:1; display:block; width:100%; min-height:clamp(340px,34vw,480px); }
.signup-shape { position:absolute; z-index:1; aspect-ratio:1; border-radius:50%; }
.signup-shape-red { width:clamp(190px,20vw,300px); right:8%; top:0; background:var(--red); }
.signup-shape-blue { width:clamp(125px,14vw,205px); left:6%; bottom:0; background:var(--blue); }

/* Общая геометрия фотоблоков: мотивы первого экрана без буквального повтора. */
.wide-placeholder.has-photo {
  min-height:clamp(420px,49vw,620px);
  background:var(--blue);
  clip-path:polygon(3.5% 0,100% 0,100% 91%,96% 100%,0 100%,0 8%);
  isolation:isolate;
}
.wide-placeholder.has-photo::before {
  content:"";
  display:block;
  position:absolute;
  z-index:1;
  width:30%;
  height:auto;
  aspect-ratio:1;
  right:-7%;
  bottom:-18%;
  background:var(--red);
  border-radius:50%;
  transform:none;
}
.wide-placeholder.has-photo::after {
  display:none;
}
.wide-placeholder.has-photo img {
  z-index:2;
  inset:3.5% 3% 5% 4%;
  width:93%;
  height:91.5%;
  transform:scale(1.006);
  transform-origin:right center;
  clip-path:polygon(2.5% 0,100% 0,100% 94%,96% 100%,0 100%,0 5%);
  filter:saturate(.93) contrast(1.02);
}
.wide-placeholder.has-photo::selection { background:transparent; }

@media (min-width:1001px) {
  .manifesto-layout > .wide-placeholder.has-photo {
    width:100%;
    min-height:0;
    aspect-ratio:4 / 3;
  }
}

.sticky-canvas {
  overflow:visible;
  background:transparent;
  clip-path:none;
}
.canvas-stage {
  overflow:hidden;
  background:var(--canvas-deep);
  clip-path:polygon(6% 0,100% 0,100% 94%,94% 100%,0 100%,0 6%);
  isolation:isolate;
}
.canvas-stage::before,
.mobile-stage::before {
  content:"";
  position:absolute;
  z-index:1;
  width:72%;
  height:36%;
  right:-19%;
  bottom:-9%;
  background:var(--blue);
  border-radius:50%;
  transform:rotate(12deg);
}
.canvas-stage::after,
.mobile-stage::after {
  display:none;
}
.canvas-stage:nth-child(2)::before { background:#c49746; left:-18%; right:auto; transform:rotate(-10deg); }
.canvas-stage:nth-child(2)::after { top:auto; bottom:14%; right:-10%; background:var(--red); }
.canvas-stage:nth-child(3)::before { background:var(--red); }
.canvas-stage:nth-child(3)::after { right:auto; left:-9%; background:#c49746; transform:rotate(-18deg); }
.canvas-stage:nth-child(4)::before { background:var(--olive); left:-15%; right:auto; }
.canvas-stage:nth-child(4)::after { top:8%; background:var(--red); }
.canvas-stage.has-photo > img,
.mobile-stage.has-photo > img {
  z-index:2;
  inset:3.5% 4% 5% 5.5%;
  width:90.5%;
  height:91.5%;
  clip-path:polygon(3% 0,100% 0,100% 95%,96% 100%,0 100%,0 4%);
  filter:saturate(.94) contrast(1.02);
}
.canvas-note {
  z-index:4;
  left:4%;
  right:auto;
  bottom:4%;
  width:auto;
  max-width:70%;
  padding:.62rem .78rem;
  background:var(--red);
  color:white;
  backdrop-filter:none;
  transform:rotate(-1.2deg);
  box-shadow:0 8px 24px rgba(20,35,63,.16);
}
.canvas-note span { color:rgba(255,255,255,.82); }
.canvas-note strong { font-size:clamp(.95rem,.82rem + .35vw,1.15rem); }

.host-card {
  position:relative;
  clip-path:polygon(2% 0,100% 0,100% 96%,98% 100%,0 100%,0 4%);
}
.artist-card { padding-left:clamp(1.25rem,2.5vw,2.25rem); }
.therapist-card { padding-right:clamp(1.25rem,2.5vw,2.25rem); }
.host-media-frame {
  overflow:hidden;
  background:var(--canvas-deep);
  clip-path:polygon(6% 0,100% 0,100% 94%,94% 100%,0 100%,0 6%);
  isolation:isolate;
}
.host-media-frame::before {
  content:"";
  position:absolute;
  z-index:1;
  width:54%;
  height:24%;
  right:-18%;
  bottom:-6%;
  background:var(--red);
  border-radius:50%;
  transform:rotate(13deg);
}
.host-media-frame::after {
  display:none;
}
.therapist-card .host-media-frame::before { background:var(--blue); left:-18%; right:auto; }
.therapist-card .host-media-frame::after { left:auto; right:-8%; background:var(--red); transform:rotate(-7deg); }
.host-photo {
  z-index:2;
  inset:2.5% 3% 4% 4%;
  width:auto;
  height:auto;
  clip-path:polygon(3% 0,100% 0,100% 96%,96% 100%,0 100%,0 4%);
}
.artist-card .host-quote,
.therapist-card .host-quote { transform:none; width:100%; }

.photo-strip {
  align-items:center;
  gap:clamp(1.5rem,3vw,3rem);
  padding:2.5rem 1.2rem 2.25rem;
  margin-left:-1.2rem;
  scroll-padding-left:1.2rem;
}
.strip-photo {
  flex-basis:clamp(220px,25vw,350px);
  padding:0;
  background:var(--canvas-deep);
  clip-path:polygon(7% 0,100% 0,100% 94%,94% 100%,0 100%,0 7%);
  transition:transform .35s ease, filter .35s ease;
  isolation:isolate;
}
.strip-photo.wide { flex-basis:clamp(315px,36vw,510px); }
.strip-photo:nth-child(3n+1) { transform:rotate(-.55deg); }
.strip-photo:nth-child(3n+2) { transform:rotate(.45deg); background:#c49746; }
.strip-photo:nth-child(3n) { transform:rotate(-.3deg); background:var(--blue); }
.strip-photo:hover { transform:translateY(-.35rem) rotate(0); filter:saturate(1.04); }
.strip-photo.has-photo::before {
  display:none;
  z-index:1;
  inset:auto -12% -12% auto;
  width:68%;
  height:36%;
  background:var(--red);
  border-radius:50%;
  transform:rotate(12deg);
  opacity:1;
}
.strip-photo:nth-child(4n+2)::before { display:block; background:var(--blue); left:-18%; right:auto; }
.strip-photo:nth-child(4n)::before { display:block; background:#c49746; }
.strip-photo.has-photo img {
  z-index:2;
  inset:2.5% 3% 4% 4%;
  width:93%;
  height:93.5%;
  clip-path:polygon(3% 0,100% 0,100% 96%,96% 100%,0 100%,0 4%);
}

/* Тонкий светлый кант связывает все фотографии с рамкой первого экрана. */
.wide-placeholder.has-photo img,
.canvas-stage.has-photo > img,
.mobile-stage.has-photo > img,
.host-photo img,
.strip-photo.has-photo img {
  border:1px solid rgba(243,235,221,.58);
}
.strip-photo.has-photo span,
.strip-photo.has-photo figcaption {
  z-index:4;
  align-self:flex-start;
  position:absolute;
  background:rgba(168,70,50,.94);
  box-shadow:none;
  backdrop-filter:blur(4px);
}
.strip-photo.has-photo span {
  top:7%;
  left:3%;
  padding:.38rem .5rem;
  font-size:.7rem;
}
.strip-photo.has-photo figcaption {
  left:3%;
  bottom:4%;
  max-width:76%;
  padding:.42rem .58rem;
  font-size:clamp(.9rem,.82rem + .28vw,1.08rem);
  line-height:1.16;
  transform:rotate(-.5deg);
}


@media (max-width: 920px) {
  .topbar { min-height:68px; grid-template-columns:1fr 1fr; grid-template-rows:68px auto; }
  .workshop-page section[id] { scroll-margin-top:calc(68px + 1rem); }
  .topbar nav { display:none; }
  .topbar-cta { display:none; }
  .topbar .burger { display:block; justify-self:end; }
  .hero { min-height:auto; grid-template-columns:1fr; grid-template-rows:auto auto auto; padding:32px 1.2rem 4rem; }
  .hero-copy { grid-column:auto; padding:0; }
  .hero h1 { font-size:clamp(2.75rem,1.138rem + 4.3vw,4.312rem); }
  .hero-intro { font-size:1.375rem; margin-top:1.5rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:1.2rem; }
  .hero-art { grid-column:auto; grid-row:2; min-height:0; aspect-ratio:4 / 5; margin-top:3.2rem; clip-path:polygon(4% 0,100% 0,100% 96%,0 100%,0 4%); }
  .hero-photo, .hero-art::after { inset: 7% 5% 9% 10%; width: 85%; height: 84%; }
  .hero-photo { object-position: 52% 46%; }
  .hero-photo-caption { left: 1%; bottom: 12%; max-width: 13rem; }
  .paint-one { width: 42%; height: 12%; top: 12%; right: -8%; }
  .paint-three { width: 38%; height: 10%; left: -7%; bottom: 22%; }
  .hero-meta { grid-row:3; grid-template-columns:1fr; gap:.65rem; margin-top:2.5rem; }
  .hero-meta div { align-items:flex-start; border-bottom:1px solid var(--light-line); padding-bottom:.85rem; }
  .scroll-cue { display:none; }
  .section { padding:var(--space-section) 1.2rem; }
  .manifesto h2, .possibilities h2, .hosts h2, .boundaries h2, .contact-sheet h2, .details h2, .faq h2, .signup h2 { font-size:var(--fs-section); }
  .wide-placeholder { min-height:56svh; margin-top:var(--space-heading); }
  .wide-placeholder.has-photo { min-height:clamp(340px,68vw,540px); }
  .wide-placeholder.has-photo img { inset:4.5% 4% 6% 5%; width:91%; height:89.5%; }
  .process-heading { margin-bottom:4rem; }
  .process-heading h2 { font-size:var(--fs-section); }
  .process-story { grid-template-columns:1fr; gap:0; }
  .process-story > .sticky-canvas, .process-story > .story-steps { grid-column:auto; }
  .sticky-canvas { display:none; }
  .story-steps {
    display:flex;
    gap:1rem;
    overflow-x:auto;
    overflow-y:hidden;
    margin-inline:-1.2rem;
    padding:.35rem 1.2rem 1rem;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1.2rem;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#dda08e rgba(243,235,221,.16);
  }
  .story-steps::-webkit-scrollbar { height:4px; }
  .story-steps::-webkit-scrollbar-track { background:rgba(243,235,221,.16); }
  .story-steps::-webkit-scrollbar-thumb { background:#dda08e; border-radius:999px; }
  .mobile-stage { position:relative; display:block; width:100%; aspect-ratio:4 / 5; margin-bottom:1.5rem; overflow:hidden; background:var(--canvas-deep); clip-path:polygon(6% 0,100% 0,100% 94%,94% 100%,0 100%,0 6%); isolation:isolate; }
  .mobile-stage:nth-child(even)::before { background:#c49746; }
  .mobile-stage .canvas-note { left:1rem; right:auto; bottom:1rem; max-width:none; padding:.5rem .65rem; }
  .mobile-stage .canvas-note strong { display:none; }
  .story-step {
    flex:0 0 calc(100% - 2.25rem);
    min-height:0;
    align-self:stretch;
    justify-content:flex-start;
    padding:.75rem .75rem 1.5rem;
    opacity:1;
    border:1px solid var(--light-line);
    background:rgba(243,235,221,.045);
    scroll-snap-align:start;
  }
  .story-step + .story-step { padding-top:.75rem; }
  .story-step > span { display:none; }
  .story-step h3 { font-size:var(--fs-pointer); }
  .word-field { min-height:470px; margin-top:3rem; grid-template-rows:repeat(5,minmax(72px,1fr)); }
  .word-a { grid-column:1 / 8; grid-row:1; font-size:clamp(2.4rem,11vw,3.2rem); }
  .word-b { grid-column:8 / 13; grid-row:1; font-size:clamp(1.15rem,5.5vw,1.55rem); }
  .word-c { grid-column:1 / 7; grid-row:2; font-size:clamp(2.1rem,10vw,3rem); }
  .word-d { grid-column:8 / 13; grid-row:2; font-size:clamp(1.25rem,6vw,1.8rem); }
  .word-e { grid-column:1 / 6; grid-row:3; font-size:clamp(1.45rem,7vw,2rem); }
  .word-g { grid-column:6 / 13; grid-row:3; font-size:clamp(1.8rem,8.5vw,2.55rem); }
  .word-i { grid-column:1 / 7; grid-row:4; font-size:clamp(1.2rem,5.8vw,1.7rem); }
  .word-j { grid-column:7 / 13; grid-row:4; font-size:clamp(1.35rem,6.4vw,1.9rem); }
  .word-f { grid-column:1 / 8; grid-row:5; font-size:clamp(1.5rem,7vw,2rem); }
  .word-h { grid-column:8 / 13; grid-row:5; font-size:clamp(1.05rem,5vw,1.4rem); }
  .fine-print { margin-left:0 !important; }
  .boundary-list article { grid-template-columns:56px 1fr; gap:16px; padding:24px 0; }
  .host-grid {
    display:flex;
    gap:1rem;
    overflow-x:auto;
    overflow-y:hidden;
    margin-inline:-1.2rem;
    padding:.35rem 1.2rem 1rem;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1.2rem;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#dda08e rgba(243,235,221,.16);
  }
  .host-grid::-webkit-scrollbar { height:4px; }
  .host-grid::-webkit-scrollbar-track { background:rgba(243,235,221,.16); }
  .host-grid::-webkit-scrollbar-thumb { background:#dda08e; border-radius:999px; }
  .host-card { grid-template-columns:1fr; gap:0; padding:1rem; }
  .host-grid > .host-card {
    flex:0 0 calc(100% - 2.25rem);
    align-self:stretch;
    scroll-snap-align:start;
  }
  .hosts-header { margin-bottom:4rem; }
  .host-media-frame, .host-copy { grid-column:auto; grid-row:auto; }
  .therapist-card .host-media-frame, .therapist-card .host-copy { grid-column:auto; grid-row:auto; }
  .host-copy { display:block; min-height:auto; padding:1.5rem; }
  .host-quote { display:none; }
  .artist-card .host-quote,
  .therapist-card .host-quote { width:100%; transform:none; }
  .host-quote::before { left:.9rem; top:.9rem; bottom:.9rem; }
  .photo-strip { align-items:stretch; margin-top:2rem; margin-right:-1.2rem; padding-top:1rem; }
  .strip-photo { flex-basis:min(72vw,300px); height:min(82vw,320px); aspect-ratio:auto; }
  .strip-photo.wide { flex-basis:min(84vw,430px); height:min(82vw,320px); aspect-ratio:auto; }
  .details-list div { grid-template-columns:.65fr 1.35fr; }
  .signup { grid-template-columns:1fr; gap:2rem; padding:5rem 1.2rem; }
  .signup > .signup-intro, .signup > .signup-visual { grid-column:auto; }
  .signup-visual { min-height:230px; margin-top:0; }
  .signup-shape-red { width:160px; right:8%; }
  .signup-shape-blue { width:108px; left:8%; }
}

@media (max-width: 620px) {
  .eyebrow, .section-index {
    margin-bottom:24px;
    font-size:var(--fs-label);
    line-height:1.36;
    letter-spacing:.19em;
  }
  .eyebrow::before, .section-index::before { width:8px; height:8px; }
}

@media (max-width: 520px) {
  .topbar { padding-inline: 1.2rem; }
  .workshop-drawer { margin-inline:-1.2rem; }
  .brand { gap:.55rem; }
  .brand-logo { width:1.8rem; height:1.8rem; }
  .brand-name { font-size:.78rem; }
  .topbar-cta { font-size:.875rem; }
  .hero h1 { font-size:clamp(2.75rem,1.138rem + 4.3vw,4.312rem); letter-spacing:-.03em; }
  .hero-art { min-height:0; }
  .photo-note strong { font-size:.95rem; }
  .details-list div { grid-template-columns:1fr; gap:.35rem; }
  .boundary-list article { grid-template-columns:1fr; row-gap:8px; }
  .boundary-list span { grid-row:auto; }
  .accordion summary { font-size:var(--fs-subheading); }
}

@media (max-width: 360px) {
  .word-field {
    min-height:620px;
    grid-template-rows:repeat(10,minmax(48px,1fr));
  }
  .word-a { grid-column:1 / 10; grid-row:1; }
  .word-b { grid-column:6 / 13; grid-row:2; }
  .word-c { grid-column:1 / 8; grid-row:3; }
  .word-d { grid-column:6 / 13; grid-row:4; }
  .word-e { grid-column:1 / 8; grid-row:5; }
  .word-g { grid-column:5 / 13; grid-row:6; }
  .word-i { grid-column:1 / 8; grid-row:7; }
  .word-j { grid-column:6 / 13; grid-row:8; }
  .word-f { grid-column:1 / 11; grid-row:9; }
  .word-h { grid-column:6 / 13; grid-row:10; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .canvas-stage { transform:none; }
}
.audience-v1 {
  background:
    radial-gradient(640px 480px at 7% 12%, rgba(221,160,142,.2), transparent 70%),
    radial-gradient(620px 480px at 94% 88%, rgba(32,54,95,.1), transparent 72%),
    #eadfce;
  overflow:hidden;
}

.audience-v1-layout {
  display:grid;
  grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));
  gap:var(--grid-gap);
  align-items:start;
}

.audience-v1-intro {
  grid-column:1 / 13;
  margin-bottom:clamp(2.5rem,5vw,4.5rem);
}

.audience-v1-intro h2 {
  margin:0;
  font-family:var(--serif);
  font-size:var(--fs-section);
  font-weight:400;
  line-height:1.09;
  letter-spacing:-.026em;
  text-wrap:balance;
}

.audience-v1-intro > p {
  max-width:31rem;
  margin:0;
  color:var(--ink-muted);
  font-size:var(--fs-body);
  line-height:1.55;
}

.audience-v1-sheets {
  grid-column:1 / 13;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2.2vw,2rem);
}

.audience-v1-sheet {
  --sheet-bg:#f5eee2;
  --sheet-layer:var(--blue);
  --layer-accent:#c49746;
  --layer-spot-x:82%;
  --layer-spot-y:78%;
  --layer-spot-w:58%;
  --layer-spot-h:48%;
  --sheet-edge:var(--blue);
  --layer-rotate:-1deg;
  --orb-size:13rem;
  --orb-x:86%;
  --orb-y:18%;
  position:relative;
  isolation:isolate;
  min-height:220px;
  display:flex;
  transition:transform .25s ease;
}

.audience-v1-sheet::before,
.audience-v1-sheet::after {
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(7% 0,100% 0,100% 90%,92% 100%,0 100%,0 8%);
}

.audience-v1-sheet::before {
  z-index:0;
  background:
    radial-gradient(circle at calc(100% - var(--orb-x)) calc(100% - var(--orb-y)),rgba(255,255,255,.82) 0 10%,rgba(255,255,255,.34) 26%,transparent 48%),
    var(--sheet-edge);
  filter:drop-shadow(0 10px 16px rgba(20,35,63,.14));
}

.audience-v1-sheet::after {
  z-index:-2;
  inset:-5px;
  background:
    radial-gradient(ellipse var(--layer-spot-w) var(--layer-spot-h) at var(--layer-spot-x) var(--layer-spot-y),var(--layer-accent) 0 62%,transparent 63%),
    var(--sheet-layer);
  transform:translate(4px,5px) rotate(var(--layer-rotate));
  transition:transform .25s ease;
}

.audience-v1-face {
  position:relative;
  z-index:1;
  flex:1;
  min-width:0;
  min-height:calc(220px - 4px);
  margin:2px;
  display:flex;
  flex-direction:column;
  padding:clamp(1.5rem,2.6vw,2.2rem);
  background:linear-gradient(145deg,#fbf6ed 0%,var(--sheet-bg) 72%);
  clip-path:polygon(7% 0,100% 0,100% 90%,92% 100%,0 100%,0 8%);
}

.audience-v1-face::before {
  content:"";
  position:absolute;
  z-index:0;
  left:var(--orb-x);
  top:var(--orb-y);
  width:var(--orb-size);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,var(--sheet-layer) 0 18%,transparent 70%);
  opacity:.08;
  transform:translate(-50%,-50%);
  filter:blur(4px);
  mix-blend-mode:multiply;
  pointer-events:none;
}

.audience-v1-face::after {
  content:"";
  position:absolute;
  z-index:0;
  left:calc(100% - var(--orb-x));
  top:calc(100% - var(--orb-y));
  width:calc(var(--orb-size) * .82);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.92) 0 12%,rgba(255,255,255,.5) 34%,transparent 72%);
  opacity:.72;
  transform:translate(-50%,-50%);
  filter:blur(6px);
  mix-blend-mode:screen;
  pointer-events:none;
}

.audience-v1-face > * { position:relative; z-index:1; }

.audience-v1-sheet:nth-child(2) { --orb-size:15rem; --orb-x:12%; --orb-y:88%; --layer-accent:var(--blue); --layer-spot-x:88%; --layer-spot-y:82%; --layer-spot-w:54%; --layer-spot-h:58%; }
.audience-v1-sheet:nth-child(3) { --orb-size:12rem; --orb-x:91%; --orb-y:58%; --layer-accent:var(--red); --layer-spot-x:88%; --layer-spot-y:28%; --layer-spot-w:46%; --layer-spot-h:60%; }
.audience-v1-sheet:nth-child(4) { --orb-size:14rem; --orb-x:18%; --orb-y:9%; --layer-accent:#c49746; --layer-spot-x:24%; --layer-spot-y:84%; --layer-spot-w:64%; --layer-spot-h:42%; }
.audience-v1-sheet:nth-child(5) { --orb-size:16rem; --orb-x:88%; --orb-y:92%; --layer-accent:var(--blue); --layer-spot-x:82%; --layer-spot-y:78%; --layer-spot-w:56%; --layer-spot-h:54%; }
.audience-v1-sheet:nth-child(6) { --orb-size:12.5rem; --orb-x:72%; --orb-y:15%; --layer-accent:var(--olive); --layer-spot-x:90%; --layer-spot-y:34%; --layer-spot-w:54%; --layer-spot-h:62%; }

.audience-v1-sheet:nth-child(3n+2) { transform:translateY(1.6rem); }
.audience-v1-sheet:hover { transform:translateY(-4px); }
.audience-v1-sheet:hover::after { transform:translate(7px,9px) rotate(var(--layer-rotate)); }
.audience-v1-sheet:nth-child(3n+2):hover { transform:translateY(calc(1.6rem - 4px)); }

.audience-v1-sheet h3 {
  position:relative;
  max-width:none;
  margin:0 0 1rem;
  padding-bottom:1rem;
  font-family:var(--serif);
  font-size:var(--fs-subheading);
  font-style:italic;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.012em;
  text-wrap:balance;
}

.audience-v1-sheet h3::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:2.75rem;
  height:2px;
  background:var(--sheet-layer);
}

.audience-v1-sheet p {
  margin:0;
  color:var(--ink-muted);
  font-size:var(--fs-secondary);
  line-height:1.55;
}

.audience-v1-sheet.sheet-blue { --sheet-layer:#c49746; --layer-rotate:1deg; }
.audience-v1-sheet.sheet-red { --sheet-layer:var(--red-dark); --layer-rotate:-.7deg; }
.audience-v1-sheet.sheet-olive { --sheet-layer:var(--red); --layer-rotate:-1.15deg; }
.audience-v1-sheet.sheet-gold { --sheet-layer:var(--blue); --layer-rotate:.8deg; }
.audience-v1-sheet.sheet-sand { --sheet-layer:var(--olive); --layer-rotate:1.1deg; }
.audience-v1-sheet.sheet-paper { --sheet-layer:#dda08e; --layer-rotate:-.85deg; }

.audience-v1-footer {
  display:grid;
  grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));
  gap:var(--grid-gap);
  align-items:start;
  margin-top:clamp(1.5rem,3vw,2.5rem);
  padding-top:0;
  border-top:0;
}

.audience-v1-button {
  grid-column:1 / 5;
  grid-row:2;
  justify-self:start;
  margin-top:1rem;
}

.audience-v1-note {
  grid-column:1 / 5;
  grid-row:1;
  max-width:23rem;
  margin:0;
  padding-top:0;
  border-top:0;
  color:var(--ink-muted);
  font-size:var(--fs-service);
  line-height:1.55;
}

@media (max-width:1000px) {
  .boundaries-intro {
    position:static;
  }
  .boundaries-action { margin-top:clamp(2rem,5vw,3.5rem); }
}

@media (max-width:920px) {
  .audience-v1-layout { grid-template-columns:1fr; gap:3rem; }
  .audience-v1-intro,
  .audience-v1-sheets { grid-column:auto; }
  .audience-v1-intro { margin-bottom:0; }
  .audience-v1-sheets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .audience-v1-sheet:nth-child(3n+2) { transform:none; }
  .audience-v1-sheet:nth-child(even) { transform:translateY(1.6rem); }
  .audience-v1-sheet:nth-child(3n+2):hover { transform:translateY(-4px); }
  .audience-v1-sheet:nth-child(even):hover { transform:translateY(calc(1.6rem - 4px)); }
  .audience-v1-footer { grid-template-columns:1fr; gap:1.5rem; }
  .audience-v1-button,
  .audience-v1-note { grid-column:auto; grid-row:auto; }
  .audience-v1-button { margin-top:0; }
}

@media (max-width:620px) {
  .boundaries-action { margin-top:2rem; }
  .audience-v1-sheets {
    grid-template-columns:none;
    grid-template-rows:repeat(2,minmax(0,auto));
    grid-auto-flow:column;
    grid-auto-columns:minmax(16.75rem,calc(100% - 2.25rem));
    gap:1rem;
    overflow-x:auto;
    overflow-y:hidden;
    padding:.35rem .35rem 1.15rem;
    margin:-.35rem;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:.35rem;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--blue) rgba(32,54,95,.12);
  }
  .audience-v1-sheets::-webkit-scrollbar { height:4px; }
  .audience-v1-sheets::-webkit-scrollbar-track { background:rgba(32,54,95,.12); }
  .audience-v1-sheets::-webkit-scrollbar-thumb { background:var(--blue); border-radius:999px; }
  .audience-v1-sheet,
  .audience-v1-sheet:nth-child(even),
  .audience-v1-sheet:nth-child(3n+2) {
    min-height:220px;
    transform:none;
    scroll-snap-align:start;
  }
  .audience-v1-face { min-height:calc(220px - 4px); padding:1.6rem; }
  .audience-v1-sheet::after { inset:-3px; transform:translate(3px,4px) rotate(var(--layer-rotate)); }
  .audience-v1-sheet:hover,
  .audience-v1-sheet:nth-child(even):hover,
  .audience-v1-sheet:nth-child(3n+2):hover { transform:none; }
  .audience-v1-sheet:hover::after { transform:translate(3px,4px) rotate(var(--layer-rotate)); }
  .audience-v1-sheet > span { margin-bottom:2rem; }
  .audience-v1-sheet h3 { margin:0 0 1rem; padding-bottom:1rem; }
  .audience-v1-footer { margin-top:2.5rem; }
}

@media (prefers-reduced-motion:reduce) {
  .audience-v1-sheet { transition:none; }
}

/* Вариант блока «Кому подойдёт» по ритму process-steps материнского сайта. */
.audience-v1-layout { align-items:start; row-gap:0; }
.audience-v1-intro {
  grid-column:1 / 13;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px var(--grid-gap);
  max-width:none;
  margin:0 0 var(--space-heading);
}
.audience-v1-intro .section-index { grid-column:1 / 13; grid-row:1; display:flex; margin:0; }
.audience-v1-intro h2 { grid-column:1 / 6; grid-row:2; margin:0; }
.audience-v1-intro > p { grid-column:6 / 13; grid-row:2; max-width:none; margin:0; }
.audience-v1-sheets {
  grid-column:1 / 13;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0 var(--grid-gap);
  border-top:1px solid var(--workshop-line);
}
.audience-v1-step {
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  gap:0 24px;
  align-items:baseline;
  align-content:start;
  padding:var(--space-row) 0;
  border-bottom:1px solid var(--workshop-line);
  transition:none;
}
.audience-v1-step:nth-child(odd) { grid-column:1 / 7; }
.audience-v1-step:nth-child(even) { grid-column:7 / 13; }
.audience-v1-step:nth-child(even) {
  padding-left:0;
  background:none;
  box-shadow:none;
}
.audience-v1-step:nth-child(even) h3 { color:inherit; }
.audience-v1-number {
  grid-column:1 / 2;
  align-self:start;
  width:13px;
  height:13px;
  margin-top:.55em;
  border-radius:50%;
  background:var(--red);
}
.audience-v1-step h3 {
  grid-column:2 / 3;
  max-width:none;
  margin:0;
  font-family:var(--serif);
  font-size:var(--fs-фраза);
  font-style:italic;
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.012em;
  text-wrap:wrap;
}
.audience-v1-step:nth-child(odd) h3 { max-width:460px; }
.audience-v1-footer {
  grid-column:1 / 13;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--grid-gap);
  align-items:start;
  margin:var(--space-heading) 0 0;
  padding:0;
  border:0;
}
.audience-v1-button { grid-column:1 / 7; grid-row:1; margin:0; }
.audience-v1-note { grid-column:7 / 13; grid-row:1; max-width:none; margin:0; }

@media (max-width:920px) {
  .audience-v1-layout { grid-template-columns:1fr; column-gap:0; row-gap:0; }
  .audience-v1-intro,
  .audience-v1-sheets,
  .audience-v1-footer { grid-column:auto; grid-row:auto; }
  .audience-v1-intro { display:block; }
  .audience-v1-intro .section-index { margin-bottom:1.15rem; }
  .audience-v1-intro h2 { margin-bottom:1.5rem; }
  .audience-v1-intro > p { max-width:34rem; }
  .audience-v1-sheets { grid-template-columns:1fr; gap:0; }
  .audience-v1-step,
  .audience-v1-step:nth-child(odd),
  .audience-v1-step:nth-child(even) { grid-column:auto; }
  .audience-v1-step:nth-child(odd) h3 { max-width:none; }
  .audience-v1-footer { grid-template-columns:1fr; gap:1rem; margin-top:var(--space-heading); }
  .audience-v1-note,
  .audience-v1-button { grid-column:auto; grid-row:auto; }
}

@media (max-width:620px) {
  .audience-v1-sheets {
    display:block;
    overflow:visible;
    margin:0;
    padding:0;
  }
  .audience-v1-step {
    grid-template-columns:14px minmax(0,1fr);
    gap:0 16px;
    padding:24px 0;
  }
  .audience-v1-step:nth-child(even) { padding-left:0; }
  .audience-v1-number { width:11px; height:11px; }
  .audience-v1-footer { margin-top:var(--space-heading); }
}
