/* Yaren V2 — keskin, mimari ve görsel ağırlıklı deneyim katmanı */

:root {
  --yaren-ink: #081321;
  --yaren-navy: #0c1b2f;
  --yaren-navy-2: #14263d;
  --yaren-amber: #e6a817;
  --yaren-paper: #f4f3ef;
  --yaren-line: rgba(255, 255, 255, 0.16);
}

/* Premium mobile navigation V2.2 */
body.menu-is-open {
  overflow: hidden;
  overscroll-behavior: none;
}

.mobile-menu {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100%;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 92% 10%, rgba(242, 172, 34, 0.13), transparent 25rem),
    linear-gradient(138deg, #07111f 0%, #0b192d 52%, #071321 100%);
  opacity: 0;
  transform: translate3d(100%, 0, 0);
  transition:
    transform 0.58s cubic-bezier(0.77, 0, 0.18, 1),
    opacity 0.34s ease,
    visibility 0s linear 0.58s;
  visibility: hidden;
  will-change: transform;
}

.mobile-menu::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  opacity: 0.72;
  -webkit-mask-image: linear-gradient(135deg, #000, transparent 82%);
  mask-image: linear-gradient(135deg, #000, transparent 82%);
}

.mobile-menu::after {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--amber), rgba(242, 172, 34, 0.08) 78%, transparent);
  content: "";
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.65s 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-menu.is-open {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: 0s;
  visibility: visible;
}

.mobile-menu.is-open::after {
  transform: scaleY(1);
}

.mobile-menu__top,
.mobile-nav,
.mobile-menu__foot {
  position: relative;
  z-index: 1;
}

.mobile-menu__top {
  min-height: 100px;
  flex: 0 0 auto;
  max-height:min(42dvh,290px);
  overflow-y:auto;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  padding:
    max(22px, env(safe-area-inset-top))
    max(28px, env(safe-area-inset-right))
    20px
    max(28px, env(safe-area-inset-left));
  opacity: 0;
  transform: translateY(-18px);
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-menu.is-open .mobile-menu__top {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

.mobile-menu__top .brand {
  min-width: 0;
  gap: 12px;
}

.mobile-menu__top .brand__mark {
  width: 42px;
  height: 46px;
  flex: 0 0 auto;
  border-left-width: 3px;
  border-color: var(--amber);
  background: rgba(255, 255, 255, 0.025);
}

.mobile-menu__top .brand__type {
  min-width: 0;
}

.mobile-menu__top .brand__type strong {
  overflow: hidden;
  color: #fff;
  font-size: 21px;
  letter-spacing: 0.18em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mobile-menu__top .brand__type small {
  overflow: hidden;
  color: #8693a4;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mobile-menu__top button {
  position: relative;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.035);
  color: #fff;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.mobile-menu__top button::after {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 13px;
  height: 13px;
  border-right: 2px solid var(--amber);
  border-bottom: 2px solid var(--amber);
  content: "";
}

.mobile-menu__top button:hover,
.mobile-menu__top button:focus-visible {
  border-color: rgba(242, 172, 34, 0.7);
  background: var(--amber);
  color: var(--navy-950);
  transform: rotate(4deg);
}

.mobile-nav {
  min-height: 0;
  flex: 1 1 auto;
  justify-content: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(22px, 5vh, 52px) max(28px, env(safe-area-inset-right)) 24px max(28px, env(safe-area-inset-left));
  scrollbar-color: rgba(242, 172, 34, 0.48) transparent;
  scrollbar-width: thin;
}

.mobile-nav::-webkit-scrollbar {
  width: 3px;
}

.mobile-nav::-webkit-scrollbar-thumb {
  background: rgba(242, 172, 34, 0.48);
}

.mobile-nav a {
  position: relative;
  grid-template-columns: 44px minmax(0, 1fr) 32px;
  min-height: 64px;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  padding: 14px 0;
  color: #f5f7fa;
  font-size: clamp(21px, 3.5vh, 31px);
  font-weight: 600;
  letter-spacing: -0.025em;
  opacity: 0;
  transform: translateX(34px);
  transition:
    color 0.25s ease,
    padding 0.3s ease,
    border-color 0.25s ease,
    opacity 0.38s ease,
    transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-nav a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -28px;
  width: 3px;
  background: var(--amber);
  content: "";
  transform: scaleY(0);
  transition: transform 0.25s ease;
}

.mobile-nav a > span {
  align-self: center;
  color: var(--amber);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
}

.mobile-nav a > svg {
  justify-self: end;
  color: #667489;
  transform: translateX(-7px);
  transition: color 0.25s ease, transform 0.3s ease;
}

.mobile-menu.is-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}

.mobile-menu.is-open .mobile-nav a:nth-child(1) { transition-delay: 0.23s; }
.mobile-menu.is-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
.mobile-menu.is-open .mobile-nav a:nth-child(3) { transition-delay: 0.31s; }
.mobile-menu.is-open .mobile-nav a:nth-child(4) { transition-delay: 0.35s; }
.mobile-menu.is-open .mobile-nav a:nth-child(5) { transition-delay: 0.39s; }
.mobile-menu.is-open .mobile-nav a:nth-child(6) { transition-delay: 0.43s; }
.mobile-menu.is-open .mobile-nav a:nth-child(7) { transition-delay: 0.47s; }
.mobile-menu.is-open .mobile-nav a:nth-child(8) { transition-delay: 0.51s; }

.mobile-nav a:hover,
.mobile-nav a:focus-visible {
  border-bottom-color: rgba(242, 172, 34, 0.38);
  color: var(--amber-bright);
  padding-left: 8px;
}

.mobile-nav a:hover::before,
.mobile-nav a:focus-visible::before {
  transform: scaleY(1);
}

.mobile-nav a:hover > svg,
.mobile-nav a:focus-visible > svg {
  color: var(--amber);
  transform: translateX(0);
}

.mobile-menu__foot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex: 0 0 auto;
  gap: 17px 24px;
  border-top-color: rgba(255, 255, 255, 0.1);
  padding:
    21px
    max(28px, env(safe-area-inset-right))
    max(24px, env(safe-area-inset-bottom))
    max(28px, env(safe-area-inset-left));
  color: #8d99aa;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-menu.is-open .mobile-menu__foot {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.42s;
}

.mobile-menu__foot a {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  overflow-wrap: anywhere;
  color: #e5e9ee;
  font: 600 12px/1.35 var(--font-display);
}

.mobile-menu__foot a::before {
  color: var(--amber);
  font: 800 8px/1 var(--font-display);
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.mobile-menu__foot a:first-child::before {
  content: "Telefon";
}

.mobile-menu__foot a:nth-child(2)::before {
  content: "E-posta";
}

.mobile-menu__foot > span {
  grid-column: 1 / -1;
  max-width: 680px;
  padding-top: 2px;
  color: #758297;
  font-size: 11px;
  line-height: 1.5;
}

.mobile-menu a:focus-visible,
.mobile-menu button:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 4px;
}

@media (max-width: 1040px) {
  .menu-toggle {
    position: relative;
    border: 1px solid rgba(10, 25, 45, 0.12);
    background: #f6f5f1;
    color: var(--navy-950);
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  }

  .menu-toggle::after {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 11px;
    height: 11px;
    border-right: 2px solid var(--amber);
    border-bottom: 2px solid var(--amber);
    content: "";
  }

  .menu-toggle:hover,
  .menu-toggle:focus-visible {
    border-color: var(--amber);
    background: var(--navy-950);
    color: #fff;
    outline: 2px solid rgba(242, 172, 34, 0.35);
    outline-offset: 3px;
  }
}

@media (max-width: 520px) {
  .mobile-menu__top {
    min-height: 82px;
    padding:
      max(15px, env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      14px
      max(18px, env(safe-area-inset-left));
  }

  .mobile-menu__top .brand {
    gap: 9px;
    max-width: calc(100% - 58px);
  }

  .mobile-menu__top .brand__mark {
    width: 34px;
    height: 38px;
    padding: 6px 5px;
  }

  .mobile-menu__top .brand__type strong {
    font-size: 17px;
    letter-spacing: 0.14em;
  }

  .mobile-menu__top .brand__type small {
    max-width: 190px;
    margin-top: 5px;
    font-size: 6px;
  }

  .mobile-menu__top button {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .mobile-nav {
    padding: clamp(14px, 3vh, 26px) max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left));
  }

  .mobile-nav a {
    grid-template-columns: 35px minmax(0, 1fr) 26px;
    min-height: 56px;
    padding: 11px 0;
    font-size: clamp(18px, 5.4vw, 23px);
  }

  .mobile-nav a::before {
    left: -18px;
  }

  .mobile-menu__foot {
    gap: 14px 18px;
    padding:
      17px
      max(18px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }

  .mobile-menu__foot a {
    font-size: 10px;
  }

  .mobile-menu__foot > span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (max-height: 640px) and (min-width: 600px) {
  .mobile-menu__top {
    min-height: 72px;
    padding-top: max(10px, env(safe-area-inset-top));
    padding-bottom: 10px;
  }

  .mobile-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    column-gap: 34px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .mobile-nav a {
    min-height: 50px;
    padding-block: 8px;
    font-size: clamp(17px, 3.6vh, 22px);
  }

  .mobile-menu__foot {
    padding-top: 13px;
    padding-bottom: max(13px, env(safe-area-inset-bottom));
  }

  .mobile-menu__foot > span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu,
  .mobile-menu::after,
  .mobile-menu__top,
  .mobile-nav a,
  .mobile-menu__foot,
  .mobile-nav a > svg,
  .menu-toggle,
  .mobile-menu__top button {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}

.button,
.outline-link,
.header-contact,
.admin-primary,
.admin-secondary,
.admin-field input,
.admin-field textarea,
.admin-field select {
  border-radius: 0 !important;
}

/* Hero V2 */
.hero {
  min-height: min(860px, calc(100svh - 42px));
  background: var(--yaren-ink);
  isolation: isolate;
}

.hero::after {
  position: absolute;
  inset: 0 auto 0 11%;
  width: 1px;
  content: "";
  z-index: 4;
  background: rgba(255, 255, 255, 0.12);
  pointer-events: none;
}

.hero-slide {
  overflow: hidden;
}

.hero-slide__media {
  transform: scale(1.085);
  filter: saturate(0.82) contrast(1.05);
  transition: opacity 1s ease, transform 8s cubic-bezier(0.16, 1, 0.3, 1), filter 1.2s ease;
}

.hero-slide.is-active .hero-slide__media {
  transform: scale(1.015);
  filter: saturate(0.98) contrast(1.03);
}

.hero-slide__overlay {
  background:
    linear-gradient(90deg, rgba(4, 12, 23, 0.96) 0%, rgba(5, 15, 28, 0.82) 34%, rgba(5, 15, 28, 0.24) 67%, rgba(5, 15, 28, 0.35) 100%),
    linear-gradient(0deg, rgba(4, 12, 23, 0.72), transparent 45%);
}

.hero-slide__grid {
  opacity: 0.34;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.hero-slide__line {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: var(--yaren-amber);
}

.hero-slide.is-active .hero-slide__line {
  animation: yarenLine 1.2s cubic-bezier(.16,1,.3,1) .15s forwards;
}

.hero-copy {
  max-width: 760px;
}

.hero-copy__eyebrow {
  gap: 13px;
  letter-spacing: .17em;
  transform: translateY(20px);
  opacity: 0;
}

.hero-copy__eyebrow b {
  color: var(--yaren-amber);
  font-size: 11px;
  font-weight: 700;
}

.hero-copy h1,
.hero-copy > p,
.hero-copy__actions {
  opacity: 0;
  transform: translateY(34px);
}

.hero-slide.is-active .hero-copy__eyebrow,
.hero-slide.is-active .hero-copy h1,
.hero-slide.is-active .hero-copy > p,
.hero-slide.is-active .hero-copy__actions {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .8s ease, transform .9s cubic-bezier(.16,1,.3,1);
}

.hero-slide.is-active .hero-copy__eyebrow { transition-delay: .2s; }
.hero-slide.is-active .hero-copy h1 { transition-delay: .32s; }
.hero-slide.is-active .hero-copy > p { transition-delay: .44s; }
.hero-slide.is-active .hero-copy__actions { transition-delay: .56s; }

.hero-copy h1 {
  max-width: 780px;
  font-size: clamp(54px, 6vw, 96px);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.hero-copy > p {
  max-width: 625px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.75;
}

.hero-copy__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.button--ghost-light {
  color: #fff;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(7,18,32,.14);
  backdrop-filter: blur(8px);
}

.button--ghost-light:hover {
  color: var(--yaren-ink);
  background: #fff;
  border-color: #fff;
}

.hero__controls {
  bottom: 43px;
}

.hero__dots button {
  height: 22px;
}

.hero__dots button span {
  height: 2px;
}

.hero__progress {
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  overflow: hidden;
  background: rgba(255,255,255,.16);
}

.hero__progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--yaren-amber);
}

.hero__progress span.is-running {
  animation: heroProgress 7s linear forwards;
}

.hero-slide__caption {
  font-variant-numeric: tabular-nums;
  letter-spacing: .18em;
}

/* Compact project portfolio */
.compact-portfolio {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  padding: 76px 0 88px;
  color: #fff;
  background: var(--yaren-navy);
}

.compact-portfolio__backdrop,
.compact-portfolio__veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.compact-portfolio__backdrop {
  object-fit: cover;
  opacity: .16;
  filter: grayscale(1) contrast(1.25);
  transform: scale(1.05);
}

.compact-portfolio__veil {
  background:
    linear-gradient(120deg, rgba(8,21,38,.98), rgba(12,29,50,.84)),
    repeating-linear-gradient(90deg, transparent 0 110px, rgba(255,255,255,.03) 110px 111px);
}

.compact-portfolio__inner {
  position: relative;
  z-index: 2;
}

.compact-portfolio__head {
  display: grid;
  justify-items: center;
  text-align: center;
}

.compact-portfolio__head h2 {
  margin: 8px 0 14px;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.compact-portfolio__rule {
  width: 270px;
  height: 1px;
  background: rgba(255,255,255,.28);
}

.compact-portfolio__tabs {
  display: flex;
  justify-content: center;
  gap: 34px;
  margin: 32px 0 34px;
}

.compact-portfolio__tabs button {
  position: relative;
  padding: 0 0 10px;
  color: rgba(255,255,255,.58);
  border: 0;
  background: none;
  font: 700 12px/1.2 "Manrope", sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
}

.compact-portfolio__tabs button::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
  transform: scaleX(0);
  background: var(--yaren-amber);
  transform-origin: left;
  transition: transform .3s ease;
}

.compact-portfolio__tabs button:hover,
.compact-portfolio__tabs button.is-active { color: #fff; }
.compact-portfolio__tabs button.is-active::after { transform: scaleX(1); }

.compact-portfolio__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 32px 90px rgba(0,0,0,.28);
}

.compact-project {
  position: relative;
  display: block;
  aspect-ratio: 1.42;
  overflow: hidden;
  color: #fff;
  border-right: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: #0b1627;
  animation: tileIn .55s cubic-bezier(.16,1,.3,1) both;
  animation-delay: calc(var(--tile-order) * 45ms);
}

.compact-project:nth-child(4n) { border-right: 0; }
.compact-project:nth-last-child(-n + 4) { border-bottom: 0; }

.compact-project img,
.compact-project__veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.compact-project img {
  object-fit: cover;
  transition: transform .8s cubic-bezier(.16,1,.3,1), filter .5s ease;
}

.compact-project__veil {
  background: linear-gradient(0deg, rgba(4,12,22,.92), rgba(4,12,22,.02) 70%);
  opacity: .38;
  transition: opacity .35s ease;
}

.compact-project__index,
.compact-project__copy,
.compact-project__arrow {
  position: absolute;
  z-index: 2;
}

.compact-project__index {
  top: 16px;
  left: 18px;
  color: rgba(255,255,255,.72);
  font: 600 10px/1 "Manrope", sans-serif;
  letter-spacing: .15em;
}

.compact-project__copy {
  right: 18px;
  bottom: 17px;
  left: 18px;
  display: grid;
  gap: 4px;
  transform: translateY(16px);
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}

.compact-project__copy small,
.compact-project__copy em {
  font: 600 9px/1.2 "Manrope", sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.compact-project__copy small { color: var(--yaren-amber); }
.compact-project__copy b { font: 700 17px/1.2 "Manrope", sans-serif; }
.compact-project__copy em { opacity: 0; color: rgba(255,255,255,.65); font-style: normal; transition: opacity .3s ease .08s; }
.compact-project__arrow { right: 16px; top: 15px; transform: translateX(-10px); opacity: 0; }

.compact-project:hover img { transform: scale(1.08); filter: saturate(.75); }
.compact-project:hover .compact-project__veil { opacity: .92; }
.compact-project:hover .compact-project__copy { transform: translateY(0); }
.compact-project:hover .compact-project__copy em,
.compact-project:hover .compact-project__arrow { opacity: 1; transform: translateX(0); }

.compact-project.is-filtered-out { display: none; }

.compact-portfolio__all {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 10px;
  margin: 28px auto 0;
  color: #fff;
  font: 700 12px/1 "Manrope", sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
}

/* Three visual disciplines */
.expertise-cinema {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: 430px;
  background: var(--yaren-ink);
}

.expertise-frame {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  color: #fff;
  border-right: 1px solid rgba(255,255,255,.18);
}

.expertise-frame:last-child { border-right: 0; }
.expertise-frame::after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(4,12,22,.9),transparent 65%); }
.expertise-frame img { width:100%; height:100%; object-fit:cover; filter:saturate(.72); transition:transform .9s cubic-bezier(.16,1,.3,1),filter .45s ease; }
.expertise-frame > span { position:absolute; z-index:2; right:38px; bottom:38px; left:38px; display:grid; gap:7px; }
.expertise-frame small { color:var(--yaren-amber); font:700 11px/1 "Manrope",sans-serif; letter-spacing:.16em; }
.expertise-frame b { font:700 clamp(22px,2.2vw,34px)/1.08 "Manrope",sans-serif; }
.expertise-frame em { color:rgba(255,255,255,.65); font:600 10px/1 "Manrope",sans-serif; font-style:normal; letter-spacing:.13em; text-transform:uppercase; }
.expertise-frame:hover img { transform:scale(1.055); filter:saturate(1); }

/* Floating contact menu */
.floating-contact {
  position: fixed;
  z-index: 180;
  right: 27px;
  bottom: 28px;
  display: grid;
  justify-items: end;
  gap: 10px;
}

.floating-contact__panel {
  display: grid;
  gap: 7px;
  pointer-events: none;
}

.floating-contact__panel a {
  display: flex;
  min-width: 154px;
  align-items: center;
  gap: 11px;
  padding: 10px 13px 10px 10px;
  color: var(--yaren-ink);
  opacity: 0;
  background: #fff;
  box-shadow: 0 13px 34px rgba(2,8,17,.18);
  transform: translateY(12px);
  transition: opacity .25s ease, transform .35s cubic-bezier(.16,1,.3,1);
}

.floating-contact__panel a:nth-child(2) { transition-delay: 35ms; }
.floating-contact__panel a:nth-child(1) { transition-delay: 70ms; }
.floating-contact__panel a span { display:grid; width:34px; height:34px; place-items:center; color:#fff; background:var(--yaren-navy); }
.floating-contact__panel a:last-child span { background:#1da851; }
.floating-contact__panel a b { font:700 12px/1 "Manrope",sans-serif; }

.floating-contact.is-open .floating-contact__panel { pointer-events: auto; }
.floating-contact.is-open .floating-contact__panel a { opacity: 1; transform: translateY(0); }

.floating-contact__toggle {
  display: flex;
  height: 50px;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 16px;
  color: #fff;
  border: 0;
  background: var(--yaren-navy);
  box-shadow: 0 15px 38px rgba(2,8,17,.24);
  cursor: pointer;
}

.floating-contact__toggle > span { color:var(--yaren-amber); }
.floating-contact__toggle b { font:700 12px/1 "Manrope",sans-serif; letter-spacing:.04em; }
.floating-contact__toggle i { display:grid; width:28px; height:28px; place-items:center; border-left:1px solid rgba(255,255,255,.2); transition:transform .35s ease; }
.floating-contact.is-open .floating-contact__toggle i { transform:rotate(45deg); }
.back-to-top { right: 200px !important; bottom: 29px !important; }

/* First-entry preloaders */
.preloader-is-open { overflow: hidden; }

.site-preloader {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  opacity: 0;
  background: var(--yaren-ink);
  transition: opacity .35s ease, clip-path .75s cubic-bezier(.76,0,.24,1);
  clip-path: inset(0 0 0 0);
}

.site-preloader.is-active { opacity: 1; }
.site-preloader.is-leaving { opacity: 1; pointer-events:none; clip-path:inset(0 0 100% 0); }

.site-preloader > button {
  position: absolute;
  z-index: 4;
  top: 28px;
  right: 32px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 0;
  color: rgba(255,255,255,.62);
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.24);
  background: transparent;
  font: 700 10px/1 "Manrope",sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
  cursor: pointer;
}

.site-preloader__grain { position:absolute; inset:0; opacity:.24; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }

.site-preloader__brand {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  margin-top: 190px;
}

.site-preloader__brand small { margin-bottom:17px; color:var(--yaren-amber); font:700 10px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.22em; }
.site-preloader__brand strong { font:800 clamp(56px,10vw,136px)/.8 "Manrope",sans-serif; letter-spacing:.08em; }
.site-preloader__brand span { margin-top:20px; color:rgba(255,255,255,.62); font:600 10px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.38em; }

.site-preloader__visual {
  position: absolute;
  z-index: 2;
  top: calc(50% - 170px);
  left: 50%;
  width: min(480px, 72vw);
  height: 235px;
  transform: translate(-50%,-50%);
}

.site-preloader__meter { position:absolute; z-index:3; right:8vw; bottom:7vh; left:8vw; display:flex; align-items:center; gap:18px; }
.site-preloader__meter > span { position:relative; display:block; height:1px; flex:1; overflow:hidden; background:rgba(255,255,255,.18); }
.site-preloader__meter > span::after { position:absolute; inset:0; content:""; transform:translateX(-100%); background:var(--yaren-amber); animation:preloadMeter 2.4s cubic-bezier(.16,1,.3,1) forwards; }
.site-preloader__meter b { font:600 10px/1 "Manrope",sans-serif; letter-spacing:.18em; }

.site-preloader--construction .site-preloader__visual { border-bottom:1px solid rgba(255,255,255,.35); }
.site-preloader--construction .site-preloader__visual i { position:absolute; bottom:0; width:18%; border:1px solid rgba(255,255,255,.5); border-bottom:0; background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(255,255,255,.11) 23px 24px); transform-origin:bottom; animation:buildRise 1.25s cubic-bezier(.16,1,.3,1) both; }
.site-preloader--construction .site-preloader__visual i:nth-child(1){left:10%;height:42%;}
.site-preloader--construction .site-preloader__visual i:nth-child(2){left:31%;height:67%;animation-delay:.08s;}
.site-preloader--construction .site-preloader__visual i:nth-child(3){left:52%;height:88%;animation-delay:.16s;}
.site-preloader--construction .site-preloader__visual i:nth-child(4){left:73%;height:55%;animation-delay:.24s;}
.site-preloader--construction .site-preloader__visual span { position:absolute; top:3px; right:2%; width:54%; height:1px; background:var(--yaren-amber); transform-origin:right; animation:craneSwing 1.4s ease both; }
.site-preloader--construction .site-preloader__visual span::before { position:absolute; right:0; bottom:0; width:1px; height:170px; content:""; background:rgba(255,255,255,.36); }

.site-preloader--aluminium .site-preloader__visual { border:1px solid rgba(255,255,255,.28); background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:60px 47px; perspective:900px; transform:translate(-50%,-50%) rotateX(4deg) rotateY(-10deg); }
.site-preloader--aluminium .site-preloader__visual i { position:absolute; top:0; bottom:0; width:4px; background:linear-gradient(#eaf1f5,#56677a,#f8fbfd); transform:scaleY(0); transform-origin:bottom; animation:profileRise .9s cubic-bezier(.16,1,.3,1) forwards; }
.site-preloader--aluminium .site-preloader__visual i:nth-child(1){left:20%;}.site-preloader--aluminium .site-preloader__visual i:nth-child(2){left:40%;animation-delay:.12s}.site-preloader--aluminium .site-preloader__visual i:nth-child(3){left:60%;animation-delay:.24s}.site-preloader--aluminium .site-preloader__visual i:nth-child(4){left:80%;animation-delay:.36s}
.site-preloader--aluminium .site-preloader__visual span { position:absolute; inset:0; width:35%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent); transform:skewX(-16deg) translateX(-160%); animation:facadeSweep 1.8s ease .3s forwards; }

.site-preloader--architect .site-preloader__visual { border:1px solid rgba(67,160,220,.4); background-image:linear-gradient(rgba(67,160,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(67,160,220,.12) 1px,transparent 1px); background-size:24px 24px; }
.site-preloader--architect .site-preloader__visual::before,.site-preloader--architect .site-preloader__visual::after { position:absolute; content:""; border:1px solid var(--yaren-amber); opacity:0; animation:blueprintDraw 1s ease forwards; }
.site-preloader--architect .site-preloader__visual::before { inset:34px 56px; }
.site-preloader--architect .site-preloader__visual::after { top:62px; right:92px; bottom:35px; left:130px; animation-delay:.25s; }
.site-preloader--architect .site-preloader__visual i { position:absolute; left:50%; top:50%; width:42%; height:1px; background:rgba(255,255,255,.48); transform-origin:left; transform:rotate(calc(var(--r,1) * 30deg)) scaleX(0); animation:architectLine .85s ease forwards; }
.site-preloader--architect .site-preloader__visual i:nth-child(1){--r:1}.site-preloader--architect .site-preloader__visual i:nth-child(2){--r:2;animation-delay:.1s}.site-preloader--architect .site-preloader__visual i:nth-child(3){--r:3;animation-delay:.2s}.site-preloader--architect .site-preloader__visual i:nth-child(4){--r:4;animation-delay:.3s}
.site-preloader--architect .site-preloader__visual span { position:absolute; top:28px; left:28px; width:72px; height:72px; border:1px solid rgba(255,255,255,.5); border-radius:50%; transform:scale(0); animation:architectCircle .7s ease .4s forwards; }

/* Compact projects directory V2.1 */
.projects-intro--compact {
  padding-top: 88px;
  padding-bottom: 62px;
}

.projects-intro--compact .projects-intro__grid {
  align-items: end;
}

.project-directory-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #d9dde1;
  border-bottom: 1px solid #d9dde1;
}

.project-directory-nav a {
  position: relative;
  display: grid;
  min-height: 92px;
  align-content: center;
  gap: 5px;
  padding: 18px 22px;
  color: #6d7783;
  border-right: 1px solid #d9dde1;
  transition: color .25s ease, background .25s ease;
}

.project-directory-nav a:last-child { border-right: 0; }
.project-directory-nav a::after { position:absolute; right:0; bottom:-1px; left:0; height:3px; content:""; transform:scaleX(0); background:var(--yaren-amber); transform-origin:left; transition:transform .35s ease; }
.project-directory-nav a:hover,
.project-directory-nav a:focus-visible { color:var(--yaren-ink); background:#f7f7f4; }
.project-directory-nav a:hover::after,
.project-directory-nav a:focus-visible::after { transform:scaleX(1); }
.project-directory-nav a:focus-visible { outline:2px solid var(--yaren-amber); outline-offset:3px; }
.project-directory-nav span { position:absolute; top:14px; right:15px; color:#a7aeb6; font:700 9px/1 "Manrope",sans-serif; letter-spacing:.1em; }
.project-directory-nav b { color:var(--yaren-ink); font:700 13px/1.2 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.035em; }
.project-directory-nav small { font:600 10px/1.2 "Manrope",sans-serif; }

.project-directory {
  border-top: 1px solid #e2e4e5;
  background: #fff;
}

.project-shelf-section {
  padding: 66px 0 72px;
  scroll-margin-top: 105px;
  border-bottom: 1px solid #e2e4e5;
}

.project-shelf-section--tint { background:#f3f3f0; }

.project-shelf-section__head {
  display: grid;
  grid-template-columns: minmax(270px,.85fr) minmax(340px,1.2fr) auto;
  align-items: end;
  gap: 42px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #d9dde1;
}

.project-shelf-section__title {
  display: flex;
  align-items: center;
  gap: 20px;
}

.project-shelf-section__title > span {
  color:var(--yaren-amber);
  font:700 12px/1 "Manrope",sans-serif;
  letter-spacing:.14em;
}

.project-shelf-section__title small {
  display:block;
  margin-bottom:7px;
  color:#8a929b;
  font:700 9px/1 "Manrope",sans-serif;
  letter-spacing:.14em;
}

.project-shelf-section__title h2 {
  margin:0;
  color:var(--yaren-ink);
  font-size:clamp(26px,2.6vw,38px);
  line-height:1;
  letter-spacing:-.03em;
}

.project-shelf-section__head > p {
  max-width:560px;
  margin:0;
  color:#737d88;
  font-size:13px;
  line-height:1.65;
}

.project-shelf-section__head > a {
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 0 8px;
  color:var(--yaren-ink);
  border-bottom:1px solid #adb4bb;
  font:700 10px/1 "Manrope",sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-shelf-grid,
.project-archive-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.project-archive-card {
  min-width:0;
  color:var(--yaren-ink);
  border:1px solid #dfe2e4;
  background:#fff;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease;
}

.project-archive-card:hover,
.project-archive-card:focus-within {
  z-index:2;
  border-color:#bfc5ca;
  box-shadow:0 18px 42px rgba(8,19,33,.1);
  transform:translateY(-4px);
}

.project-archive-card__media {
  position:relative;
  display:block;
  aspect-ratio:1.48;
  overflow:hidden;
  background:var(--yaren-navy);
}

.project-archive-card__media::after {
  position:absolute;
  inset:0;
  content:"";
  opacity:.42;
  background:linear-gradient(0deg,rgba(4,12,22,.72),transparent 52%);
  transition:opacity .35s ease;
}

.project-archive-card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease;
}

.project-archive-card:hover .project-archive-card__media img,
.project-archive-card:focus-within .project-archive-card__media img { transform:scale(1.055); filter:saturate(.82); }
.project-archive-card:hover .project-archive-card__media::after,
.project-archive-card:focus-within .project-archive-card__media::after { opacity:.68; }

.project-archive-card__status,
.project-archive-card__open {
  position:absolute;
  z-index:2;
}

.project-archive-card__status {
  bottom:14px;
  left:16px;
  padding:7px 9px;
  color:#fff;
  background:rgba(7,18,32,.78);
  backdrop-filter:blur(7px);
  font:700 9px/1 "Manrope",sans-serif;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.project-archive-card__open {
  top:14px;
  right:14px;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  color:var(--yaren-ink);
  opacity:0;
  background:var(--yaren-amber);
  transform:translateX(-8px);
  transition:opacity .3s ease,transform .35s ease;
}

.project-archive-card:hover .project-archive-card__open,
.project-archive-card:focus-within .project-archive-card__open { opacity:1; transform:translateX(0); }

.project-archive-card__body {
  padding:19px 19px 17px;
}

.project-archive-card__body > small {
  display:block;
  overflow:hidden;
  margin-bottom:7px;
  color:#858e97;
  font:700 9px/1.2 "Manrope",sans-serif;
  text-overflow:ellipsis;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
}

.project-archive-card__body h3 {
  overflow:hidden;
  margin:0 0 16px;
  font:700 20px/1.15 "Manrope",sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.project-archive-card__body h3 a { color:var(--yaren-ink); }
.project-archive-card__body h3 a:focus-visible { outline:2px solid var(--yaren-amber); outline-offset:4px; }

.project-archive-card__body dl {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  margin:0;
  padding:12px 0 0;
  border-top:1px solid #e5e7e8;
}

.project-archive-card__body dl > div { min-width:0; }

.project-archive-card__body dl div + div { padding-left:14px; border-left:1px solid #e5e7e8; }
.project-archive-card__body dt { margin-bottom:5px; color:#a0a7ae; font:700 8px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.project-archive-card__body dd { overflow:hidden; margin:0; color:#59636e; font:600 11px/1.2 "Manrope",sans-serif; text-overflow:ellipsis; white-space:nowrap; }

.project-archive-card__progress,
.project-archive-card__complete {
  margin-top:14px;
}

.project-archive-card__progress > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:7px;
  color:#8a929b;
  font:700 9px/1 "Manrope",sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-archive-card__progress b { color:var(--yaren-ink); font-size:10px; }
.project-archive-card__progress .progress { height:3px; }

.project-archive-card__complete {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:21px;
  color:#54754b;
  font:700 9px/1 "Manrope",sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-archive-card__complete span { display:grid; width:18px; height:18px; place-items:center; color:#fff; background:#6a8b5e; font-size:10px; }

.project-list-page--compact {
  padding-top:76px;
  padding-bottom:82px;
  background:#f5f5f2;
}

.project-list-page--compact .project-list-page__head {
  align-items:end;
  margin-bottom:34px;
  padding-bottom:28px;
  border-bottom:1px solid #d8dcdf;
}

.project-list-page__title > span {
  display:block;
  margin-top:15px;
  color:#8b939c;
  font:700 9px/1 "Manrope",sans-serif;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.project-list-page--compact .project-tabs { flex-wrap:wrap; justify-content:flex-end; }
.project-list-page--compact .project-tabs a { padding:12px 15px; }
.project-list-page--compact .project-archive-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.project-list-page--compact .project-archive-card__media { aspect-ratio:1.52; }
.project-list-page--compact .project-archive-card__body { padding:21px; }

.project-list-page__foot {
  display:flex;
  justify-content:center;
  margin-top:42px;
  padding-top:30px;
  border-top:1px solid #d8dcdf;
}

/* Project detail V2 */
.project-detail-hero { position:relative; height:clamp(560px,72svh,820px); overflow:hidden; color:#fff; background:var(--yaren-ink); }
.project-detail-hero > img,.project-detail-hero__veil { position:absolute; inset:0; width:100%; height:100%; }
.project-detail-hero > img { object-fit:cover; animation:detailHero 1.5s cubic-bezier(.16,1,.3,1) both; }
.project-detail-hero__veil { background:linear-gradient(90deg,rgba(3,10,20,.88),rgba(3,10,20,.18) 72%),linear-gradient(0deg,rgba(3,10,20,.8),transparent 50%); }
.project-detail-hero__content { position:relative; z-index:2; display:flex; height:100%; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding-bottom:78px; }
.project-detail-hero__back { display:flex; align-items:center; gap:9px; margin-bottom:auto; padding-top:48px; color:rgba(255,255,255,.72); font:700 11px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.project-detail-hero__back svg { transform:rotate(180deg); }
.project-detail-hero__content h1 { max-width:980px; margin:16px 0 17px; color:#fff; font-size:clamp(54px,7vw,108px); line-height:.92; letter-spacing:-.055em; }
.project-detail-hero__content > p { display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.76); font:600 12px/1 "Manrope",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.project-detail-hero__content > p i { width:42px; height:1px; background:var(--yaren-amber); }
.project-detail-hero__counter { position:absolute; z-index:2; right:4vw; bottom:72px; color:rgba(255,255,255,.55); font:600 11px/1 "Manrope",sans-serif; letter-spacing:.18em; }

.project-detail-strip { color:#fff; background:var(--yaren-navy); }
.project-detail-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.project-detail-strip .project-fact,.project-detail-progress { min-height:130px; padding:31px 27px; border-right:1px solid rgba(255,255,255,.12); }
.project-detail-strip .project-fact:last-child,.project-detail-progress:last-child { border-right:0; }
.project-detail-strip .project-fact { display:flex; align-items:center; gap:15px; }
.project-detail-strip .project-fact > span { color:var(--yaren-amber); }
.project-detail-strip .project-fact small,.project-detail-progress small { display:block; margin-bottom:8px; color:rgba(255,255,255,.48); font:600 9px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.project-detail-strip .project-fact strong,.project-detail-progress strong { color:#fff; font:700 14px/1.25 "Manrope",sans-serif; }
.project-detail-progress { display:grid; align-content:center; gap:16px; }
.project-detail-progress > div { display:flex; align-items:end; justify-content:space-between; }
.project-detail-progress strong { font-size:25px; color:var(--yaren-amber); }

.project-detail-intro { background:#fff; }
.project-detail-intro__grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(420px,1.35fr); gap:clamp(60px,10vw,150px); }
.project-detail-intro h2 { max-width:460px; margin-top:18px; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.035em; }
.project-detail-intro__copy .lead { margin:0 0 26px; color:var(--yaren-ink); font-size:clamp(20px,2vw,28px); line-height:1.45; }
.project-detail-intro__copy > p:not(.lead) { max-width:700px; color:#657080; line-height:1.8; }
.project-detail-intro__copy .outline-link { margin-top:34px; }

.project-detail-gallery { padding:0 0 3px; background:var(--yaren-paper); }
.project-detail-gallery__head { display:flex; align-items:center; justify-content:space-between; padding-top:35px; padding-bottom:28px; }
.project-detail-gallery__head p { color:#75808d; font-size:12px; }
.project-detail-gallery__grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:3px; }
.project-detail-shot { position:relative; grid-column:span 6; height:430px; overflow:hidden; padding:0; border:0; background:var(--yaren-ink); cursor:zoom-in; }
.project-detail-shot.is-wide { grid-column:span 12; height:min(72vw,760px); }
.project-detail-shot.is-tall { height:590px; }
.project-detail-shot img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s ease; }
.project-detail-shot > span { position:absolute; right:22px; bottom:20px; display:flex; align-items:center; gap:9px; padding:10px 12px; color:#fff; opacity:0; background:rgba(5,14,26,.84); font:600 10px/1 "Manrope",sans-serif; transition:opacity .3s ease; }
.project-detail-shot:hover img { transform:scale(1.035); opacity:.84; }
.project-detail-shot:hover > span { opacity:1; }

.project-detail-next { position:relative; min-height:430px; overflow:hidden; color:#fff; background:var(--yaren-ink); }
.project-detail-next > img,.project-detail-next__veil { position:absolute; inset:0; width:100%; height:100%; }
.project-detail-next > img { object-fit:cover; transition:transform 1s cubic-bezier(.16,1,.3,1); }
.project-detail-next__veil { background:rgba(4,13,24,.68); }
.project-detail-next > a { position:relative; z-index:2; display:grid; min-height:430px; place-content:center; justify-items:center; color:#fff; text-align:center; }
.project-detail-next span { color:var(--yaren-amber); font:700 10px/1 "Manrope",sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.project-detail-next h2 { margin:15px 0 22px; color:#fff; font-size:clamp(36px,5vw,68px); }
.project-detail-next:hover > img { transform:scale(1.04); }

/* Admin V2 additions */
.admin-slot-limit { display:grid; justify-items:end; color:#7a8492; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.admin-slot-limit b { color:var(--yaren-ink); font-size:18px; }
.admin-preloader-settings { display:grid; gap:22px; }
.admin-secondary { display:inline-flex; width:max-content; align-items:center; gap:8px; padding:12px 16px; color:var(--yaren-ink); border:1px solid #cbd1d7; background:#fff; font-weight:700; cursor:pointer; }
.admin-gallery-uploader { display:grid; grid-template-columns:1.15fr .85fr; gap:22px; align-items:stretch; }
.admin-gallery-uploader .admin-file-field > div { min-height:142px; }
.admin-gallery-preview { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-top:18px; }
.admin-gallery-preview figure { position:relative; aspect-ratio:1.25; overflow:hidden; margin:0; background:#e9edf0; }
.admin-gallery-preview img { width:100%; height:100%; object-fit:cover; }
.admin-gallery-preview span { position:absolute; right:5px; bottom:5px; padding:4px 5px; color:#fff; background:rgba(5,14,26,.78); font-size:9px; }

@keyframes yarenLine { to { width:100%; } }
@keyframes heroProgress { to { width:100%; } }
@keyframes tileIn { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:scale(1); } }
@keyframes preloadMeter { to { transform:translateX(0); } }
@keyframes buildRise { from { transform:scaleY(0); opacity:0; } to { transform:scaleY(1); opacity:1; } }
@keyframes craneSwing { from { transform:rotate(-12deg) scaleX(0); } to { transform:rotate(0) scaleX(1); } }
@keyframes profileRise { to { transform:scaleY(1); } }
@keyframes facadeSweep { to { transform:skewX(-16deg) translateX(420%); } }
@keyframes blueprintDraw { from { opacity:0; clip-path:inset(0 100% 100% 0); } to { opacity:1; clip-path:inset(0); } }
@keyframes architectLine { to { transform:rotate(calc(var(--r,1) * 30deg)) scaleX(1); } }
@keyframes architectCircle { to { transform:scale(1); } }
@keyframes detailHero { from { opacity:.35; transform:scale(1.08); } to { opacity:1; transform:scale(1); } }

@media (max-width: 1100px) {
  .compact-portfolio__grid { grid-template-columns:repeat(2,1fr); }
  .compact-project:nth-child(4n) { border-right:1px solid rgba(255,255,255,.12); }
  .compact-project:nth-child(2n) { border-right:0; }
  .compact-project:nth-last-child(-n + 4) { border-bottom:1px solid rgba(255,255,255,.12); }
  .compact-project:nth-last-child(-n + 2) { border-bottom:0; }
  .project-detail-strip__grid { grid-template-columns:repeat(2,1fr); }
  .project-detail-strip .project-fact:nth-child(2) { border-right:0; }
  .project-detail-strip .project-fact:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .admin-gallery-preview { grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 760px) {
  .hero { min-height:760px; }
  .hero::after { left:20px; }
  .hero-slide__grid { background-size:48px 48px; }
  .hero-slide__overlay { background:linear-gradient(90deg,rgba(3,11,21,.9),rgba(3,11,21,.38)),linear-gradient(0deg,rgba(3,11,21,.88),transparent 60%); }
  .hero-copy h1 { font-size:clamp(46px,14vw,68px); }
  .hero-copy > p { max-width:92%; font-size:14px; line-height:1.65; }
  .hero-copy__actions { align-items:stretch; }
  .hero-copy__actions .button { justify-content:space-between; }
  .hero__side-note { display:none; }
  .compact-portfolio { padding:62px 0 66px; }
  .compact-portfolio__tabs { justify-content:flex-start; gap:22px; margin:28px -20px; padding:0 20px 10px; overflow-x:auto; }
  .compact-portfolio__tabs button { flex:0 0 auto; }
  .compact-portfolio__grid { margin:0 -20px; border-right:0; border-left:0; }
  .compact-project { aspect-ratio:1.03; }
  .compact-project__copy { transform:translateY(0); }
  .compact-project__copy em { display:none; }
  .compact-project__veil { opacity:.68; }
  .expertise-cinema { grid-template-columns:1fr; }
  .expertise-frame { min-height:330px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .floating-contact { right:14px; bottom:14px; }
  .floating-contact__toggle { height:46px; }
  .back-to-top { right:auto !important; left:14px !important; bottom:14px !important; }
  .site-preloader__brand { margin-top:155px; }
  .site-preloader__brand strong { font-size:18vw; }
  .site-preloader__brand span { max-width:88vw; text-align:center; line-height:1.6; letter-spacing:.22em; }
  .site-preloader__visual { top:calc(50% - 145px); height:185px; }
  .project-detail-hero { height:680px; }
  .project-detail-hero__content { padding-bottom:48px; }
  .project-detail-hero__content h1 { font-size:clamp(47px,14vw,70px); }
  .project-detail-hero__counter { right:20px; bottom:48px; }
  .project-detail-strip__grid { grid-template-columns:1fr 1fr; padding:0; }
  .project-detail-strip .project-fact,.project-detail-progress { min-height:112px; padding:23px 18px; }
  .project-detail-intro__grid { grid-template-columns:1fr; gap:38px; }
  .project-detail-gallery__head { align-items:flex-start; flex-direction:column; gap:8px; }
  .project-detail-shot,.project-detail-shot.is-wide,.project-detail-shot.is-tall { grid-column:span 12; height:72vw; min-height:290px; }
  .project-detail-shot > span { opacity:1; }
  .project-detail-next,.project-detail-next > a { min-height:340px; }
  .admin-gallery-uploader { grid-template-columns:1fr; }
  .admin-gallery-preview { grid-template-columns:repeat(3,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide__media,
  .hero-copy__eyebrow,
  .hero-copy h1,
  .hero-copy > p,
  .hero-copy__actions,
  .compact-project,
  .site-preloader *,
  .project-detail-hero > img { animation:none !important; transition-duration:.01ms !important; }
  .hero-slide.is-active .hero-copy__eyebrow,
  .hero-slide.is-active .hero-copy h1,
  .hero-slide.is-active .hero-copy > p,
  .hero-slide.is-active .hero-copy__actions { opacity:1; transform:none; }
}

@media (max-width: 1200px) {
  .project-list-page--compact .project-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  .projects-intro--compact .projects-intro__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .project-shelf-section__head {
    grid-template-columns: 1fr auto;
    gap: 20px 34px;
  }

  .project-shelf-section__head > p {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .project-shelf-grid,
  .project-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-list-page--compact .project-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-list-page--compact .project-list-page__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 28px;
  }

  .project-list-page--compact .project-tabs {
    justify-content: flex-start;
  }
}

@media (max-width: 650px) {
  .projects-intro--compact {
    padding-top: 58px;
    padding-bottom: 42px;
  }

  .project-directory-nav a {
    min-height: 76px;
    padding: 15px 10px;
  }

  .project-directory-nav b {
    font-size: 11px;
    letter-spacing: 0;
  }

  .project-directory-nav small,
  .project-directory-nav span {
    font-size: 9px;
  }

  .project-shelf-section {
    padding: 46px 0 50px;
  }

  .project-shelf-section__head {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 20px;
  }

  .project-shelf-section__head > p {
    grid-column: auto;
    grid-row: auto;
    font-size: 12px;
  }

  .project-shelf-section__head > a {
    width: max-content;
    margin-top: 4px;
  }

  .project-shelf-section__title {
    gap: 14px;
  }

  .project-shelf-grid,
  .project-archive-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .project-list-page--compact .project-archive-grid {
    grid-template-columns: 1fr;
  }

  .project-archive-card {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 188px;
  }

  .project-archive-card__media,
  .project-list-page--compact .project-archive-card__media {
    height: 100%;
    min-height: 188px;
    aspect-ratio: auto;
  }

  .project-archive-card__status {
    bottom: 10px;
    left: 10px;
    padding: 6px 7px;
    font-size: 8px;
  }

  .project-archive-card__open {
    display: none;
  }

  .project-archive-card__body,
  .project-list-page--compact .project-archive-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 15px;
  }

  .project-archive-card__body > small {
    font-size: 9px;
  }

  .project-archive-card__body h3 {
    overflow: visible;
    margin-bottom: 11px;
    font-size: 16px;
    line-height: 1.15;
    text-overflow: clip;
    white-space: normal;
  }

  .project-archive-card__body dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 9px;
  }

  .project-archive-card__body dt {
    font-size: 9px;
  }

  .project-archive-card__body dd {
    font-size: 11px;
  }

  .project-archive-card__progress,
  .project-archive-card__complete {
    margin-top: 10px;
  }

  .project-list-page--compact {
    padding-top: 52px;
    padding-bottom: 58px;
  }

  .project-list-page--compact .project-list-page__head {
    margin-bottom: 24px;
    padding-bottom: 22px;
  }

  .project-list-page--compact .project-tabs {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .project-list-page--compact .project-tabs a {
    flex: 0 0 auto;
    padding: 11px 12px;
  }
}

/* Offline language switch + system maintenance V2.2 */
.language-switch {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:3px 9px;
  color:#66717f;
  border:1px solid #d7d9d8;
  background:transparent;
  cursor:pointer;
  font:700 9px/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}

.language-switch:hover,
.language-switch:focus-visible { color:var(--yaren-ink); border-color:var(--yaren-amber); background:#fff; outline:none; }

.mobile-language-switch {
  display:inline-flex;
  grid-column:1 / -1;
  width:max-content;
  align-items:center;
  gap:9px;
  padding:9px 12px;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  cursor:pointer;
  font:700 9px/1 "Manrope",sans-serif;
  letter-spacing:.12em;
}

.mobile-language-switch i { width:18px; height:1px; background:var(--yaren-amber); }

.admin-form-note {
  margin:0;
  padding:13px 15px;
  color:#697483;
  border-left:3px solid var(--yaren-amber);
  background:#f6f6f3;
  font-size:12px;
  line-height:1.65;
}

.admin-language-settings { display:grid; gap:18px; }

.admin-primary:disabled,
.admin-secondary:disabled,
.system-card button:disabled { cursor:not-allowed; opacity:.42; filter:grayscale(.35); }

.system-notice {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  padding:17px 19px;
  color:#344153;
  border:1px solid #d9dde1;
  background:#fff;
}

.system-notice.is-warning { border-left:4px solid #d69220; background:#fff9ea; }
.system-notice p { display:grid; gap:3px; margin:0; font-size:12px; line-height:1.5; }
.system-notice p strong { color:var(--yaren-ink); font-size:13px; }
.system-notice.is-loading span { width:18px; height:18px; border:2px solid #d8dce1; border-top-color:var(--yaren-amber); border-radius:50%; animation:systemSpin .8s linear infinite; }

.system-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px;
}

.system-metrics > article {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:19px;
  border:1px solid #dde1e4;
  background:#fff;
}

.system-metrics > article > span,
.system-card__icon {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  color:var(--yaren-amber);
  background:var(--yaren-ink);
}

.system-metrics small { display:block; margin-bottom:5px; color:#929aa4; font:700 8px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.system-metrics strong { display:block; overflow:hidden; color:var(--yaren-ink); font:700 18px/1.15 "Manrope",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.system-metrics p { overflow:hidden; margin:6px 0 0; color:#7b8591; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }

.system-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:22px;
  align-items:start;
}

.system-card { min-width:0; padding:26px; }
.system-card--backup,
.system-card--restore,
.system-card--password { grid-column:1 / -1; }
.system-card--restore { border-left:4px solid #9c4039; }
.system-card__head { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.system-card__head > div:nth-child(2) { min-width:0; flex:1; }
.system-card__head h2 { margin:5px 0 0; color:var(--yaren-ink); font-size:20px; }
.system-card__kicker { color:#a17611; font:800 8px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.13em; }
.system-card > p { margin:0 0 22px; color:#697483; font-size:12px; line-height:1.7; }

.system-status { flex:0 0 auto; padding:7px 9px; color:#5f6a76; background:#eceeec; font:800 8px/1 "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.system-status.is-good { color:#3d6741; background:#e5f0e3; }
.system-status.is-bad { color:#8a352f; background:#f8e4e1; }

.system-backup-list { display:grid; border-top:1px solid #e2e5e7; }
.system-backup-list article { display:grid; grid-template-columns:38px minmax(0,1fr) 34px 34px; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e2e5e7; }
.system-backup-list article > span { display:grid; width:36px; height:36px; place-items:center; color:#8b6a17; background:#f3ead1; }
.system-backup-list article div { display:grid; gap:4px; min-width:0; }
.system-backup-list article strong { overflow:hidden; color:var(--yaren-ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.system-backup-list article small { color:#8b949e; font-size:10px; }
.system-backup-list article > a,
.system-backup-list article > button { display:grid; width:34px; height:34px; place-items:center; color:#53606e; border:1px solid #dce0e3; background:#fff; cursor:pointer; }
.system-backup-list article > a:hover { color:#fff; border-color:var(--yaren-ink); background:var(--yaren-ink); }
.system-backup-list article > button:hover { color:#fff; border-color:#9c4039; background:#9c4039; }
.system-empty { display:flex; align-items:center; gap:15px; padding:23px 0 4px; color:#7c8794; }
.system-empty span { color:#d2ab4c; font:700 27px/1 "Manrope",sans-serif; }
.system-empty p { max-width:520px; margin:0; font-size:12px; line-height:1.6; }

.system-restore-form,
.system-update-form,
.system-password-form { display:grid; gap:15px; }

.system-update-rule { display:flex; gap:12px; margin-top:20px; padding:14px; color:#65717e; background:#f5f5f2; }
.system-update-rule > span { color:#5e7a58; }
.system-update-rule p { display:grid; gap:4px; margin:0; font-size:10px; line-height:1.55; }
.system-update-rule b { color:var(--yaren-ink); font-size:11px; }

.system-restore-fields { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(220px,.8fr) minmax(220px,.8fr); gap:14px; align-items:start; }
.system-restore-rule { display:flex; gap:12px; padding:14px; color:#6f5552; border:1px solid #ecd8d5; background:#fff6f4; }
.system-restore-rule > span { flex:0 0 auto; color:#9c4039; }
.system-restore-rule p { display:grid; gap:4px; margin:0; font-size:10px; line-height:1.55; }
.system-restore-rule b { color:#792e29; font-size:11px; }
.system-restore-form > .admin-primary { width:max-content; }
.system-restore-form > .admin-primary.is-danger { background:#8e3731; }
.system-restore-form > .admin-primary.is-danger:hover { background:#702823; }

.system-security-list { display:grid; gap:8px; }
.system-security-list article { display:grid; grid-template-columns:27px 1fr; gap:10px; align-items:center; padding:11px 12px; border:1px solid #e1e4e6; }
.system-security-list article > span { display:grid; width:25px; height:25px; place-items:center; color:#fff; background:#678061; font:800 11px/1 "Manrope",sans-serif; }
.system-security-list article.is-warning > span { background:#c48325; }
.system-security-list article div { display:grid; gap:3px; }
.system-security-list strong { color:var(--yaren-ink); font-size:11px; }
.system-security-list small { color:#818b96; font-size:9px; line-height:1.4; }

.system-password-form .admin-primary { width:max-content; }

@keyframes systemSpin { to { transform:rotate(360deg); } }

@media (max-width: 1180px) {
  .system-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .system-grid { grid-template-columns:1fr; }
  .system-card--backup,
  .system-card--restore,
  .system-card--password { grid-column:auto; }
  .system-restore-fields { grid-template-columns:1fr; }
}

@media (max-width: 680px) {
  .system-metrics { grid-template-columns:1fr; }
  .system-card { padding:19px; }
  .system-card__head { align-items:flex-start; flex-wrap:wrap; }
  .system-status { margin-left:0; }
  .system-backup-list article { grid-template-columns:34px minmax(0,1fr) 34px 34px; gap:7px; }
  .system-backup-list article small { white-space:normal; }
  .system-card--backup > .admin-panel__head { align-items:stretch; flex-direction:column; gap:16px; }
  .system-card--backup > .admin-panel__head .admin-primary { width:100%; justify-content:center; }
  .system-restore-form > .admin-primary { width:100%; justify-content:center; }
  .system-notice { align-items:flex-start; padding:15px; }
}

/* Public content archives + project detail V2.4 */
.content-empty {
  display:flex;
  min-height:220px;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid #dfe2e3;
  color:#77818b;
  background:#f7f7f4;
}
.content-empty span { color:var(--yaren-amber); font:800 34px/1 var(--font-display); }
.content-empty p { font-size:13px; }

.service-archive { background:#fff; }
.service-archive__intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:50px;
  margin-bottom:62px;
}
.service-archive__count {
  display:flex;
  min-width:230px;
  align-items:center;
  gap:18px;
  border-left:1px solid #dfe1e0;
  padding-left:28px;
}
.service-archive__count strong { color:var(--yaren-amber); font:750 54px/.9 var(--font-display); letter-spacing:-.06em; }
.service-archive__count span { color:#76808a; font:650 10px/1.55 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.service-archive__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #dfe2e3;
  border-left:1px solid #dfe2e3;
}
.service-teaser {
  display:grid;
  min-width:0;
  grid-template-columns:minmax(180px,43%) minmax(0,57%);
  min-height:350px;
  overflow:hidden;
  border-right:1px solid #dfe2e3;
  border-bottom:1px solid #dfe2e3;
  background:#fff;
}
.service-teaser figure { position:relative; min-height:100%; overflow:hidden; margin:0; background:var(--yaren-ink); }
.service-teaser figure::after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(5,15,27,.5),transparent 60%); }
.service-teaser figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease; }
.service-teaser figure span { position:absolute; z-index:2; top:18px; left:18px; color:#fff; font:700 10px/1 var(--font-display); letter-spacing:.15em; }
.service-teaser > div { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:34px; }
.service-teaser small { display:flex; align-items:center; gap:9px; color:#a27713; font:750 8px/1 var(--font-display); letter-spacing:.12em; }
.service-teaser h2 { margin:20px 0 14px; color:var(--yaren-ink); font:700 clamp(22px,2.2vw,32px)/1.08 var(--font-display); letter-spacing:-.035em; }
.service-teaser p { color:#6d7782; font-size:12px; line-height:1.7; }
.service-teaser b { display:flex; align-items:center; gap:10px; margin-top:26px; color:var(--yaren-ink); font:750 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.service-teaser:hover figure img { transform:scale(1.055); filter:saturate(1); }
.service-teaser:hover b { color:#a27713; }
.service-archive__cta { padding:78px 0; color:#fff; background:var(--yaren-ink); }
.service-archive__cta .container { display:grid; grid-template-columns:1fr auto; align-items:center; gap:15px 48px; }
.service-archive__cta span { color:var(--yaren-amber); font:750 9px/1 var(--font-display); letter-spacing:.14em; text-transform:uppercase; }
.service-archive__cta h2 { font:700 clamp(28px,3.4vw,48px)/1.07 var(--font-display); letter-spacing:-.045em; }
.service-archive__cta .button { grid-column:2; grid-row:1 / span 2; }

.service-detail-hero { position:relative; height:clamp(500px,62svh,650px); overflow:hidden; color:#fff; background:var(--yaren-ink); }
.service-detail-hero > img,.service-detail-hero__veil { position:absolute; inset:0; width:100%; height:100%; }
.service-detail-hero > img { object-fit:cover; filter:saturate(.78); }
.service-detail-hero__veil { background:linear-gradient(90deg,rgba(4,13,24,.94),rgba(4,13,24,.55) 53%,rgba(4,13,24,.2)),linear-gradient(0deg,rgba(4,13,24,.64),transparent 55%); }
.service-detail-hero__content { position:relative; z-index:1; display:flex; height:100%; flex-direction:column; align-items:flex-start; justify-content:center; padding-top:20px; }
.service-detail-hero__content > a { display:flex; align-items:center; gap:10px; margin-bottom:52px; color:#ced4db; font:700 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.service-detail-hero__content > a svg { transform:rotate(180deg); }
.service-detail-hero__content > span { color:var(--yaren-amber); font:750 10px/1 var(--font-display); letter-spacing:.15em; }
.service-detail-hero__content h1 { max-width:900px; margin:17px 0 20px; font:720 clamp(46px,6.2vw,88px)/.95 var(--font-display); letter-spacing:-.055em; }
.service-detail-hero__content p { max-width:670px; color:#d1d7de; font-size:15px; line-height:1.7; }
.service-detail-main__grid { display:grid; grid-template-columns:270px minmax(0,1fr); align-items:start; gap:80px; }
.service-detail-nav { position:sticky; top:100px; display:grid; border-top:3px solid var(--yaren-amber); }
.service-detail-nav > span { padding:18px 16px; color:#9199a1; font:750 9px/1 var(--font-display); letter-spacing:.14em; text-transform:uppercase; }
.service-detail-nav a { display:grid; grid-template-columns:28px minmax(0,1fr) 16px; align-items:center; gap:8px; border-top:1px solid #e1e3e3; padding:14px 16px; color:#5f6973; font:650 11px/1.25 var(--font-display); }
.service-detail-nav a b { color:#b1b6ba; font-size:8px; }
.service-detail-nav a svg { opacity:.35; }
.service-detail-nav a:hover,.service-detail-nav a.is-active { color:#fff; background:var(--yaren-ink); }
.service-detail-nav a.is-active b,.service-detail-nav a.is-active svg { color:var(--yaren-amber); opacity:1; }
.service-detail-copy { min-width:0; }
.service-detail-copy__head { display:grid; grid-template-columns:58px minmax(0,1fr); gap:22px; align-items:start; padding-bottom:38px; border-bottom:1px solid #e0e2e2; }
.service-detail-copy__icon { display:grid; width:58px; height:58px; place-items:center; color:var(--yaren-amber); background:var(--yaren-ink); }
.service-detail-copy__head small { color:#a27713; font:750 9px/1 var(--font-display); letter-spacing:.13em; }
.service-detail-copy__head h2 { max-width:760px; margin-top:12px; color:var(--yaren-ink); font:700 clamp(30px,3.8vw,52px)/1.08 var(--font-display); letter-spacing:-.045em; }
.service-detail-copy__body { display:grid; gap:20px; max-width:800px; padding:40px 0; }
.service-detail-copy__body p { color:#65707b; font-size:14px; line-height:1.85; }
.service-detail-copy__body p.lead { color:#202a35; font-size:19px; line-height:1.7; }
.service-method { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:4px 0 42px; border-top:1px solid #dfe2e2; border-left:1px solid #dfe2e2; }
.service-method > div { min-height:190px; border-right:1px solid #dfe2e2; border-bottom:1px solid #dfe2e2; padding:25px; }
.service-method span { color:var(--yaren-amber); font:800 10px/1 var(--font-display); }
.service-method b { display:block; margin:32px 0 12px; color:var(--yaren-ink); font:700 15px/1.25 var(--font-display); }
.service-method p { color:#7b858e; font-size:11px; line-height:1.65; }
.service-related { background:#f4f3ef; }
.service-related__head,.blog-related__head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; }
.service-related__head > a,.blog-related__head > a { display:flex; align-items:center; gap:8px; font:700 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.service-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d9dcdd; border-left:1px solid #d9dcdd; }
.service-teaser--compact { display:block; min-height:0; border-color:#d9dcdd; }
.service-teaser--compact figure { height:210px; min-height:0; }
.service-teaser--compact > div { min-height:250px; padding:26px; }
.service-teaser--compact h2 { font-size:24px; }

.blog-archive__intro { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:40px; margin-bottom:58px; }
.blog-archive__count { border-bottom:2px solid var(--yaren-amber); padding:0 0 10px; color:#717b85; font:750 9px/1 var(--font-display); letter-spacing:.14em; }
.blog-featured { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); min-height:500px; overflow:hidden; color:#fff; background:var(--yaren-ink); }
.blog-featured figure { min-height:500px; margin:0; overflow:hidden; }
.blog-featured figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.82); transition:transform .8s cubic-bezier(.16,1,.3,1); }
.blog-featured > div { display:flex; flex-direction:column; justify-content:center; padding:48px; }
.blog-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 15px; color:#8c96a1; font:700 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.blog-meta span:first-child { color:var(--yaren-amber); }
.blog-featured .blog-meta { color:#aab3bd; }
.blog-featured h2 { margin:25px 0 18px; color:#fff; font:700 clamp(31px,3.5vw,50px)/1.06 var(--font-display); letter-spacing:-.045em; }
.blog-featured p { color:#b9c1ca; font-size:13px; line-height:1.75; }
.blog-featured b { display:flex; align-items:center; gap:10px; margin-top:32px; color:#fff; font:750 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.blog-featured:hover figure img { transform:scale(1.04); }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 24px; margin-top:52px; }
.blog-card { min-width:0; }
.blog-card > a:first-child { display:block; aspect-ratio:1.5; overflow:hidden; margin-bottom:20px; background:#e9ebeb; }
.blog-card > a:first-child img { width:100%; height:100%; object-fit:cover; filter:saturate(.78); transition:transform .65s cubic-bezier(.16,1,.3,1),filter .35s ease; }
.blog-card:hover > a:first-child img { transform:scale(1.05); filter:saturate(1); }
.blog-card h2 { margin:14px 0 12px; color:var(--yaren-ink); font:700 22px/1.18 var(--font-display); letter-spacing:-.025em; }
.blog-card p { display:-webkit-box; overflow:hidden; color:#727c86; font-size:12px; line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.blog-card__more { display:flex; width:max-content; align-items:center; gap:8px; margin-top:18px; border-bottom:1px solid var(--yaren-amber); padding-bottom:6px; color:#3c4650; font:750 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.blog-detail__head { padding:110px 0 70px; color:#fff; background:var(--yaren-ink); }
.blog-detail__head .container { max-width:1020px; }
.blog-detail__head .container > a { display:flex; width:max-content; align-items:center; gap:9px; margin-bottom:46px; color:#aeb7c0; font:700 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.blog-detail__head .container > a svg { transform:rotate(180deg); }
.blog-detail__head h1 { max-width:940px; margin:25px 0 24px; font:720 clamp(48px,6vw,82px)/.98 var(--font-display); letter-spacing:-.055em; text-wrap:balance; }
.blog-detail__head .container > p { max-width:720px; color:#b9c2cb; font-size:16px; line-height:1.75; }
.blog-detail__cover { width:var(--container); max-height:650px; aspect-ratio:1.75; margin:0 auto; overflow:hidden; background:#e7e9e8; }
.blog-detail__cover img { width:100%; height:100%; object-fit:cover; }
.blog-detail__layout { display:grid; grid-template-columns:180px minmax(0,760px); justify-content:center; align-items:start; gap:80px; }
.blog-detail__aside { position:sticky; top:100px; display:flex; flex-direction:column; align-items:flex-start; }
.blog-detail__aside > span { color:#9a780f; font:800 8px/1 var(--font-display); letter-spacing:.14em; }
.blog-detail__aside strong { margin-top:13px; color:var(--yaren-ink); font:700 14px/1.3 var(--font-display); }
.blog-detail__aside small { margin-top:5px; color:#8b949d; font-size:10px; }
.blog-detail__aside i { width:100%; height:1px; margin:24px 0; background:#dfe2e2; }
.blog-detail__aside a { display:flex; align-items:center; gap:8px; font:700 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.blog-detail__copy { min-width:0; }
.blog-detail__copy p { margin-bottom:25px; color:#56616c; font-size:16px; line-height:1.9; }
.blog-detail__copy p.lead { margin-bottom:34px; color:#1e2934; font-size:22px; line-height:1.7; }
.blog-related { border-top:1px solid #e0e2e2; background:#f6f5f1; }
.blog-related .blog-grid { margin-top:0; }

.project-fast-hero { position:relative; height:clamp(470px,62svh,650px); overflow:hidden; color:#fff; background:var(--yaren-ink); }
.project-fast-hero > img,.project-fast-hero__veil { position:absolute; inset:0; width:100%; height:100%; }
.project-fast-hero > img { object-fit:cover; filter:saturate(.82); }
.project-fast-hero__veil { background:linear-gradient(90deg,rgba(3,11,21,.92),rgba(3,11,21,.47) 58%,rgba(3,11,21,.12)),linear-gradient(0deg,rgba(3,11,21,.66),transparent 55%); }
.project-fast-hero__content { position:relative; z-index:1; display:flex; height:100%; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding-bottom:60px; }
.project-fast-hero__content > a { display:flex; align-items:center; gap:9px; margin-bottom:auto; padding-top:45px; color:#d1d7dd; font:700 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.project-fast-hero__content > a svg { transform:rotate(180deg); }
.project-fast-hero__content > span { color:var(--yaren-amber); font:750 9px/1 var(--font-display); letter-spacing:.14em; text-transform:uppercase; }
.project-fast-hero__content h1 { max-width:900px; margin:14px 0 16px; font:720 clamp(50px,7vw,92px)/.92 var(--font-display); letter-spacing:-.06em; }
.project-fast-hero__content p { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#c4ccd4; font-size:11px; }
.project-fast-hero__content p i { width:18px; height:1px; background:var(--yaren-amber); }
.project-fast-hero__gallery { position:absolute; z-index:2; right:max(32px,calc((100vw - 1180px)/2)); bottom:58px; display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:9px; color:#fff; font:750 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.project-fast-hero__gallery svg { transform:rotate(90deg); }
.project-fast-facts { border-bottom:1px solid #dfe2e2; background:#fff; }
.project-fast-facts__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.project-fast-fact,.project-fast-progress { display:flex; min-width:0; min-height:102px; flex-direction:column; justify-content:center; border-left:1px solid #dfe2e2; padding:20px 25px; }
.project-fast-facts__grid > :last-child { border-right:1px solid #dfe2e2; }
.project-fast-fact small,.project-fast-progress small { color:#929aa2; font:750 8px/1 var(--font-display); letter-spacing:.11em; text-transform:uppercase; }
.project-fast-fact strong { overflow:hidden; margin-top:10px; color:var(--yaren-ink); font:700 15px/1.2 var(--font-display); text-overflow:ellipsis; white-space:nowrap; }
.project-fast-progress > div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.project-fast-progress strong { color:var(--yaren-amber); font:750 18px/1 var(--font-display); }
.project-fast-story { padding:72px 0; }
.project-fast-story__grid { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:80px; }
.project-fast-story h2 { max-width:500px; margin-top:18px; color:var(--yaren-ink); font:700 clamp(30px,3.7vw,50px)/1.08 var(--font-display); letter-spacing:-.045em; }
.project-fast-story__copy { display:grid; gap:18px; max-width:760px; }
.project-fast-story__copy p { color:#6a7580; font-size:13px; line-height:1.8; }
.project-fast-story__copy p.lead { color:#1d2833; font-size:18px; line-height:1.65; }
.project-fast-gallery { scroll-margin-top:72px; padding:72px 0 78px; background:#f2f1ed; }
.project-fast-gallery__head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:34px; }
.project-fast-gallery__head h2 { margin-top:14px; color:var(--yaren-ink); font:700 clamp(28px,3.3vw,44px)/1.08 var(--font-display); letter-spacing:-.04em; }
.project-fast-gallery__head > p { color:#7a848e; font-size:10px; }
.project-fast-gallery__masonry { columns:3 300px; column-gap:14px; }
.project-fast-shot { position:relative; display:inline-block; width:100%; margin:0 0 14px; break-inside:avoid; overflow:hidden; border:0; padding:0; background:#dfe2e2; cursor:zoom-in; content-visibility:auto; }
.project-fast-shot img { display:block; width:100%; height:auto; object-fit:cover; transition:transform .65s cubic-bezier(.16,1,.3,1),filter .35s ease; }
.project-fast-shot > span { position:absolute; right:10px; bottom:10px; display:flex; align-items:center; gap:8px; padding:8px 10px; color:#fff; background:rgba(4,13,24,.82); font:700 8px/1 var(--font-display); letter-spacing:.08em; }
.project-fast-shot:hover img,.project-fast-shot:focus-visible img { transform:scale(1.025); filter:saturate(.78); }
.project-fast-shot:focus-visible { outline:3px solid var(--yaren-amber); outline-offset:-3px; }
.project-fast-footer { padding:26px 0; background:var(--yaren-ink); }
.project-fast-footer .container { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); align-items:stretch; gap:18px; }
.project-fast-contact,.project-fast-next { display:flex; min-height:92px; align-items:center; justify-content:space-between; gap:18px; border:1px solid rgba(255,255,255,.13); padding:18px 22px; color:#fff; }
.project-fast-contact span { color:#8f9aaa; font-size:10px; }
.project-fast-contact b { display:flex; align-items:center; gap:10px; font:700 15px/1 var(--font-display); }
.project-fast-next { justify-content:flex-start; }
.project-fast-next img { width:84px; height:56px; object-fit:cover; }
.project-fast-next > span { display:grid; min-width:0; gap:7px; }
.project-fast-next small { color:var(--yaren-amber); font:750 8px/1 var(--font-display); letter-spacing:.11em; text-transform:uppercase; }
.project-fast-next b { overflow:hidden; font:700 14px/1.1 var(--font-display); text-overflow:ellipsis; white-space:nowrap; }
.project-fast-next > svg { margin-left:auto; }

@media (max-width: 900px) {
  .service-archive__intro,.blog-archive__intro { grid-template-columns:1fr; align-items:start; }
  .service-archive__count { width:max-content; }
  .service-archive__grid { grid-template-columns:1fr; }
  .service-archive__cta .container { grid-template-columns:1fr; }
  .service-archive__cta .button { grid-column:auto; grid-row:auto; width:max-content; margin-top:18px; }
  .service-detail-main__grid { grid-template-columns:1fr; gap:50px; }
  .service-detail-nav { position:static; display:flex; overflow-x:auto; border-top:0; border-bottom:1px solid #dfe2e2; }
  .service-detail-nav > span { display:none; }
  .service-detail-nav a { flex:0 0 auto; border-top:0; border-left:1px solid #dfe2e2; }
  .service-method { grid-template-columns:1fr; }
  .service-method > div { min-height:140px; }
  .service-method b { margin-top:20px; }
  .service-related__grid { grid-template-columns:1fr; }
  .service-teaser--compact { display:grid; grid-template-columns:220px minmax(0,1fr); }
  .service-teaser--compact figure { height:auto; min-height:250px; }
  .service-teaser--compact > div { min-height:250px; }
  .blog-featured { grid-template-columns:1fr; }
  .blog-featured figure { min-height:0; aspect-ratio:1.65; }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-detail__layout { grid-template-columns:1fr; gap:42px; }
  .blog-detail__aside { position:static; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px 18px; border-bottom:1px solid #dfe2e2; padding-bottom:22px; }
  .blog-detail__aside > span { grid-column:1; }
  .blog-detail__aside strong { grid-column:2; grid-row:1; margin:0; }
  .blog-detail__aside small { grid-column:2; grid-row:2; margin:0; }
  .blog-detail__aside i { display:none; }
  .blog-detail__aside a { grid-column:3; grid-row:1 / span 2; }
  .project-fast-facts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-fast-facts__grid > :nth-child(3),.project-fast-facts__grid > :nth-child(4) { border-top:1px solid #dfe2e2; }
  .project-fast-facts__grid > :nth-child(2) { border-right:1px solid #dfe2e2; }
  .project-fast-story__grid { grid-template-columns:1fr; gap:32px; }
  .project-fast-footer .container { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .service-archive__intro,.blog-archive__intro { margin-bottom:38px; }
  .service-archive__count { min-width:0; }
  .service-teaser { grid-template-columns:38% minmax(0,62%); min-height:245px; }
  .service-teaser > div { padding:20px 17px; }
  .service-teaser h2 { margin:14px 0 10px; font-size:19px; }
  .service-teaser p { display:-webkit-box; overflow:hidden; font-size:10px; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .service-teaser b { margin-top:17px; font-size:8px; }
  .service-archive__cta { padding:60px 0; }
  .service-detail-hero { height:540px; }
  .service-detail-hero__content > a { margin-bottom:40px; }
  .service-detail-hero__content h1 { font-size:48px; }
  .service-detail-hero__content p { font-size:13px; }
  .service-detail-copy__head { grid-template-columns:46px minmax(0,1fr); gap:16px; }
  .service-detail-copy__icon { width:46px; height:46px; }
  .service-detail-copy__body p.lead { font-size:17px; }
  .service-teaser--compact { grid-template-columns:38% minmax(0,62%); }
  .service-teaser--compact figure,.service-teaser--compact > div { min-height:225px; }
  .blog-featured figure { aspect-ratio:1.2; }
  .blog-featured > div { padding:28px 23px; }
  .blog-featured h2 { font-size:31px; }
  .blog-grid { grid-template-columns:1fr; gap:36px; }
  .blog-detail__head { padding:82px 0 52px; }
  .blog-detail__head .container > a { margin-bottom:36px; }
  .blog-detail__head h1 { font-size:45px; }
  .blog-detail__head .container > p { font-size:14px; }
  .blog-detail__cover { width:100%; aspect-ratio:1.05; }
  .blog-detail__aside { grid-template-columns:1fr auto; }
  .blog-detail__aside > span,.blog-detail__aside strong,.blog-detail__aside small { grid-column:1; grid-row:auto; }
  .blog-detail__aside a { grid-column:2; grid-row:1 / span 3; }
  .blog-detail__copy p { font-size:14px; }
  .blog-detail__copy p.lead { font-size:18px; }
  .service-related__head,.blog-related__head,.project-fast-gallery__head { align-items:flex-start; flex-direction:column; }
  .project-fast-hero { height:530px; }
  .project-fast-hero__content { padding-bottom:76px; }
  .project-fast-hero__content > a { padding-top:30px; }
  .project-fast-hero__content h1 { max-width:100%; overflow-wrap:anywhere; font-size:49px; }
  .project-fast-hero__gallery { right:18px; bottom:20px; }
  .project-fast-hero__content p { max-width:250px; padding-right:20px; }
  .project-fast-fact,.project-fast-progress { min-height:92px; padding:17px 14px; }
  .project-fast-fact strong { font-size:12px; }
  .project-fast-story { padding:54px 0; }
  .project-fast-story__copy p.lead { font-size:16px; }
  .project-fast-gallery { padding:54px 0; }
  .project-fast-gallery__masonry { columns:1; }
  .project-fast-shot { margin-bottom:10px; }
  .project-fast-contact { align-items:flex-start; flex-direction:column; }
  .project-fast-next { padding:14px; }
}

/* Sade ve görsel odaklı proje detayı */
.project-focus { overflow:clip; color:var(--yaren-ink); background:#fff; }
.project-focus__head { border-bottom:1px solid #dedfdd; padding:42px 0 0; background:#f6f5f1; }
.project-focus__topline { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:18px; }
.project-focus__topline a { display:flex; min-width:0; align-items:center; gap:9px; color:#65707a; font:750 9px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.project-focus__topline a svg { flex:0 0 auto; transform:rotate(180deg); }
.project-focus__topline > span { flex:0 0 auto; color:#9a7a17; font:750 9px/1 var(--font-display); letter-spacing:.12em; }
.project-focus__title { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:clamp(42px,7vw,100px); margin-top:52px; }
.project-focus__title > div,.project-focus__summary { min-width:0; }
.project-focus__title h1 { max-width:850px; margin-top:15px; overflow-wrap:anywhere; color:var(--yaren-ink); font:720 clamp(48px,6.8vw,88px)/.96 var(--font-display); letter-spacing:-.055em; text-wrap:balance; }
.project-focus__summary > p { max-width:480px; color:#53606b; font-size:15px; line-height:1.6; }
.project-focus__summary ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:28px 0 3px; padding:0; list-style:none; }
.project-focus__summary li { min-width:0; border-top:1px solid #d7d8d5; padding-top:12px; }
.project-focus__summary small,.project-focus__fact small,.project-focus__progress small { display:block; color:#92999f; font:750 8px/1.15 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.project-focus__summary strong { display:block; margin-top:8px; overflow-wrap:anywhere; color:#27323c; font:700 11px/1.35 var(--font-display); }
.project-focus__cover { position:relative; display:block; width:100%; max-height:620px; aspect-ratio:16 / 7.4; margin-top:38px; overflow:hidden; border:0; padding:0; background:#d8dcdd; cursor:zoom-in; }
.project-focus__cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1),filter .35s ease; }
.project-focus__cover > span { position:absolute; right:15px; bottom:15px; display:flex; align-items:center; gap:9px; padding:10px 12px; color:#fff; background:rgba(4,13,24,.84); font:750 8px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.project-focus__cover:hover img,.project-focus__cover:focus-visible img { transform:scale(1.018); filter:saturate(.82); }
.project-focus__cover:focus-visible,.project-focus__shot:focus-visible { outline:3px solid var(--yaren-amber); outline-offset:-3px; }
.project-focus__facts { border-bottom:1px solid #dedfdd; background:#fff; }
.project-focus__facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.project-focus__fact,.project-focus__progress { display:flex; min-width:0; min-height:100px; flex-direction:column; justify-content:center; border-left:1px solid #e1e2df; padding:20px 24px; }
.project-focus__facts-grid > :last-child { border-right:1px solid #e1e2df; }
.project-focus__fact strong { margin-top:10px; overflow-wrap:anywhere; color:#202b35; font:700 14px/1.35 var(--font-display); }
.project-focus__progress > div { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.project-focus__progress strong { overflow-wrap:anywhere; color:#9a780f; font:750 14px/1.2 var(--font-display); text-align:right; }
.project-focus__progress .progress { height:3px; }
.project-focus__story { padding:68px 0 72px; background:#fff; }
.project-focus__story-grid { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(48px,8vw,110px); }
.project-focus__story h2 { max-width:470px; margin-top:16px; overflow-wrap:anywhere; color:var(--yaren-ink); font:700 clamp(29px,3.4vw,46px)/1.08 var(--font-display); letter-spacing:-.04em; }
.project-focus__copy { display:grid; min-width:0; max-width:750px; gap:18px; }
.project-focus__copy p { overflow-wrap:anywhere; color:#68737d; font-size:14px; line-height:1.8; }
.project-focus__copy p.lead { color:#26313b; font-size:18px; line-height:1.65; }
.project-focus__gallery { scroll-margin-top:72px; padding:68px 0 76px; background:#f2f1ed; }
.project-focus__gallery-head { display:flex; min-width:0; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.project-focus__gallery-head h2 { margin-top:12px; color:var(--yaren-ink); font:700 clamp(29px,3.2vw,42px)/1.08 var(--font-display); letter-spacing:-.04em; }
.project-focus__gallery-head > p { flex:0 0 auto; color:#7a848d; font-size:10px; }
.project-focus__gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.project-focus__shot { position:relative; display:block; width:100%; min-width:0; aspect-ratio:4 / 3; overflow:hidden; border:0; padding:0; background:#dadddc; cursor:zoom-in; contain:layout paint; }
.project-focus__shot img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1),filter .3s ease; }
.project-focus__shot > span { position:absolute; right:9px; bottom:9px; display:flex; align-items:center; gap:7px; padding:8px 9px; color:#fff; background:rgba(4,13,24,.8); font:700 8px/1 var(--font-display); letter-spacing:.07em; }
.project-focus__shot:hover img,.project-focus__shot:focus-visible img { transform:scale(1.025); filter:saturate(.8); }
.project-focus__footer { padding:24px 0; background:var(--yaren-ink); }
.project-focus__footer .container { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); align-items:stretch; gap:14px; }
.project-focus__contact,.project-focus__next { display:flex; min-width:0; min-height:88px; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.14); padding:16px 20px; color:#fff; }
.project-focus__contact { justify-content:space-between; }
.project-focus__contact span { color:#939da8; font-size:10px; }
.project-focus__contact b { display:flex; min-width:0; align-items:center; gap:9px; font:700 14px/1.2 var(--font-display); }
.project-focus__next { justify-content:flex-start; }
.project-focus__next img { width:78px; height:54px; flex:0 0 auto; object-fit:cover; }
.project-focus__next > span { display:grid; min-width:0; gap:7px; }
.project-focus__next small { color:var(--yaren-amber); font:750 8px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.project-focus__next b { overflow:hidden; font:700 13px/1.2 var(--font-display); text-overflow:ellipsis; white-space:nowrap; }
.project-focus__next > svg { flex:0 0 auto; margin-left:auto; }

@media (max-width: 900px) {
  .project-focus__title { grid-template-columns:1fr; align-items:start; gap:28px; }
  .project-focus__summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); align-items:end; gap:32px; }
  .project-focus__summary ul { margin:0; }
  .project-focus__cover { aspect-ratio:16 / 9; }
  .project-focus__facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-focus__facts-grid > :nth-child(2) { border-right:1px solid #e1e2df; }
  .project-focus__facts-grid > :nth-child(3),.project-focus__facts-grid > :nth-child(4) { border-top:1px solid #e1e2df; }
  .project-focus__story-grid { grid-template-columns:1fr; gap:30px; }
  .project-focus__gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-focus__footer .container { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .project-focus__head { padding-top:27px; }
  .project-focus__topline { gap:10px; }
  .project-focus__topline a,.project-focus__topline > span { font-size:8px; }
  .project-focus__title { gap:24px; margin-top:35px; }
  .project-focus__title h1 { margin-top:12px; font-size:clamp(38px,12.5vw,52px); line-height:.98; }
  .project-focus__summary { display:block; }
  .project-focus__summary > p { font-size:13px; }
  .project-focus__summary ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; }
  .project-focus__summary li:first-child { grid-column:1 / -1; }
  .project-focus__cover { aspect-ratio:4 / 3; margin-top:27px; }
  .project-focus__cover > span { right:9px; bottom:9px; padding:8px 9px; }
  .project-focus__fact,.project-focus__progress { min-height:92px; padding:16px 14px; }
  .project-focus__fact strong,.project-focus__progress strong { font-size:12px; }
  .project-focus__story { padding:50px 0 54px; }
  .project-focus__story h2 { font-size:29px; }
  .project-focus__copy p { font-size:13px; }
  .project-focus__copy p.lead { font-size:16px; }
  .project-focus__gallery { padding:50px 0 54px; }
  .project-focus__gallery-head { align-items:flex-start; flex-direction:column; gap:9px; margin-bottom:24px; }
  .project-focus__gallery-head > p { flex:initial; }
  .project-focus__gallery-grid { grid-template-columns:1fr; gap:10px; }
  .project-focus__contact { align-items:flex-start; flex-direction:column; justify-content:center; }
  .project-focus__next { padding:13px; }
}

@media (max-width: 360px) {
  .project-focus__facts-grid { grid-template-columns:1fr; }
  .project-focus__facts-grid > :nth-child(n) { border-top:1px solid #e1e2df; border-right:1px solid #e1e2df; }
  .project-focus__facts-grid > :first-child { border-top:0; }
  .project-focus__next img { width:68px; height:50px; }
}

@media (prefers-reduced-motion: reduce) {
  .project-focus__cover img,.project-focus__shot img { transition:none; }
}
