@font-face { font-family: "Place Montserrat"; src: url("/ru-v1-case-place-v1/assets/fonts/Montserrat-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Place Montserrat"; src: url("/ru-v1-case-place-v1/assets/fonts/Montserrat-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Place Montserrat"; src: url("/ru-v1-case-place-v1/assets/fonts/Montserrat-ExtraBold.ttf") format("truetype"); font-weight: 800; font-display: swap; }

:root {
  --place-violet: #423799;
  --place-paper: #f2f2f2;
  --place-white: #fff;
  --place-grey: #afafaf;
  --place-yellow: #fbc800;
  --place-lilac: #ca75d2;
  --place-cyan: #00cbcc;
  --place-orange: #ff7239;
  --place-ink: #17151d;
  --place-line: rgba(23, 21, 29, .16);
  --place-line-light: rgba(255, 255, 255, .24);
  --place-gutter: clamp(24px, 4.4vw, 84px);
  --place-space: clamp(96px, 10vw, 178px);
  --place-display: var(--display, "Arial Narrow", "Helvetica Neue", Arial, sans-serif);
  --place-sans: var(--sans, "Helvetica Neue", Arial, sans-serif);
  --place-brand: "Place Montserrat", Montserrat, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--header-h, 76px) + 18px); }
body.place-case { margin: 0; overflow-x: hidden; background: var(--place-paper); color: var(--place-ink); font-family: var(--place-sans); font-size: 18px; line-height: 1.5; }
.place-case img, .place-case video { display: block; max-width: 100%; }
.place-case figure { margin: 0; }
.place-case .shell { width: min(100%, 1680px); margin-inline: auto; padding-inline: var(--place-gutter); }
.place-case .case-section { position: relative; padding-block: var(--place-space); }
.place-case .eyebrow { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.place-case h1, .place-case h2, .place-case h3 { margin: 0; font-family: var(--place-display); font-weight: 400; line-height: .88; letter-spacing: -.048em; }
.place-case h2 { font-size: clamp(62px, 7.2vw, 138px); }
.place-case p { margin: 0; }
.place-case figcaption { margin-top: 10px; font-size: 10px; letter-spacing: .11em; line-height: 1.35; text-transform: uppercase; }

[data-reveal] { opacity: 1; transform: none; }
.js [data-reveal] { opacity: 0; transform: translateY(25px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.7,.2,1); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

.section-heading { display: grid; grid-template-columns: minmax(150px, .28fr) 1fr; gap: clamp(36px, 5vw, 90px); align-items: start; }
.section-heading h2 { max-width: 1280px; }

/* Hero */
.place-hero { --hero-x: 0; --hero-y: 0; position: relative; min-height: calc(100svh - var(--header-h, 76px)); overflow: hidden; isolation: isolate; background: var(--place-violet); color: var(--place-white); }
.place-hero::before { position: absolute; inset: 0; z-index: -4; background: radial-gradient(circle at 74% 26%, rgba(202,117,210,.35), transparent 29%), radial-gradient(circle at 18% 72%, rgba(0,203,204,.17), transparent 30%), var(--place-violet); content: ""; }
.place-hero__pattern { position: absolute; inset: -16%; z-index: -3; opacity: .25; transform: translate(calc(var(--hero-x) * -12px), calc(var(--hero-y) * -12px)) rotate(-5deg); transition: transform .35s ease-out; }
.place-hero__pattern img { position: absolute; width: min(54vw, 900px); filter: brightness(5); }
.place-hero__pattern img:first-child { top: -8%; left: -3%; rotate: 8deg; }
.place-hero__pattern img:last-child { right: -1%; bottom: -7%; rotate: -12deg; }
.place-hero__shapes { position: absolute; inset: 0; z-index: -2; pointer-events: none; transform: translate(calc(var(--hero-x) * 18px), calc(var(--hero-y) * 18px)); transition: transform .3s ease-out; }
.place-hero__shapes i { position: absolute; width: clamp(58px, 7vw, 134px); aspect-ratio: .95; clip-path: polygon(0 18%, 100% 0, 86% 100%, 8% 82%); animation: place-float 8s ease-in-out infinite; }
.place-hero__shapes i:nth-child(1) { top: 18%; left: 6%; background: var(--place-yellow); }
.place-hero__shapes i:nth-child(2) { top: 10%; right: 13%; width: clamp(45px, 5vw, 96px); background: var(--place-cyan); animation-delay: -2s; }
.place-hero__shapes i:nth-child(3) { right: 5%; bottom: 19%; background: var(--place-orange); animation-delay: -4s; }
.place-hero__shapes i:nth-child(4) { bottom: 13%; left: 28%; width: clamp(38px, 4vw, 74px); background: var(--place-lilac); animation-delay: -6s; }
.place-hero__top { display: flex; justify-content: space-between; gap: 32px; padding-top: clamp(28px, 3.5vw, 58px); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.place-hero__top span { color: rgba(255,255,255,.6); }
.place-hero__mark { position: absolute; top: 42%; right: 0; left: 0; transform: translateY(-50%); }
.place-hero__mark img { width: min(63vw, 1050px); height: auto; margin-inline: auto; filter: drop-shadow(0 20px 60px rgba(25,15,69,.25)); animation: place-mark-in 1.2s cubic-bezier(.16,.72,.22,1) both; }
.place-hero__bottom { position: absolute; right: 0; bottom: clamp(26px, 4.5vh, 58px); left: 0; display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.place-hero__bottom .eyebrow { color: rgba(255,255,255,.66); }
.place-hero h1 { margin-top: 14px; font-size: clamp(43px, 5.1vw, 94px); line-height: .9; color: var(--place-white); }
.place-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.place-hero__tags span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; font-size: 10px; }
.place-hero__bottom > a { display: flex; gap: 12px; align-items: center; color: inherit; font-size: 11px; text-decoration: none; white-space: nowrap; }
@keyframes place-mark-in { from { opacity: 0; transform: scale(.82) translateY(18px); } to { opacity: 1; transform: scale(1) translateY(0); } }
@keyframes place-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-18px) rotate(6deg); } }

/* Case index */
.place-case .case-index { position: relative !important; top: auto !important; z-index: 4; display: grid; grid-template-columns: repeat(8, 1fr); background: var(--place-ink); color: var(--place-white); }
.place-case .case-index a { display: flex; min-height: 78px; gap: 14px; align-items: center; padding: 18px clamp(15px, 1.7vw, 30px); border-right: 1px solid var(--place-line-light); color: inherit; font-size: 11px; text-decoration: none; }
.place-case .case-index a:last-child { border-right: 0; }
.place-case .case-index a span { color: var(--place-cyan); font-size: 9px; }
.place-case .case-index a[aria-current="true"] { background: var(--place-cyan); color: var(--place-ink); }
.place-case .case-index a[aria-current="true"] span { color: var(--place-ink); }

/* Context */
.context { background: var(--place-paper); }
.context .eyebrow { color: var(--place-violet); }
.context__grid { display: grid; grid-template-columns: .55fr 1fr; gap: clamp(56px, 9vw, 160px); margin-top: clamp(86px, 9vw, 154px); }
.context__scope { display: grid; align-content: start; }
.context__scope span { padding: 16px 0; border-top: 1px solid var(--place-line); font-size: 14px; }
.context__scope span:last-child { border-bottom: 1px solid var(--place-line); }
.context__copy { max-width: 900px; font-size: clamp(19px, 1.4vw, 24px); line-height: 1.5; }
.context__copy p + p { margin-top: 1.25em; }
.context__facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(86px, 10vw, 168px); border-top: 1px solid var(--place-line); border-left: 1px solid var(--place-line); }
.context__facts article { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border-right: 1px solid var(--place-line); border-bottom: 1px solid var(--place-line); }
.context__facts strong { font-family: var(--place-display); font-size: clamp(72px, 7vw, 130px); font-weight: 400; line-height: .8; color: var(--place-violet); }
.context__facts span { max-width: 240px; font-size: 13px; }

/* Platform */
.platform { overflow: hidden; background: var(--place-yellow); color: var(--place-ink); }
.platform__grid { display: grid; grid-template-columns: 1.2fr .55fr; gap: clamp(60px, 9vw, 150px); align-items: end; }
.platform .eyebrow { margin-bottom: 42px; color: var(--place-violet); }
.platform h2 { max-width: 1120px; }
.platform__lead { max-width: 620px; padding-bottom: 10px; font-size: clamp(20px, 1.55vw, 28px); line-height: 1.42; }
.platform__values { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(90px, 10vw, 170px); }
.platform__values::before { position: absolute; inset: 0 var(--place-gutter); border-top: 1px solid rgba(23,21,29,.28); border-left: 1px solid rgba(23,21,29,.28); pointer-events: none; content: ""; }
.platform__values article { min-height: 290px; display: flex; flex-direction: column; padding: 24px; border-right: 1px solid rgba(23,21,29,.28); border-bottom: 1px solid rgba(23,21,29,.28); }
.platform__values span { color: var(--place-violet); font-size: 10px; }
.platform__values strong { margin-top: auto; font-family: var(--place-brand); font-size: clamp(29px, 2.5vw, 46px); font-weight: 800; line-height: .95; color: var(--place-violet); }
.platform__values p { margin-top: 22px; font-size: 13px; line-height: 1.45; }

/* Identity */
.identity { padding-bottom: 0 !important; overflow: hidden; background: var(--place-violet); color: var(--place-white); }
.identity__header { display: grid; grid-template-columns: 1fr minmax(290px, .4fr); gap: clamp(44px, 7vw, 120px); align-items: end; }
.identity__header .eyebrow { grid-column: 1 / -1; color: var(--place-cyan); }
.identity__header p:last-child { max-width: 620px; color: rgba(255,255,255,.72); font-size: 18px; }
.identity__logo { display: grid; grid-template-columns: 1fr .42fr; gap: 24px; margin-top: clamp(86px, 10vw, 164px); }
.identity__logo img { width: 100%; height: 100%; max-height: 610px; padding: clamp(40px, 7vw, 112px); object-fit: contain; background: var(--place-paper); }
.identity__parts { display: grid; grid-template-columns: repeat(3, 1fr); margin: clamp(68px, 8vw, 130px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--place-line-light); border-left: 1px solid var(--place-line-light); }
.identity__parts li { min-height: 260px; display: flex; flex-direction: column; padding: 22px; border-right: 1px solid var(--place-line-light); border-bottom: 1px solid var(--place-line-light); }
.identity__parts span { color: var(--place-cyan); font-size: 10px; }
.identity__parts strong { margin-top: auto; font-family: var(--place-brand); font-size: clamp(56px, 6vw, 110px); font-weight: 800; line-height: .85; }
.identity__parts small { max-width: 330px; margin-top: 22px; color: rgba(255,255,255,.63); font-size: 12px; line-height: 1.45; }
.identity__palette { display: grid; grid-template-columns: repeat(5, 1fr); width: 100vw; margin-top: clamp(86px, 10vw, 170px); }
.identity__palette span { min-height: clamp(210px, 21vw, 400px); display: flex; flex-direction: column; justify-content: end; padding: clamp(17px, 2vw, 36px); background: var(--swatch); color: var(--place-ink); }
.identity__palette span:first-child { color: var(--place-white); }
.identity__palette b { font-family: var(--place-brand); font-size: clamp(17px, 1.6vw, 28px); }
.identity__palette small { margin-top: 5px; font-size: 10px; text-transform: uppercase; }

/* Voice */
.voice { overflow: hidden; background: var(--place-ink); color: var(--place-white); }
.voice__header, .system__header, .applications__header, .digital__header, .space__header { display: grid; grid-template-columns: 1fr minmax(300px, .4fr); gap: clamp(48px, 8vw, 128px); align-items: end; }
.voice__header .eyebrow, .system__header .eyebrow, .applications__header .eyebrow, .digital__header .eyebrow, .space__header .eyebrow { margin-bottom: 38px; }
.voice__header .eyebrow { color: var(--place-cyan); }
.voice__header > p { max-width: 620px; color: rgba(255,255,255,.7); font-size: 18px; }
.construction-rail, .photo-rail { display: flex; width: 100vw; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; cursor: grab; touch-action: pan-y; }
.construction-rail::-webkit-scrollbar, .photo-rail::-webkit-scrollbar { display: none; }
.construction-rail.is-dragging, .photo-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.construction-rail { gap: 20px; margin-top: clamp(86px, 10vw, 166px); padding: 0 var(--place-gutter) 22px; }
.construction-rail figure { flex: 0 0 min(64vw, 1040px); scroll-snap-align: center; }
.construction-rail img { width: 100%; aspect-ratio: 1.45; object-fit: contain; background: transparent; }
.construction-rail figcaption { color: rgba(255,255,255,.55); }
.rail-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; color: rgba(23,21,29,.62); }
.rail-controls--dark { color: rgba(255,255,255,.72); }
.rail-controls > p { font-family: var(--place-display); font-size: 42px; }
.rail-controls > div { display: flex; gap: 8px; align-items: center; }
.rail-controls button, .object-showcase__controls button { width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.rail-controls a { margin-right: 22px; color: inherit; font-size: 12px; text-decoration: none; }

/* Visual system */
.system { overflow: hidden; isolation: isolate; background: var(--place-lilac); }
.system__pattern { position: absolute; inset: 22% -8% -8%; z-index: -1; opacity: .18; }
.system__pattern img { position: absolute; width: 56vw; filter: brightness(.3) saturate(2); }
.system__pattern img:first-child { left: -4%; bottom: 0; rotate: -8deg; }
.system__pattern img:last-child { right: -5%; top: 0; rotate: 8deg; }
.system__header .eyebrow { color: var(--place-violet); }
.system__header > p { max-width: 620px; font-size: 18px; }
.system__faces { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: clamp(86px, 10vw, 166px); }
.system__faces figure { min-width: 0; }
.system__faces span { display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 50%; }
.system__faces figure:nth-child(1) span { background: var(--place-yellow); }
.system__faces figure:nth-child(2) span { background: var(--place-orange); }
.system__faces figure:nth-child(3) span { background: var(--place-cyan); }
.system__faces figure:nth-child(4) span { background: var(--place-violet); }
.system__faces img { width: 78%; height: 78%; object-fit: contain; filter: drop-shadow(0 18px 28px rgba(66,55,153,.16)); transition: transform .45s ease; }
.system__faces figure:hover img { transform: scale(1.06) rotate(-2deg); }
.system__faces figcaption { color: rgba(23,21,29,.62); }
.system__lockups { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(76px, 8vw, 130px); }
.system__lockups p { min-height: 200px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; background: rgba(66,55,153,.92); color: var(--place-white); }
.system__lockups p + p { border-left: 1px solid rgba(23,21,29,.46); }
.system__lockups strong { font-family: var(--place-brand); font-size: clamp(30px, 3.5vw, 66px); font-weight: 800; }
.system__lockups img { width: min(76%, 280px); margin-left: auto; }

/* Objects */
.applications { padding-bottom: 0 !important; overflow: hidden; background: var(--place-paper); }
.applications__header .eyebrow { color: var(--place-violet); }
.applications__header > p { max-width: 620px; font-size: 18px; }
.object-showcase { margin-top: clamp(86px, 10vw, 166px); }
.object-showcase__stage { position: relative; min-height: min(78vw, 940px); overflow: hidden; background: var(--place-white); outline: none; touch-action: pan-y; }
.object-showcase__stage:focus-visible { outline: 3px solid var(--place-cyan); outline-offset: -4px; }
.object-showcase__stage figure { position: absolute; inset: 0; z-index: 1; display: grid; grid-template-rows: 1fr auto; align-items: center; padding: clamp(38px, 5vw, 88px) var(--place-gutter) 34px; opacity: 0; transform: translateX(7%) scale(.96); pointer-events: none; transition: opacity .55s ease, transform .65s cubic-bezier(.2,.72,.2,1); }
.object-showcase__stage figure.is-active { opacity: 1; transform: none; pointer-events: auto; }
.object-showcase__stage img { width: min(92vw, 1520px); height: min(59vw, 720px); margin: auto; object-fit: contain; filter: drop-shadow(0 30px 42px rgba(25,15,69,.18)); }
.object-showcase__stage figcaption { display: grid; grid-template-columns: 55px 1fr auto; align-items: end; width: 100%; margin: 0; color: var(--place-ink); }
.object-showcase__stage figcaption span { color: var(--place-violet); }
.object-showcase__stage figcaption strong { font-family: var(--place-brand); font-size: clamp(25px, 2.2vw, 40px); text-transform: none; }
.object-showcase__stage figcaption small { color: rgba(23,21,29,.58); }
.object-showcase__controls { display: flex; justify-content: space-between; align-items: center; min-height: 92px; color: var(--place-ink); }
.object-showcase__controls > p { font-family: var(--place-display); font-size: 40px; }
.object-showcase__controls > div { display: flex; gap: 8px; }

/* Digital */
.digital { overflow: hidden; background: var(--place-violet); color: var(--place-white); }
.digital__header .eyebrow { color: var(--place-cyan); }
.digital__header > p { max-width: 620px; color: rgba(255,255,255,.72); font-size: 18px; }
.digital__video { width: min(calc(100% - (2 * var(--place-gutter))), 1680px); margin: clamp(86px, 10vw, 166px) auto 0; }
.digital__video video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--place-paper); }
.digital__video figcaption { color: rgba(255,255,255,.58); }

@media (min-width: 1181px) {
  .digital__video { position: relative; height: 973px; }
  .digital__video video {
    position: absolute;
    top: 104.55px;
    left: 214.5px;
    width: 1512px;
    height: 850.5px;
    max-width: none;
  }
  .digital__video > figcaption {
    position: absolute;
    top: 975px;
    left: 214.4px;
    width: 1512.188px;
    height: 18px;
    margin-top: 0;
  }
}

/* Space */
.space { overflow: hidden; background: var(--place-paper); }
.space__header .eyebrow { color: var(--place-violet); }
.space__header > p { max-width: 620px; font-size: 18px; }
.photo-rail { gap: 22px; margin-top: clamp(86px, 10vw, 166px); padding: 0 var(--place-gutter) 24px; }
.photo-rail figure { flex: 0 0 min(72vw, 1220px); scroll-snap-align: center; }
.photo-rail img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.photo-rail figcaption { color: rgba(23,21,29,.52); }

/* Result, related, contact */
.result { background: var(--place-white); }
.result .eyebrow { color: var(--place-violet); }
.result__grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(58px, 10vw, 170px); margin-top: clamp(84px, 10vw, 162px); }
.result__grid > div { max-width: 840px; font-size: clamp(23px, 2.05vw, 36px); line-height: 1.32; letter-spacing: -.025em; }
.result__grid > div p + p { margin-top: 1.2em; }
.result__grid ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--place-line); }
.result__grid li { padding: 17px 0; border-bottom: 1px solid var(--place-line); font-size: 14px; }
.related { background: var(--place-ink); color: var(--place-white); }
.related__grid { display: grid; grid-template-columns: .68fr 1fr; gap: clamp(50px, 8vw, 128px); align-items: center; }
.related .eyebrow { color: var(--place-cyan); }
.related h2 { margin-top: 36px; color: var(--place-cyan); }
.related__grid > div > p:not(.eyebrow) { max-width: 560px; margin-top: 34px; color: rgba(255,255,255,.68); }
.related__link { display: inline-block; margin-top: 36px; color: inherit; font-size: 13px; text-decoration: none; }
.related__card { position: relative; overflow: hidden; color: inherit; text-decoration: none; }
.related__card img { width: 100%; aspect-ratio: 1.42; object-fit: cover; transition: transform .5s ease; }
.related__card span { position: absolute; right: 18px; bottom: 18px; padding: 9px 12px; background: rgba(23,21,29,.86); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.related__card:hover img { transform: scale(1.025); }
.place-case .contact { --text-gradient: linear-gradient(105deg, var(--place-cyan), var(--place-lilac), var(--place-yellow)); background: radial-gradient(circle at 88% 8%, rgba(0,203,204,.17), transparent 32%), var(--place-violet); }
.place-case .contact .eyebrow { color: var(--place-cyan); }
.place-case .contact .button { background: var(--place-cyan); color: var(--place-ink); }
.place-case .contact__inner { min-height: 82svh; display: grid; grid-template-columns: minmax(160px,.25fr) 1fr; grid-template-rows: auto 1fr; gap: 50px; align-items: start; padding-top: var(--place-space); padding-bottom: var(--place-space); }
.place-case .contact__inner h2 { max-width: 1240px; color: var(--place-paper); }
.place-case .contact__inner > div { grid-column: 2; display: flex; gap: 24px; align-items: center; align-self: end; }
.place-case .contact__inner > div p { max-width: 560px; color: rgba(255,255,255,.67); }
.place-case .contact__inner a:not(.button) { color: var(--place-white); white-space: nowrap; }
.place-case .site-footer { border-top-color: rgba(255,255,255,.18); }

html.is-static .place-case *, html.is-static .place-case *::before, html.is-static .place-case *::after { animation: none !important; transition: none !important; }
html.is-static .place-case [data-reveal] { opacity: 1 !important; transform: none !important; }

@media (max-width: 1180px) {
  .place-case .case-index { grid-template-columns: repeat(4, 1fr); }
  .place-case .case-index a:nth-child(-n+4) { border-bottom: 1px solid var(--place-line-light); }
  .place-case .case-index a:nth-child(4n) { border-right: 0; }
  .platform__grid { grid-template-columns: 1fr; align-items: start; }
  .platform__lead { max-width: 920px; }
  .platform__values { grid-template-columns: repeat(2, 1fr); }
  .system__faces { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 959px) {
  .place-case .mobile-menu { justify-content: flex-start; gap: 40px; overflow-y: auto; overscroll-behavior: contain; }
  .place-case .mobile-menu__footer { margin-top: auto; padding-top: 32px; }
}

@media (max-width: 767px) {
  body.place-case { font-size: 16px; }
  .place-case .case-section { padding-block: 86px; }
  .place-case h2 { font-size: clamp(49px, 14vw, 76px); line-height: .91; }
  .section-heading, .identity__header, .voice__header, .system__header, .applications__header, .digital__header, .space__header { display: block; }
  .section-heading h2, .identity__header h2, .voice__header h2, .system__header h2, .applications__header h2, .digital__header h2, .space__header h2 { margin-top: 28px; }
  .identity__header p:last-child, .voice__header > p, .system__header > p, .applications__header > p, .digital__header > p, .space__header > p { margin-top: 34px; font-size: 16px; }

  .place-hero { min-height: max(720px, calc(100svh - var(--header-h, 76px))); }
  .place-hero__top { padding-top: 22px; font-size: 8px; }
  .place-hero__top p { max-width: 210px; }
  .place-hero__mark { top: 36%; }
  .place-hero__mark img { width: 82vw; }
  .place-hero__pattern { opacity: .17; }
  .place-hero__pattern img { width: 105vw; }
  .place-hero__shapes i:nth-child(3) { display: none; }
  .place-hero__bottom { bottom: 28px; display: block; }
  .place-hero h1 { font-size: min(14vw, 64px); }
  .place-hero__bottom > a { margin-top: 22px; }
  .place-hero__tags { max-width: 350px; }

  .place-case .case-index { grid-template-columns: repeat(2, 1fr); }
  .place-case .case-index a { min-height: 66px; padding: 15px 14px; font-size: 10px; }
  .place-case .case-index a:nth-child(4n) { border-right: 1px solid var(--place-line-light); }
  .place-case .case-index a:nth-child(2n) { border-right: 0; }
  .place-case .case-index a:nth-child(-n+6) { border-bottom: 1px solid var(--place-line-light); }

  .context__grid { grid-template-columns: 1fr; gap: 58px; margin-top: 64px; }
  .context__copy { font-size: 18px; }
  .context__facts { grid-template-columns: 1fr; margin-top: 76px; }
  .context__facts article { min-height: 175px; padding: 17px; }
  .context__facts strong { font-size: 68px; }

  .platform .eyebrow { margin-bottom: 28px; }
  .platform__grid { gap: 42px; }
  .platform__lead { font-size: 18px; }
  .platform__values { grid-template-columns: 1fr; margin-top: 68px; }
  .platform__values article { min-height: 210px; padding: 18px; }

  .identity__logo { grid-template-columns: 1fr; margin-top: 66px; }
  .identity__logo img { min-height: 250px; padding: 46px 30px; }
  .identity__parts { grid-template-columns: 1fr; margin-top: 56px; }
  .identity__parts li { min-height: 190px; }
  .identity__palette { grid-template-columns: 1fr 1fr; margin-top: 70px; }
  .identity__palette span { min-height: 160px; }
  .identity__palette span:first-child { grid-column: 1 / -1; }

  .construction-rail { gap: 12px; margin-top: 68px; padding-inline: 18px; }
  .construction-rail figure { flex-basis: 88vw; }
  .construction-rail img { aspect-ratio: 1.25; }
  .rail-controls { padding-inline: 18px !important; }
  .rail-controls > p { font-size: 32px; }
  .rail-controls a { max-width: 135px; margin-right: 8px; }

  .system__faces { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 68px; }
  .system__lockups { grid-template-columns: 1fr; margin-top: 58px; }
  .system__lockups p { min-height: 170px; }
  .system__lockups p + p { border-top: 1px solid rgba(23,21,29,.46); border-left: 0; }

  .object-showcase { margin-top: 68px; }
  .object-showcase__stage { min-height: 670px; }
  .object-showcase__stage figure { padding: 28px 18px 24px; }
  .object-showcase__stage img { width: 100%; height: 470px; }
  .object-showcase__stage figcaption { grid-template-columns: 35px 1fr; gap: 5px; }
  .object-showcase__stage figcaption small { grid-column: 2; }
  .object-showcase__controls { min-height: 78px; }

  .digital__video { width: 100%; margin-top: 68px; }
  .digital__video figcaption { padding-inline: 18px; }
  .photo-rail { gap: 12px; margin-top: 68px; padding-inline: 18px; }
  .photo-rail figure { flex-basis: 88vw; }
  .photo-rail img { aspect-ratio: 4 / 3; }

  .result__grid { grid-template-columns: 1fr; gap: 60px; margin-top: 68px; }
  .result__grid > div { font-size: 23px; }
  .related__grid { grid-template-columns: 1fr; }
  .related__card { margin-top: 22px; }
  .place-case .contact__inner { min-height: auto; display: block; padding-top: 86px; padding-bottom: 86px; }
  .place-case .contact__inner h2 { margin-top: 30px; }
  .place-case .contact__inner > div { display: grid; justify-items: start; margin-top: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .place-hero__mark img, .place-hero__shapes i { animation: none; }
  .place-hero__pattern, .place-hero__shapes { transform: none; transition: none; }
  .system__faces img, .related__card img { transition: none; }
}
